Skip to content

List Jobs

GET /api/v1/jobs

Returns a cursor-paginated list of jobs that belong to the calling team. Use this endpoint to inspect job history, build dashboards, or reconcile background work submitted across the platform.

For a single job’s full envelope and typed result, use the Get Job (GET /api/v1/jobs/{id}).

NameTypeDefaultDescription
jobTypestring (repeatable)Filter by job type. Repeat the parameter for OR semantics. See Job Types.
startstring (ISO 8601 UTC)Lower bound for createdAt.
endstring (ISO 8601 UTC)Upper bound for createdAt.
cursorstringOpaque cursor from a prior response using the same filter set.
limitinteger50Max results per page. Min 1, max 200.

Values are OR’d within jobType and AND’d across all other dimensions.

?jobType=screen_analysis&start=2026-04-01T00:00:00Z&end=2026-04-30T23:59:59Z

This means: jobType = screen_analysis AND createdAt BETWEEN 2026-04-01 AND 2026-04-30.

{
"results": [
{
"jobId": "job_01HY3K4M7QR9VP2N8WYJF5GTB",
"jobType": "screen_analysis",
"status": "succeeded",
"triggerType": "manual",
"createdAt": "2026-04-15T12:00:00Z",
"updatedAt": "2026-04-15T12:00:12Z"
}
],
"pagination": {
"nextCursor": "eyJvZmZzZXQiOjUwfQ",
"hasMore": true,
"approximateTotal": 184
}
}

Each item in results is a Job Summary Object. Result payloads (result, error) are not included on this endpoint — fetch them through GET /api/v1/jobs/{id}.

FieldTypeDescription
jobIdstringStable job id. Use with GET /jobs/{id}.
jobTypestringJob type discriminator. See Job Types.
statusstringOne of running, succeeded, or failed.
triggerTypestringmanual (submitted via API or dashboard) or automatic (created by a platform workflow).
createdAtstringISO 8601 UTC timestamp of when the job was submitted.
updatedAtstringISO 8601 UTC timestamp of the last status transition.
ValueCreated by
screen_analysisPOST /analysis/screen — compliance screening
  • Pagination is cursor-based.
  • cursor is opaque and must be reused only with the same filter set.
  • Cursors expire after 1 hour.
  • If a cursor is invalid or expired, the API returns 400 invalid_cursor — restart from the first page.
  • approximateTotal is a best-effort count, suitable for scope estimates but not billing or compliance calculations.