Skip to main content
GET
/
v1
/
sync
/
jobs
/
{job_id}
Get Sync Job
curl --request GET \
  --url https://api.example.com/v1/sync/jobs/{job_id}
{
  "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>",
  "sync_config": {},
  "sync_metadata": {},
  "created_at": "<string>",
  "modified_at": "<string>",
  "created_by_email": "<string>",
  "modified_by_email": "<string>"
}

Overview

Get detailed information about a specific sync job, including status, timing, and entity processing statistics.

Path Parameters

job_id
string
required
Unique UUID identifier of the sync jobExample: “770e8400-e29b-41d4-a716-446655440002”

Response

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, pending, in_progress, completed, failed, or 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 that were checked but required no changes
entities_skipped
integer
Number of entities skipped due to filtering rules
entities_encountered
object
Detailed breakdown of entities processed by type or category
started_at
string
When the job began active processing (ISO 8601)
completed_at
string
When the job finished successfully (ISO 8601)
failed_at
string
When the job failed (ISO 8601)
error
string
Detailed error message if the job failed
sync_config
object
Sync configuration used for this job
sync_metadata
object
Additional metadata about the sync
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 (for manually triggered jobs)
modified_by_email
string
Email of the user who last modified the job

Example Request

curl "https://api.airweave.ai/v1/sync/jobs/770e8400-e29b-41d4-a716-446655440002" \
  -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,
  "sync_config": null,
  "sync_metadata": {},
  "created_at": "2024-03-20T09:59:45Z",
  "modified_at": "2024-03-20T10:05:32Z",
  "created_by_email": null,
  "modified_by_email": null
}

Error Responses

404 Not Found
Sync job with the specified ID does not exist or does not belong to your organization
401 Unauthorized
Missing or invalid authentication