Bulk A P I
Asynchronous bulk import/export jobs
Your bulk jobs, newest first (ADMIN: the org’s)
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Query Parameters
pagenumberlimitnumberstatusstringBulkJobPage
Queue an async insert/upsert/update/delete/export job (CSV or JSON lines)
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredobjectRequiredstringlead | contact | account | opportunity | task, or custom:
"^(lead|contact|account|opportunity|task|custom:[a-z0-9_]{1,64})$"operationRequiredstring"insert" | "upsert" | "update" | "delete" | "export"externalIdFieldstringUpsert key (required for upsert; optional for update/delete, default "id"): a text column such as "email", or "customFields."
100contentTypestringInput/export format. Inferred from the uploaded file name when omitted; records implies jsonl.
"csv" | "jsonl"datastringInline CSV or JSON-lines input, instead of a multipart file upload
recordsarray<object>Inline input rows as a JSON array (JSON body only) Items: at most 50000.
fieldsarray<string>Export only: columns to include (comma-separated in multipart). Custom fields as customFields.. Items: at most 200.
filterobjectExport only: field equality filters on the object’s own columns, e.g. {"status":"NEW"}
Header Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255BulkJobView
Job status and processed / failed counts
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
idRequiredstringBulkJobView
Stop a queued or running job
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
idRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255BulkJobView
Download per-row results (row,id,action,externalId), or the exported records
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
idRequiredstringThe file
Download failed rows (row,error,externalId,input)
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
idRequiredstringThe file