diff --git a/webservice/request_repeat.py b/webservice/request_repeat.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8d93cc927fd86f77f8420928a9d445aa46b7665
--- /dev/null
+++ b/webservice/request_repeat.py
@@ -0,0 +1,32 @@
+"""Send a request to repeat previous corrections.
+
+The repeat mechanism is meant for if corrected data has been deleted,
+but this script can also be used for testing.
+"""
+
+import argparse
+from glob import glob
+
+import zmq
+
+parser = argparse.ArgumentParser(description='Request repeat correction.')
+parser.add_argument('proposal', type=int, help='The proposal number')
+parser.add_argument('run', type=int, help='The run number')
+parser.add_argument('--endpoint', default='tcp://max-exfl016:5555',
+                help="The ZMQ endpoint to connect to (max-exfl017 for testing)")
+
+args = parser.parse_args()
+
+prop_dir = glob('/gpfs/exfel/exp/*/*/p{:06d}'.format(args.proposal))[0]
+instrument, cycle = prop_dir.split('/')[4:6]
+
+con = zmq.Context()
+socket = con.socket(zmq.REQ)
+con = socket.connect(args.endpoint)
+
+parm_list = ["repeat", "0", instrument, cycle,
+             f'{args.proposal:06d}', str(args.run)]
+
+socket.send(repr(parm_list).encode())
+resp = socket.recv()
+print(resp.decode())