Skip to main content
GET
/
v1
/
sync
/
jobs
List All Sync Jobs
curl --request GET \
  --url https://api.example.com/v1/sync/jobs
{
  "id": "<string>",
  "sync_id": "<string>",
  "sync_name": "<string>",
  "organization_id": "<string>",
  "status": "<string>",
  "scheduled": true,
  "entities_inserted": 123,
  "entities_updated": 123,
  "entities_deleted": 123,
  "entities_kept": 123,
  "entities_skipped": 123,
  "entities_encountered": {},
  "started_at": "<string>",
  "completed_at": "<string>",
  "failed_at": "<string>",
  "error": "<string>",
  "created_at": "<string>",
  "modified_at": "<string>",
  "created_by_email": "<string>",
  "modified_by_email": "<string>"
}

Overview

Retrieve all sync jobs across all syncs in your organization. This provides a unified view of data synchronization activity. Use Cases:
  • Monitor all sync activity across your organization
  • Track sync performance and reliability
  • Identify failed syncs that need attention
  • Audit data refresh operations

Query Parameters

skip
integer
default:0
Number of jobs to skip for pagination
limit
integer
default:100
Maximum number of jobs to return (1-100)
status
array
Filter by job status. Can specify multiple statuses.Valid values: created, pending, in_progress, completed, failed, cancelledExample: ?status=failed&status=in_progress

Response

Returns an array of sync job objects.
id
string
required
Unique UUID identifier of the sync job
sync_id
string
required
UUID of the sync configuration this job belongs to
sync_name
string
Name of the sync (populated from join query)
organization_id
string
required
UUID of the organization
status
string
required
Current job status:
  • created: Job created but not queued
  • pending: Queued and waiting to start
  • in_progress: Currently running
  • completed: Finished successfully
  • failed: Encountered errors
  • cancelled: Manually cancelled
scheduled
boolean
required
Whether this job was triggered by a schedule (true) or manually (false)
entities_inserted
integer
Number of new entities created
entities_updated
integer
Number of existing entities updated
entities_deleted
integer
Number of entities removed
entities_kept
integer
Number of entities checked but unchanged
entities_skipped
integer
Number of entities skipped due to filters or rules
entities_encountered
object
Breakdown of entities processed by type
started_at
string
When the job began processing (ISO 8601)
completed_at
string
When the job finished (ISO 8601)
failed_at
string
When the job failed (ISO 8601)
error
string
Error message if the job failed
created_at
string
When the job was created (ISO 8601)
modified_at
string
When the job was last modified (ISO 8601)
created_by_email
string
Email of the user who created the job
modified_by_email
string
Email of the user who last modified the job

Example Request

curl "https://api.airweave.ai/v1/sync/jobs?status=failed&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

[
  {
    "id": "770e8400-e29b-41d4-a716-446655440002",
    "sync_id": "660e8400-e29b-41d4-a716-446655440001",
    "sync_name": "GitHub Repositories Sync",
    "organization_id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "completed",
    "scheduled": true,
    "entities_inserted": 45,
    "entities_updated": 12,
    "entities_deleted": 3,
    "entities_kept": 120,
    "entities_skipped": 0,
    "entities_encountered": {
      "GitHubRepositoryEntity": 180
    },
    "started_at": "2024-03-20T10:00:00Z",
    "completed_at": "2024-03-20T10:05:32Z",
    "failed_at": null,
    "error": null,
    "created_at": "2024-03-20T09:59:45Z",
    "modified_at": "2024-03-20T10:05:32Z",
    "created_by_email": null,
    "modified_by_email": null
  }
]

Error Responses

401 Unauthorized
Missing or invalid authentication
400 Bad Request
Invalid status value or pagination parameters