Creator Access Codes & Comp (Free Access)
Give creators, ambassadors and press free premium access — no purchase needed
What Comp Codes Are
Free-access (comp) codes unlock your premium app without a purchase. They are redeemed in-app through the same code field as influencer referral codes, and access is server-authoritative via checkAccess().
Two Kinds
- Creator access codes (
INFLU-…, reserved prefix) — auto-issued by the platform to each creator who joins a campaign, so they can try your premium app before promoting it - Developer comp codes (any other prefix) — minted by you via the free-codes API (
influto_create_free_code) for ambassadors, press, VIPs
Both carry a configurable entitlement and optional expiry; seat caps and expiry are server-enforced.
Enabling Auto-Issued Creator Codes
- Open your app's settings (or use
influto_update_app) - Turn ON Creator access codes (
auto_issue_creator_codes) - Set the code duration (
creator_code_duration_days)
Requires manual code entry (supports_manual_code_entry). Every creator who joins a campaign then automatically receives a personal INFLU-… code. Redemption state is visible via influto_list_free_codes.
How In-App Redemption Works
There is no separate comp flow. The user types the code into the same ReferralCodeInput / applyCode() your app already has for referral codes. When the code is a comp code, the response says so:
free_access: true // this was a free-access code
grants_access: true // the server granted access NOW
entitlement: "pro" // what to unlock
expires_at: ... // ISO date or null
rc_grant: { attempted, ok, error } // diagnostic — optional RevenueCat mirror onlyThe app can unlock immediately on grants_access — no purchase, no store round-trip.
The Access Gate (checkAccess)
checkAccess() answers from InfluTo's database, so it works for RevenueCat AND store-direct apps with zero extra config. Recommended premium gate:
isPremium = storeEntitlement OR checkAccess().hasAccess- Positive results cache ~5 minutes client-side; negative results are never cached
- A comp survives logout
- Blocking or expiring a code revokes access for all holders on the next
checkAccess()
Optional: Mirror Grants into RevenueCat
For RevenueCat apps you can additionally have comp grants mirrored into your own RC project as promotional entitlements. Configure it self-serve:
- Dashboard → App Settings → Validation → "Creator free-access codes"
- Paste your RevenueCat secret key (v1 or v2 — the version is auto-detected on save)
- v2 keys also need
project_id(proj…) +entitlement_id(entl…); v1 keys need the entitlement lookup key (e.g.pro)
If your app gates only on the RC entitlement, call Purchases.invalidateCustomerInfoCache() after a comp redemption — getCustomerInfo() may serve a cached result. The checkAccess()OR-gate above sidesteps this entirely.
Troubleshooting
- Did the RC mirror work? The redemption response carries
rc_grant {attempted, ok, error}— additive and diagnostic only. The agent free-codes listing (influto_list_free_codes) surfacesrc_grant_issuesper code (failed count + latest error), so an RC misconfig is never silent. - RC mirror failed? Native access is still granted —
checkAccess()keeps answeringtrue. Fix the RC key / entitlement config and re-checkrc_grant_issues. - Code not accepted in-app? Confirm manual code entry is ON and the code is not expired or blocked.
Next Steps
- Invite influencers (creators get their
INFLU-code on joining) - Promo code methods (redemption + checkAccess in the SDK)