Superwall

Integrate in-app purchase events from RevenueCat with Superwall

πŸ‘

The Superwall integration is available on the Pro plan.

Superwall can be a helpful integration for optimizing pricing and understanding which paywalls are producing customers with the highest LTV. RevenueCat can automatically send billing, subscription, and revenue metrics to Superwall, a paywall SDK that lets you remotely update every aspect of your paywall.

With our Superwall integration, you can:

  • Create paywalls on-the-fly without shipping app updates
  • Determine which paywalls have high trial conversion rates
  • Find which product & paywall combinations have the highest LTVs
  • Offer discounts to users who churn

Events

The Superwall integration tracks the following events:

EventDescription
Initial PurchaseThe first purchase of an auto-renewing subscription product, includes free trials.
Non Subscription PurchaseThe purchase of any product that's not an auto-renewing subscription.
RenewalWhen an auto-renewing subscription product renews OR a user repurchases the auto-renewing subscription product after a lapse in their subscription.
Product ChangeA subscriber has changed the product of their subscription.
CancellationA subscription or non-renewing purchase has been cancelled.
UncancellationWhen a user re-enables the auto-renew status for a subscription.
Billing IssuesThere has been a problem trying to charge the subscriber.

This does not mean the subscription has expired (in the case of a grace period enabled).
Subscription pausedA subscription has been paused.
TransferA transfer of transactions and entitlements was initiated between one App User ID(s) to another.
ExpirationA subscription has expired and access should be removed.

Setup

1. Set Superwall User Identity

In order to associate RevenueCat subscription data with Superwall paywall events, the RevenueCat app user ID must match the Superwall app user ID. You can read more about how Superwall handles user ID’s in their documentation here. You can set up a custom app user ID in RevenueCat by following the instructions in our Identifying Users documentation.

2. Send RevenueCat events to Superwall

After you've set up the Purchases SDK and Superwall SDK to have the same user identity, you can "turn on" the integration from the RevenueCat dashboard.

  1. Navigate to your project in the RevenueCat dashboard and find the Integrations card in the left menu. Select + New
332
  1. Choose Superwall from the Integrations menu
  2. Add your Superwall Token (Superwall settings > Integrations)

Remember to select Add Integration

1864

Testing the Superwall integration

Make a sandbox purchase with a new user

Simulate a new user installing your app, and go through your app flow to complete the sandbox purchase.

Check that the Superwall event delivered successfully

While still on the Customer View, select the purchase event in the Customer History page and make sure that the Superwall integration event exists and was delivered successfully.

2246

Check Superwall dashboard for the delivered event

Navigate to your Superwall dashboard > Users and search for the created app user ID. You will see events RevenueCat has dispatched to the Superwall under 'Recent Events'.

2352

Sample Events

Below are sample JSONs that are delivered to Superwall for each event type.

