In-app promo codes
Create codes that grant access inside your app. These are separate from SmartLinks subscription checkout promotions.
Before you start
Implement promo-code redemption in your app with the SDK and verify your app enforces the returned entitlement. Obtain Promo Codes permission.
Step by step
- Open Promo Codes and choose Create Promo Code.
- Enter a code or use Generate.
- Set Grant Access For, Redemption Limit and Offer Expires On.
- Review the benefit and expiry carefully, then Save Promo Code.
- Test redemption in a development app before distributing it. Check both a valid code and an expired/invalid case.
- Share only the intended code and its accurate terms.
- Track the displayed usage/redemption state. Toggle a code's status if you need to stop future use.
Confirm it worked
The app receives and respects the intended access benefit, and usage is recorded under the correct code. Creating a code in the dashboard does not automatically add a redemption screen to your app.
What your app receives when a code is refused
A refused code still returns HTTP 404 with the same message as before, so existing apps keep working. Newer apps can read the added reason field instead:
already_redeemed— this app user redeemed the code earlier. The response includesredeemed_atandaccess_expires_at, so the app can restore access instead of calling the code invalid. Your app must send its app user id (the SDKs do this for redeem) for this to be recognised.not_redeemable— every other refusal: the code does not exist, has expired, was switched off, or was used up by other people. These are deliberately one answer so nobody can probe the API to discover which code names exist.
Redeeming again as the same app user is safe: it returns the original grant and does not use up another redemption.
Troubleshooting
Check expiry, active status, redemption limits, app scope and SDK integration. Do not assume an in-app code changes Apple/Google subscription billing. Delete Code is destructive and should not be used as a substitute for understanding entitlement behavior.