Skip to content

ABM Provisioning

APIs to perform ABM provisioning. Learn more about ABM provisioning

Create a ABM provisioning request by uploading file
Stable

Request

⚠️ 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

Security
device_onboarding_apiKey
Bodymultipart/form-datarequired
csv_filestring, (binary)
cURL
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

Responses

ABM provisioning request successfully created.

Bodyapplication/json
codeinteger
messagestring
contentobject
Response
{ "code": 0, "message": "string", "content": { "count": 0, "previous": "string", "next": "string", "results": [] } }