/v1/deep-research/jobsList the account’s deep-research jobs
The deep-research history for the account, newest first, each with its subjects. Self-scoped and free.
Responses
200The job historyjobsarray of object requiredThe account’s deep-research jobs, newest first.
max 200 itemsidstring requiredThe job id. Poll it for progress.
namestring | null requiredA short label generated from the developers the job was started with, for showing the job in a list. Null on jobs created before naming existed: fall back to the created time.
subjectstring requiredWhat kind of thing this job researches.
developersreposstatusstring requiredWhere the job stands overall. Individual subjects settle independently; read `items` for the detail.
runningsucceededpartialfailedcreatedAtstring requiredWhen the job was submitted, as an ISO 8601 instant.
finishedAtstring | null requiredWhen the job reached a terminal state, as an ISO 8601 instant. Null while running.
elapsedMsinteger requiredTime so far while running, and total time once finished, in milliseconds. Computed server-side, so it does not depend on your clock.
min 0requestedCountinteger requiredHow many developers you asked for. Not all necessarily land a report: see `deliveredCount`.
min 0deliveredCountinteger requiredHow many developers actually landed a report. A developer whose research failed is not counted here.
min 0itemsarray of DeepResearchItem requiredPer-developer state, including the reason for each one that did not land.
loginstring requiredThe subject reference this item researches: a GitHub handle for the `developers` subject, an `owner/name` for `repos`. The field name predates the second subject; `subjectRef` is the same value under its honest name.
subjectRefstring requiredThe subject reference, same value as `login`: a GitHub handle for `developers`, an `owner/name` for `repos`.
statusstring requiredWhere this one subject stands. Items settle independently: partial success across a job is normal.
pendingrunningdonefailedfailCodestring | null requiredMachine-readable failure reason. Null while the item can still succeed or has succeeded. Branch on this, not on `failMessage`.
not_foundrate_limitedprovider_errortimeoutabandonedengine_errorfailMessagestring | null requiredThe failure explained in words you can show a user, including what to do about it. Null while the item can still succeed.
sourcestring | null requiredWhether the delivered answer was researched fresh or served from a recent previous run. The two are equivalent in content, but a cached answer must not be presented as fresh. Null until an answer lands.
freshcachereportPathstring | null requiredThe API path to read this subject’s report. Null until one exists.
startedAtstring | null requiredWhen this item started, as an ISO 8601 instant. Null while queued.
finishedAtstring | null requiredWhen this item settled, as an ISO 8601 instant. Null until it does.
401No or invalid credentialcodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errorbuild_failedmessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at how to restore access).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.
429A rate limit or a usage quota is exhausted. Back off and retry; the `x-quota-*` response headers report the remaining allowance.codestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errorbuild_failedmessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at how to restore access).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.