Skip to content

Create a DEP sync request
Stable

Request

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

Triggers a new DEP sync request, instructing Esper to pull the latest device assignments from Apple's DEP service for the tenant. About Create DEP Sync Request This endpoint initiates a DEP sync — the process by which Esper fetches the current set of Apple-assigned devices from Apple Business Manager and updates the tenant's device enrollment records accordingly. The request body is an empty JSON object; no parameters are required. The sync runs asynchronously: the 200 response returns a DEPSyncRequest record with a QUEUED or initial status, and the sync progresses through INPROGRESS to COMPLETE, SUCCESS, or FAILURE. Poll GET /api/onboarding/v0/depsyncs/{id}/ to track progress, or use GET /api/onboarding/v0/depsyncs/ to review status across all sync requests.

Key Fields

Request body — Empty JSON object ({})

id (response) — UUID of the newly created DEP sync request

status (response) — Initial status: QUEUED or INPROGRESS

created_by / created_at — Audit fields

Common Use Cases

Triggering a DEP sync after adding new devices to Apple Business Manager to make them available in Esper

Forcing a refresh of device enrollment assignments following an ABM organizational change

Programmatically scheduling regular DEP syncs as part of a device onboarding pipeline

Best Practices

Avoid triggering DEP syncs in rapid succession — syncs run asynchronously and queuing multiple requests simultaneously is unlikely to produce faster results

After triggering, poll GET /api/onboarding/v0/depsyncs/{id}/ using the returned id to track the sync to completion before taking dependent actions

For GET responses with full failure detail (including per-device failure reasons), use GET /api/onboarding/v0/depsyncs/{id}/ — the POST response uses the lighter DEPSyncRequest schema without device-level failure data

Workflow

Trigger the sync with an empty JSON POST body

Capture the returned id

Poll GET /api/onboarding/v0/depsyncs/{id}/ until status reaches SUCCESS, COMPLETE, or FAILURE

Security
device_onboarding_apiKey
Bodyapplication/jsonrequired
object(pipelines_PipelineRun_POST)
cURL
curl -i -X POST \
  https://api.esper.io/_mock/openapi/onboarding/v0/depsyncs/ \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

DEP sync request successfully created.

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