<!--
{
  "documentType" : "article",
  "framework" : "DeviceManagement",
  "identifier" : "/documentation/DeviceManagement/app-book-and-subscription-management",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "App, Book, and Subscription Management"
}
-->

# App, Book, and Subscription Management

Manage apps, books, and subscriptions for your students and employees.

## Topics

### Getting started

[Getting started with the management API](/documentation/DeviceManagement/getting-started-with-the-management-api)

Configure your device management service to handle content and user assignments.

[Apps and books metadata for organizations](/documentation/DeviceManagement/apps-and-books-metadata-for-organizations)

Get metadata for apps and books your organization owns.

### Managing content

[Managing assets](/documentation/DeviceManagement/managing-assets)

Assign and revoke app and book licenses across your organization.

[Managing subscriptions](/documentation/DeviceManagement/managing-subscriptions)

Administer auto-renewable subscription seats for your organization.

[Managing users](/documentation/DeviceManagement/managing-users)

Register and manage users for your organization’s managed organizational unit.

[Setting up and assigning content](/documentation/DeviceManagement/setting-up-and-assigning-content)

Distribute purchased licenses to managed users through your device management service.

### Common tasks

[Using paginated endpoints](/documentation/DeviceManagement/using-paginated-endpoints)

Traverse large result sets with page-index and cursor-based pagination.

[Subscribing to notifications](/documentation/DeviceManagement/subscribing-to-notifications)

Monitor events for assets, assignments, and users in your organization.

[Handling error responses](/documentation/DeviceManagement/handling-error-responses)

Investigate and resolve service request errors.

### Configuration management

[`Client Config`](/documentation/DeviceManagement/Client-Config-4szk1)

Store client-specific information on the server.

[`Service Config`](/documentation/DeviceManagement/Service-Config)

Provides the full list of web service URLs, notification types, request limits, and possible error codes.

### Asset management

[`Get Assets`](/documentation/DeviceManagement/Get-Assets-4ski1)

Get the set of assets that your organization manages.

[`Associate Assets`](/documentation/DeviceManagement/Associate-Assets)

Associate assets with client user IDs and serial numbers.

[`Disassociate Assets`](/documentation/DeviceManagement/Disassociate-Assets)

Disassociate assets from client user IDs and serial numbers.

[`Revoke Assets`](/documentation/DeviceManagement/Revoke-Assets)

Revoke assets from client user IDs and serial numbers.

[`Get Assignments`](/documentation/DeviceManagement/Get-Assignments-9wv1e)

Get the set of current assignments for users or devices.

### Subscription management

[`Enable Subscriptions`](/documentation/DeviceManagement/Enable-Subscriptions)

Declare that your device management service supports subscription management.

[`Disable Subscriptions`](/documentation/DeviceManagement/Disable-Subscriptions)

Declare that your device management service doesn’t support subscription management.

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

Get the subscriptions that your organization manages.

[`Get Subscription Assignments`](/documentation/DeviceManagement/Get-Subscription-Assignments)

Get the subscription assignments for users in your organization.

[`Associate Subscriptions`](/documentation/DeviceManagement/Associate-Subscriptions)

Associate subscriptions with client user IDs.

[`Disassociate Subscriptions`](/documentation/DeviceManagement/Disassociate-Subscriptions)

Disassociate subscriptions from client user IDs.

[`Get Subscription Administrators`](/documentation/DeviceManagement/Get-Subscription-Administrators)

Get the administrators for subscriptions that your organization manages.

[`Add Subscription Administrators`](/documentation/DeviceManagement/Add-Subscription-Administrators)

Add administrators for subscriptions.

[`Remove Subscription Administrators`](/documentation/DeviceManagement/Remove-Subscription-Administrators)

Remove administrators from subscriptions.

### User management

[`Get Users`](/documentation/DeviceManagement/Get-Users-4mwln)

Get information about a set of users.

[`Create Users`](/documentation/DeviceManagement/Create-Users)

Create users to assign apps, books, and subscriptions to.

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

Update details for existing users.

[`Retire Users`](/documentation/DeviceManagement/Retire-Users)

Retire users by client user IDs.

### Event management

[`Event Status`](/documentation/DeviceManagement/Events-Status)

Retrieve the status of an asynchronous event.

### Objects and data types

[`object Asset`](/documentation/DeviceManagement/Asset)

A product in the store.

[`object ResponseAsset`](/documentation/DeviceManagement/ResponseAsset)

The asset that the organization owns.

[`object UnlimitedResponseAsset`](/documentation/DeviceManagement/UnlimitedResponseAsset)

An asset with an unlimited license that the organization owns.

[`object Assignment`](/documentation/DeviceManagement/Assignment)

The asset assignment for a user or device.

[`object RequestUser`](/documentation/DeviceManagement/RequestUser)

The requested user in the organization.

[`object ResponseUser`](/documentation/DeviceManagement/ResponseUser)

The user in the organization.

[`object ResponseSubscription`](/documentation/DeviceManagement/ResponseSubscription)

A subscription with its assignment counts.

[`object ResponseSubscriptionAssignment`](/documentation/DeviceManagement/ResponseSubscriptionAssignment)

An assignment of a subscription to a user.

[`object SubscriptionCounts`](/documentation/DeviceManagement/SubscriptionCounts)

The subscription assignment counts broken down by assigned and available.

[`object SubscriptionCountsBreakdown`](/documentation/DeviceManagement/SubscriptionCountsBreakdown)

The breakdown of subscription counts by renewing and expiring status.

[`object ManageSubscriptionsRequest`](/documentation/DeviceManagement/ManageSubscriptionsRequest)

The request for subscription management.

[`object ManageSubscriptionAdminsRequest`](/documentation/DeviceManagement/ManageSubscriptionAdminsRequest)

The request body for adding or removing subscription administrators.

[`object ManageSubscriptionAdminsResponse`](/documentation/DeviceManagement/ManageSubscriptionAdminsResponse)

The confirmation response that the server returns after adding or removing subscription administrators.

[`object ResponseSubscriptionAdmin`](/documentation/DeviceManagement/ResponseSubscriptionAdmin)

An administrator for a subscription.

[`object SubscriptionManagementResponse`](/documentation/DeviceManagement/SubscriptionManagementResponse)

A confirmation response that reports your device management service’s subscription management support.

[`object MdmInfo`](/documentation/DeviceManagement/MdmInfo)

Information about the MDM client.

[`object EventResponse`](/documentation/DeviceManagement/EventResponse)

The response that contains the event identifier.

[`object ErrorResponse`](/documentation/DeviceManagement/ErrorResponse)

The response that contains the error that occurs.

[`object StatusResponse`](/documentation/DeviceManagement/StatusResponse)

The status of an asynchronous event.

### Legacy API

[App and book management (Legacy)](/documentation/DeviceManagement/app-and-book-management-legacy)

Manage apps and books for your students and employees.

[Upgrading to the new management API](/documentation/DeviceManagement/upgrading-to-the-new-management-api)

Migrate from API version 1 to version 2 for improved performance.



---

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)