Skip to main content
GET
Get Sync Job

Authorizations

Authorization
string
header
required

Mixpeek API key, sent as Authorization: Bearer mxp_sk_.... Create one in Studio under Settings → API Keys, or with an admin key via POST /v1/organizations/users/{user_email}/api-keys. A missing header returns 403; an invalid or revoked key returns 401.

X-Namespace
string
header
required

Namespace id (ns_...), not the namespace name. This scopes the request rather than authenticating it, and it is required on every operation marked x-mixpeek-namespace-scoped.

Path Parameters

bucket_id
string
required
sync_config_id
string
required
sync_job_id
string
required

Response

Successful Response

Execution record for a single storage sync run.

Created when a sync is triggered (manually or by scheduler). Tracks progress, metrics, and errors for the sync execution.

Job Lifecycle: PENDING → RUNNING → COMPLETED/FAILED

Tracked Metrics:

  • files_synced: Successfully created objects
  • files_failed: Objects sent to Dead Letter Queue
  • started_at/completed_at: Timing for duration calculation
sync_config_id
string
required

Identifier of the sync configuration that spawned this job.

internal_id
string
required

Organization scope identifier.

namespace_id
string
required

Namespace scope identifier.

sync_job_id
string

Unique identifier for the sync job.

status
enum<string>
default:running

Current status of the sync job.

Available options:
running,
completed,
failed,
interrupted
phase
string | null

Human-readable phase within a RUNNING job for observability (e.g. 'discovering', 'downloading', 'verifying', 're-verifying', 'idle'). Optional and descriptive — distinct from status, which is the coarse lifecycle state. Lets a sync that is re-verifying already-synced files (low net-new throughput, low percent) read as healthy rather than stuck. Back-compatible: older jobs have None.

total_files
integer | null

Total files expected for this sync run.

Required range: x >= 0
files_synced
integer
default:0

Number of files synced successfully in this job.

Required range: x >= 0
files_failed
integer
default:0

Number of files that failed to sync in this job.

Required range: x >= 0
started_at
string<date-time>

Timestamp when the job started.

completed_at
string<date-time> | null

Timestamp when the job completed.

updated_at
string<date-time> | null

Last progress update timestamp for this job.

error
string | null

Last error encountered during the job.

Maximum string length: 1000
metadata
Metadata · object

Optional metadata captured during execution (provider stats, cursors, etc.).

progress_percent
number | null

Derived percent complete when total_files is known.

Required range: 0 <= x <= 100
throughput_files_per_min
number | null

Derived successful-file throughput for the job.

Required range: x >= 0
lag_seconds
integer | null

Seconds since the latest progress update for running jobs.

Required range: x >= 0
current_cursor
string | null

Latest provider cursor/page token captured for this job.

progress
Progress · object

Derived progress summary for API observability.