The X-Request-Id header
Every authenticated response includes an X-Request-Id HTTP header containing a UUID that uniquely identifies the request. This value is also mirrored inside the response body as meta.requestId. Save it when you contact support — it lets the team locate the exact request in logs instantly.
Sync response (HTTP 200)
Fast operations complete within the request lifecycle and return HTTP 200. When an endpoint uses an envelope, thedata field holds the endpoint-specific payload.
Async accepted response (HTTP 202)
Long-running operations — batch enrichment, search, and deep research — are accepted immediately and processed in the background. The response contains everything you need to poll for the result.
Use
pollUrl directly in subsequent GET requests. See Operation status response below for the shape returned while polling.
Operation status response (GET /api/operations/:id)
Poll this endpoint after receiving a 202 to check progress and retrieve the result when the job finishes.
Operation statuses
queued
The job has been accepted and is waiting for a worker to pick it up.
processing
A worker is actively running the job. Check
progress (0–100) for completion
percentage.succeeded
The job finished successfully. Read the result from the
result field.failed
The job encountered an unrecoverable error. Details are in the
error field.partial_success
The job completed but some sub-tasks did not succeed.
result contains
whatever was produced.cancelled
The job was cancelled before it completed.
Search result metadata
Search operations return aresult object with data and meta fields when they finish. For people search scoped to target accounts, the metadata can include safe target-account status fields:
People returned from a target-account search can include
companyMatchEvidence:
The operation response does not expose raw company candidates, candidate scores, provider run IDs, actor inputs, model IDs, pricing rows, COGS, or detailed resolver diagnostics.