A zip job can take a few seconds or several minutes, depending on how many files it has to read. The zipstate endpoint tells you where the job is, without blocking your request.
The request
Send the whole response you received from /v1/zipstart back to the state endpoint, with your bearer token:
curl -X POST https://api.s3zipper.com/v1/zipstate \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"taskUUID":[{"streams3v2":"9f2c1e7a-..."}]}'
Because old clients copy the entire response into the next call, replaying the start (or state) body works — the task id is all that is read.
The response
{
"TaskUUID": "9f2c1e7a-...",
"TaskName": "streams3v2",
"State": "STARTED",
"Results": [],
"Error": ""
}
State is one of:
PENDING— queued.STARTED— the archive is being built.SUCCESS— finished; the download URL is available now.FAILURE— the job failed; readErrorfor the reason.
Polling tips
Poll every few seconds and back off gradually for large jobs. Stop on SUCCESS or FAILURE, and treat a missing or unknown task id as an error rather than retrying forever.
Next: get the result.