<!--
{
  "documentType" : "article",
  "framework" : "DeviceManagement",
  "identifier" : "/documentation/DeviceManagement/check-in",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Check-in"
}
-->

# Check-in

Authenticate devices and maintain push tokens.

## Discussion

The Mobile Device Management (MDM) check-in protocol validates a deviceʼs eligibility for enrollment and informs the device management service that a deviceʼs push token has been updated.

After installing the MDM payload, the device initiates communication with the check-in service. The device validates the TLS certificate of the service, then uses the identity specified in its MDM payload as the client authentication certificate for the connection.

If the MDM payload includes a check-in URL, the check-in protocol communicates with that check-in service. If it doesn’t provide a check-in URL, the device uses the main device management service URL instead.

## Topics

### Commands

[`Authenticate`](/documentation/DeviceManagement/Authenticate)

Authenticates a user during MDM payload installation.

[`User Authenticate`](/documentation/DeviceManagement/User-Authenticate)

Authenticates a user with a two-step authentication protocol.

[`Check Out`](/documentation/DeviceManagement/Check-Out)

Responds to the removal of the MDM enrollment profile from a device.

[`Get Token`](/documentation/DeviceManagement/Get-Token)

Gets a token from the server.

[`Token Update`](/documentation/DeviceManagement/Token-Update)

Updates the token for a device on the server.

[`Get Bootstrap Token`](/documentation/DeviceManagement/Get-Bootstrap-Token)

Gets the bootstrap token from the server.

[`Set Bootstrap Token`](/documentation/DeviceManagement/Set-Bootstrap-Token)

Sends the bootstrap token to the server.

[`Return To Service`](/documentation/DeviceManagement/Return-To-Service)

Gets the return-to-service configuration from the server.

### Declarative management

[`Declarative Management`](/documentation/DeviceManagement/Declarative-Management)

Sends declarative management requests to the server.

[`Get Server Supported Declarations`](/documentation/DeviceManagement/declaration-items)

Get a list of the declarations available on the server.

[`Get the Device Status`](/documentation/DeviceManagement/status)

The request for getting the status of a device.

[`Get the Device Token`](/documentation/DeviceManagement/tokens)

The request for sending the device token details.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)