# Enterprise Program API Automate the tasks you perform on the Apple Developer website. ## Overview The Enterprise Program API is a REST API that enables the automation of actions you take on the [Apple Developer website](https://developer.apple.com). Click [OpenAPI specification](http://developer.apple.com/sample-code/enterprise/enterprise-program-openapi-oas.zip) to download the specification file. Calls to the API require JSON Web Tokens (JWT) for authorization; you obtain keys to create the tokens from your organization’s Enterprise Program account. See [Creating API Keys for Enterprise Program API](/documentation/EnterpriseProgramAPI/creating-api-keys-for-enterprise-program-api) to create your keys and tokens. > Important: > Changes you make using the Enterprise Program API affect the production data you use for development and distribution. The API provides resources to automate the following areas of the [Apple Developer website](https://developer.apple.com): - **Provisioning**. Manage bundle IDs, capabilities, signing certificates, devices, and provisioning profiles. - **Users and Roles**. Send invitations for users to join your team. Adjust their level of access or remove users. The Enterprise Program API returns responses from resources that are consistent JSON data and contain links to additional related resources. ## Topics ### Essentials [Creating API Keys for Enterprise Program API](/documentation/EnterpriseProgramAPI/creating-api-keys-for-enterprise-program-api) Create API keys to sign JSON Web Tokens (JWTs) and authorize API requests. [Generating Tokens for API Requests](/documentation/EnterpriseProgramAPI/generating-tokens-for-api-requests) Create JSON Web Tokens (JWTs) signed with your private key to authorize API requests. [Revoking API Keys](/documentation/EnterpriseProgramAPI/revoking-api-keys) Revoke unused, lost, or compromised private keys. [Identifying Rate Limits](/documentation/EnterpriseProgramAPI/identifying-rate-limits) Recognize the rate limits that REST API responses provide and handle them in your code. [Enterprise Program API Release Notes](/documentation/EnterpriseProgramAPI/enterprise-api-release-notes) Learn about new features and updates in the Enterprise Program API. ### Provisioning [Bundle IDs](/documentation/EnterpriseProgramAPI/bundle-ids) Manage the bundle IDs that uniquely identify your apps. [Bundle ID Capabilities](/documentation/EnterpriseProgramAPI/bundle-id-capabilities) Manage the app capabilities for a bundle ID. [Certificates](/documentation/EnterpriseProgramAPI/certificates) Create, download, and revoke signing certificates for app development and distribution. [Devices](/documentation/EnterpriseProgramAPI/devices) Register devices for development and testing. [Pass Type Ids](/documentation/EnterpriseProgramAPI/passtypeids) Create, download, and revoke pass type ids for app development and distribution. [Profiles](/documentation/EnterpriseProgramAPI/profiles) Create, delete, and download provisioning profiles for development and distribution. ### Users and Roles [Users](/documentation/EnterpriseProgramAPI/users) Manage users on your Enterprise Program team. [User Invitations](/documentation/EnterpriseProgramAPI/user-invitations) Email invitations to join your Enterprise Program team. ### Error Handling [Interpreting and Handling Errors](/documentation/EnterpriseProgramAPI/interpreting-and-handling-errors) Learn how the Enterprise Program API returns errors and handle them in your code. [`ErrorResponse`](/documentation/EnterpriseProgramAPI/ErrorResponse) The error details that an API returns in the response body whenever the API request isn’t successful. ### Paging [Large Data Sets](/documentation/EnterpriseProgramAPI/large-data-sets) Retrieve large data sets with paging information. --- Copyright © 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)