RevenueCat
Manage in-app subscriptions and entitlements
Integrate RevenueCat into the workflow. Manage subscribers, entitlements, offerings, and Google Play subscriptions. Retrieve customer subscription status, grant or revoke promotional entitlements, record purchases, update subscriber attributes, and manage Google Play subscription billing.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
| Parameter | Type | Description |
|---|
subscriber | object | The subscriber object with subscriptions and entitlements |
↳ first_seen | string | ISO 8601 date when subscriber was first seen |
↳ original_app_user_id | string | Original app user ID |
↳ original_purchase_date | string | ISO 8601 date of original purchase |
↳ management_url | string | URL for managing the subscriber subscriptions |
↳ subscriptions | object | Map of product identifiers to subscription objects |
↳ store_transaction_id | string | Store transaction identifier |
↳ original_transaction_id | string | Original transaction identifier |
↳ purchase_date | string | ISO 8601 purchase date |
↳ original_purchase_date | string | ISO 8601 date of the original purchase |
↳ expires_date | string | ISO 8601 expiration date |
↳ is_sandbox | boolean | Whether this is a sandbox purchase |
↳ unsubscribe_detected_at | string | ISO 8601 date when unsubscribe was detected |
↳ billing_issues_detected_at | string | ISO 8601 date when billing issues were detected |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ ownership_type | string | Ownership type (purchased, family_shared) |
↳ period_type | string | Period type (normal, trial, intro, promotional, prepaid) |
↳ store | string | Store the subscription was purchased from (app_store, play_store, stripe, etc.) |
↳ refunded_at | string | ISO 8601 date when subscription was refunded |
↳ auto_resume_date | string | ISO 8601 date when a paused subscription will auto-resume |
↳ product_plan_identifier | string | Google Play base plan identifier (for products set up after Feb 2023) |
↳ entitlements | object | Map of entitlement identifiers to entitlement objects |
↳ grant_date | string | ISO 8601 grant date |
↳ expires_date | string | ISO 8601 expiration date |
↳ product_identifier | string | Product identifier |
↳ is_active | boolean | Whether the entitlement is active |
↳ will_renew | boolean | Whether the entitlement will renew |
↳ period_type | string | Period type (normal, trial, intro, promotional) |
↳ purchase_date | string | ISO 8601 date of the latest purchase or renewal |
↳ store | string | Store the entitlement was granted from |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ non_subscriptions | object | Map of non-subscription product identifiers to arrays of purchase objects |
metadata | object | Subscriber summary metadata |
↳ app_user_id | string | The app user ID |
↳ first_seen | string | ISO 8601 date when the subscriber was first seen |
↳ active_entitlements | number | Number of active entitlements |
↳ active_subscriptions | number | Number of active subscriptions |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
| Parameter | Type | Description |
|---|
deleted | boolean | Whether the subscriber was deleted |
app_user_id | string | The deleted app user ID |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
fetchToken | string | Yes | The receipt token or purchase token from the store (App Store receipt, Google Play purchase token, or Stripe subscription ID) |
productId | string | Yes | No description |
price | number | No | No description |
currency | string | No | No description |
isRestore | boolean | No | No description |
platform | string | No | Platform of the purchase (ios, android, amazon, macos, stripe). Required for Stripe and Paddle purchases. |
| Parameter | Type | Description |
|---|
subscriber | object | The updated subscriber object after recording the purchase |
↳ first_seen | string | ISO 8601 date when subscriber was first seen |
↳ original_app_user_id | string | Original app user ID |
↳ original_purchase_date | string | ISO 8601 date of original purchase |
↳ management_url | string | URL for managing the subscriber subscriptions |
↳ subscriptions | object | Map of product identifiers to subscription objects |
↳ store_transaction_id | string | Store transaction identifier |
↳ original_transaction_id | string | Original transaction identifier |
↳ purchase_date | string | ISO 8601 purchase date |
↳ original_purchase_date | string | ISO 8601 date of the original purchase |
↳ expires_date | string | ISO 8601 expiration date |
↳ is_sandbox | boolean | Whether this is a sandbox purchase |
↳ unsubscribe_detected_at | string | ISO 8601 date when unsubscribe was detected |
↳ billing_issues_detected_at | string | ISO 8601 date when billing issues were detected |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ ownership_type | string | Ownership type (purchased, family_shared) |
↳ period_type | string | Period type (normal, trial, intro, promotional, prepaid) |
↳ store | string | Store the subscription was purchased from (app_store, play_store, stripe, etc.) |
↳ refunded_at | string | ISO 8601 date when subscription was refunded |
↳ auto_resume_date | string | ISO 8601 date when a paused subscription will auto-resume |
↳ product_plan_identifier | string | Google Play base plan identifier (for products set up after Feb 2023) |
↳ entitlements | object | Map of entitlement identifiers to entitlement objects |
↳ grant_date | string | ISO 8601 grant date |
↳ expires_date | string | ISO 8601 expiration date |
↳ product_identifier | string | Product identifier |
↳ is_active | boolean | Whether the entitlement is active |
↳ will_renew | boolean | Whether the entitlement will renew |
↳ period_type | string | Period type (normal, trial, intro, promotional) |
↳ purchase_date | string | ISO 8601 date of the latest purchase or renewal |
↳ store | string | Store the entitlement was granted from |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ non_subscriptions | object | Map of non-subscription product identifiers to arrays of purchase objects |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
entitlementIdentifier | string | Yes | No description |
duration | string | Yes | Duration of the entitlement (daily, three_day, weekly, monthly, two_month, three_month, six_month, yearly, lifetime) |
startTimeMs | number | No | Optional start time in milliseconds since Unix epoch. Set to a past time to achieve custom durations shorter than daily. |
| Parameter | Type | Description |
|---|
subscriber | object | The updated subscriber object after granting the entitlement |
↳ first_seen | string | ISO 8601 date when subscriber was first seen |
↳ original_app_user_id | string | Original app user ID |
↳ original_purchase_date | string | ISO 8601 date of original purchase |
↳ management_url | string | URL for managing the subscriber subscriptions |
↳ subscriptions | object | Map of product identifiers to subscription objects |
↳ store_transaction_id | string | Store transaction identifier |
↳ original_transaction_id | string | Original transaction identifier |
↳ purchase_date | string | ISO 8601 purchase date |
↳ original_purchase_date | string | ISO 8601 date of the original purchase |
↳ expires_date | string | ISO 8601 expiration date |
↳ is_sandbox | boolean | Whether this is a sandbox purchase |
↳ unsubscribe_detected_at | string | ISO 8601 date when unsubscribe was detected |
↳ billing_issues_detected_at | string | ISO 8601 date when billing issues were detected |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ ownership_type | string | Ownership type (purchased, family_shared) |
↳ period_type | string | Period type (normal, trial, intro, promotional, prepaid) |
↳ store | string | Store the subscription was purchased from (app_store, play_store, stripe, etc.) |
↳ refunded_at | string | ISO 8601 date when subscription was refunded |
↳ auto_resume_date | string | ISO 8601 date when a paused subscription will auto-resume |
↳ product_plan_identifier | string | Google Play base plan identifier (for products set up after Feb 2023) |
↳ entitlements | object | Map of entitlement identifiers to entitlement objects |
↳ grant_date | string | ISO 8601 grant date |
↳ expires_date | string | ISO 8601 expiration date |
↳ product_identifier | string | Product identifier |
↳ is_active | boolean | Whether the entitlement is active |
↳ will_renew | boolean | Whether the entitlement will renew |
↳ period_type | string | Period type (normal, trial, intro, promotional) |
↳ purchase_date | string | ISO 8601 date of the latest purchase or renewal |
↳ store | string | Store the entitlement was granted from |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ non_subscriptions | object | Map of non-subscription product identifiers to arrays of purchase objects |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
entitlementIdentifier | string | Yes | No description |
| Parameter | Type | Description |
|---|
subscriber | object | The updated subscriber object after revoking the entitlement |
↳ first_seen | string | ISO 8601 date when subscriber was first seen |
↳ original_app_user_id | string | Original app user ID |
↳ original_purchase_date | string | ISO 8601 date of original purchase |
↳ management_url | string | URL for managing the subscriber subscriptions |
↳ subscriptions | object | Map of product identifiers to subscription objects |
↳ store_transaction_id | string | Store transaction identifier |
↳ original_transaction_id | string | Original transaction identifier |
↳ purchase_date | string | ISO 8601 purchase date |
↳ original_purchase_date | string | ISO 8601 date of the original purchase |
↳ expires_date | string | ISO 8601 expiration date |
↳ is_sandbox | boolean | Whether this is a sandbox purchase |
↳ unsubscribe_detected_at | string | ISO 8601 date when unsubscribe was detected |
↳ billing_issues_detected_at | string | ISO 8601 date when billing issues were detected |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ ownership_type | string | Ownership type (purchased, family_shared) |
↳ period_type | string | Period type (normal, trial, intro, promotional, prepaid) |
↳ store | string | Store the subscription was purchased from (app_store, play_store, stripe, etc.) |
↳ refunded_at | string | ISO 8601 date when subscription was refunded |
↳ auto_resume_date | string | ISO 8601 date when a paused subscription will auto-resume |
↳ product_plan_identifier | string | Google Play base plan identifier (for products set up after Feb 2023) |
↳ entitlements | object | Map of entitlement identifiers to entitlement objects |
↳ grant_date | string | ISO 8601 grant date |
↳ expires_date | string | ISO 8601 expiration date |
↳ product_identifier | string | Product identifier |
↳ is_active | boolean | Whether the entitlement is active |
↳ will_renew | boolean | Whether the entitlement will renew |
↳ period_type | string | Period type (normal, trial, intro, promotional) |
↳ purchase_date | string | ISO 8601 date of the latest purchase or renewal |
↳ store | string | Store the entitlement was granted from |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ non_subscriptions | object | Map of non-subscription product identifiers to arrays of purchase objects |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
platform | string | No | No description |
| Parameter | Type | Description |
|---|
current_offering_id | string | The identifier of the current offering |
offerings | array | List of offerings |
↳ identifier | string | Offering identifier |
↳ description | string | Offering description |
↳ packages | array | List of packages in the offering |
↳ identifier | string | Package identifier |
↳ platform_product_identifier | string | Platform-specific product identifier |
metadata | object | Offerings metadata |
↳ count | number | Number of offerings returned |
↳ current_offering_id | string | Current offering identifier |
Update custom subscriber attributes (e.g., $email, $displayName, or custom key-value pairs)
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
attributes | json | Yes | JSON object of attributes to set. Each key maps to an object with a "value" field. Example: {"$email": {"value": "user@example.com"}, "$displayName": {"value": "John"}} |
| Parameter | Type | Description |
|---|
updated | boolean | Whether the subscriber attributes were successfully updated |
app_user_id | string | The app user ID of the updated subscriber |
Defer a Google Play subscription by extending its billing date by a number of days (Google Play only)
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
productId | string | Yes | The Google Play product identifier of the subscription to defer (use the part before the colon for products set up after Feb 2023) |
extendByDays | number | Yes | No description |
| Parameter | Type | Description |
|---|
subscriber | object | The updated subscriber object after deferring the Google subscription |
↳ first_seen | string | ISO 8601 date when subscriber was first seen |
↳ original_app_user_id | string | Original app user ID |
↳ original_purchase_date | string | ISO 8601 date of original purchase |
↳ management_url | string | URL for managing the subscriber subscriptions |
↳ subscriptions | object | Map of product identifiers to subscription objects |
↳ store_transaction_id | string | Store transaction identifier |
↳ original_transaction_id | string | Original transaction identifier |
↳ purchase_date | string | ISO 8601 purchase date |
↳ original_purchase_date | string | ISO 8601 date of the original purchase |
↳ expires_date | string | ISO 8601 expiration date |
↳ is_sandbox | boolean | Whether this is a sandbox purchase |
↳ unsubscribe_detected_at | string | ISO 8601 date when unsubscribe was detected |
↳ billing_issues_detected_at | string | ISO 8601 date when billing issues were detected |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ ownership_type | string | Ownership type (purchased, family_shared) |
↳ period_type | string | Period type (normal, trial, intro, promotional, prepaid) |
↳ store | string | Store the subscription was purchased from (app_store, play_store, stripe, etc.) |
↳ refunded_at | string | ISO 8601 date when subscription was refunded |
↳ auto_resume_date | string | ISO 8601 date when a paused subscription will auto-resume |
↳ product_plan_identifier | string | Google Play base plan identifier (for products set up after Feb 2023) |
↳ entitlements | object | Map of entitlement identifiers to entitlement objects |
↳ grant_date | string | ISO 8601 grant date |
↳ expires_date | string | ISO 8601 expiration date |
↳ product_identifier | string | Product identifier |
↳ is_active | boolean | Whether the entitlement is active |
↳ will_renew | boolean | Whether the entitlement will renew |
↳ period_type | string | Period type (normal, trial, intro, promotional) |
↳ purchase_date | string | ISO 8601 date of the latest purchase or renewal |
↳ store | string | Store the entitlement was granted from |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ non_subscriptions | object | Map of non-subscription product identifiers to arrays of purchase objects |
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
productId | string | Yes | No description |
| Parameter | Type | Description |
|---|
subscriber | object | The updated subscriber object after refunding the Google subscription |
↳ first_seen | string | ISO 8601 date when subscriber was first seen |
↳ original_app_user_id | string | Original app user ID |
↳ original_purchase_date | string | ISO 8601 date of original purchase |
↳ management_url | string | URL for managing the subscriber subscriptions |
↳ subscriptions | object | Map of product identifiers to subscription objects |
↳ store_transaction_id | string | Store transaction identifier |
↳ original_transaction_id | string | Original transaction identifier |
↳ purchase_date | string | ISO 8601 purchase date |
↳ original_purchase_date | string | ISO 8601 date of the original purchase |
↳ expires_date | string | ISO 8601 expiration date |
↳ is_sandbox | boolean | Whether this is a sandbox purchase |
↳ unsubscribe_detected_at | string | ISO 8601 date when unsubscribe was detected |
↳ billing_issues_detected_at | string | ISO 8601 date when billing issues were detected |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ ownership_type | string | Ownership type (purchased, family_shared) |
↳ period_type | string | Period type (normal, trial, intro, promotional, prepaid) |
↳ store | string | Store the subscription was purchased from (app_store, play_store, stripe, etc.) |
↳ refunded_at | string | ISO 8601 date when subscription was refunded |
↳ auto_resume_date | string | ISO 8601 date when a paused subscription will auto-resume |
↳ product_plan_identifier | string | Google Play base plan identifier (for products set up after Feb 2023) |
↳ entitlements | object | Map of entitlement identifiers to entitlement objects |
↳ grant_date | string | ISO 8601 grant date |
↳ expires_date | string | ISO 8601 expiration date |
↳ product_identifier | string | Product identifier |
↳ is_active | boolean | Whether the entitlement is active |
↳ will_renew | boolean | Whether the entitlement will renew |
↳ period_type | string | Period type (normal, trial, intro, promotional) |
↳ purchase_date | string | ISO 8601 date of the latest purchase or renewal |
↳ store | string | Store the entitlement was granted from |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ non_subscriptions | object | Map of non-subscription product identifiers to arrays of purchase objects |
Immediately revoke access to a Google Play subscription and issue a refund (Google Play only)
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | No description |
appUserId | string | Yes | No description |
productId | string | Yes | No description |
| Parameter | Type | Description |
|---|
subscriber | object | The updated subscriber object after revoking the Google subscription |
↳ first_seen | string | ISO 8601 date when subscriber was first seen |
↳ original_app_user_id | string | Original app user ID |
↳ original_purchase_date | string | ISO 8601 date of original purchase |
↳ management_url | string | URL for managing the subscriber subscriptions |
↳ subscriptions | object | Map of product identifiers to subscription objects |
↳ store_transaction_id | string | Store transaction identifier |
↳ original_transaction_id | string | Original transaction identifier |
↳ purchase_date | string | ISO 8601 purchase date |
↳ original_purchase_date | string | ISO 8601 date of the original purchase |
↳ expires_date | string | ISO 8601 expiration date |
↳ is_sandbox | boolean | Whether this is a sandbox purchase |
↳ unsubscribe_detected_at | string | ISO 8601 date when unsubscribe was detected |
↳ billing_issues_detected_at | string | ISO 8601 date when billing issues were detected |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ ownership_type | string | Ownership type (purchased, family_shared) |
↳ period_type | string | Period type (normal, trial, intro, promotional, prepaid) |
↳ store | string | Store the subscription was purchased from (app_store, play_store, stripe, etc.) |
↳ refunded_at | string | ISO 8601 date when subscription was refunded |
↳ auto_resume_date | string | ISO 8601 date when a paused subscription will auto-resume |
↳ product_plan_identifier | string | Google Play base plan identifier (for products set up after Feb 2023) |
↳ entitlements | object | Map of entitlement identifiers to entitlement objects |
↳ grant_date | string | ISO 8601 grant date |
↳ expires_date | string | ISO 8601 expiration date |
↳ product_identifier | string | Product identifier |
↳ is_active | boolean | Whether the entitlement is active |
↳ will_renew | boolean | Whether the entitlement will renew |
↳ period_type | string | Period type (normal, trial, intro, promotional) |
↳ purchase_date | string | ISO 8601 date of the latest purchase or renewal |
↳ store | string | Store the entitlement was granted from |
↳ grace_period_expires_date | string | ISO 8601 grace period expiration date |
↳ non_subscriptions | object | Map of non-subscription product identifiers to arrays of purchase objects |