{ "event": { "event_timestamp_ms": 1641980452341, "product_id": "annual", "period_type": "NORMAL", "purchased_at_ms": 1641980447000, "expiration_at_ms": 1642585247000, "environment": "PRODUCTION", "entitlement_ids": [ "premium" ], "presented_offering_id": null, "transaction_id": "123456789012345", "original_transaction_id": "123456789012345", "is_family_share": false, "country_code": "US", "app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "aliases": [ "12abc345d67e890fgh12j3lm456n7890" ], "original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "currency": "USD", "price": 89.99, "price_in_purchased_currency": 89.99, "subscriber_attributes": { "$ip": { "value": "123.45.67.89", "updated_at_ms": 1641980373773 }, "$idfa": { "value": "00000000-0000-0000-0000-000000000000", "updated_at_ms": 1641980373773 }, "$idfv": { "value": "12345A6B-C789-0D1E-FG23-456H6I7J890K", "updated_at_ms": 1641980373773 }, "$appsflyerId": { "value": "1234567890123-1234567890123456789", "updated_at_ms": 1641980373775 } }, "store": "APP_STORE", "takehome_percentage": 0.7, "offer_code": null, "type": "initial_purchase", "id": "12345678-1234-1234-1234-123456789012", "app_id": "1234567890" }, "api_version": "1.0" }
{ "event": { "event_timestamp_ms": 1641990066553, "product_id": "weekly", "period_type": "NORMAL", "purchased_at_ms": 1642018648000, "expiration_at_ms": 1642623448000, "environment": "PRODUCTION", "entitlement_ids": [ "premium" ], "presented_offering_id": null, "transaction_id": "123456789012345", "original_transaction_id": "123456789012345", "is_family_share": false, "country_code": "US", "app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "aliases": [ "12abc345d67e890fgh12j3lm456n7890" ], "original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "currency": "USD", "is_trial_conversion": false, "price": 4.99, "price_in_purchased_currency": 4.99, "subscriber_attributes": { "$ip": { "value": "123.45.67.89", "updated_at_ms": 1635966996059 }, "$idfa": { "value": "00000000-0000-0000-0000-000000000000", "updated_at_ms": 1635966996058 }, "$idfv": { "value": "12345A6B-C789-0D1E-FG23-456H6I7J890K", "updated_at_ms": 1634600054627 }, "$email": { "value": "[email protected]", "updated_at_ms": 1635967259599 }, "$appsflyerId": { "value": "1234567890123-1234567890123456789", "updated_at_ms": 1634600054630 }, "$displayName": { "value": "FirstLast", "updated_at_ms": 1635967185821 } }, "store": "APP_STORE", "takehome_percentage": 0.7, "offer_code": null, "type": "renewal", "id": "12345678-1234-1234-1234-123456789012", "app_id": "1234567890" }, "api_version": "1.0" }
{ "event": { "event_timestamp_ms": 1641979460185, "product_id": "annual", "period_type": "NORMAL", "purchased_at_ms": 1641489607000, "expiration_at_ms": 1673025607000, "environment": "PRODUCTION", "entitlement_ids": [ "premium" ], "presented_offering_id": null, "transaction_id": "123456789012345", "original_transaction_id": "123456789012345", "is_family_share": false, "country_code": "US", "app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "aliases": [ "12abc345d67e890fgh12j3lm456n7890" ], "original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "cancel_reason": "UNSUBSCRIBE", "currency": "USD", "price": 0.0, "price_in_purchased_currency": 0.0, "subscriber_attributes": { "$ip": { "value": "123.45.67.89", "updated_at_ms": 1640922085884 }, "$idfa": { "value": "00000000-0000-0000-0000-000000000000", "updated_at_ms": 1640922085883 }, "$idfv": { "value": "12345A6B-C789-0D1E-FG23-456H6I7J890K", "updated_at_ms": 1640884773572 }, "$email": { "value": "[email protected]", "updated_at_ms": 1640884952087 }, "$appsflyerId": { "value": "1234567890123-1234567890123456789", "updated_at_ms": 1640884773577 }, "$displayName": { "value": "FirstLast", "updated_at_ms": 1640884932761 } }, "store": "APP_STORE", "takehome_percentage": 0.7, "offer_code": null, "type": "cancellation", "id": "12345678-1234-1234-1234-123456789012", "app_id": "1234567890" }, "api_version": "1.0" }
{ "event": { "event_timestamp_ms": 1663976681591, "product_id": "annual", "period_type": "NORMAL", "purchased_at_ms": 1642861650000, "expiration_at_ms": 1674397650000, "environment": "PRODUCTION", "entitlement_ids": [ "premium" ], "presented_offering_id": "standard", "transaction_id": "123456789012345", "original_transaction_id": "123456789012345", "is_family_share": false, "country_code": "US", "app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "aliases": [ "12abc345d67e890fgh12j3lm456n7890" ], "original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "currency": "USD", "price": 0.0, "price_in_purchased_currency": 0.0, "subscriber_attributes": { "$ip": { "value": "123.45.67.89", "updated_at_ms": 1642861599292 }, "$idfa": { "value": "00000000-0000-0000-0000-000000000000", "updated_at_ms": 1642861599292 }, "$idfv": { "value": "12345A6B-C789-0D1E-FG23-456H6I7J890K", "updated_at_ms": 1642861529624 }, "$amplitudeDeviceId": { "value": "12345A6B-C789-0D1E-FG23-456H6I7J890K", "updated_at_ms": 1662591626817 } }, "store": "APP_STORE", "takehome_percentage": 0.7, "offer_code": null, "tax_percentage": 0.0, "commission_percentage": 0.3, "type": "uncancellation", "id": "12345678-1234-1234-1234-123456789012", "app_id": "1234567890" }, "api_version": "1.0" }
{ "event": { "event_timestamp_ms": 1642005085499, "product_id": "400_tokens", "period_type": "NORMAL", "purchased_at_ms": 1642005085444, "expiration_at_ms": 1644683485444, "environment": "PRODUCTION", "entitlement_ids": [ "premium" ], "presented_offering_id": null, "transaction_id": "123456789012345", "original_transaction_id": "123456789012345", "is_family_share": null, "country_code": "US", "app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "aliases": [ "12abc345d67e890fgh12j3lm456n7890" ], "original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "currency": "USD", "price": 3.99, "price_in_purchased_currency": 3.99, "subscriber_attributes": { "$ip": { "value": "123.45.67.89", "updated_at_ms": 1605515259156 }, "$idfa": { "value": "00000000-0000-0000-0000-000000000000", "updated_at_ms": 1605515259155 }, "$idfv": { "value": "12345A6B-C789-0D1E-FG23-456H6I7J890K", "updated_at_ms": 1605515259156 }, "$email": { "value": "[email protected]", "updated_at_ms": 1608329355624 }, "$appsflyerId": { "value": "1234567890123-1234567890123456789", "updated_at_ms": 1578134994616 }, "$displayName": { "value": "FirstLast", "updated_at_ms": 1608329355625 } }, "store": "APP_STORE", "takehome_percentage": 1.0, "offer_code": null, "type": "non_subscription_purchase", "id": "12345678-1234-1234-1234-123456789012", }, "api_version": "1.0" }
{ "event": { "event_timestamp_ms": 1663972580977, "product_id": "monthly", "period_type": "NORMAL", "purchased_at_ms": 1663950641060, "expiration_at_ms": 1666549841060, "environment": "PRODUCTION", "entitlement_ids": null, "presented_offering_id": null, "transaction_id": "GPA.1234-5678-9012-34567", "original_transaction_id": "GPA.1234-5678-9012-34567", "is_family_share": false, "country_code": null, "app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "aliases": [ "12abc345d67e890fgh12j3lm456n7890" ], "original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "auto_resume_at_ms": 1674491441060, "currency": "USD", "price": 0.0, "price_in_purchased_currency": 0.0, "subscriber_attributes": {}, "store": "PLAY_STORE", "takehome_percentage": 0.85, "offer_code": null, "tax_percentage": 0.0, "commission_percentage": 0.15, "type": "subscription_paused", "id": "12345678-1234-1234-1234-123456789012", "app_id": "1234567890" }, "api_version": "1.0" }
{ "event": { "event_timestamp_ms": 1641979680052, "product_id": "annual", "period_type": "NORMAL", "purchased_at_ms": 1610443458000, "expiration_at_ms": 1641979458000, "environment": "PRODUCTION", "entitlement_ids": [ "premium" ], "presented_offering_id": null, "transaction_id": "123456789012345", "original_transaction_id": "123456789012345", "is_family_share": false, "country_code": "AU", "app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "aliases": [ "12abc345d67e890fgh12j3lm456n7890" ], "original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "expiration_reason": "UNSUBSCRIBE", "currency": "AUD", "price": 0.0, "price_in_purchased_currency": 0.0, "subscriber_attributes": { "$ip": { "value": "123.45.67.89", "updated_at_ms": 1625546407475 }, "$idfa": { "value": "00000000-0000-0000-0000-000000000000", "updated_at_ms": 1625546407473 }, "$idfv": { "value": "12345A6B-C789-0D1E-FG23-456H6I7J890K", "updated_at_ms": 1625466331505 }, "$email": { "value": "[email protected]", "updated_at_ms": 1625466352128 }, "$appsflyerId": { "value": "1234567890123-1234567890123456789", "updated_at_ms": 1625466331510 }, "$displayName": { "value": "FirstLast", "updated_at_ms": 1625466352133 } }, "store": "APP_STORE", "takehome_percentage": 0.85, "offer_code": null, "type": "expiration", "id": "12345678-1234-1234-1234-123456789012", "app_id": "1234567890" }, "api_version": "1.0" }
{ "event": { "event_timestamp_ms": 1641989467593, "product_id": "monthly", "period_type": "NORMAL", "purchased_at_ms": 1641985292000, "expiration_at_ms": 1673521292000, "environment": "PRODUCTION", "entitlement_ids": [ "premium" ], "presented_offering_id": null, "transaction_id": "123456789012345", "original_transaction_id": "123456789012345", "is_family_share": false, "country_code": "ZA", "app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "aliases": [ "12abc345d67e890fgh12j3lm456n7890" ], "original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "grace_period_expiration_at_ms": null, "currency": "USD", "price": 0.0, "price_in_purchased_currency": 0.0, "subscriber_attributes": { "$ip": { "value": "123.45.67.89", "updated_at_ms": 1641380990137 }, "$idfa": { "value": "00000000-0000-0000-0000-000000000000", "updated_at_ms": 1641380990136 }, "$idfv": { "value": "12345A6B-C789-0D1E-FG23-456H6I7J890K", "updated_at_ms": 1641380990136 }, "$email": { "value": "[email protected]", "updated_at_ms": 1641380601324 }, "$appsflyerId": { "value": "1234567890123-1234567890123456789", "updated_at_ms": 1641380990138 }, "$displayName": { "value": "FirstLast", "updated_at_ms": 1641449423479 } }, "store": "APP_STORE", "takehome_percentage": 1.0, "offer_code": null, "type": "billing_issue", "id": "12345678-1234-1234-1234-123456789012", "app_id": "1234567890" }, "api_version": "1.0" }
{ "event": { "event_timestamp_ms": 1642108701236, "product_id": "monthly", "period_type": "NORMAL", "purchased_at_ms": 1639087828000, "expiration_at_ms": 1641766228000, "environment": "PRODUCTION", "entitlement_ids": [ "premium" ], "presented_offering_id": null, "transaction_id": "123456789012345", "original_transaction_id": "123456789012345", "is_family_share": false, "country_code": "CA", "app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "aliases": [ "12abc345d67e890fgh12j3lm456n7890" ], "original_app_user_id": "$RCAnonymousID:87c6049c58069238dce29853916d624c", "new_product_id": "annual", "currency": "CAD", "price": 0.0, "price_in_purchased_currency": 0.0, "subscriber_attributes": { "$ip": { "value": "123.45.67.89", "updated_at_ms": 1607426876996 }, "$idfa": { "value": "00000000-0000-0000-0000-000000000000", "updated_at_ms": 1607426876996 }, "$idfv": { "value": "12345A6B-C789-0D1E-FG23-456H6I7J890K", "updated_at_ms": 1607426876996 }, "$email": { "value": "[email protected]", "updated_at_ms": 1608040666659 }, "$appsflyerId": { "value": "1234567890123-1234567890123456789", "updated_at_ms": 1582818527279 }, "$displayName": { "value": "FirstLast", "updated_at_ms": 1608040666660 } }, "store": "APP_STORE", "takehome_percentage": 0.7, "offer_code": null, "type": "product_change", "id": "12345678-1234-1234-1234-123456789012", "app_id": "1234567890" }, "api_version": "1.0" }

πŸ‘

You've done it!

You should start seeing subscription data from RevenueCat appear in Superwall.


Did this page help you?
\n\n","html_footer":"","html_body":"","html_promo":"","javascript_hub2":"// Redirect hack so we don't accidentally leak the underlying readme url\nvar wl = window.location;\nif (wl.hostname == \"docs-origin.revenuecat.com\" && ! wl.pathname.startsWith('/suggested-edits/') && ! wl.pathname.startsWith('/edit/') && wl.search.indexOf('auth_token') < 0 && document.cookie.indexOf('docs_redirect=off') < 0) {\n window.location.replace(\"https://www.revenuecat.com\" + wl.pathname + wl.search);\n}","javascript":"","stylesheet_hub2":"/*.markdown-body h2 { font-weight:700; }*/\n\nhtml:not(.useReactApp) nav#hub-sidebar>ul>li>a.active,\nhtml:not(.useReactApp) nav#hub-sidebar ul>li.subnav-expanded>a {\n color: white !important;\n}\n\n.table {\n border-collapse: collapse;\n}\n\n.td {\n border: 1px solid #eee !important;\n}\n\n.content-body code {\n display: inline;\n word-break: normal;\n}\n\n.updated-at {\n display: none;\n}\n\n/* (Sharif) Removed because it was hiding the Suggest Edits button. /*\n/* (Original) Hide \"Ask a question\" button on Discussion forum */\n/*\n#content-head a {\n display: none;\n}\n*/\n\n/* Give images just a *little* more of a margin */\nimg {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n\n/* Fixes the subpage text color when the background is red */\na.subpage.active .link-title {\n color: white !important;\n}\n\n/* Give glossary items a RC theme */\n.glossary-item.highlight {\n color: #4449c3;\n border-bottom: 1px dashed #4449c3;\n}\n\n/* Change color of top boarder */\n.theme-line header#hub-header #header-top {\n border-bottom-color: #FFFFFF;\n}\n\n/* Style for doc header */\nh1 {\n color: #292929 !important;\n font-weight: 800;\n font-size: 28px;\n font-family: 'Open Sans', sans-serif !important;\n}\n\n/* Fixing header font sizes and weights, as well as spacing */\n.heading-1 .heading-text {\n margin-top: 8px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 22px;\n font-weight: 800;\n}\n\n.heading-2 .heading-text {\n margin-top: 8px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 18px;\n font-weight: 600;\n}\n\n.heading-3 .heading-text {\n margin-top: 20px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 16px;\n font-weight: 600;\n}\n\n.heading-4 .heading-text {\n margin-top: 10px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 16px;\n font-weight: 600;\n}\n\n.heading-5 .heading-text {\n margin-top: 20px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 14px;\n font-weight: 600;\n}\n\n.heading-6 .heading-text {\n margin-top: 20px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Adjusting paragraph styles */\np {\n display: block;\n margin-bottom: 0px;\n margin-top: 0;\n font-size: 15px;\n font-family: 'Open Sans', sans-serif !important;\n color: #292929;\n}\n\n/* Fixing bullet point style to match paragraph */\n.field-description li,\n.markdown-body li {\n font-size: 15px !important;\n color: #292929;\n font-family: 'Open Sans', sans-serif !important;\n}\n\n/* ReadMe is redesigning their docs and some default \nsettings will override the link typography under \"Theme Editor\".\nThis code snippet will override link colors if our project gets\nthe new redesign.\n.field-description a, .markdown-body a {\ncolor: #df434b !important;\n}\n*/\n\n/* For buttons under \"See it in action\" */\n.button-text {\n padding: 0px 22px 0px 0px;\n border-width: 0px;\n background-color: transparent;\n background-image: url(\"https://assets-global.website-files.com/60706bf8c762975d9275ea4c/6070a422148280456aaf1c39_Group%2051.svg\");\n background-position: 100% 50%;\n background-size: auto;\n background-repeat: no-repeat;\n transition: all 400ms ease;\n text-decoration: none;\n color: #df434b;\n line-height: 16px;\n font-weight: 700;\n margin-right: 15px;\n border: 3px solid transparent;\n}\n\n/* Hovering will move button up */\n.button-text:hover {\n position: relative;\n bottom: 3px;\n}\n\n/* Buttons for links ('text here ->') */\n.button-text-links {\n padding: 0px 22px 0px 0px;\n border-width: 0px;\n background-color: transparent;\n background-image: url(\"https://assets-global.website-files.com/60706bf8c762975d9275ea4c/6070a422148280456aaf1c39_Group%2051.svg\");\n background-position: 100% 50%;\n background-size: auto;\n background-repeat: no-repeat;\n transition: all 400ms ease;\n text-decoration: none;\n color: #df434b;\n line-height: 16px;\n font-weight: 700;\n margin-right: 15px;\n border: 3px solid transparent;\n}\n\n/* Hovering will push arrow to the right */\n.button-text-links:hover {\n padding-right: 30px;\n position: relative;\n}\n\n.field-description li,\n.markdown-body li {\n font-size: 13px;\n color: #292929;\n font-family: 'Open Sans', sans-serif !important;\n}\n\n/* redesign updates 11/24/2021 */\n\nhtml.useReactApp .rm-Header {\n --header-logo-height: 40px;\n --Header-border-width: 0px;\n --Header-background: #f6f7f8;\n --Header-button-hover: #f6f7f8;\n}\n\nhtml.useReactApp .rm-Sidebar {\n --Sidebar-link-color: #ffffff;\n --Sidebar-link-background: #4449c3;\n\n /* Sometimes the statuspage alert covered sections of the\n \tsidebar, so this just adds some extra padding\n */\n padding-bottom: 120px;\n\n}\n\nhtml.useReactApp .rm-Header .rm-Logo img {\n margin-bottom: 24px;\n}\n\nhtml.useReactApp .rm-Header-top {\n background: #ffffff;\n}\n\nhtml.useReactApp .rm-Guides #updated-at,\nhtml.useReactApp #updated-at {\n padding-top: 60px;\n}\n\n/* there's some kind of bug in the new ReadMe where in the Search List, \nthe first element's background jitters even when you're selecting a different \nelement and this is my attempt to make it less noticeable */\n\nhtml.useReactApp .rm-Header .SearchResults-list>a:active,\nhtml.useReactApp .rm-Header .SearchResults-list>a:focus {\n background-color: inherit;\n color: inherit;\n}\n\n/* below trying to remove the obnoxious focus, active effects. can be removed\nif this is not desired */\n\nhtml.useReactApp .rm-Header-top .rm-Logo:active,\nhtml.useReactApp .rm-Header-top .rm-Logo:focus,\nhtml.useReactApp .rm-Header-top-link.Button:active,\nhtml.useReactApp .rm-Header-top-link.Button:focus,\nhtml.useReactApp .rm-Header-bottom-link.Button:active,\nhtml.useReactApp .rm-Header-bottom-link.Button:focus {\n box-shadow: none;\n background: transparent;\n border-color: transparent;\n}\n\nhtml.useReactApp .rm-Header-top-link.Button:hover,\nhtml.useReactApp .rm-Header-bottom-link.Button:hover {\n background: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n border-color: transparent;\n}\n\n/* mobile menu links */\nhtml.useReactApp .rm-Flyout a:hover,\nhtml.useReactApp .rm-Flyout a:active,\nhtml.useReactApp .rm-Flyout a:focus {\n box-shadow: none;\n border-color: transparent;\n}\n\n/* mobile menu dropdown */\nhtml.useReactApp .rm-Header-top .icon-menu:hover,\nhtml.useReactApp .rm-Header-top .icon-menu:active,\nhtml.useReactApp .rm-Header-top .icon-menu:focus,\nhtml.useReactApp .rm-Flyout .Select_md:hover,\nhtml.useReactApp .rm-Flyout .Select_md:active,\nhtml.useReactApp .rm-Flyout .Select_md:focus {\n box-shadow: none;\n border-color: transparent;\n}\n\nhtml.useReactApp .Button_graphite_text:not(:disabled):active,\nhtml.useReactApp .Button_graphite_text:not(:disabled):focus {\n box-shadow: none;\n border-color: transparent;\n}\n\nhtml.useReactApp .App .rm-Guides .heading:focus-within,\nhtml.useReactApp .App .rm-ReferenceMain .heading:focus-within,\nhtml.useReactApp .App .rm-Changelog .heading:focus-within {\n outline: 0px;\n}\n\nspan.img img {\n margin-top: 0px;\n margin-bottom: 0px;\n}\n\n/* START - redesign updates 12/9/2022 Ryan Kotzebue */\nhr.landing-divider-small {\n margin: 30px 0;\n border-width: 0 !important;\n}\n\na.cta {\n background: #4449c3;\n border: 1px solid rgb(104, 117, 217);\n color: white;\n font-size: 16px;\n border-radius: 6px;\n padding: 12px 12px;\n text-decoration: none !important;\n transform 400ms ease 0s;\n}\n\na.cta:hover {\n background: rgb(87, 108, 219);\n border: 1px solid rgb(81, 94, 189);\n}\n\n\nul.ctas {\n grid-auto-rows: 1fr;\n display: grid;\n list-style: none;\n gap: 30px;\n margin: 0;\n padding: 0;\n}\n\nsection.two-column ul.ctas {\n grid-template-columns: repeat(2, 1fr);\n}\n\nsection.three-column ul.ctas {\n grid-template-columns: repeat(3, 1fr);\n}\n\nul.ctas li {\n margin: 0;\n padding: 0;\n display: flex;\n border: 1px solid rgb(240, 241, 255);\n background: rgb(240, 241, 255);\n border-radius: 5px;\n transition: background 200ms ease 0s, color 200ms ease 0s, box-shadow 200ms ease 0s, border 200ms\n}\n\nul.ctas li a {\n padding: 10px;\n text-decoration: none !important;\n color: #3d3d3d;\n transform: 400ms ease 0s;\n}\n\nul.ctas li:hover {\n background: rgb(209, 214, 255);\n border: 1px solid rgb(209, 214, 255);\n}\n\nul.ctas li a div.name {\n font-size: var(--markdown-title-size, 1.25em);\n font-weight: var(--markdown-title-weight, 600);\n color: #4449c3;\n}\n\[email protected] only screen and (max-width:1029px) {\n\n section.two-column ul.ctas,\n section.three-column ul.ctas {\n grid-template-columns: repeat(1, 1fr) !important;\n }\n\n}\n\n/* END - redesign updates 12/9/2022 */\n\n/* Dark Mode fixes */\n[data-color-mode=\"dark\"] .field-description a[href],\n[data-color-mode=\"dark\"] .field-description a:not([href=\"\"]),\n[data-color-mode=\"dark\"] .markdown-body a[href],\n[data-color-mode=\"dark\"] .markdown-body a:not([href=\"\"]) {\n color: #F2545B !important;\n}\n\n\n[data-color-mode=\"dark\"] .rm-Header {\n --Header-background: transparent!important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-top {\n background: transparent!important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom {\n background: transparent!important;\n}\n\n[data-color-mode=\"dark\"] a {\n color: rgba(255, 255, 255, 0.95)!important;\n}\n\n[data-color-mode=\"dark\"] p {\n color: rgba(255, 255, 255, 0.75)!important;\n}\n\n[data-color-mode=\"dark\"] .heading-1 .heading-text,\n[data-color-mode=\"dark\"] .heading-2 .heading-text,\n[data-color-mode=\"dark\"] .heading-3 .heading-text,\n[data-color-mode=\"dark\"] .heading-4 .heading-text,\n[data-color-mode=\"dark\"] .heading-5 .heading-text,\n[data-color-mode=\"dark\"] .heading-6 .heading-text {\n color: white!important;\n}\n\n[data-color-mode=\"dark\"] h1 {\n color: white!important;\n}\n\n[data-color-mode=\"dark\"] ul li {\n color: rgba(255, 255, 255, 0.75)!important;\n}\n\n[data-color-mode=\"dark\"] .content-body img:not(.lightbox-img) {\n opacity: 0.75;\n}\n\n[data-color-mode=\"dark\"] body {\n\t-moz-osx-font-smoothing: grayscale;\n\tfont-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\", \"Roboto\", \"Oxygen-Sans\", \"Ubuntu\",\"Cantarell\",\"Helvetica Neue\", \"sans-serif\";\n}\n\n[data-color-mode=\"dark\"] .rm-Header-top-link.Button:hover,\n[data-color-mode=\"dark\"] .rm-Header-bottom-link.Button:hover {\n background: rgba(255, 255, 255, 0.15)!important;\n}\n\n[data-color-mode=\"dark\"] .field-description li,\n[data-color-mode=\"dark\"] .markdown-body li {\n color: rgba(255, 255, 255, 0.75)!important;\n}\n\n\n/* End Dark Mode */","stylesheet":"","favicon":["https://files.readme.io/93e6e4e-small-fav.png","fav.png",32,32,"#f47076","https://files.readme.io/0472abe-fav.png"],"logo_white_use":false,"logo_white":[],"logo":["https://files.readme.io/d763f0d-small-logo_red_7_1.png","logo_red (7) 1.png",376,80,"#f1545b","https://files.readme.io/576e3dd-logo_red_7_1.png"],"promos":[{"extras":{"type":"buttons","buttonPrimary":"get-started","buttonSecondary":"reference"},"title":"Build With RevenueCat","text":"Build a customized mobile subscription business with RevenueCat. We do the heavy lifting of normalizing subscribers from any source and maintain a single source of truth for subscription status, so you can get back to building your app.\n\nRevenueCat is a powerful, secure, reliable, and free to use in-app purchase server with global support. All you need to get started is an API key.","_id":"5ae768fde9566300035d794f"}],"body":{"style":"none"},"header":{"img_pos":"tl","img_size":"auto","img":[],"style":"solid"},"typography":{"tk_body":"","tk_headline":"","tk_key":"","typekit":false,"body":"Open+Sans:400:sans-serif","headline":"Open+Sans:400:sans-serif"},"colors":{"body_highlight":"#df434b","header_text":"","main_alt":"","main":"#4449c3","highlight":"","custom_login_link_color":""},"main_body":{"type":"links"},"categoriesAsDropdown":false,"hide_logo":false,"sticky":false,"landing":true,"overlay":"triangles","notheme":false,"theme":"line","link_logo_to_url":true,"referenceLayout":"row","childrenAsPills":false,"splitReferenceDocs":false,"rdmd":{"callouts":{"useIconFont":false},"theme":{"background":"","border":"","markdownEdge":"","markdownFont":"","markdownFontSize":"","markdownLineHeight":"","markdownRadius":"","markdownText":"","markdownTitle":"","markdownTitleFont":"","mdCodeBackground":"","mdCodeFont":"","mdCodeRadius":"","mdCodeTabs":"","mdCodeText":"","tableEdges":"","tableHead":"","tableHeadText":"","tableRow":"","tableStripe":"","tableText":"","text":"","title":""}},"subheaderStyle":"links","showMetricsInReference":true,"referenceSimpleMode":true,"stylesheet_hub3":"","loginLogo":[],"logo_large":false,"colorScheme":"auto"},"child":{"_id":"5ae768fde9566300035d794e","appearance":{"nextStepsLabel":"","hideTableOfContents":false,"showVersion":false,"html_hidelinks":false,"global_landing_page":{"redirect":"","html":""},"html_footer_meta":"","html_head":"\n\n","html_footer":"","html_body":"","html_promo":"","javascript_hub2":"// Redirect hack so we don't accidentally leak the underlying readme url\nvar wl = window.location;\nif (wl.hostname == \"docs-origin.revenuecat.com\" && ! wl.pathname.startsWith('/suggested-edits/') && ! wl.pathname.startsWith('/edit/') && wl.search.indexOf('auth_token') < 0 && document.cookie.indexOf('docs_redirect=off') < 0) {\n window.location.replace(\"https://www.revenuecat.com\" + wl.pathname + wl.search);\n}","javascript":"","stylesheet_hub2":"/*.markdown-body h2 { font-weight:700; }*/\n\nhtml:not(.useReactApp) nav#hub-sidebar>ul>li>a.active,\nhtml:not(.useReactApp) nav#hub-sidebar ul>li.subnav-expanded>a {\n color: white !important;\n}\n\n.table {\n border-collapse: collapse;\n}\n\n.td {\n border: 1px solid #eee !important;\n}\n\n.content-body code {\n display: inline;\n word-break: normal;\n}\n\n.updated-at {\n display: none;\n}\n\n/* (Sharif) Removed because it was hiding the Suggest Edits button. /*\n/* (Original) Hide \"Ask a question\" button on Discussion forum */\n/*\n#content-head a {\n display: none;\n}\n*/\n\n/* Give images just a *little* more of a margin */\nimg {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n\n/* Fixes the subpage text color when the background is red */\na.subpage.active .link-title {\n color: white !important;\n}\n\n/* Give glossary items a RC theme */\n.glossary-item.highlight {\n color: #4449c3;\n border-bottom: 1px dashed #4449c3;\n}\n\n/* Change color of top boarder */\n.theme-line header#hub-header #header-top {\n border-bottom-color: #FFFFFF;\n}\n\n/* Style for doc header */\nh1 {\n color: #292929 !important;\n font-weight: 800;\n font-size: 28px;\n font-family: 'Open Sans', sans-serif !important;\n}\n\n/* Fixing header font sizes and weights, as well as spacing */\n.heading-1 .heading-text {\n margin-top: 8px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 22px;\n font-weight: 800;\n}\n\n.heading-2 .heading-text {\n margin-top: 8px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 18px;\n font-weight: 600;\n}\n\n.heading-3 .heading-text {\n margin-top: 20px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 16px;\n font-weight: 600;\n}\n\n.heading-4 .heading-text {\n margin-top: 10px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 16px;\n font-weight: 600;\n}\n\n.heading-5 .heading-text {\n margin-top: 20px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 14px;\n font-weight: 600;\n}\n\n.heading-6 .heading-text {\n margin-top: 20px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Adjusting paragraph styles */\np {\n display: block;\n margin-bottom: 0px;\n margin-top: 0;\n font-size: 15px;\n font-family: 'Open Sans', sans-serif !important;\n color: #292929;\n}\n\n/* Fixing bullet point style to match paragraph */\n.field-description li,\n.markdown-body li {\n font-size: 15px !important;\n color: #292929;\n font-family: 'Open Sans', sans-serif !important;\n}\n\n/* ReadMe is redesigning their docs and some default \nsettings will override the link typography under \"Theme Editor\".\nThis code snippet will override link colors if our project gets\nthe new redesign.\n.field-description a, .markdown-body a {\ncolor: #df434b !important;\n}\n*/\n\n/* For buttons under \"See it in action\" */\n.button-text {\n padding: 0px 22px 0px 0px;\n border-width: 0px;\n background-color: transparent;\n background-image: url(\"https://assets-global.website-files.com/60706bf8c762975d9275ea4c/6070a422148280456aaf1c39_Group%2051.svg\");\n background-position: 100% 50%;\n background-size: auto;\n background-repeat: no-repeat;\n transition: all 400ms ease;\n text-decoration: none;\n color: #df434b;\n line-height: 16px;\n font-weight: 700;\n margin-right: 15px;\n border: 3px solid transparent;\n}\n\n/* Hovering will move button up */\n.button-text:hover {\n position: relative;\n bottom: 3px;\n}\n\n/* Buttons for links ('text here ->') */\n.button-text-links {\n padding: 0px 22px 0px 0px;\n border-width: 0px;\n background-color: transparent;\n background-image: url(\"https://assets-global.website-files.com/60706bf8c762975d9275ea4c/6070a422148280456aaf1c39_Group%2051.svg\");\n background-position: 100% 50%;\n background-size: auto;\n background-repeat: no-repeat;\n transition: all 400ms ease;\n text-decoration: none;\n color: #df434b;\n line-height: 16px;\n font-weight: 700;\n margin-right: 15px;\n border: 3px solid transparent;\n}\n\n/* Hovering will push arrow to the right */\n.button-text-links:hover {\n padding-right: 30px;\n position: relative;\n}\n\n.field-description li,\n.markdown-body li {\n font-size: 13px;\n color: #292929;\n font-family: 'Open Sans', sans-serif !important;\n}\n\n/* redesign updates 11/24/2021 */\n\nhtml.useReactApp .rm-Header {\n --header-logo-height: 40px;\n --Header-border-width: 0px;\n --Header-background: #f6f7f8;\n --Header-button-hover: #f6f7f8;\n}\n\nhtml.useReactApp .rm-Sidebar {\n --Sidebar-link-color: #ffffff;\n --Sidebar-link-background: #4449c3;\n\n /* Sometimes the statuspage alert covered sections of the\n \tsidebar, so this just adds some extra padding\n */\n padding-bottom: 120px;\n\n}\n\nhtml.useReactApp .rm-Header .rm-Logo img {\n margin-bottom: 24px;\n}\n\nhtml.useReactApp .rm-Header-top {\n background: #ffffff;\n}\n\nhtml.useReactApp .rm-Guides #updated-at,\nhtml.useReactApp #updated-at {\n padding-top: 60px;\n}\n\n/* there's some kind of bug in the new ReadMe where in the Search List, \nthe first element's background jitters even when you're selecting a different \nelement and this is my attempt to make it less noticeable */\n\nhtml.useReactApp .rm-Header .SearchResults-list>a:active,\nhtml.useReactApp .rm-Header .SearchResults-list>a:focus {\n background-color: inherit;\n color: inherit;\n}\n\n/* below trying to remove the obnoxious focus, active effects. can be removed\nif this is not desired */\n\nhtml.useReactApp .rm-Header-top .rm-Logo:active,\nhtml.useReactApp .rm-Header-top .rm-Logo:focus,\nhtml.useReactApp .rm-Header-top-link.Button:active,\nhtml.useReactApp .rm-Header-top-link.Button:focus,\nhtml.useReactApp .rm-Header-bottom-link.Button:active,\nhtml.useReactApp .rm-Header-bottom-link.Button:focus {\n box-shadow: none;\n background: transparent;\n border-color: transparent;\n}\n\nhtml.useReactApp .rm-Header-top-link.Button:hover,\nhtml.useReactApp .rm-Header-bottom-link.Button:hover {\n background: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n border-color: transparent;\n}\n\n/* mobile menu links */\nhtml.useReactApp .rm-Flyout a:hover,\nhtml.useReactApp .rm-Flyout a:active,\nhtml.useReactApp .rm-Flyout a:focus {\n box-shadow: none;\n border-color: transparent;\n}\n\n/* mobile menu dropdown */\nhtml.useReactApp .rm-Header-top .icon-menu:hover,\nhtml.useReactApp .rm-Header-top .icon-menu:active,\nhtml.useReactApp .rm-Header-top .icon-menu:focus,\nhtml.useReactApp .rm-Flyout .Select_md:hover,\nhtml.useReactApp .rm-Flyout .Select_md:active,\nhtml.useReactApp .rm-Flyout .Select_md:focus {\n box-shadow: none;\n border-color: transparent;\n}\n\nhtml.useReactApp .Button_graphite_text:not(:disabled):active,\nhtml.useReactApp .Button_graphite_text:not(:disabled):focus {\n box-shadow: none;\n border-color: transparent;\n}\n\nhtml.useReactApp .App .rm-Guides .heading:focus-within,\nhtml.useReactApp .App .rm-ReferenceMain .heading:focus-within,\nhtml.useReactApp .App .rm-Changelog .heading:focus-within {\n outline: 0px;\n}\n\nspan.img img {\n margin-top: 0px;\n margin-bottom: 0px;\n}\n\n/* START - redesign updates 12/9/2022 Ryan Kotzebue */\nhr.landing-divider-small {\n margin: 30px 0;\n border-width: 0 !important;\n}\n\na.cta {\n background: #4449c3;\n border: 1px solid rgb(104, 117, 217);\n color: white;\n font-size: 16px;\n border-radius: 6px;\n padding: 12px 12px;\n text-decoration: none !important;\n transform 400ms ease 0s;\n}\n\na.cta:hover {\n background: rgb(87, 108, 219);\n border: 1px solid rgb(81, 94, 189);\n}\n\n\nul.ctas {\n grid-auto-rows: 1fr;\n display: grid;\n list-style: none;\n gap: 30px;\n margin: 0;\n padding: 0;\n}\n\nsection.two-column ul.ctas {\n grid-template-columns: repeat(2, 1fr);\n}\n\nsection.three-column ul.ctas {\n grid-template-columns: repeat(3, 1fr);\n}\n\nul.ctas li {\n margin: 0;\n padding: 0;\n display: flex;\n border: 1px solid rgb(240, 241, 255);\n background: rgb(240, 241, 255);\n border-radius: 5px;\n transition: background 200ms ease 0s, color 200ms ease 0s, box-shadow 200ms ease 0s, border 200ms\n}\n\nul.ctas li a {\n padding: 10px;\n text-decoration: none !important;\n color: #3d3d3d;\n transform: 400ms ease 0s;\n}\n\nul.ctas li:hover {\n background: rgb(209, 214, 255);\n border: 1px solid rgb(209, 214, 255);\n}\n\nul.ctas li a div.name {\n font-size: var(--markdown-title-size, 1.25em);\n font-weight: var(--markdown-title-weight, 600);\n color: #4449c3;\n}\n\[email protected] only screen and (max-width:1029px) {\n\n section.two-column ul.ctas,\n section.three-column ul.ctas {\n grid-template-columns: repeat(1, 1fr) !important;\n }\n\n}\n\n/* END - redesign updates 12/9/2022 */\n\n/* Dark Mode fixes */\n[data-color-mode=\"dark\"] .field-description a[href],\n[data-color-mode=\"dark\"] .field-description a:not([href=\"\"]),\n[data-color-mode=\"dark\"] .markdown-body a[href],\n[data-color-mode=\"dark\"] .markdown-body a:not([href=\"\"]) {\n color: #F2545B !important;\n}\n\n\n[data-color-mode=\"dark\"] .rm-Header {\n --Header-background: transparent!important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-top {\n background: transparent!important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom {\n background: transparent!important;\n}\n\n[data-color-mode=\"dark\"] a {\n color: rgba(255, 255, 255, 0.95)!important;\n}\n\n[data-color-mode=\"dark\"] p {\n color: rgba(255, 255, 255, 0.75)!important;\n}\n\n[data-color-mode=\"dark\"] .heading-1 .heading-text,\n[data-color-mode=\"dark\"] .heading-2 .heading-text,\n[data-color-mode=\"dark\"] .heading-3 .heading-text,\n[data-color-mode=\"dark\"] .heading-4 .heading-text,\n[data-color-mode=\"dark\"] .heading-5 .heading-text,\n[data-color-mode=\"dark\"] .heading-6 .heading-text {\n color: white!important;\n}\n\n[data-color-mode=\"dark\"] h1 {\n color: white!important;\n}\n\n[data-color-mode=\"dark\"] ul li {\n color: rgba(255, 255, 255, 0.75)!important;\n}\n\n[data-color-mode=\"dark\"] .content-body img:not(.lightbox-img) {\n opacity: 0.75;\n}\n\n[data-color-mode=\"dark\"] body {\n\t-moz-osx-font-smoothing: grayscale;\n\tfont-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\", \"Roboto\", \"Oxygen-Sans\", \"Ubuntu\",\"Cantarell\",\"Helvetica Neue\", \"sans-serif\";\n}\n\n[data-color-mode=\"dark\"] .rm-Header-top-link.Button:hover,\n[data-color-mode=\"dark\"] .rm-Header-bottom-link.Button:hover {\n background: rgba(255, 255, 255, 0.15)!important;\n}\n\n[data-color-mode=\"dark\"] .field-description li,\n[data-color-mode=\"dark\"] .markdown-body li {\n color: rgba(255, 255, 255, 0.75)!important;\n}\n\n\n/* End Dark Mode */","stylesheet":"","favicon":["https://files.readme.io/93e6e4e-small-fav.png","fav.png",32,32,"#f47076","https://files.readme.io/0472abe-fav.png"],"logo_white_use":false,"logo_white":[],"logo":["https://files.readme.io/d763f0d-small-logo_red_7_1.png","logo_red (7) 1.png",376,80,"#f1545b","https://files.readme.io/576e3dd-logo_red_7_1.png"],"promos":[{"extras":{"type":"buttons","buttonPrimary":"get-started","buttonSecondary":"reference"},"title":"Build With RevenueCat","text":"Build a customized mobile subscription business with RevenueCat. We do the heavy lifting of normalizing subscribers from any source and maintain a single source of truth for subscription status, so you can get back to building your app.\n\nRevenueCat is a powerful, secure, reliable, and free to use in-app purchase server with global support. All you need to get started is an API key.","_id":"5ae768fde9566300035d794f"}],"body":{"style":"none"},"header":{"img_pos":"tl","img_size":"auto","img":[],"style":"solid"},"typography":{"tk_body":"","tk_headline":"","tk_key":"","typekit":false,"body":"Open+Sans:400:sans-serif","headline":"Open+Sans:400:sans-serif"},"colors":{"body_highlight":"#df434b","header_text":"","main_alt":"","main":"#4449c3","highlight":"","custom_login_link_color":""},"main_body":{"type":"links"},"categoriesAsDropdown":false,"hide_logo":false,"sticky":false,"landing":true,"overlay":"triangles","notheme":false,"theme":"line","link_logo_to_url":true,"referenceLayout":"row","childrenAsPills":false,"splitReferenceDocs":false,"rdmd":{"callouts":{"useIconFont":false},"theme":{"background":"","border":"","markdownEdge":"","markdownFont":"","markdownFontSize":"","markdownLineHeight":"","markdownRadius":"","markdownText":"","markdownTitle":"","markdownTitleFont":"","mdCodeBackground":"","mdCodeFont":"","mdCodeRadius":"","mdCodeTabs":"","mdCodeText":"","tableEdges":"","tableHead":"","tableHeadText":"","tableRow":"","tableStripe":"","tableText":"","text":"","title":""}},"subheaderStyle":"dropdown","showMetricsInReference":true,"referenceSimpleMode":true,"stylesheet_hub3":"","loginLogo":[],"logo_large":false,"colorScheme":"auto"},"custom_domain":"","childrenProjects":[],"description":"In-app subscriptions made easy","error404":"","first_page":"docs","flags":{"metrics":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"newApiExplorer":true,"stripe":false,"hideGoogleAnalytics":false,"cookieAuthentication":false,"allowXFrame":false,"speedyRender":false,"correctnewlines":false,"swagger":false,"oauth":false,"migrationSwaggerRun":false,"migrationRun":false,"hub2":true,"enterprise":true,"allow_hub2":false,"translation":true,"alwaysShowDocPublishStatus":false,"newEditor":false,"newMarkdown":false,"newMarkdownBetaProgram":true,"newMarkdownLooseMode":false,"oldMarkdown":false,"newSearch":true,"rdmdCompatibilityMode":false,"tutorials":true,"staging":false,"allowApiExplorerJsonEditor":false,"useReactApp":true,"newHeader":false,"referenceRedesign":false,"auth0Oauth":false,"graphql":false,"singleProjectEnterprise":false,"dashReact":false,"allowReferenceUpgrade":true,"metricsV2":true,"newEditorDash":false,"enableRealtimeExperiences":false,"reviewWorkflow":false,"star":false,"allowDarkMode":false,"forceDarkMode":false,"useReactGLP":false,"disablePasswordlessLogin":false,"personalizedDocs":false,"myDevelopers":false,"superHub":false},"fullBaseUrl":"https://revenuecat.readme.io/","glossaryTerms":[{"_id":"5fe100812fd7b7003288ad37","term":"Apple Platforms","definition":"includes iOS, iPadOS, macOS, tvOS, and watchOS apps published on Apple's App Store via App Store Connect."},{"_id":"5fe100c63e8ae70025f2f4ce","term":"Google Platforms","definition":"includes any Kotlin, Java, or hybrid Android apps published on Google's Play Store."},{"_id":"61e6e6c31f4e8b0582cf1661","term":"Purchases SDK","definition":"RevenueCat's SDK for interacting with RevenueCat's API. We provide SDK's for iOS, Android, Flutter, React Native, Cordova, and Unity."},{"_id":"624db78b905874001b4ef190","term":"CustomerInfo","definition":"Also known as PurchaserInfo. \n\nContains all of the purchase and subscription data available about the user."}],"graphqlSchema":"","healthCheck":{"provider":"statusPage","settings":{"page":"d7wjfp7kgjkd","status":false,"url":""}},"intercom_secure_emailonly":false,"intercom":"","is_active":true,"internal":"","landing_bottom":[{"type":"text","alignment":"left","title":"Do More With RevenueCat","text":"Use RevenueCat to build and run nearly every aspect of your mobile subscription business.\n\n:fa-cogs: Fetch products, make purchases, and check subscription status with our open-source, native SDKs \n:fa-shopping-cart: Host and configure products remotely from our dashboard \n:fa-line-chart: Analyze key metrics on the health of your mobile subscription business in one place \n:fa-user: See user-level transaction histories, lifetime value, and grant promotional subscriptions . \n:fa-exchange: Get notified of realtime events through webhooks and integrations directly into your existing systems"},{"type":"text","alignment":"left","title":"Start Building With RevenueCat"},{"type":"docs","alignment":"left","pageType":"Documentation"}],"metrics":{"thumbsEnabled":true,"enabled":false,"monthlyLimit":0,"planLimit":20000000,"realtime":{"dashEnabled":false,"hubEnabled":false}},"modules":{"landing":false,"docs":true,"examples":true,"reference":true,"changelog":false,"discuss":false,"suggested_edits":true,"logs":false,"custompages":false,"tutorials":false,"graphql":false},"name":"RevenueCat","nav_names":{"discuss":"","reference":"REST API","docs":"Documentation","changelog":"","tutorials":""},"oauth_url":"","plan":"enterprise","planOverride":"enterprise","planTrial":"enterprise","readmeScore":{"components":{"newDesign":{"enabled":true,"points":25},"reference":{"enabled":true,"points":50},"tryItNow":{"enabled":true,"points":35},"syncingOAS":{"enabled":false,"points":10},"customLogin":{"enabled":true,"points":25},"metrics":{"enabled":false,"points":40},"recipes":{"enabled":false,"points":15},"pageVoting":{"enabled":true,"points":1},"suggestedEdits":{"enabled":true,"points":10},"support":{"enabled":false,"points":5},"htmlLanding":{"enabled":false,"points":5},"guides":{"enabled":true,"points":10},"changelog":{"enabled":false,"points":5},"glossary":{"enabled":true,"points":1},"variables":{"enabled":true,"points":1},"integrations":{"enabled":true,"points":2}},"percentScore":62.5,"totalScore":160},"reCaptchaSiteKey":"6LdtW_UZAAAAADi9uAa6WbJsMZD1zc0r0LKHTxJP","stable":{"_id":"61e6d1c8dc6456005396886c","version":"4.0","version_clean":"4.0.0","codename":"iOS 4.x, Android 5.x, Amazon Support","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61e6d1c8dc645600539687c7","61e6d1c8dc645600539687c8","61e6d1c8dc645600539687c9","61e6d1c8dc645600539687ca","61e6d1c8dc645600539687cb","61e6d1c8dc645600539687cc","61e6d1c8dc645600539687cd","61e6d1c8dc645600539687ce","61e6d1c8dc645600539687cf","61e6d1c8dc645600539687d0","61e6d1c8dc645600539687d1","6296a0f4e21cc500a7f5df1f","62b2014ffd726300996f8aca","62b23dcd24a8c1001479d1ac","62b35551d55362051e1c5316","62d9671bff2a2d0061dce3e5","62d967408cd9e7006a49f56a","62d96758c44ed105698767e8","62d967a30e65dd095900c7d2","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","62e3ec7168457e069b3e8676","632c1aaadc170100336dc48b","634873f308753d004c821577","6376b426081e400003bac6ad"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"619e8e1a86178b0080bf0e98","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","pdfStatus":"complete"},"subdomain":"revenuecat","subpath":"","topnav":{"edited":true,"right":[{"type":"url","text":"Sign up","url":"https://app.revenuecat.com/signup"},{"type":"url","url":"https://app.revenuecat.com/login","text":"Log in"}],"left":[{"type":"docs"},{"type":"reference"},{"type":"url","text":"Samples","url":"https://www.revenuecat.com/docs/sample-apps"},{"type":"url","text":"SDK Reference","url":"https://www.revenuecat.com/docs/reference"},{"type":"url","text":"Blog","url":"https://www.revenuecat.com/blog"},{"type":"url","text":"Get Help","url":"https://revenuecat.com/support"}],"bottom":[]},"translate":{"languages":[],"provider":"transifex","key_public":"","key_secret":"","org_name":"","project_name":"","show_widget":false},"url":"https://www.revenuecat.com/","versions":[{"_id":"5bfb015b11c8eb003466632e","project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5b1d9adbd3da190003327667","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5bfb015b11c8eb0034666315","5af1c9a461419c00037b8760","5bfb015b11c8eb0034666316","5af1da772aba1d000381cc03","5bfb015b11c8eb0034666317","5bfb015b11c8eb0034666318","5bfb015b11c8eb0034666319","5bfc797c481ff200234541fb","6376b426081e400003bac6ab"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"1.1.0","version":"1.1"},{"_id":"5c1044f3179efe00504b607c","project":"5ae768fde9566300035d794e","__v":8,"forked_from":"5bfb015b11c8eb003466632e","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5c1044f3179efe00504b6062","5af1c9a461419c00037b8760","5c1044f3179efe00504b6063","5af1da772aba1d000381cc03","5c1044f3179efe00504b6064","5c1044f3179efe00504b6065","5c1044f3179efe00504b6066","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5c10590b128a900038072bd0","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5c1168af1a911e0061902ccd","5c1299b36a3e7a019f96f380","5c4243b123ab1b000e460c83","5c4b47b283d620004988ef8f","6376b426081e400003bac6a9"],"is_deprecated":true,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"1.2.0","version":"1.2"},{"_id":"5c50bb7b21cd6400512fd55f","project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5c2eac22bad1380144ad0297","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5c50bb7b21cd6400512fd52d","5af1c9a461419c00037b8760","5c50bb7b21cd6400512fd52e","5af1da772aba1d000381cc03","5c50bb7b21cd6400512fd52f","5c1044f3179efe00504b6065","5c50bb7b21cd6400512fd530","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5c50bb7b21cd6400512fd531","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5c50bb7b21cd6400512fd532","5c50bb7b21cd6400512fd533","5c50bb7b21cd6400512fd534","5c50bb7b21cd6400512fd535","5c50bb7b21cd6400512fd536","5c53a6e8d090a9000e8bc945","6376b426081e400003bac6b0"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"2.0.0","version":"2.0"},{"_id":"5c91244a4e7eb9014355265f","project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5c50bb7b21cd6400512fd55f","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5c91244a4e7eb90143552625","5af1c9a461419c00037b8760","5c91244a4e7eb90143552626","5af1da772aba1d000381cc03","5c91244a4e7eb90143552627","5c1044f3179efe00504b6065","5c91244a4e7eb90143552628","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5c91244a4e7eb90143552629","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5c91244a4e7eb9014355262a","5c91244a4e7eb9014355262b","5c91244a4e7eb9014355262c","5c91244a4e7eb9014355262d","5c91244a4e7eb9014355262e","5c91244a4e7eb9014355262f","5cba312ea1039400198f3f5b","6376b426081e400003bac6a7"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"2.1.0","version":"2.1"},{"_id":"5cd9e7cd912ece0039e98f45","project":"5ae768fde9566300035d794e","__v":2,"forked_from":"5c91244a4e7eb9014355265f","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5cd9e7cd912ece0039e98f03","5af1c9a461419c00037b8760","5cd9e7cd912ece0039e98f04","5af1da772aba1d000381cc03","5cd9e7cd912ece0039e98f05","5c1044f3179efe00504b6065","5cd9e7cd912ece0039e98f06","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5cd9e7cd912ece0039e98f07","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5cd9e7cd912ece0039e98f08","5cd9e7cd912ece0039e98f09","5cd9e7cd912ece0039e98f0a","5cd9e7cd912ece0039e98f0b","5cd9e7cd912ece0039e98f0c","5cd9e7cd912ece0039e98f0d","5cd9e7cd912ece0039e98f0e","5ce6e1f286e9e300246c69c2","5d4cedf6403d100064742bf7","6376b426081e400003bac6ae"],"is_deprecated":true,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"","version_clean":"2.3.0","version":"2.3"},{"_id":"5d8a7036c05fe6004c0bda01","project":"5ae768fde9566300035d794e","__v":4,"forked_from":"5cd9e7cd912ece0039e98f45","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5d8a7036c05fe6004c0bd9b4","5af1c9a461419c00037b8760","5d8a7036c05fe6004c0bd9b5","5af1da772aba1d000381cc03","5d8a7036c05fe6004c0bd9b6","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5d8a7036c05fe6004c0bd9b8","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5d8a7036c05fe6004c0bd9b9","5d8a7036c05fe6004c0bd9ba","5d8a7036c05fe6004c0bd9bb","5d8a7036c05fe6004c0bd9bc","5d8a7036c05fe6004c0bd9bd","5d8a7036c05fe6004c0bd9be","5d8a7036c05fe6004c0bd9bf","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6ac"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"3.0.0","version":"3.0"},{"_id":"5f601d207f086b0012c9087e","version":"3.1","version_clean":"3.1.0","codename":"iOS <3.12.0, Android <4.3.0, Legacy Aliasing","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":true,"categories":["5f601d207f086b0012c90806","5af1c9a461419c00037b8760","5f601d207f086b0012c90807","5af1da772aba1d000381cc03","5f601d207f086b0012c90808","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5f601d207f086b0012c90809","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5f601d207f086b0012c9080a","5f601d207f086b0012c9080b","5f601d207f086b0012c9080c","5f601d207f086b0012c9080d","5f601d207f086b0012c9080e","5f601d207f086b0012c9080f","5f601d207f086b0012c90810","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6aa"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5d8a7036c05fe6004c0bda01","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"60898dcfe14b91000f19a45c","version":"3.2","version_clean":"3.2.0","codename":"Identity Changes","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["60898dcee14b91000f19a3cb","5af1c9a461419c00037b8760","60898dcee14b91000f19a3cc","5af1da772aba1d000381cc03","60898dcee14b91000f19a3cd","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","60898dcee14b91000f19a3ce","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","60898dcee14b91000f19a3cf","60898dcee14b91000f19a3d0","60898dcee14b91000f19a3d1","60898dcee14b91000f19a3d2","60898dcee14b91000f19a3d3","60898dcee14b91000f19a3d4","60898dcee14b91000f19a3d5","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6b1"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5f601d207f086b0012c9087e","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"619da119e65711004f6516d0","version":"3.2.1","version_clean":"3.2.1","codename":"API Reference Link fixes","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["619da119e65711004f651633","5af1c9a461419c00037b8760","619da119e65711004f651634","5af1da772aba1d000381cc03","619da119e65711004f651635","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","619da119e65711004f651636","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","619da119e65711004f651637","619da119e65711004f651638","619da119e65711004f651639","619da119e65711004f65163a","619da119e65711004f65163b","619da119e65711004f65163c","619da119e65711004f65163d","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6a8"],"project":"5ae768fde9566300035d794e","__v":0,"forked_from":"60898dcfe14b91000f19a45c","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"619e8e1a86178b0080bf0e98","version":"3.3","version_clean":"3.3.0","codename":"iOS >=3.12.0, Android >=4.3.0, Log In Changes","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["619e8e1a86178b0080bf0dfc","5af1c9a461419c00037b8760","619e8e1a86178b0080bf0dfd","5af1da772aba1d000381cc03","619e8e1a86178b0080bf0dfe","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","619e8e1a86178b0080bf0dff","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","619e8e1a86178b0080bf0e00","619e8e1a86178b0080bf0e01","619e8e1a86178b0080bf0e02","619e8e1a86178b0080bf0e03","619e8e1a86178b0080bf0e04","619e8e1a86178b0080bf0e05","619e8e1a86178b0080bf0e06","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6af"],"project":"5ae768fde9566300035d794e","__v":3,"forked_from":"619da119e65711004f6516d0","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"61e6d1c8dc6456005396886c","version":"4.0","version_clean":"4.0.0","codename":"iOS 4.x, Android 5.x, Amazon Support","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61e6d1c8dc645600539687c7","61e6d1c8dc645600539687c8","61e6d1c8dc645600539687c9","61e6d1c8dc645600539687ca","61e6d1c8dc645600539687cb","61e6d1c8dc645600539687cc","61e6d1c8dc645600539687cd","61e6d1c8dc645600539687ce","61e6d1c8dc645600539687cf","61e6d1c8dc645600539687d0","61e6d1c8dc645600539687d1","6296a0f4e21cc500a7f5df1f","62b2014ffd726300996f8aca","62b23dcd24a8c1001479d1ac","62b35551d55362051e1c5316","62d9671bff2a2d0061dce3e5","62d967408cd9e7006a49f56a","62d96758c44ed105698767e8","62d967a30e65dd095900c7d2","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","62e3ec7168457e069b3e8676","632c1aaadc170100336dc48b","634873f308753d004c821577","6376b426081e400003bac6ad"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"619e8e1a86178b0080bf0e98","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","pdfStatus":"complete"},{"_id":"63b71b01ab066b0061bf9545","version":"4.0.1","version_clean":"4.0.1","codename":"refactor-get-started","is_stable":false,"is_beta":true,"is_hidden":true,"is_deprecated":false,"categories":["63b71b01ab066b0061bf945e","63b71b01ab066b0061bf945f","63b71b01ab066b0061bf9460","63b71b01ab066b0061bf9461","63b71b01ab066b0061bf9462","61e6d1c8dc645600539687cc","63b71b01ab066b0061bf9463","63b71b01ab066b0061bf9464","63b71b01ab066b0061bf9465","63b71b01ab066b0061bf9466","61e6d1c8dc645600539687d1","63b71b01ab066b0061bf9469","63b71b01ab066b0061bf946a","63b71b01ab066b0061bf946b","63b71b01ab066b0061bf946c","63b71b01ab066b0061bf946d","63b71b01ab066b0061bf946e","63b71b01ab066b0061bf946f","63b71b01ab066b0061bf9470","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","63b71b01ab066b0061bf9471","632c1aaadc170100336dc48b","63b71b01ab066b0061bf9472","6376b426081e400003bac6ad","63b71b01ab066b0061bf9636"],"project":"5ae768fde9566300035d794e","__v":0,"forked_from":"61e6d1c8dc6456005396886c","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"}],"variableDefaults":[{"source":"security","_id":"63c7b2b10cdff400910d22ad","name":"Authorization","type":"apiKey","default":"REVENUECAT_API_KEY","apiSetting":"61e6d1c8dc645600539687c6"}],"webhookEnabled":false},"custom_domain":"docs-origin.revenuecat.com","childrenProjects":[],"description":"In-app subscriptions made easy","error404":"","first_page":"docs","flags":{"allowApiExplorerJsonEditor":false,"allowDarkMode":true,"alwaysShowDocPublishStatus":false,"allowXFrame":false,"correctnewlines":false,"dashReact":true,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"enterprise":true,"graphql":false,"migrationRun":false,"migrationSwaggerRun":false,"myDevelopers":false,"newEditor":true,"newEditorDash":true,"newMarkdownBetaProgram":true,"newSearch":true,"oauth":false,"oldMarkdown":false,"rdmdCompatibilityMode":false,"reviewWorkflow":false,"singleProjectEnterprise":true,"speedyRender":false,"staging":false,"star":false,"superHub":false,"swagger":false,"translation":true,"useReactApp":true,"useReactGLP":true,"metrics":false,"newApiExplorer":true,"stripe":false,"hideGoogleAnalytics":false,"cookieAuthentication":false,"hub2":true,"allow_hub2":false,"newMarkdown":false,"newMarkdownLooseMode":false,"tutorials":true,"newHeader":false,"referenceRedesign":false,"auth0Oauth":false,"allowReferenceUpgrade":true,"metricsV2":true,"enableRealtimeExperiences":false,"forceDarkMode":false,"personalizedDocs":false},"fullBaseUrl":"https://docs-origin.revenuecat.com/","glossaryTerms":[{"_id":"5fe100812fd7b7003288ad37","term":"Apple Platforms","definition":"includes iOS, iPadOS, macOS, tvOS, and watchOS apps published on Apple's App Store via App Store Connect."},{"_id":"5fe100c63e8ae70025f2f4ce","term":"Google Platforms","definition":"includes any Kotlin, Java, or hybrid Android apps published on Google's Play Store."},{"_id":"61e6e6c31f4e8b0582cf1661","term":"Purchases SDK","definition":"RevenueCat's SDK for interacting with RevenueCat's API. We provide SDK's for iOS, Android, Flutter, React Native, Cordova, and Unity."},{"_id":"624db78b905874001b4ef190","term":"CustomerInfo","definition":"Also known as PurchaserInfo. \n\nContains all of the purchase and subscription data available about the user."}],"graphqlSchema":"","healthCheck":{"provider":"statusPage","settings":{"page":"d7wjfp7kgjkd","status":false,"url":""}},"intercom_secure_emailonly":false,"intercom":"","is_active":true,"internal":"","landing_bottom":[{"type":"text","alignment":"left","title":"Do More With RevenueCat","text":"Use RevenueCat to build and run nearly every aspect of your mobile subscription business.\n\n:fa-cogs: Fetch products, make purchases, and check subscription status with our open-source, native SDKs \n:fa-shopping-cart: Host and configure products remotely from our dashboard \n:fa-line-chart: Analyze key metrics on the health of your mobile subscription business in one place \n:fa-user: See user-level transaction histories, lifetime value, and grant promotional subscriptions . \n:fa-exchange: Get notified of realtime events through webhooks and integrations directly into your existing systems"},{"type":"text","alignment":"left","title":"Start Building With RevenueCat"},{"type":"docs","alignment":"left","pageType":"Documentation"}],"metrics":{"thumbsEnabled":true,"enabled":false,"monthlyLimit":0,"planLimit":20000000,"realtime":{"dashEnabled":false,"hubEnabled":false}},"modules":{"landing":false,"docs":true,"examples":true,"reference":true,"changelog":false,"discuss":false,"suggested_edits":true,"logs":false,"custompages":false,"tutorials":false,"graphql":false},"name":"RevenueCat","nav_names":{"discuss":"","reference":"REST API","docs":"Documentation","changelog":"","tutorials":""},"oauth_url":"","plan":"enterprise","planOverride":"business","planTrial":"enterprise","readmeScore":{"components":{"newDesign":{"enabled":true,"points":25},"reference":{"enabled":true,"points":50},"tryItNow":{"enabled":true,"points":35},"syncingOAS":{"enabled":false,"points":10},"customLogin":{"enabled":true,"points":25},"metrics":{"enabled":false,"points":40},"recipes":{"enabled":false,"points":15},"pageVoting":{"enabled":true,"points":1},"suggestedEdits":{"enabled":true,"points":10},"support":{"enabled":false,"points":5},"htmlLanding":{"enabled":false,"points":5},"guides":{"enabled":true,"points":10},"changelog":{"enabled":false,"points":5},"glossary":{"enabled":true,"points":1},"variables":{"enabled":true,"points":1},"integrations":{"enabled":true,"points":2}},"percentScore":62.5,"totalScore":160},"reCaptchaSiteKey":"6LdtW_UZAAAAADi9uAa6WbJsMZD1zc0r0LKHTxJP","siblings":[{"_id":"5ae768fde9566300035d794e","owner":"5ae76695b5488e0003ad27d5","nav_names":{"discuss":"","reference":"REST API","docs":"Documentation","changelog":"","tutorials":""},"modules":{"landing":false,"docs":true,"examples":true,"reference":true,"changelog":false,"discuss":false,"suggested_edits":true,"logs":false,"custompages":false,"tutorials":false,"graphql":false},"internal":"","is_active":true,"description":"In-app subscriptions made easy","subdomain":"revenuecat","name":"RevenueCat","stable":"61e6d1c8dc6456005396886c","subpath":""}],"stable":{"_id":"61e6d1c8dc6456005396886c","version":"4.0","version_clean":"4.0.0","codename":"iOS 4.x, Android 5.x, Amazon Support","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61e6d1c8dc645600539687c7","61e6d1c8dc645600539687c8","61e6d1c8dc645600539687c9","61e6d1c8dc645600539687ca","61e6d1c8dc645600539687cb","61e6d1c8dc645600539687cc","61e6d1c8dc645600539687cd","61e6d1c8dc645600539687ce","61e6d1c8dc645600539687cf","61e6d1c8dc645600539687d0","61e6d1c8dc645600539687d1","6296a0f4e21cc500a7f5df1f","62b2014ffd726300996f8aca","62b23dcd24a8c1001479d1ac","62b35551d55362051e1c5316","62d9671bff2a2d0061dce3e5","62d967408cd9e7006a49f56a","62d96758c44ed105698767e8","62d967a30e65dd095900c7d2","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","62e3ec7168457e069b3e8676","632c1aaadc170100336dc48b","634873f308753d004c821577","6376b426081e400003bac6ad"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"619e8e1a86178b0080bf0e98","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","pdfStatus":"complete"},"subdomain":"revenuecat","subpath":"","topnav":{"edited":true,"right":[{"type":"url","text":"Sign up","url":"https://app.revenuecat.com/signup"},{"type":"url","url":"https://app.revenuecat.com/login","text":"Log in"}],"left":[{"type":"docs","text":"Documentation"},{"type":"reference","text":"REST API"},{"type":"url","text":"Samples","url":"https://www.revenuecat.com/docs/sample-apps"},{"type":"url","text":"SDK Reference","url":"https://www.revenuecat.com/docs/reference"},{"type":"url","text":"Blog","url":"https://www.revenuecat.com/blog"},{"type":"url","text":"Get Help","url":"https://revenuecat.com/support"}],"bottom":[]},"translate":{"languages":[],"provider":"transifex","key_public":"","key_secret":"","org_name":"","project_name":"","show_widget":false},"url":"https://www.revenuecat.com/","versions":[{"_id":"5bfb015b11c8eb003466632e","project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5b1d9adbd3da190003327667","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5bfb015b11c8eb0034666315","5af1c9a461419c00037b8760","5bfb015b11c8eb0034666316","5af1da772aba1d000381cc03","5bfb015b11c8eb0034666317","5bfb015b11c8eb0034666318","5bfb015b11c8eb0034666319","5bfc797c481ff200234541fb","6376b426081e400003bac6ab"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"1.1.0","version":"1.1"},{"_id":"5c1044f3179efe00504b607c","project":"5ae768fde9566300035d794e","__v":8,"forked_from":"5bfb015b11c8eb003466632e","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5c1044f3179efe00504b6062","5af1c9a461419c00037b8760","5c1044f3179efe00504b6063","5af1da772aba1d000381cc03","5c1044f3179efe00504b6064","5c1044f3179efe00504b6065","5c1044f3179efe00504b6066","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5c10590b128a900038072bd0","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5c1168af1a911e0061902ccd","5c1299b36a3e7a019f96f380","5c4243b123ab1b000e460c83","5c4b47b283d620004988ef8f","6376b426081e400003bac6a9"],"is_deprecated":true,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"1.2.0","version":"1.2"},{"_id":"5c50bb7b21cd6400512fd55f","project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5c2eac22bad1380144ad0297","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5c50bb7b21cd6400512fd52d","5af1c9a461419c00037b8760","5c50bb7b21cd6400512fd52e","5af1da772aba1d000381cc03","5c50bb7b21cd6400512fd52f","5c1044f3179efe00504b6065","5c50bb7b21cd6400512fd530","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5c50bb7b21cd6400512fd531","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5c50bb7b21cd6400512fd532","5c50bb7b21cd6400512fd533","5c50bb7b21cd6400512fd534","5c50bb7b21cd6400512fd535","5c50bb7b21cd6400512fd536","5c53a6e8d090a9000e8bc945","6376b426081e400003bac6b0"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"2.0.0","version":"2.0"},{"_id":"5c91244a4e7eb9014355265f","project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5c50bb7b21cd6400512fd55f","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5c91244a4e7eb90143552625","5af1c9a461419c00037b8760","5c91244a4e7eb90143552626","5af1da772aba1d000381cc03","5c91244a4e7eb90143552627","5c1044f3179efe00504b6065","5c91244a4e7eb90143552628","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5c91244a4e7eb90143552629","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5c91244a4e7eb9014355262a","5c91244a4e7eb9014355262b","5c91244a4e7eb9014355262c","5c91244a4e7eb9014355262d","5c91244a4e7eb9014355262e","5c91244a4e7eb9014355262f","5cba312ea1039400198f3f5b","6376b426081e400003bac6a7"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"2.1.0","version":"2.1"},{"_id":"5cd9e7cd912ece0039e98f45","project":"5ae768fde9566300035d794e","__v":2,"forked_from":"5c91244a4e7eb9014355265f","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5cd9e7cd912ece0039e98f03","5af1c9a461419c00037b8760","5cd9e7cd912ece0039e98f04","5af1da772aba1d000381cc03","5cd9e7cd912ece0039e98f05","5c1044f3179efe00504b6065","5cd9e7cd912ece0039e98f06","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5cd9e7cd912ece0039e98f07","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5cd9e7cd912ece0039e98f08","5cd9e7cd912ece0039e98f09","5cd9e7cd912ece0039e98f0a","5cd9e7cd912ece0039e98f0b","5cd9e7cd912ece0039e98f0c","5cd9e7cd912ece0039e98f0d","5cd9e7cd912ece0039e98f0e","5ce6e1f286e9e300246c69c2","5d4cedf6403d100064742bf7","6376b426081e400003bac6ae"],"is_deprecated":true,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"","version_clean":"2.3.0","version":"2.3"},{"_id":"5d8a7036c05fe6004c0bda01","project":"5ae768fde9566300035d794e","__v":4,"forked_from":"5cd9e7cd912ece0039e98f45","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5d8a7036c05fe6004c0bd9b4","5af1c9a461419c00037b8760","5d8a7036c05fe6004c0bd9b5","5af1da772aba1d000381cc03","5d8a7036c05fe6004c0bd9b6","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5d8a7036c05fe6004c0bd9b8","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5d8a7036c05fe6004c0bd9b9","5d8a7036c05fe6004c0bd9ba","5d8a7036c05fe6004c0bd9bb","5d8a7036c05fe6004c0bd9bc","5d8a7036c05fe6004c0bd9bd","5d8a7036c05fe6004c0bd9be","5d8a7036c05fe6004c0bd9bf","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6ac"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"3.0.0","version":"3.0"},{"_id":"5f601d207f086b0012c9087e","version":"3.1","version_clean":"3.1.0","codename":"iOS <3.12.0, Android <4.3.0, Legacy Aliasing","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":true,"categories":["5f601d207f086b0012c90806","5af1c9a461419c00037b8760","5f601d207f086b0012c90807","5af1da772aba1d000381cc03","5f601d207f086b0012c90808","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5f601d207f086b0012c90809","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5f601d207f086b0012c9080a","5f601d207f086b0012c9080b","5f601d207f086b0012c9080c","5f601d207f086b0012c9080d","5f601d207f086b0012c9080e","5f601d207f086b0012c9080f","5f601d207f086b0012c90810","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6aa"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5d8a7036c05fe6004c0bda01","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"60898dcfe14b91000f19a45c","version":"3.2","version_clean":"3.2.0","codename":"Identity Changes","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["60898dcee14b91000f19a3cb","5af1c9a461419c00037b8760","60898dcee14b91000f19a3cc","5af1da772aba1d000381cc03","60898dcee14b91000f19a3cd","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","60898dcee14b91000f19a3ce","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","60898dcee14b91000f19a3cf","60898dcee14b91000f19a3d0","60898dcee14b91000f19a3d1","60898dcee14b91000f19a3d2","60898dcee14b91000f19a3d3","60898dcee14b91000f19a3d4","60898dcee14b91000f19a3d5","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6b1"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5f601d207f086b0012c9087e","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"619da119e65711004f6516d0","version":"3.2.1","version_clean":"3.2.1","codename":"API Reference Link fixes","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["619da119e65711004f651633","5af1c9a461419c00037b8760","619da119e65711004f651634","5af1da772aba1d000381cc03","619da119e65711004f651635","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","619da119e65711004f651636","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","619da119e65711004f651637","619da119e65711004f651638","619da119e65711004f651639","619da119e65711004f65163a","619da119e65711004f65163b","619da119e65711004f65163c","619da119e65711004f65163d","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6a8"],"project":"5ae768fde9566300035d794e","__v":0,"forked_from":"60898dcfe14b91000f19a45c","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"619e8e1a86178b0080bf0e98","version":"3.3","version_clean":"3.3.0","codename":"iOS >=3.12.0, Android >=4.3.0, Log In Changes","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["619e8e1a86178b0080bf0dfc","5af1c9a461419c00037b8760","619e8e1a86178b0080bf0dfd","5af1da772aba1d000381cc03","619e8e1a86178b0080bf0dfe","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","619e8e1a86178b0080bf0dff","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","619e8e1a86178b0080bf0e00","619e8e1a86178b0080bf0e01","619e8e1a86178b0080bf0e02","619e8e1a86178b0080bf0e03","619e8e1a86178b0080bf0e04","619e8e1a86178b0080bf0e05","619e8e1a86178b0080bf0e06","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6af"],"project":"5ae768fde9566300035d794e","__v":3,"forked_from":"619da119e65711004f6516d0","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"61e6d1c8dc6456005396886c","version":"4.0","version_clean":"4.0.0","codename":"iOS 4.x, Android 5.x, Amazon Support","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61e6d1c8dc645600539687c7","61e6d1c8dc645600539687c8","61e6d1c8dc645600539687c9","61e6d1c8dc645600539687ca","61e6d1c8dc645600539687cb","61e6d1c8dc645600539687cc","61e6d1c8dc645600539687cd","61e6d1c8dc645600539687ce","61e6d1c8dc645600539687cf","61e6d1c8dc645600539687d0","61e6d1c8dc645600539687d1","6296a0f4e21cc500a7f5df1f","62b2014ffd726300996f8aca","62b23dcd24a8c1001479d1ac","62b35551d55362051e1c5316","62d9671bff2a2d0061dce3e5","62d967408cd9e7006a49f56a","62d96758c44ed105698767e8","62d967a30e65dd095900c7d2","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","62e3ec7168457e069b3e8676","632c1aaadc170100336dc48b","634873f308753d004c821577","6376b426081e400003bac6ad"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"619e8e1a86178b0080bf0e98","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","pdfStatus":"complete"},{"_id":"63b71b01ab066b0061bf9545","version":"4.0.1","version_clean":"4.0.1","codename":"refactor-get-started","is_stable":false,"is_beta":true,"is_hidden":true,"is_deprecated":false,"categories":["63b71b01ab066b0061bf945e","63b71b01ab066b0061bf945f","63b71b01ab066b0061bf9460","63b71b01ab066b0061bf9461","63b71b01ab066b0061bf9462","61e6d1c8dc645600539687cc","63b71b01ab066b0061bf9463","63b71b01ab066b0061bf9464","63b71b01ab066b0061bf9465","63b71b01ab066b0061bf9466","61e6d1c8dc645600539687d1","63b71b01ab066b0061bf9469","63b71b01ab066b0061bf946a","63b71b01ab066b0061bf946b","63b71b01ab066b0061bf946c","63b71b01ab066b0061bf946d","63b71b01ab066b0061bf946e","63b71b01ab066b0061bf946f","63b71b01ab066b0061bf9470","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","63b71b01ab066b0061bf9471","632c1aaadc170100336dc48b","63b71b01ab066b0061bf9472","6376b426081e400003bac6ad","63b71b01ab066b0061bf9636"],"project":"5ae768fde9566300035d794e","__v":0,"forked_from":"61e6d1c8dc6456005396886c","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"}],"variableDefaults":[{"source":"security","_id":"63c7b2b10cdff400910d22ad","name":"Authorization","type":"apiKey","default":"REVENUECAT_API_KEY","apiSetting":"61e6d1c8dc645600539687c6"}],"webhookEnabled":false,"parent":{"_id":"640b8371593b400034c6109c","appearance":{"rdmd":{"callouts":{"useIconFont":false},"theme":{"background":"","border":"","markdownEdge":"","markdownFont":"","markdownFontSize":"","markdownLineHeight":"","markdownRadius":"","markdownText":"","markdownTitle":"","markdownTitleFont":"","mdCodeBackground":"","mdCodeFont":"","mdCodeRadius":"","mdCodeTabs":"","mdCodeText":"","tableEdges":"","tableHead":"","tableHeadText":"","tableRow":"","tableStripe":"","tableText":"","text":"","title":""}},"main_body":{"type":"links"},"colors":{"highlight":"","main":"","main_alt":"","header_text":"","body_highlight":"","custom_login_link_color":""},"typography":{"headline":"Open+Sans:400:sans-serif","body":"Open+Sans:400:sans-serif","typekit":false,"tk_key":"","tk_headline":"","tk_body":""},"header":{"style":"solid","img":[],"img_size":"auto","img_pos":"tl"},"body":{"style":"none"},"global_landing_page":{"html":"","redirect":"/docs/welcome"},"referenceSimpleMode":true,"referenceLayout":"row","link_logo_to_url":false,"theme":"line","colorScheme":"light","overlay":"triangles","landing":true,"sticky":false,"hide_logo":false,"childrenAsPills":false,"subheaderStyle":"links","splitReferenceDocs":false,"showMetricsInReference":true,"logo":["https://files.readme.io/369886b-small-readme-logo.png","readme.png",60,60,"#018EF5"],"loginLogo":[],"logo_white":[],"logo_white_use":false,"logo_large":false,"favicon":[],"stylesheet":"","stylesheet_hub2":"","stylesheet_hub3":"","javascript":"","javascript_hub2":"","html_promo":"","html_body":"","html_footer":"","html_head":"","html_footer_meta":"","html_hidelinks":false,"showVersion":true,"hideTableOfContents":false,"nextStepsLabel":"","promos":[]},"child":{"_id":"5ae768fde9566300035d794e","appearance":{"nextStepsLabel":"","hideTableOfContents":false,"showVersion":false,"html_hidelinks":false,"global_landing_page":{"redirect":"","html":""},"html_footer_meta":"","html_head":"\n\n","html_footer":"","html_body":"","html_promo":"","javascript_hub2":"// Redirect hack so we don't accidentally leak the underlying readme url\nvar wl = window.location;\nif (wl.hostname == \"docs-origin.revenuecat.com\" && ! wl.pathname.startsWith('/suggested-edits/') && ! wl.pathname.startsWith('/edit/') && wl.search.indexOf('auth_token') < 0 && document.cookie.indexOf('docs_redirect=off') < 0) {\n window.location.replace(\"https://www.revenuecat.com\" + wl.pathname + wl.search);\n}","javascript":"","stylesheet_hub2":"/*.markdown-body h2 { font-weight:700; }*/\n\nhtml:not(.useReactApp) nav#hub-sidebar>ul>li>a.active,\nhtml:not(.useReactApp) nav#hub-sidebar ul>li.subnav-expanded>a {\n color: white !important;\n}\n\n.table {\n border-collapse: collapse;\n}\n\n.td {\n border: 1px solid #eee !important;\n}\n\n.content-body code {\n display: inline;\n word-break: normal;\n}\n\n.updated-at {\n display: none;\n}\n\n/* (Sharif) Removed because it was hiding the Suggest Edits button. /*\n/* (Original) Hide \"Ask a question\" button on Discussion forum */\n/*\n#content-head a {\n display: none;\n}\n*/\n\n/* Give images just a *little* more of a margin */\nimg {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n\n/* Fixes the subpage text color when the background is red */\na.subpage.active .link-title {\n color: white !important;\n}\n\n/* Give glossary items a RC theme */\n.glossary-item.highlight {\n color: #4449c3;\n border-bottom: 1px dashed #4449c3;\n}\n\n/* Change color of top boarder */\n.theme-line header#hub-header #header-top {\n border-bottom-color: #FFFFFF;\n}\n\n/* Style for doc header */\nh1 {\n color: #292929 !important;\n font-weight: 800;\n font-size: 28px;\n font-family: 'Open Sans', sans-serif !important;\n}\n\n/* Fixing header font sizes and weights, as well as spacing */\n.heading-1 .heading-text {\n margin-top: 8px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 22px;\n font-weight: 800;\n}\n\n.heading-2 .heading-text {\n margin-top: 8px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 18px;\n font-weight: 600;\n}\n\n.heading-3 .heading-text {\n margin-top: 20px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 16px;\n font-weight: 600;\n}\n\n.heading-4 .heading-text {\n margin-top: 10px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 16px;\n font-weight: 600;\n}\n\n.heading-5 .heading-text {\n margin-top: 20px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 14px;\n font-weight: 600;\n}\n\n.heading-6 .heading-text {\n margin-top: 20px;\n margin-bottom: 0px;\n color: #292929;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Adjusting paragraph styles */\np {\n display: block;\n margin-bottom: 0px;\n margin-top: 0;\n font-size: 15px;\n font-family: 'Open Sans', sans-serif !important;\n color: #292929;\n}\n\n/* Fixing bullet point style to match paragraph */\n.field-description li,\n.markdown-body li {\n font-size: 15px !important;\n color: #292929;\n font-family: 'Open Sans', sans-serif !important;\n}\n\n/* ReadMe is redesigning their docs and some default \nsettings will override the link typography under \"Theme Editor\".\nThis code snippet will override link colors if our project gets\nthe new redesign.\n.field-description a, .markdown-body a {\ncolor: #df434b !important;\n}\n*/\n\n/* For buttons under \"See it in action\" */\n.button-text {\n padding: 0px 22px 0px 0px;\n border-width: 0px;\n background-color: transparent;\n background-image: url(\"https://assets-global.website-files.com/60706bf8c762975d9275ea4c/6070a422148280456aaf1c39_Group%2051.svg\");\n background-position: 100% 50%;\n background-size: auto;\n background-repeat: no-repeat;\n transition: all 400ms ease;\n text-decoration: none;\n color: #df434b;\n line-height: 16px;\n font-weight: 700;\n margin-right: 15px;\n border: 3px solid transparent;\n}\n\n/* Hovering will move button up */\n.button-text:hover {\n position: relative;\n bottom: 3px;\n}\n\n/* Buttons for links ('text here ->') */\n.button-text-links {\n padding: 0px 22px 0px 0px;\n border-width: 0px;\n background-color: transparent;\n background-image: url(\"https://assets-global.website-files.com/60706bf8c762975d9275ea4c/6070a422148280456aaf1c39_Group%2051.svg\");\n background-position: 100% 50%;\n background-size: auto;\n background-repeat: no-repeat;\n transition: all 400ms ease;\n text-decoration: none;\n color: #df434b;\n line-height: 16px;\n font-weight: 700;\n margin-right: 15px;\n border: 3px solid transparent;\n}\n\n/* Hovering will push arrow to the right */\n.button-text-links:hover {\n padding-right: 30px;\n position: relative;\n}\n\n.field-description li,\n.markdown-body li {\n font-size: 13px;\n color: #292929;\n font-family: 'Open Sans', sans-serif !important;\n}\n\n/* redesign updates 11/24/2021 */\n\nhtml.useReactApp .rm-Header {\n --header-logo-height: 40px;\n --Header-border-width: 0px;\n --Header-background: #f6f7f8;\n --Header-button-hover: #f6f7f8;\n}\n\nhtml.useReactApp .rm-Sidebar {\n --Sidebar-link-color: #ffffff;\n --Sidebar-link-background: #4449c3;\n\n /* Sometimes the statuspage alert covered sections of the\n \tsidebar, so this just adds some extra padding\n */\n padding-bottom: 120px;\n\n}\n\nhtml.useReactApp .rm-Header .rm-Logo img {\n margin-bottom: 24px;\n}\n\nhtml.useReactApp .rm-Header-top {\n background: #ffffff;\n}\n\nhtml.useReactApp .rm-Guides #updated-at,\nhtml.useReactApp #updated-at {\n padding-top: 60px;\n}\n\n/* there's some kind of bug in the new ReadMe where in the Search List, \nthe first element's background jitters even when you're selecting a different \nelement and this is my attempt to make it less noticeable */\n\nhtml.useReactApp .rm-Header .SearchResults-list>a:active,\nhtml.useReactApp .rm-Header .SearchResults-list>a:focus {\n background-color: inherit;\n color: inherit;\n}\n\n/* below trying to remove the obnoxious focus, active effects. can be removed\nif this is not desired */\n\nhtml.useReactApp .rm-Header-top .rm-Logo:active,\nhtml.useReactApp .rm-Header-top .rm-Logo:focus,\nhtml.useReactApp .rm-Header-top-link.Button:active,\nhtml.useReactApp .rm-Header-top-link.Button:focus,\nhtml.useReactApp .rm-Header-bottom-link.Button:active,\nhtml.useReactApp .rm-Header-bottom-link.Button:focus {\n box-shadow: none;\n background: transparent;\n border-color: transparent;\n}\n\nhtml.useReactApp .rm-Header-top-link.Button:hover,\nhtml.useReactApp .rm-Header-bottom-link.Button:hover {\n background: rgba(0, 0, 0, 0.15);\n box-shadow: none;\n border-color: transparent;\n}\n\n/* mobile menu links */\nhtml.useReactApp .rm-Flyout a:hover,\nhtml.useReactApp .rm-Flyout a:active,\nhtml.useReactApp .rm-Flyout a:focus {\n box-shadow: none;\n border-color: transparent;\n}\n\n/* mobile menu dropdown */\nhtml.useReactApp .rm-Header-top .icon-menu:hover,\nhtml.useReactApp .rm-Header-top .icon-menu:active,\nhtml.useReactApp .rm-Header-top .icon-menu:focus,\nhtml.useReactApp .rm-Flyout .Select_md:hover,\nhtml.useReactApp .rm-Flyout .Select_md:active,\nhtml.useReactApp .rm-Flyout .Select_md:focus {\n box-shadow: none;\n border-color: transparent;\n}\n\nhtml.useReactApp .Button_graphite_text:not(:disabled):active,\nhtml.useReactApp .Button_graphite_text:not(:disabled):focus {\n box-shadow: none;\n border-color: transparent;\n}\n\nhtml.useReactApp .App .rm-Guides .heading:focus-within,\nhtml.useReactApp .App .rm-ReferenceMain .heading:focus-within,\nhtml.useReactApp .App .rm-Changelog .heading:focus-within {\n outline: 0px;\n}\n\nspan.img img {\n margin-top: 0px;\n margin-bottom: 0px;\n}\n\n/* START - redesign updates 12/9/2022 Ryan Kotzebue */\nhr.landing-divider-small {\n margin: 30px 0;\n border-width: 0 !important;\n}\n\na.cta {\n background: #4449c3;\n border: 1px solid rgb(104, 117, 217);\n color: white;\n font-size: 16px;\n border-radius: 6px;\n padding: 12px 12px;\n text-decoration: none !important;\n transform 400ms ease 0s;\n}\n\na.cta:hover {\n background: rgb(87, 108, 219);\n border: 1px solid rgb(81, 94, 189);\n}\n\n\nul.ctas {\n grid-auto-rows: 1fr;\n display: grid;\n list-style: none;\n gap: 30px;\n margin: 0;\n padding: 0;\n}\n\nsection.two-column ul.ctas {\n grid-template-columns: repeat(2, 1fr);\n}\n\nsection.three-column ul.ctas {\n grid-template-columns: repeat(3, 1fr);\n}\n\nul.ctas li {\n margin: 0;\n padding: 0;\n display: flex;\n border: 1px solid rgb(240, 241, 255);\n background: rgb(240, 241, 255);\n border-radius: 5px;\n transition: background 200ms ease 0s, color 200ms ease 0s, box-shadow 200ms ease 0s, border 200ms\n}\n\nul.ctas li a {\n padding: 10px;\n text-decoration: none !important;\n color: #3d3d3d;\n transform: 400ms ease 0s;\n}\n\nul.ctas li:hover {\n background: rgb(209, 214, 255);\n border: 1px solid rgb(209, 214, 255);\n}\n\nul.ctas li a div.name {\n font-size: var(--markdown-title-size, 1.25em);\n font-weight: var(--markdown-title-weight, 600);\n color: #4449c3;\n}\n\[email protected] only screen and (max-width:1029px) {\n\n section.two-column ul.ctas,\n section.three-column ul.ctas {\n grid-template-columns: repeat(1, 1fr) !important;\n }\n\n}\n\n/* END - redesign updates 12/9/2022 */\n\n/* Dark Mode fixes */\n[data-color-mode=\"dark\"] .field-description a[href],\n[data-color-mode=\"dark\"] .field-description a:not([href=\"\"]),\n[data-color-mode=\"dark\"] .markdown-body a[href],\n[data-color-mode=\"dark\"] .markdown-body a:not([href=\"\"]) {\n color: #F2545B !important;\n}\n\n\n[data-color-mode=\"dark\"] .rm-Header {\n --Header-background: transparent!important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-top {\n background: transparent!important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom {\n background: transparent!important;\n}\n\n[data-color-mode=\"dark\"] a {\n color: rgba(255, 255, 255, 0.95)!important;\n}\n\n[data-color-mode=\"dark\"] p {\n color: rgba(255, 255, 255, 0.75)!important;\n}\n\n[data-color-mode=\"dark\"] .heading-1 .heading-text,\n[data-color-mode=\"dark\"] .heading-2 .heading-text,\n[data-color-mode=\"dark\"] .heading-3 .heading-text,\n[data-color-mode=\"dark\"] .heading-4 .heading-text,\n[data-color-mode=\"dark\"] .heading-5 .heading-text,\n[data-color-mode=\"dark\"] .heading-6 .heading-text {\n color: white!important;\n}\n\n[data-color-mode=\"dark\"] h1 {\n color: white!important;\n}\n\n[data-color-mode=\"dark\"] ul li {\n color: rgba(255, 255, 255, 0.75)!important;\n}\n\n[data-color-mode=\"dark\"] .content-body img:not(.lightbox-img) {\n opacity: 0.75;\n}\n\n[data-color-mode=\"dark\"] body {\n\t-moz-osx-font-smoothing: grayscale;\n\tfont-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\", \"Roboto\", \"Oxygen-Sans\", \"Ubuntu\",\"Cantarell\",\"Helvetica Neue\", \"sans-serif\";\n}\n\n[data-color-mode=\"dark\"] .rm-Header-top-link.Button:hover,\n[data-color-mode=\"dark\"] .rm-Header-bottom-link.Button:hover {\n background: rgba(255, 255, 255, 0.15)!important;\n}\n\n[data-color-mode=\"dark\"] .field-description li,\n[data-color-mode=\"dark\"] .markdown-body li {\n color: rgba(255, 255, 255, 0.75)!important;\n}\n\n\n/* End Dark Mode */","stylesheet":"","favicon":["https://files.readme.io/93e6e4e-small-fav.png","fav.png",32,32,"#f47076","https://files.readme.io/0472abe-fav.png"],"logo_white_use":false,"logo_white":[],"logo":["https://files.readme.io/d763f0d-small-logo_red_7_1.png","logo_red (7) 1.png",376,80,"#f1545b","https://files.readme.io/576e3dd-logo_red_7_1.png"],"promos":[{"extras":{"type":"buttons","buttonPrimary":"get-started","buttonSecondary":"reference"},"title":"Build With RevenueCat","text":"Build a customized mobile subscription business with RevenueCat. We do the heavy lifting of normalizing subscribers from any source and maintain a single source of truth for subscription status, so you can get back to building your app.\n\nRevenueCat is a powerful, secure, reliable, and free to use in-app purchase server with global support. All you need to get started is an API key.","_id":"5ae768fde9566300035d794f"}],"body":{"style":"none"},"header":{"img_pos":"tl","img_size":"auto","img":[],"style":"solid"},"typography":{"tk_body":"","tk_headline":"","tk_key":"","typekit":false,"body":"Open+Sans:400:sans-serif","headline":"Open+Sans:400:sans-serif"},"colors":{"body_highlight":"#df434b","header_text":"","main_alt":"","main":"#4449c3","highlight":"","custom_login_link_color":""},"main_body":{"type":"links"},"categoriesAsDropdown":false,"hide_logo":false,"sticky":false,"landing":true,"overlay":"triangles","notheme":false,"theme":"line","link_logo_to_url":true,"referenceLayout":"row","childrenAsPills":false,"splitReferenceDocs":false,"rdmd":{"callouts":{"useIconFont":false},"theme":{"background":"","border":"","markdownEdge":"","markdownFont":"","markdownFontSize":"","markdownLineHeight":"","markdownRadius":"","markdownText":"","markdownTitle":"","markdownTitleFont":"","mdCodeBackground":"","mdCodeFont":"","mdCodeRadius":"","mdCodeTabs":"","mdCodeText":"","tableEdges":"","tableHead":"","tableHeadText":"","tableRow":"","tableStripe":"","tableText":"","text":"","title":""}},"subheaderStyle":"dropdown","showMetricsInReference":true,"referenceSimpleMode":true,"stylesheet_hub3":"","loginLogo":[],"logo_large":false,"colorScheme":"auto"},"custom_domain":"","childrenProjects":[],"description":"In-app subscriptions made easy","error404":"","first_page":"docs","flags":{"metrics":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"newApiExplorer":true,"stripe":false,"hideGoogleAnalytics":false,"cookieAuthentication":false,"allowXFrame":false,"speedyRender":false,"correctnewlines":false,"swagger":false,"oauth":false,"migrationSwaggerRun":false,"migrationRun":false,"hub2":true,"enterprise":true,"allow_hub2":false,"translation":true,"alwaysShowDocPublishStatus":false,"newEditor":false,"newMarkdown":false,"newMarkdownBetaProgram":true,"newMarkdownLooseMode":false,"oldMarkdown":false,"newSearch":true,"rdmdCompatibilityMode":false,"tutorials":true,"staging":false,"allowApiExplorerJsonEditor":false,"useReactApp":true,"newHeader":false,"referenceRedesign":false,"auth0Oauth":false,"graphql":false,"singleProjectEnterprise":false,"dashReact":false,"allowReferenceUpgrade":true,"metricsV2":true,"newEditorDash":false,"enableRealtimeExperiences":false,"reviewWorkflow":false,"star":false,"allowDarkMode":false,"forceDarkMode":false,"useReactGLP":false,"disablePasswordlessLogin":false,"personalizedDocs":false,"myDevelopers":false,"superHub":false},"fullBaseUrl":"https://revenuecat.readme.io/","glossaryTerms":[{"_id":"5fe100812fd7b7003288ad37","term":"Apple Platforms","definition":"includes iOS, iPadOS, macOS, tvOS, and watchOS apps published on Apple's App Store via App Store Connect."},{"_id":"5fe100c63e8ae70025f2f4ce","term":"Google Platforms","definition":"includes any Kotlin, Java, or hybrid Android apps published on Google's Play Store."},{"_id":"61e6e6c31f4e8b0582cf1661","term":"Purchases SDK","definition":"RevenueCat's SDK for interacting with RevenueCat's API. We provide SDK's for iOS, Android, Flutter, React Native, Cordova, and Unity."},{"_id":"624db78b905874001b4ef190","term":"CustomerInfo","definition":"Also known as PurchaserInfo. \n\nContains all of the purchase and subscription data available about the user."}],"graphqlSchema":"","healthCheck":{"provider":"statusPage","settings":{"page":"d7wjfp7kgjkd","status":false,"url":""}},"intercom_secure_emailonly":false,"intercom":"","is_active":true,"internal":"","landing_bottom":[{"type":"text","alignment":"left","title":"Do More With RevenueCat","text":"Use RevenueCat to build and run nearly every aspect of your mobile subscription business.\n\n:fa-cogs: Fetch products, make purchases, and check subscription status with our open-source, native SDKs \n:fa-shopping-cart: Host and configure products remotely from our dashboard \n:fa-line-chart: Analyze key metrics on the health of your mobile subscription business in one place \n:fa-user: See user-level transaction histories, lifetime value, and grant promotional subscriptions . \n:fa-exchange: Get notified of realtime events through webhooks and integrations directly into your existing systems"},{"type":"text","alignment":"left","title":"Start Building With RevenueCat"},{"type":"docs","alignment":"left","pageType":"Documentation"}],"metrics":{"thumbsEnabled":true,"enabled":false,"monthlyLimit":0,"planLimit":20000000,"realtime":{"dashEnabled":false,"hubEnabled":false}},"modules":{"landing":false,"docs":true,"examples":true,"reference":true,"changelog":false,"discuss":false,"suggested_edits":true,"logs":false,"custompages":false,"tutorials":false,"graphql":false},"name":"RevenueCat","nav_names":{"discuss":"","reference":"REST API","docs":"Documentation","changelog":"","tutorials":""},"oauth_url":"","plan":"enterprise","planOverride":"enterprise","planTrial":"enterprise","readmeScore":{"components":{"newDesign":{"enabled":true,"points":25},"reference":{"enabled":true,"points":50},"tryItNow":{"enabled":true,"points":35},"syncingOAS":{"enabled":false,"points":10},"customLogin":{"enabled":true,"points":25},"metrics":{"enabled":false,"points":40},"recipes":{"enabled":false,"points":15},"pageVoting":{"enabled":true,"points":1},"suggestedEdits":{"enabled":true,"points":10},"support":{"enabled":false,"points":5},"htmlLanding":{"enabled":false,"points":5},"guides":{"enabled":true,"points":10},"changelog":{"enabled":false,"points":5},"glossary":{"enabled":true,"points":1},"variables":{"enabled":true,"points":1},"integrations":{"enabled":true,"points":2}},"percentScore":62.5,"totalScore":160},"reCaptchaSiteKey":"6LdtW_UZAAAAADi9uAa6WbJsMZD1zc0r0LKHTxJP","stable":{"_id":"61e6d1c8dc6456005396886c","version":"4.0","version_clean":"4.0.0","codename":"iOS 4.x, Android 5.x, Amazon Support","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61e6d1c8dc645600539687c7","61e6d1c8dc645600539687c8","61e6d1c8dc645600539687c9","61e6d1c8dc645600539687ca","61e6d1c8dc645600539687cb","61e6d1c8dc645600539687cc","61e6d1c8dc645600539687cd","61e6d1c8dc645600539687ce","61e6d1c8dc645600539687cf","61e6d1c8dc645600539687d0","61e6d1c8dc645600539687d1","6296a0f4e21cc500a7f5df1f","62b2014ffd726300996f8aca","62b23dcd24a8c1001479d1ac","62b35551d55362051e1c5316","62d9671bff2a2d0061dce3e5","62d967408cd9e7006a49f56a","62d96758c44ed105698767e8","62d967a30e65dd095900c7d2","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","62e3ec7168457e069b3e8676","632c1aaadc170100336dc48b","634873f308753d004c821577","6376b426081e400003bac6ad"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"619e8e1a86178b0080bf0e98","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","pdfStatus":"complete"},"subdomain":"revenuecat","subpath":"","topnav":{"edited":true,"right":[{"type":"url","text":"Sign up","url":"https://app.revenuecat.com/signup"},{"type":"url","url":"https://app.revenuecat.com/login","text":"Log in"}],"left":[{"type":"docs"},{"type":"reference"},{"type":"url","text":"Samples","url":"https://www.revenuecat.com/docs/sample-apps"},{"type":"url","text":"SDK Reference","url":"https://www.revenuecat.com/docs/reference"},{"type":"url","text":"Blog","url":"https://www.revenuecat.com/blog"},{"type":"url","text":"Get Help","url":"https://revenuecat.com/support"}],"bottom":[]},"translate":{"languages":[],"provider":"transifex","key_public":"","key_secret":"","org_name":"","project_name":"","show_widget":false},"url":"https://www.revenuecat.com/","versions":[{"_id":"5bfb015b11c8eb003466632e","project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5b1d9adbd3da190003327667","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5bfb015b11c8eb0034666315","5af1c9a461419c00037b8760","5bfb015b11c8eb0034666316","5af1da772aba1d000381cc03","5bfb015b11c8eb0034666317","5bfb015b11c8eb0034666318","5bfb015b11c8eb0034666319","5bfc797c481ff200234541fb","6376b426081e400003bac6ab"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"1.1.0","version":"1.1"},{"_id":"5c1044f3179efe00504b607c","project":"5ae768fde9566300035d794e","__v":8,"forked_from":"5bfb015b11c8eb003466632e","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5c1044f3179efe00504b6062","5af1c9a461419c00037b8760","5c1044f3179efe00504b6063","5af1da772aba1d000381cc03","5c1044f3179efe00504b6064","5c1044f3179efe00504b6065","5c1044f3179efe00504b6066","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5c10590b128a900038072bd0","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5c1168af1a911e0061902ccd","5c1299b36a3e7a019f96f380","5c4243b123ab1b000e460c83","5c4b47b283d620004988ef8f","6376b426081e400003bac6a9"],"is_deprecated":true,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"1.2.0","version":"1.2"},{"_id":"5c50bb7b21cd6400512fd55f","project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5c2eac22bad1380144ad0297","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5c50bb7b21cd6400512fd52d","5af1c9a461419c00037b8760","5c50bb7b21cd6400512fd52e","5af1da772aba1d000381cc03","5c50bb7b21cd6400512fd52f","5c1044f3179efe00504b6065","5c50bb7b21cd6400512fd530","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5c50bb7b21cd6400512fd531","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5c50bb7b21cd6400512fd532","5c50bb7b21cd6400512fd533","5c50bb7b21cd6400512fd534","5c50bb7b21cd6400512fd535","5c50bb7b21cd6400512fd536","5c53a6e8d090a9000e8bc945","6376b426081e400003bac6b0"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"2.0.0","version":"2.0"},{"_id":"5c91244a4e7eb9014355265f","project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5c50bb7b21cd6400512fd55f","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5c91244a4e7eb90143552625","5af1c9a461419c00037b8760","5c91244a4e7eb90143552626","5af1da772aba1d000381cc03","5c91244a4e7eb90143552627","5c1044f3179efe00504b6065","5c91244a4e7eb90143552628","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5c91244a4e7eb90143552629","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5c91244a4e7eb9014355262a","5c91244a4e7eb9014355262b","5c91244a4e7eb9014355262c","5c91244a4e7eb9014355262d","5c91244a4e7eb9014355262e","5c91244a4e7eb9014355262f","5cba312ea1039400198f3f5b","6376b426081e400003bac6a7"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"2.1.0","version":"2.1"},{"_id":"5cd9e7cd912ece0039e98f45","project":"5ae768fde9566300035d794e","__v":2,"forked_from":"5c91244a4e7eb9014355265f","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5cd9e7cd912ece0039e98f03","5af1c9a461419c00037b8760","5cd9e7cd912ece0039e98f04","5af1da772aba1d000381cc03","5cd9e7cd912ece0039e98f05","5c1044f3179efe00504b6065","5cd9e7cd912ece0039e98f06","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5cd9e7cd912ece0039e98f07","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5cd9e7cd912ece0039e98f08","5cd9e7cd912ece0039e98f09","5cd9e7cd912ece0039e98f0a","5cd9e7cd912ece0039e98f0b","5cd9e7cd912ece0039e98f0c","5cd9e7cd912ece0039e98f0d","5cd9e7cd912ece0039e98f0e","5ce6e1f286e9e300246c69c2","5d4cedf6403d100064742bf7","6376b426081e400003bac6ae"],"is_deprecated":true,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"","version_clean":"2.3.0","version":"2.3"},{"_id":"5d8a7036c05fe6004c0bda01","project":"5ae768fde9566300035d794e","__v":4,"forked_from":"5cd9e7cd912ece0039e98f45","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","categories":["5d8a7036c05fe6004c0bd9b4","5af1c9a461419c00037b8760","5d8a7036c05fe6004c0bd9b5","5af1da772aba1d000381cc03","5d8a7036c05fe6004c0bd9b6","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5d8a7036c05fe6004c0bd9b8","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5d8a7036c05fe6004c0bd9b9","5d8a7036c05fe6004c0bd9ba","5d8a7036c05fe6004c0bd9bb","5d8a7036c05fe6004c0bd9bc","5d8a7036c05fe6004c0bd9bd","5d8a7036c05fe6004c0bd9be","5d8a7036c05fe6004c0bd9bf","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6ac"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"3.0.0","version":"3.0"},{"_id":"5f601d207f086b0012c9087e","version":"3.1","version_clean":"3.1.0","codename":"iOS <3.12.0, Android <4.3.0, Legacy Aliasing","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":true,"categories":["5f601d207f086b0012c90806","5af1c9a461419c00037b8760","5f601d207f086b0012c90807","5af1da772aba1d000381cc03","5f601d207f086b0012c90808","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","5f601d207f086b0012c90809","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","5f601d207f086b0012c9080a","5f601d207f086b0012c9080b","5f601d207f086b0012c9080c","5f601d207f086b0012c9080d","5f601d207f086b0012c9080e","5f601d207f086b0012c9080f","5f601d207f086b0012c90810","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6aa"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5d8a7036c05fe6004c0bda01","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"60898dcfe14b91000f19a45c","version":"3.2","version_clean":"3.2.0","codename":"Identity Changes","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["60898dcee14b91000f19a3cb","5af1c9a461419c00037b8760","60898dcee14b91000f19a3cc","5af1da772aba1d000381cc03","60898dcee14b91000f19a3cd","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","60898dcee14b91000f19a3ce","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","60898dcee14b91000f19a3cf","60898dcee14b91000f19a3d0","60898dcee14b91000f19a3d1","60898dcee14b91000f19a3d2","60898dcee14b91000f19a3d3","60898dcee14b91000f19a3d4","60898dcee14b91000f19a3d5","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6b1"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"5f601d207f086b0012c9087e","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"619da119e65711004f6516d0","version":"3.2.1","version_clean":"3.2.1","codename":"API Reference Link fixes","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["619da119e65711004f651633","5af1c9a461419c00037b8760","619da119e65711004f651634","5af1da772aba1d000381cc03","619da119e65711004f651635","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","619da119e65711004f651636","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","619da119e65711004f651637","619da119e65711004f651638","619da119e65711004f651639","619da119e65711004f65163a","619da119e65711004f65163b","619da119e65711004f65163c","619da119e65711004f65163d","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6a8"],"project":"5ae768fde9566300035d794e","__v":0,"forked_from":"60898dcfe14b91000f19a45c","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"619e8e1a86178b0080bf0e98","version":"3.3","version_clean":"3.3.0","codename":"iOS >=3.12.0, Android >=4.3.0, Log In Changes","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["619e8e1a86178b0080bf0dfc","5af1c9a461419c00037b8760","619e8e1a86178b0080bf0dfd","5af1da772aba1d000381cc03","619e8e1a86178b0080bf0dfe","5c1044f3179efe00504b6065","5d8a7036c05fe6004c0bd9b7","5bfc797c481ff200234541fb","5c104ba9128a90003807247a","619e8e1a86178b0080bf0dff","5c10699cf1679c002e8dd450","5c1097da01113d00188050bf","619e8e1a86178b0080bf0e00","619e8e1a86178b0080bf0e01","619e8e1a86178b0080bf0e02","619e8e1a86178b0080bf0e03","619e8e1a86178b0080bf0e04","619e8e1a86178b0080bf0e05","619e8e1a86178b0080bf0e06","5d8a7036c05fe6004c0bd9c0","5d4cedf6403d100064742bf7","6376b426081e400003bac6af"],"project":"5ae768fde9566300035d794e","__v":3,"forked_from":"619da119e65711004f6516d0","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"},{"_id":"61e6d1c8dc6456005396886c","version":"4.0","version_clean":"4.0.0","codename":"iOS 4.x, Android 5.x, Amazon Support","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61e6d1c8dc645600539687c7","61e6d1c8dc645600539687c8","61e6d1c8dc645600539687c9","61e6d1c8dc645600539687ca","61e6d1c8dc645600539687cb","61e6d1c8dc645600539687cc","61e6d1c8dc645600539687cd","61e6d1c8dc645600539687ce","61e6d1c8dc645600539687cf","61e6d1c8dc645600539687d0","61e6d1c8dc645600539687d1","6296a0f4e21cc500a7f5df1f","62b2014ffd726300996f8aca","62b23dcd24a8c1001479d1ac","62b35551d55362051e1c5316","62d9671bff2a2d0061dce3e5","62d967408cd9e7006a49f56a","62d96758c44ed105698767e8","62d967a30e65dd095900c7d2","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","62e3ec7168457e069b3e8676","632c1aaadc170100336dc48b","634873f308753d004c821577","6376b426081e400003bac6ad"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"619e8e1a86178b0080bf0e98","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","pdfStatus":"complete"},{"_id":"63b71b01ab066b0061bf9545","version":"4.0.1","version_clean":"4.0.1","codename":"refactor-get-started","is_stable":false,"is_beta":true,"is_hidden":true,"is_deprecated":false,"categories":["63b71b01ab066b0061bf945e","63b71b01ab066b0061bf945f","63b71b01ab066b0061bf9460","63b71b01ab066b0061bf9461","63b71b01ab066b0061bf9462","61e6d1c8dc645600539687cc","63b71b01ab066b0061bf9463","63b71b01ab066b0061bf9464","63b71b01ab066b0061bf9465","63b71b01ab066b0061bf9466","61e6d1c8dc645600539687d1","63b71b01ab066b0061bf9469","63b71b01ab066b0061bf946a","63b71b01ab066b0061bf946b","63b71b01ab066b0061bf946c","63b71b01ab066b0061bf946d","63b71b01ab066b0061bf946e","63b71b01ab066b0061bf946f","63b71b01ab066b0061bf9470","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","63b71b01ab066b0061bf9471","632c1aaadc170100336dc48b","63b71b01ab066b0061bf9472","6376b426081e400003bac6ad","63b71b01ab066b0061bf9636"],"project":"5ae768fde9566300035d794e","__v":0,"forked_from":"61e6d1c8dc6456005396886c","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z"}],"variableDefaults":[{"source":"security","_id":"63c7b2b10cdff400910d22ad","name":"Authorization","type":"apiKey","default":"REVENUECAT_API_KEY","apiSetting":"61e6d1c8dc645600539687c6"}],"webhookEnabled":false},"custom_domain":"docs-origin.revenuecat.com","childrenProjects":[{"_id":"5ae768fde9566300035d794e","childrenProjects":[],"description":"In-app subscriptions made easy","is_active":true,"internal":"","modules":{"landing":false,"docs":true,"examples":true,"reference":true,"changelog":false,"discuss":false,"suggested_edits":true,"logs":false,"custompages":false,"tutorials":false,"graphql":false},"name":"RevenueCat","nav_names":{"discuss":"","reference":"REST API","docs":"Documentation","changelog":"","tutorials":""},"readmeScore":0,"stable":"61e6d1c8dc6456005396886c","subdomain":"revenuecat","subpath":"","webhookEnabled":false}],"description":"","error404":"","first_page":"landing","flags":{"allowApiExplorerJsonEditor":false,"allowDarkMode":true,"alwaysShowDocPublishStatus":false,"allowXFrame":false,"correctnewlines":false,"dashReact":true,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"enterprise":true,"graphql":false,"migrationRun":false,"migrationSwaggerRun":false,"myDevelopers":false,"newEditor":true,"newEditorDash":true,"newMarkdownBetaProgram":true,"newSearch":true,"oauth":false,"oldMarkdown":false,"rdmdCompatibilityMode":false,"reviewWorkflow":false,"singleProjectEnterprise":true,"speedyRender":false,"staging":false,"star":false,"superHub":false,"swagger":false,"translation":true,"useReactApp":true,"useReactGLP":true},"fullBaseUrl":"https://docs-origin.revenuecat.com/","glossaryTerms":[],"graphqlSchema":"","healthCheck":{"provider":"","settings":{}},"intercom_secure_emailonly":false,"intercom":"","is_active":true,"internal":"","landing_bottom":[],"metrics":{"monthlyLimit":0,"planLimit":20000000,"thumbsEnabled":true},"modules":{"landing":true,"docs":true,"examples":true,"reference":true,"graphql":false,"changelog":true,"discuss":true,"suggested_edits":true,"logs":false,"custompages":false,"tutorials":false},"name":"revenuecat-group","nav_names":{"docs":"","reference":"","changelog":"","discuss":"","tutorials":""},"oauth_url":"","plan":"enterprise","planOverride":"enterprise","planTrial":"enterprise","readmeScore":{},"reCaptchaSiteKey":"","stable":{"_id":"640b8371593b400034c6109b","version":"1.0.0","version_clean":"1.0.0","codename":"","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":[],"releaseDate":"2023-03-10T19:22:25.325Z","createdAt":"2023-03-10T19:22:25.325Z","project":"640b8371593b400034c6109c","__v":0},"subdomain":"revenuecat-group","subpath":"","topnav":{"left":[],"right":[{"type":"user"}],"bottom":[],"edited":false},"translate":{"provider":"transifex","show_widget":false,"key_public":"","key_secret":"","org_name":"","project_name":"","languages":[]},"url":"","versions":[{"_id":"640b8371593b400034c6109b","version":"1.0.0","version_clean":"1.0.0","codename":"","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":[],"releaseDate":"2023-03-10T19:22:25.325Z","createdAt":"2023-03-10T19:22:25.325Z","project":"640b8371593b400034c6109c","__v":0}],"variableDefaults":[],"webhookEnabled":false},"isHubEditable":true},"version":{"_id":"61e6d1c8dc6456005396886c","version":"4.0","version_clean":"4.0.0","codename":"iOS 4.x, Android 5.x, Amazon Support","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61e6d1c8dc645600539687c7","61e6d1c8dc645600539687c8","61e6d1c8dc645600539687c9","61e6d1c8dc645600539687ca","61e6d1c8dc645600539687cb","61e6d1c8dc645600539687cc","61e6d1c8dc645600539687cd","61e6d1c8dc645600539687ce","61e6d1c8dc645600539687cf","61e6d1c8dc645600539687d0","61e6d1c8dc645600539687d1","6296a0f4e21cc500a7f5df1f","62b2014ffd726300996f8aca","62b23dcd24a8c1001479d1ac","62b35551d55362051e1c5316","62d9671bff2a2d0061dce3e5","62d967408cd9e7006a49f56a","62d96758c44ed105698767e8","62d967a30e65dd095900c7d2","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","62e3ec7168457e069b3e8676","632c1aaadc170100336dc48b","634873f308753d004c821577","6376b426081e400003bac6ad"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"619e8e1a86178b0080bf0e98","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","pdfStatus":"complete"}},"reqUrl":"/docs/superwall","version":{"_id":"61e6d1c8dc6456005396886c","version":"4.0","version_clean":"4.0.0","codename":"iOS 4.x, Android 5.x, Amazon Support","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["61e6d1c8dc645600539687c7","61e6d1c8dc645600539687c8","61e6d1c8dc645600539687c9","61e6d1c8dc645600539687ca","61e6d1c8dc645600539687cb","61e6d1c8dc645600539687cc","61e6d1c8dc645600539687cd","61e6d1c8dc645600539687ce","61e6d1c8dc645600539687cf","61e6d1c8dc645600539687d0","61e6d1c8dc645600539687d1","6296a0f4e21cc500a7f5df1f","62b2014ffd726300996f8aca","62b23dcd24a8c1001479d1ac","62b35551d55362051e1c5316","62d9671bff2a2d0061dce3e5","62d967408cd9e7006a49f56a","62d96758c44ed105698767e8","62d967a30e65dd095900c7d2","62d9695407a31e009a363784","62e2ebc845f9b400aa27a041","62e3ec7168457e069b3e8676","632c1aaadc170100336dc48b","634873f308753d004c821577","6376b426081e400003bac6ad"],"project":"5ae768fde9566300035d794e","__v":1,"forked_from":"619e8e1a86178b0080bf0e98","createdAt":"2018-04-30T19:05:33.208Z","releaseDate":"2018-04-30T19:05:33.208Z","pdfStatus":"complete"},"lang":"en","langFull":"English","isDetachedProductionSite":false,"rdmdOpts":{"normalize":true,"correctnewlines":false,"compatibilityMode":false}}">