Skip to main content

Jobs API

List Jobs

GET /jobs

Query Parameters

ParameterTypeDescription
connectionIdUUIDFilter by connection
jobTypestringsync or reset
limitintegerMax results (default: 20)
offsetintegerPagination offset
curl "https://api.calabi.ai/v1/jobs?connectionId=CONN_ID" \
-H "Authorization: Bearer $API_KEY"

Get Job

GET /jobs/{jobId}

curl "https://api.calabi.ai/v1/jobs/{jobId}" \
-H "Authorization: Bearer $API_KEY"

Response

{
"jobId": 12345,
"status": "running",
"jobType": "sync",
"startTime": "2024-01-15T10:00:00Z",
"connectionId": "CONNECTION_UUID",
"lastUpdatedAt": "2024-01-15T10:05:00Z",
"duration": "PT5M"
}

Job statuses

StatusDescription
pendingQueued, waiting to start
runningCurrently syncing
succeededCompleted successfully
failedCompleted with errors
cancelledManually cancelled

Trigger a Job

POST /jobs

curl -X POST "https://api.calabi.ai/v1/jobs" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"connectionId": "CONNECTION_UUID",
"jobType": "sync"
}'

jobType options

ValueDescription
syncRun a normal data sync
resetClear destination data and re-sync from scratch

Cancel a Job

DELETE /jobs/{jobId}

curl -X DELETE "https://api.calabi.ai/v1/jobs/{jobId}" \
-H "Authorization: Bearer $API_KEY"