The In-App Purchase API key lets Qonversion call Apple’s runtime endpoints with your app’s identity. We use it to:Documentation Index
Fetch the complete documentation index at: https://documentation.qonversion.io/llms.txt
Use this file to discover all available pages before exploring further.
- Validate every transaction against the App Store Server API.
- Detect refunds and consumption decisions from the live billing system.
- Look up subscription status and transaction history when responding to user requests.
- Sign promotional offer signatures for the App Store Server API.
This is a different key from the App Store Connect API key you generated for Step 1. They live under different tabs in App Store Connect and they are not interchangeable — Apple will reject one if you use it where the other is expected.
1. Make sure you have the right role
To generate an In-App Purchase API key, your App Store Connect user must have one of these roles:- Account Holder
- Admin
2. Open the In-App Purchase tab
- Log in to App Store Connect.
- Click Users and Access in the top navigation.
- Open the Integrations tab.
- Switch to the In-App Purchase sub-tab (not “App Store Connect API”).
- Click Generate In-App Purchase Key (or + if you already have keys).

3. Generate a new key
- Give it a clear name, e.g. Qonversion.
- Click Generate.

4. Copy the Key ID and Issuer ID, and download the .p8 private key
Everything you need lives on the same screen — copy the two identifiers and download the key file before leaving:- Copy the Key ID (10-character string in the row of your new key) — this is the Key Identifier in Qonversion.
- Above the table, copy the Issuer ID (UUID format, e.g.
57246542-96fe-1a63-e053-0824d011072a) — this is the Issuer Identifier in Qonversion. - In the same row, click Download API Key to get the .p8 file.

5. Paste everything into Qonversion
- Open Qonversion Dash → Project Settings → Stores → Apple App Store.
- On Step 3 · Server API access:
- Paste the Key ID in the Key Identifier field.
- Upload the
.p8file in the Private Key field. - Paste the Issuer ID in the Issuer Identifier field.

Troubleshooting
Step 3 has no preflight Verify button — Apple validates the key when Qonversion makes its first runtime call. Issues surface as failed receipt validations, missing refund events, or empty subscription-status responses.Receipts or transactions fail validation (HTTP 401 / NOT_AUTHORIZED)
- Make sure you pasted the Key ID, not the key name.
- Make sure the Issuer ID is from the In-App Purchase tab, not the App Store Connect API tab.
- Make sure the
.p8file matches the Key ID you pasted. - If you previously revoked the old key on Apple’s side, the old
.p8stops working immediately — generate a new key, upload the new.p8, and Qonversion switches over on the next call.
Lost the .p8 file
Apple does not let you re-download the file. Open Users and Access → Integrations → In-App Purchase, revoke the old key, then generate a new one and re-upload the new.p8.
What’s next?
After this step, finish the rest of the wizard:- Step 4 · Production readiness — copy the Server-to-Server Notification URL into App Store Connect.