List Jobs
GET /api/v1/jobsReturns 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}).
Query Parameters
Section titled “Query Parameters”| Name | Type | Default | Description |
|---|---|---|---|
jobType | string (repeatable) | — | Filter by job type. Repeat the parameter for OR semantics. See Job Types. |
start | string (ISO 8601 UTC) | — | Lower bound for createdAt. |
end | string (ISO 8601 UTC) | — | Upper bound for createdAt. |
cursor | string | — | Opaque cursor from a prior response using the same filter set. |
limit | integer | 50 | Max results per page. Min 1, max 200. |
Filter Semantics
Section titled “Filter Semantics”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:59ZThis means: jobType = screen_analysis AND createdAt BETWEEN 2026-04-01 AND 2026-04-30.
Response
Section titled “Response”{ "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 }}Result Fields
Section titled “Result Fields”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}.
| Field | Type | Description |
|---|---|---|
jobId | string | Stable job id. Use with GET /jobs/{id}. |
jobType | string | Job type discriminator. See Job Types. |
status | string | One of running, succeeded, or failed. |
triggerType | string | manual (submitted via API or dashboard) or automatic (created by a platform workflow). |
createdAt | string | ISO 8601 UTC timestamp of when the job was submitted. |
updatedAt | string | ISO 8601 UTC timestamp of the last status transition. |
Job Types
Section titled “Job Types”| Value | Created by |
|---|---|
screen_analysis | POST /analysis/screen — compliance screening |
Pagination
Section titled “Pagination”- Pagination is cursor-based.
cursoris 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. approximateTotalis a best-effort count, suitable for scope estimates but not billing or compliance calculations.