Start a Prospecting Job
POST https://api.onfire.ai/data-access-api/v1/prospecting/startKick off an AI prospecting run for a single company and receive a
job_id immediately. The pipeline runs asynchronously in the background;
poll Get Job Status and fetch the
ranked prospects via Get Job Results.
A single run typically takes 2–5 minutes.
Headers
Section titled “Headers”| Header | Required | Description |
|---|---|---|
Content-Type | Yes | Must be application/json. |
X-Api-Key | Yes | Your tenant API key. |
| Field | Type | Required | Description |
|---|---|---|---|
linkedin_url | string | Yes | LinkedIn company URL to prospect (e.g. "https://www.linkedin.com/company/crowdstrike"). |
team_name | string | No | Team name within the tenant. Used to select the team’s prospecting schema. |
client_email | string | No | Email of the user initiating the run. Stored on the run record for attribution. |
Example request
Section titled “Example request”curl -X POST "https://api.onfire.ai/data-access-api/v1/prospecting/start" \ -H "Content-Type: application/json" \ -H "X-Api-Key: your-api-key" \ -d '{ "linkedin_url": "https://www.linkedin.com/company/crowdstrike", "team_name": "smb", "client_email": "ae@example.com" }'Responses
Section titled “Responses”202 — Accepted
Section titled “202 — Accepted”The job has been created and scheduled. Use the returned job_id with
the status and results endpoints.
{ "job_id": 1842, "status": "running", "tenant": "your-tenant", "team_name": "smb", "message": "Job 1842 started"}| Field | Type | Description |
|---|---|---|
job_id | int | Use with the status / results endpoints. |
status | string | Initial status — always running on a fresh job. |
tenant | string | Tenant that owns the job (from your API key). |
team_name | string | Echo of the requested team (may be null). |
message | string | Human-readable confirmation. |
401 — Invalid or missing API key
Section titled “401 — Invalid or missing API key”{ "detail": "Invalid API key" }422 — Schema validation error
Section titled “422 — Schema validation error”Returned when the JSON body fails Pydantic validation — for example a
missing linkedin_url. Response body conforms to
HTTPValidationError.
429 — Rate limit exceeded
Section titled “429 — Rate limit exceeded”{ "detail": "Rate limit exceeded" }502 / 504 — Phoenix upstream error / timeout
Section titled “502 / 504 — Phoenix upstream error / timeout”Returned when the downstream prospecting service is unavailable or did not respond in time.
{ "detail": { "status": "PHOENIX_UPSTREAM_ERROR", "upstream_status": 502 } }