/v1/search/jobsList the account’s deep-search jobs
The deep-search history for the account, newest first. Pass savedSearchId to scope to the rounds run for one saved search. Self-scoped and free.
Query parameters
savedSearchIdstringmax 16 chars
Responses
200The job historyjobsarray of object requiredThe account’s deep-search jobs, newest first.
max 5000 itemsidstring requiredThe job id. Poll `GET /v1/search/jobs/{id}` with it.
statusstring requiredWhere the job stands. A job is still working until it reaches a terminal status; poll rather than assuming a submit returned everything.
queuedrunningsucceededpartialfailedcanceledtargetCountinteger requiredHow many developers you asked this job to find.
targetModestring required`exact` = deliver the target count or report a clean partial. `best_effort` = deliver what the lane can find. Either way an under-delivery is reported as a partial, never padded.
exactbest_effortsavedSearchIdstring | null requiredThe saved search this job belongs to, when it was run from one. Delivered-once uniqueness is enforced across the saved search, so a later job will not repeat developers an earlier one delivered.
projectIdstring | null requiredThe project this job was run for, when one was named.
progressSearchJobProgress requiredCounts so far. Null before the first round has produced anything.
deliveredinteger requiredHow many developers this job has actually handed you so far, across all rounds. This is what you received, NOT what you paid for.
min 0bankedinteger requiredDevelopers found and held back beyond the current target, ready to be handed over by a `/more` round without re-running the search.
min 0roundinteger requiredHow many rounds this job has run. Round 0 is the agentic sweep; later rounds page deterministically.
min 0consideredinteger requiredHow many candidates this job was BILLED on: the ones the agent enriched and put in front of the recruiter judge, most of which are rejected before you ever see them. This is normally several times `delivered`, and the ratio between the two is what you paid for. On a round that fell back to the deterministic pager, billing is per developer delivered and this equals `delivered`.
min 0
errorstring | null requiredWhy a failed job failed, in plain words. Null on every job that ended well.
creditsEstimatedinteger requiredThe estimate made when the job was submitted. Nothing is charged at submit.
creditsChargedinteger requiredCredits actually charged so far. Settled as rounds complete, on candidates considered rather than delivered.
budgetCreditsinteger | null requiredThe ceiling you set on what this job may cost, in total, across every round. Null when you set none.
budgetRemaininginteger | null required`budgetCredits` minus `creditsCharged`: what is still spendable on this job. A `/more` round is truncated to what this buys, and refused with a 402 once it reaches 0. Refunds put credits back here, because it is derived rather than stored. Null when no ceiling was set.
createdAtstring requiredWhen the job was submitted, as an ISO 8601 instant.
updatedAtstring requiredWhen the job last changed, as an ISO 8601 instant.
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_errormessagestring 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 the credit top-up).
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.