APIs to perform ABM provisioning. Learn more about ABM provisioning
⚠️ Apple devices only.
Creates one or more ABM provisioning requests by uploading a CSV file containing device identifiers, assigning devices to a blueprint and optionally a group.
About Create ABM Provisioning Request (CSV Upload)
Seamless provisioning (also referred to as ABM provisioning in Esper) pre-assigns newly enrolled Apple Business Manager devices to a blueprint and group before they reach end users, enabling hands-free setup. This endpoint accepts a multipart/form-data CSV upload (csv_file) containing the device identifiers to provision. On success, it returns a paginated list of SeamlessRequest records — one per device in the file — each including the assigned blueprint, group, and identifier metadata. For provisioning a single device by serial number without a CSV, use POST /api/v2/seamless.
Key Fields
csv_file (body, required) — Binary CSV file containing device identifiers, one device per row: unique_ids, unique_id_type, group_id, assigned_blueprint_id, and two optional columns, alias (5th) and tags (6th)
id (response) — SeamlessRequest UUID
assigned_blueprint_id (response) — Blueprint UUID assigned to the devices
group_id (response) — Group UUID assigned to the devices (nullable)
alias (response) — Alias assigned to the device from the CSV's optional 5th column (nullable); omitting or leaving this column blank never clears an existing device alias
tags (response) — Tag names assigned to the device from the CSV's optional 6th column (nullable); a single cell may contain multiple comma-separated tag names (quote the cell if it contains a comma); a maximum of 5 tags per device is supported
unique_ids (response) — The device identifiers from the CSV
unique_id_type (response) — Integer type code identifying the identifier format used
tenant_id (response) — Tenant UUID
Common Use Cases
Bulk pre-assigning a shipment of Apple devices to a blueprint and deployment group before enrollment
Automating ABM provisioning for large device deployments using exported device lists
Setting up hands-free enrollment workflows for iOS devices entering an ABM-managed fleet
Best Practices
Validate CSV formatting before upload — a 400 response indicates invalid file format or contents
For single-device provisioning or API-driven workflows without a file, use POST /api/v2/seamless with a JSON body instead
Capture the returned SeamlessRequest records to confirm each device was registered with the correct blueprint and group assignments
- Mock serverhttps://api.esper.io/_mock/openapi/v2/seamless/upload
- https://develop-api.esper.cloud/apihttps://develop-api.esper.cloud/api/v2/seamless/upload
curl -i -X POST \
https://api.esper.io/_mock/openapi/v2/seamless/upload \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: multipart/form-data' \
-F csv_file=string{ "code": 0, "message": "string", "content": { "count": 0, "previous": "string", "next": "string", "results": [ … ] } }