Skip to content

Get provisioning profile version by ID
Stable

Request

⚠️ Apple devices only.

Retrieve a specific version of an iOS provisioning profile by both the parent profile UUID and the version UUID, including a signed download URL for that version's file. Returns the full version record: Apple-extracted fields (UUID, expiration date, entitlements, platforms, developer certificates, time_to_live), Esper audit fields, and a signed download_url for the .mobileprovision file. Use this when you need the complete details or download URL for a precise profile version rather than just the most recent one.

About Get Provisioning Profile Version by ID

Provisioning profile versions in Esper track individual .mobileprovision uploads associated with a given App ID. A profile can accumulate multiple versions over its lifetime as certificates are renewed or profile configurations change. This endpoint targets a single version by its versionId, making it useful for confirming the exact state of a version currently attached to a blueprint or for generating a fresh download link for a specific version.

Key Fields / Path Parameters

id (required) — Esper UUID of the parent provisioning profile

versionId (required) — Esper UUID of the specific profile version

uuid (response) — Apple's own UUID for this version, distinct from Esper's id

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

time_to_live (response) — Days remaining from creation date to expiration

provisions_all_devices (response) — true for enterprise profiles covering all devices

entitlements (response) — JSON object of app capabilities granted by this profile

download_url (response) — Signed S3 URL for downloading this version's file; time-limited

Common Use Cases

Retrieving the full entitlements and certificate details for a specific profile version before attaching it to a blueprint

Generating a fresh signed download URL for a known profile version

Confirming expiration and time_to_live for a version currently in use by managed devices

Best Practices

Use the versions list endpoint (GET /v2/provisioning-profiles/{id}/versions) to discover valid versionId values

The download_url is time-limited; fetch it fresh when a download is needed

Check provisions_all_devices to confirm whether the version requires individual device registration or covers all devices (enterprise behavior)

Security
apps_management_apiKey
Path
idstring, (uuid)required

Unique identifier for the provisioning profile

versionIdstring, (uuid)required

Unique identifier for the specific version of the provisioning profile

cURL
curl -i -X GET \
  'https://api.esper.io/_mock/openapi/v2/provisioning-profiles/{id}/versions/{versionId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success

Bodyapplication/json
contentobject(apps_management_ProvisioningProfileVersionWithDownloadResponse)
Response
{ "content": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "profile_id": "bfcb6779-b1f9-41fc-92d7-88f8bc1d12e8", "uuid": "string", "name": "string", "sha256_hash": "string", "creation_date": "2019-08-24T14:15:22Z", "expiration_date": "2019-08-24T14:15:22Z", "time_to_live": 0, "provisions_all_devices": true, "is_xcode_managed": true, "platforms": "string", "entitlements": "string", "developer_certificates": "string", "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0", "created_by": "string", "updated_by": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "download_url": "https://s3.amazonaws.com/bucket/provisioning-profiles/version.mobileprovision?signature=abc123" } }