Polling and downloading

A queued conversion hands you a job id. These two endpoints tell you when it is ready and give you the file.

Checking status

GET https://rework.live/api/v1/jobs/:id, with the same bearer token. While the job is waiting you also get its position in the queue and an estimate, so a client can show something more useful than a spinner.

curl https://rework.live/api/v1/jobs/6a84860000000000000000ab \
  -H "Authorization: Bearer rlv_your_key_here"
StatusMeaning
queuedWaiting for a worker. queuePosition is set.
runningBeing converted now.
doneFinished. download is ready.
failedDid not convert. Nothing was counted against your quota.

Downloading the result

GET https://rework.live/api/v1/jobs/:id/download returns the converted bytes with the right content type and a filename. It works until the job expires, which is decided by the retention window on your plan.

curl -L -o converted.webp \
  https://rework.live/api/v1/jobs/6a84860000000000000000ab/download \
  -H "Authorization: Bearer rlv_your_key_here"

Jobs belong to keys

A job created by one account cannot be read by another. Asking for someone else's job returns 404, not 403, and that is deliberate: a job id is guessable enough that distinguishing "not yours" from "does not exist" would leak the fact that other people's conversions exist.

Poll at a sensible interval — the estimate in the response is there to pace you. Polling in a tight loop counts against your hourly rate limit like anything else.