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

Build docs developers (and LLMs) love