REST API
Get a job
Returns a job started by a copilot message, a generation, a practice test or a file upload. Poll it until status is succeeded, failed or cancelled. While it is pending or running the response has a Retry-After header with the seconds to wait between polls. kind decides the shape of result. Practice test, grading and file jobs have no result: read the test, the attempt or the file.
Required scopes: copilot:use or generation:start or files:upload or files:view or tests:generate or tests:view or tests:attempt
AuthorizationBearer <token>
In: header
Path Parameters
jobId*string
Job id, scoped to the key's user.
Match
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Format
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/jobs/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "data": { "id": "7d6c5b4a-3f2e-4d1c-8b0a-9f8e7d6c5b4a", "kind": "note_generation", "status": "succeeded", "createdAt": "2026-01-15T09:30:00.000Z", "finishedAt": "2026-01-15T09:31:10.000Z", "result": { "generationId": "7d6c5b4a-3f2e-4d1c-8b0a-9f8e7d6c5b4a", "title": "Photosynthesis", "sectionCount": 4, "failedSections": [], "stopped": false }, "error": null }}