Error envelope
Every non-2xx response has this envelope:string
required
Stable machine code. Branch on this, never on
message.string
required
A human sentence in the request language. You MAY show it to the recruiter where this documentation says so; otherwise log it.
varies
Depend on the code (listed below).
A malformed JSON body or a request that does not match the schema returns a
4xx whose error code is not fixed in v1; handle it by HTTP status and log message. Any error code not listed on this page MUST be handled by its HTTP status.Error codes
Cross-cutting errors (any endpoint)
Cross-cutting errors (any endpoint)
Error codes by endpoint
Error codes by endpoint
JobIssue and RequirementIssue are described under Objects.
acting_user_external_id on reveal and decisions must name a user you registered with POST /users; an unknown user is rejected with 404 user_not_found, as on POST /runs.A run that exists but belongs to another customer organization returns 404 run_not_found, never 403. Runs are only visible to the organization whose token started them.Rate limits
- Limits are per partner (all your customers together), not per customer.
- Defaults: 120 requests per minute and 20,000 requests per day. Vort may adjust them per partner by agreement.
- Over the limit you get
429 rate_limitedwithRetry-After: <seconds>. You MUST wait at least that long before retrying. Do not retry in a tight loop. - Every request counts, including failed ones and requests still in progress (a burst of concurrent requests is counted as it arrives).
- If Vort cannot verify your quota at that moment, the request is refused with
503 rate_limit_unavailableand nothing is executed; retry with backoff.
Idempotency and retries
v1 has noIdempotency-Key header. Each endpoint’s behavior on a repeated call:
Testing error handling in the sandbox
Sendx-vort-sandbox-simulate: rate_limited, rate_limit_unavailable, internal_error (or insufficient_credits) on a sandbox request to force the matching error response (429 with Retry-After: 30, 503, 500, 402). See Simulating errors. The sandbox also has a few error codes of its own, such as 422 sandbox_limit and 429 sandbox_run_quota; they are listed under Sandbox-only codes and headers.