Watch a review as it runs

A server-sent event stream of a review's progress, ending when the review does. It never carries the result.

Last updated 12 September 2026

Watch a review as it runs

GET https://api.quorumtech.ch/attest/v1/attest/draft/jobs/{jobId}/events

Server-sent events: one progress event per change, and a final done or failed, with a : keep-alive comment every fifteen seconds so an idle connection is not closed. Each event's data is a progress frame.

The finished result is not carried here. Collect it from GET /attest/v1/attest/draft/jobs/{jobId}, which is also what settles the bill, so watching a review can never consume it. Free.

Open this alongside a review that answered 202 and the counts arrive as they change, rather than being asked for. Each event's data is one progress frame, the same shape the progress route returns. A : keep-alive comment every fifteen seconds keeps an idle connection open through proxies.

The stream ends with a done or a failed event. Neither carries the review: collect it from the job route, which is also what settles the bill, so nothing a watcher does can consume a review out from under the caller who started it. If the connection drops, reconnect, or fall back to polling the progress route.

Request

Path parameters:

| Parameter | Description | | --- | --- | | jobId | The jobId from a 202 response to POST /attest/v1/attest/draft. |

Example request

curl -X GET "https://api.quorumtech.ch/attest/v1/attest/draft/jobs/<jobId>/events" \
  -H "Authorization: Bearer $QUORUM_API_KEY"

Responses

200

The stream. It ends when the review does.

Errors

The body is { "error": { "code", "message" } }; the full catalogue with what to do about each code is on the Errors page.

| Status | Codes | When | | --- | --- | --- | | 401 | | The key is missing, not recognised, or revoked. | | 403 | | The key is not scoped to Attest. | | 404 | | No such job. | | 503 | not_configured | The evaluator is not configured (not_configured). |

Cost

Free. Watching a review never settles it; the credits stay held until the job route hands the finished result over.

Still need help?

Ask Quincy in the chat bubble below, or write to support@quorumtech.ch and we will help you directly.