Jobs API
List Jobs
GET /jobs
Query Parameters
| Parameter | Type | Description |
|---|---|---|
connectionId | UUID | Filter by connection |
jobType | string | sync or reset |
limit | integer | Max results (default: 20) |
offset | integer | Pagination 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
| Status | Description |
|---|---|
pending | Queued, waiting to start |
running | Currently syncing |
succeeded | Completed successfully |
failed | Completed with errors |
cancelled | Manually 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
| Value | Description |
|---|---|
sync | Run a normal data sync |
reset | Clear 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"