RevorRevor

Get an asynchronous job

GET/api/v2/jobs/{id}

Gets an outreach, research, customs-data, or prospect-list preparation job. A job can only be read by its owner, and the API key must still have read permission for the corresponding capability.

Cancel a queued job

POST/api/v2/jobs/{id}/cancel

This endpoint only guarantees cancellation for queued or scheduled jobs and requires write permission for the job's original action. After a job enters running, it may already have called an external service or caused side effects, so the endpoint returns HTTP 409 job_already_running instead of falsely reporting success. A job already in a terminal state is returned unchanged, making retries safe.

cURL
curl -X POST "https://revor.ai/api/v2/jobs/JOB_ID/cancel" \
  -H "Authorization: Bearer sk-revor-REPLACE_ME"

Example request

cURL
curl "https://revor.ai/api/v2/jobs/JOB_ID" \
  -H "Authorization: Bearer sk-revor-REPLACE_ME"

Job statuses

StatusTerminalDescription
queuedNoAccepted and waiting to be processed.
scheduledNoScheduled for later processing.
runningNoCurrently executing.
settlingNoConfirming and saving the result.
succeededYesCompleted successfully; read result.
failedYesFailed; read error.
cancelledYesThe job was cancelled.

Example response

JSON
{
  "ok": true,
  "request_id": "req_xxx",
  "item": {
    "id": "job-uuid",
    "action": "research.public_web",
    "status": "succeeded",
    "progress": { "stage": "completed", "percent": 100 },
    "resource": { "type": "company_research_job", "id": "job-uuid" },
    "scheduled_at": "2026-08-25T08:00:00.000Z",
    "started_at": "2026-08-25T08:00:01.000Z",
    "finished_at": "2026-08-25T08:00:05.000Z",
    "attempt_count": 1,
    "result": {},
    "error": null,
    "billing": { "status": "settled", "charged_credits": 5, "pending_units": 0 }
  }
}

Outreach jobs also return channel, with a value of email, linkedin, or whatsapp. This endpoint does not add an extra charge to outreach jobs, so billing.status is normally not_metered.

Polling guidance

  • Poll every 2 to 5 seconds and use exponential backoff for network errors.
  • 404 task_not_found does not mean that creation is still pending. Do not retry an incorrect job ID indefinitely.
  • Only succeeded, failed, and cancelled are terminal states.
  • For succeeded, result is an object and error is null.
  • For failed, result is null and error.code is a stable error identifier.

Prospect-list preparation jobs

The preparation_job.id returned by POST /api/v2/websets only confirms whether a prospect list started successfully. Prospect discovery may still be running when this job is succeeded.

Text
preparation_job: queued → running → succeeded
prospect list: generating_criteria → searching → verifying → completed

The job status describes one asynchronous operation, while the prospect-list status describes the entire discovery process. They are not interchangeable.

To determine whether the list is complete, call:

Http
GET /api/v2/websets/{webset_id}