SteveSteve

Get aggregate batch progress

Returns the company-scoped aggregate for sessions created with the same `batchRef`. A session becomes processed when its submission reaches `failed`, `review`, `approved`, `synced`, or `capture_quality_blocked`. Capture-quality blocks are included in `counts.failed`; synced rows are included in `counts.approved`. When `processed` equals `total`, Steve waits until the newest session in the batch is at least five minutes old before marking the batch completed and emitting `batch.completed`. A newer session resets the grace check. A client pause longer than five minutes can therefore complete the batch before later uploads arrive; later sessions increase the counts but do not emit a second completion event.

GET/api/v1/batches/{batchRef}

Authorization

AuthorizationRequiredBearer <token>

Steve API key, usually scoped to a company. Legacy keys and keys created by platform administrators may be unscoped; company-scoped endpoints reject unscoped keys with 403 Forbidden. Format: Authorization: Bearer aok_...

In: header

Path Parameters

batchRefRequiredstring

Client-chosen batch reference.

Minimum length: 1Maximum length: 128Pattern: "^[A-Za-z0-9._-]+$"

Header Parameters

X-Request-Idstring

Optional caller-supplied request identifier. Maximum length is 128 characters.

Maximum length: 128
curl -X GET "https://your-deployment.convex.site/api/v1/batches/<string>" \
  -H "X-Request-Id: <string>" \
  -H "Authorization: Bearer <token>"

Current batch status and aggregate counts

{
  "batchRef": "string",
  "status": "open",
  "counts": {
    "total": 0,
    "processed": 0,
    "review": 0,
    "failed": 0,
    "approved": 0
  },
  "createdAt": "2019-08-24T14:15:22Z",
  "completedAt": "2019-08-24T14:15:22Z"
}