v1

latestOpenAPI 3.0.1Apache 2.02026-08-063494581.6 MB
apps_management_Provisioning Profiles

Upload provisioning profile for a tenant

⚠️ Apple devices only.

Upload a .mobileprovision file to register an iOS provisioning profile for use with Enterprise app distribution in Esper. The uploaded file is parsed and validated by Esper, which extracts the App ID, team identifier, profile type, expiration date, and entitlements. The resulting profile record is then available to attach to blueprints. App Store (VPP) apps distributed through Apple's App Store do not require provisioning profiles.

About Upload Provisioning Profile iOS provisioning profiles are Apple-issued authorization files that enable Enterprise apps to run on iOS and iPadOS devices without going through the App Store. In Esper, provisioning profiles are uploaded here, then associated with specific blueprints via the blueprint's iOS app configuration. Each upload creates a new version under a profile record keyed by App ID; uploading a .mobileprovision file with the same App ID as an existing profile creates an additional version rather than overwriting it.

Key Fields / Request Body

file (required) — The .mobileprovision binary file to upload, sent as multipart/form-data

id (response) — Esper's UUID for the parent provisioning profile record

version_id (response) — UUID for this specific uploaded version

app_identifier (response) — The app's bundle ID extracted from the file (e.g., com.example.app)

profile_type (response) — One of development, ad-hoc, app-store, or enterprise

expiration_date (response) — When Apple's authorization on this profile expires

Common Use Cases

Registering a new app profile before attaching it to a blueprint

Adding an updated or renewed profile version for an app whose previous profile is nearing expiration

Managing multiple profile versions for the same App ID across development and enterprise distribution types

Best Practices

Upload profiles before configuring blueprints — the profile must exist in Esper before it can be added to a blueprint's iOS tab

Track expiration_date in the response and plan renewals before profiles expire, as expired profiles will block app installation on devices

Uploading a file with the same App ID as an existing profile creates a new version; verify which version blueprints are using after uploading renewals

Workflow

Obtain the .mobileprovision file from the Apple Developer portal for the Enterprise app

POST the file to this endpoint as multipart/form-data and capture the returned id and version_id

Navigate to the target blueprint's Apps & Configuration > iOS tab and use Add Provisioning Profile to attach the uploaded profile

Set the expiration date in the blueprint configuration, then save, publish, and converge to apply to devices

post/v2/provisioning-profiles

Response

Success