Get provisioning profile versions list
⚠️ Apple devices only.
Retrieve a paginated list of all uploaded versions of a specific iOS provisioning profile, ordered by expiration date descending. Each version corresponds to a separate .mobileprovision file upload made for the same App ID. Results include Apple-extracted metadata (UUID, expiration date, entitlements, platforms, developer certificates) and a signed download_url for the version file. Results default to 10 per page and support search by version name.
About List Provisioning Profile Versions
Esper allows multiple versions of a provisioning profile to exist under a single profile record (shared App ID), reflecting real-world scenarios where profiles are renewed or updated over time. This endpoint surfaces that version history in descending expiration order — most recent first — making it straightforward to identify which version is current and which are expired. Version IDs retrieved here are used when attaching a specific version to a blueprint or when deleting an obsolete version.
Key Fields / Query Parameters
id (path, required) — Esper UUID of the parent provisioning profile
limit — Max results per page; defaults to 10
offset — Records to skip for pagination; defaults to 0
search — Search within version names
expiration_date (response) — When this version expires; results are ordered by this field descending
uuid (response) — Apple's own UUID for this profile version, distinct from Esper's internal id
provisions_all_devices (response) — true for enterprise profiles that provision all devices without explicit device registration
sha256_hash (response) — Hash of the file, used for duplicate detection on upload
Common Use Cases
Reviewing the version history of a profile to confirm which version is currently active in a blueprint
Identifying expired versions to clean up via the delete endpoint
Retrieving a specific version_id needed to fetch or delete an individual version
Best Practices
Versions are ordered by expiration_date descending; the first result is the most recently expiring (current) version
Use sha256_hash to detect duplicate uploads before uploading a new version
When renewing profiles, upload the new version first, update the blueprint to reference the new version, then delete the old version
Path parameters
Unique identifier for the provisioning profile
Query parameters
Maximum number of provisioning profile versions to return
Number of provisioning profile versions to skip
Search in provisioning profile version names
Response
Success
Example response
{
"content": {
"results": [
{
"download_url": "https://s3.amazonaws.com/bucket/provisioning-profiles/version.mobileprovision?signature=abc123"
}
]
}
}