Skip to content

Get a DEP sync request
Stable

Request

⚠️ Apple devices only. DEP (Device Enrollment Program) is an Apple provisioning technology, now part of Apple Business Manager.

Retrieves the current status and full detail of a specific DEP sync request by its UUID, including per-device failure information if the sync encountered errors.

About Get DEP Sync Request This is the detail and polling endpoint for a single DEP sync request. It returns a DEPSyncRequestForGetResponse — the richer schema compared to the POST response — which includes the failure_reason field and the devices.failure array listing individual device serials and their specific failure reasons when the sync status is FAILURE. Use this endpoint to determine when a sync has completed and to diagnose any device-level issues that occurred during the sync. The status field progresses from QUEUED through INPROGRESS to a terminal state: COMPLETE, SUCCESS, or FAILURE.

Key Fields

id (path) — DEP sync request UUID (required)

status — QUEUED, INPROGRESS, COMPLETE, SUCCESS, or FAILURE

failure_reason — Overall failure description (present when status is FAILURE)

devices.failure — Array of {serial, reason} objects for each device that failed to process (present when failure_reason is included)

created_by — User who triggered the sync

created_at / updated_at — Timestamps

Common Use Cases

Polling a DEP sync to completion after triggering it with POST /api/onboarding/v0/depsyncs/

Retrieving per-device failure detail when a sync reaches FAILURE status

Confirming the exact completion time of a sync for audit or pipeline sequencing purposes

Best Practices

Poll at a reasonable interval (e.g., every 30 seconds) — DEP syncs are Apple-dependent and duration varies with device count and Apple service response time

When status is FAILURE, always check both failure_reason (overall) and devices.failure (per-device) — a sync may fail for an overall reason, for per-device reasons, or both

Use updated_at as the authoritative timestamp for when the sync reached its terminal state

Security
device_onboarding_apiKey
Path
idstringrequired

ID of the DEP sync request object

cURL
curl -i -X GET \
  'https://api.esper.io/_mock/openapi/onboarding/v0/depsyncs/{id}/' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

DEP sync request information

Bodyapplication/json
codeinteger
messagestring
contentobject(device_onboarding_DEPSyncRequestForGetResponse)
Response
{ "code": 0, "message": "string", "content": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "QUEUED", "failure_reason": "string", "devices": {}, "created_by": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } }