Docs
API reference

Start an analysis

POST
/api/v1/analyses

Submit the uploaded resume for asynchronous analysis against its job description. Use this after a successful storage upload and a current quote.

Before you call

Send the prepared reportId, quoteFingerprint, and a stable Idempotency-Key. Capacity and the workspace allowance are checked at admission.

Required scope: analyses:write.

What happens next

A 202 means the analysis was accepted, not completed. Save attemptId and follow statusUrl or report events. The accepted file is frozen for this attempt.

Recovery

Retry identical requests after timeouts. QUOTE_STALE needs a new quote/key. INVALID_UPLOAD needs a corrected upload. ACTIVE_ANALYSIS_LIMIT means wait for capacity. After terminal failure, a deliberate new attempt needs a new key/current quote; completed analyses cannot be restarted here.

Follow the complete workflow · Errors and retries

Authorization

ApiKey
headerAuthorizationBearer <token>

Header Parameters

Idempotency-Key*string

Stable key for one logical write. Retry the identical body with the same key after a timeout; a changed body conflicts. 1–128 letters, digits, dots, underscores, colons, or hyphens.

Match^[A-Za-z0-9._:-]+$
Length1 <= length <= 128

Request Body

application/json
  1. body
reportId*string

Report ID returned by upload preparation, admission, discovery, or an event. It must belong to the API key's workspace.

Length1 <= length <= 100
quoteFingerprint*string

Fingerprint copied unchanged from the corresponding current quote. Changing quote inputs requires a new quote.

Match^[a-f0-9]{64}$

Response Body

A 202 means the analysis was accepted, not completed. Save attemptId and follow statusUrl or report events. The accepted file is frozen for this attempt.

application/json
  1. response
data*
# Set PROBB_URL and PROBB_API_KEY. Replace RESOURCE_ID if present.# Set REQUEST_KEY once for this logical write; reuse it with the same body on retries.curl --fail-with-body -X POST "$PROBB_URL/api/v1/analyses" \  -H "Authorization: Bearer $PROBB_API_KEY" \  -H "Idempotency-Key: $REQUEST_KEY" \  -H 'Content-Type: application/json' \  --data-binary '{  "reportId": "report_example",  "quoteFingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}'
{  "data": {    "reportId": "report_example",    "attemptId": "attempt_example",    "statusUrl": "/api/v1/reports/report_example/status"  }}