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
Response
Success