⚠️ 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
- Mock serverhttps://api.esper.io/_mock/openapi/onboarding/v0/depsyncs/
- https://develop-api.esper.cloud/apihttps://develop-api.esper.cloud/api/onboarding/v0/depsyncs/
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 '{}'{ "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" } }