---
title: Assign a Profile
framework: devicemanagement
role: symbol
role_heading: Web Service Endpoint
path: devicemanagement/assign-profile
---

# Assign a Profile

Assign a profile to a list of devices.

## URL

POST https://mdmenrollment.apple.com/profile/devices

## Response Codes

200 OK: 400 Bad Request:  DEVICE_ID_REQUIRED: The request did not contain any device IDs. PROFILE_UUID_REQUIRED: The request did not contain a profile ID. USER_AGENT_INVALID:  The User-Agent header is invalid. USER_AGENT_MISSING:  The User-Agent header is missing or has no assigned value. 404 Not Found: The profile with the specified UUID could not be found.

## Mentioned in

Migrating managed devices

## Discussion

Discussion To avoid performance issues, limit requests to 1000 devices at a time. Throttling With X-Server-Protocol-Version 9 and later, the server may throttle profile assignment on a per-device basis. When the server throttles a device, its value in the devices dictionary is THROTTLED instead of SUCCESS. With X-Server-Protocol-Version 10 and later, the response also includes retry_after_seconds when at least one device is throttled. Clients should wait for at least the indicated number of seconds before retrying assignment for the throttled devices.

## HTTP Body

The request for assigning a profile to a set of devices.

## Topics

### Request and Response

- [ProfileServiceRequest](devicemanagement/profileservicerequest.md)
- [AssignProfileResponse](devicemanagement/assignprofileresponse.md)
- [AssignProfileResponse.Devices](devicemanagement/assignprofileresponse/devices-data.dictionary.md)

## See Also

### Profile management

- [Define a Profile](devicemanagement/define-profile.md)
- [Get a Profile](devicemanagement/fetch-profile.md)
- [Remove a Profile](devicemanagement/clear-device-profile.md)
