Skip to Content
APIJobs
API referenceAPIAvailable

Jobs

Monitor sync and export jobs, inspect progress, and cancel active work.

Last reviewed July 13, 2026

Jobs represent operational work in Vendo, including imports, exports, attribution, and other pipeline tasks.

List Jobs

GET /api/v1/jobs

Query Parameters

ParameterTypeDescription
limitintegerNumber of items to return
offsetintegerNumber of items to skip
sortstringSort field such as created_at:desc
statusstringFilter by pending, running, completed, errored, canceled
job_typestringFilter by import, export, data_quality, attribution
source_idstringFilter by source ID
integration_idstringFilter by integration ID
connector_typestringFilter by connector type

Example Response

{ "data": [ { "id": "job_123", "accountId": "acct_123", "sourceId": "src_123", "integrationId": null, "jobType": "import", "connectorType": "shopify", "destinationType": null, "status": "running", "executionType": "scheduled", "isOnboarding": false, "minTimestamp": null, "maxTimestamp": null, "startedAt": "2026-04-02T00:00:00Z", "finishedAt": null, "errorMessage": null, "errorCode": null, "errorCategory": null, "parentJobId": null, "chunkIndex": 2, "totalChunks": 8, "progressPct": 25, "rowsProcessed": 12500, "rowsWritten": 12400, "metrics": { "rows_processed": 12500, "rows_written": 12400, "total_rows": 50000 }, "createdAt": "2026-04-02T00:00:00Z" } ] }

Get Job Details

GET /api/v1/jobs/{jobId}

This returns the same shape as the list endpoint, with the latest progress and error fields for a single job.

Cancel Job

POST /api/v1/jobs/{jobId}/cancel

Jobs in pending, queued, or running state can be canceled.

Example Response

{ "data": { "id": "job_123", "status": "canceled", "message": "Job canceled successfully" } }

Job Statuses

StatusDescription
pendingAccepted but not yet started
queuedWaiting in an execution queue
runningCurrently executing
completedFinished successfully
erroredFinished with an error
canceledCanceled by a user or system

Progress Fields

FieldDescription
progressPctCalculated progress percentage when Vendo can estimate it
rowsProcessedProcessed row count, if available
rowsWrittenWritten row count, if available
chunkIndexCurrent chunk index for chunked jobs
totalChunksTotal chunks for chunked jobs
metricsRaw pipeline metrics object

Polling Example

async function waitForJob(apiKey, jobId) { while (true) { const response = await fetch( `https://app2.vendodata.com/api/v1/jobs/${jobId}`, { headers: { Authorization: `Bearer ${apiKey}` } } ); const { data } = await response.json(); if (['completed', 'errored', 'canceled'].includes(data.status)) { return data; } await new Promise((resolve) => setTimeout(resolve, 5000)); } }
Need help?

Include your workspace, integration or job ID, and the first error message when you contact support.

support@vendodata.com
Last updated on