Skip to main content
RevenueCat logo

Overview

Add RevenueCat to any ModuleX agent or workflow. Manage in-app subscriptions and entitlements against the RevenueCat REST API v1 (api.revenuecat.com/v1). Look up subscribers, grant or revoke promotional entitlements, record purchases, update subscriber attributes, and manage Google Play subscription billing.
Categories: Finance & Payments · Payments · Subscriptions · Auth: API Key · Actions: 10

Authentication

API Key Authentication

Authenticate using your RevenueCat REST API v1 key
1

Step 1

2

Step 2

Open Project Settings → API Keys
3

Step 3

Create or copy a secret API key (sk_…) for write operations
4

Step 4

Paste the API key below

Required Credentials

FieldDescriptionRequiredFormat
RevenueCat API KeyYour RevenueCat REST API v1 key (secret key recommended)Yessk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Available Actions

Parameters

app_user_id
string
required
The app user ID of the subscriber

Response

{
  "$defs": {
    "Subscriber": {
      "additionalProperties": false,
      "description": "A RevenueCat subscriber object.\n\n``subscriptions`` and ``entitlements`` are maps keyed by product /\nentitlement identifier; their values are left as opaque dicts so the\nupstream shape is preserved verbatim.",
      "properties": {
        "first_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Seen"
        },
        "last_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Seen"
        },
        "original_app_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original App User Id"
        },
        "original_application_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Application Version"
        },
        "original_purchase_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Purchase Date"
        },
        "management_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Management Url"
        },
        "subscriptions": {
          "additionalProperties": true,
          "title": "Subscriptions",
          "type": "object"
        },
        "entitlements": {
          "additionalProperties": true,
          "title": "Entitlements",
          "type": "object"
        },
        "non_subscriptions": {
          "additionalProperties": true,
          "title": "Non Subscriptions",
          "type": "object"
        },
        "other_purchases": {
          "additionalProperties": true,
          "title": "Other Purchases",
          "type": "object"
        },
        "subscriber_attributes": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subscriber Attributes"
        }
      },
      "title": "Subscriber",
      "type": "object"
    },
    "SubscriberMetadata": {
      "additionalProperties": false,
      "description": "Summary metadata derived from a subscriber payload.",
      "properties": {
        "app_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "App User Id"
        },
        "first_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Seen"
        },
        "active_entitlements": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Active Entitlements"
        },
        "active_subscriptions": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Active Subscriptions"
        }
      },
      "title": "SubscriberMetadata",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "subscriber": {
      "anyOf": [
        {
          "$ref": "#/$defs/Subscriber"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "metadata": {
      "anyOf": [
        {
          "$ref": "#/$defs/SubscriberMetadata"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "GetCustomerOutput",
  "type": "object"
}

Parameters

app_user_id
string
required
The app user ID of the subscriber to delete

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "deleted": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Deleted"
    },
    "app_user_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "App User Id"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteCustomerOutput",
  "type": "object"
}

Parameters

app_user_id
string
required
The app user ID of the subscriber
fetch_token
string
required
Store receipt or purchase token: iOS base64 receipt / JWSTransaction, Android purchase token, Amazon receipt, Stripe subscription or Checkout Session ID, Roku transaction ID, or Paddle subscription/transaction ID
platform
string
required
Platform of the purchase, sent as the X-Platform header. One of: ios, android, amazon, macos, uikitformac, stripe, roku, paddle
product_id
string
Product identifier or SKU. Required for Google.
price
number
Price of the product. Required if you provide a currency.
currency
string
ISO 4217 currency code. Required if you provide a price.
is_restore
boolean
Deprecated. Triggers configured restore behavior for shared fetch tokens.
presented_offering_identifier
string
Identifier of the offering presented to the customer at purchase time.
payment_mode
string
Payment mode for the introductory period: pay_as_you_go, pay_up_front, or free_trial.
introductory_price
number
Introductory price paid (if any).
attributes
string
JSON object of subscriber attributes to set alongside the purchase. Each key maps to {“value”: string, “updated_at_ms”: number}.
updated_at_ms
integer
UNIX epoch ms used to resolve attribute conflicts at the request level.

Response

{
  "$defs": {
    "Subscriber": {
      "additionalProperties": false,
      "description": "A RevenueCat subscriber object.\n\n``subscriptions`` and ``entitlements`` are maps keyed by product /\nentitlement identifier; their values are left as opaque dicts so the\nupstream shape is preserved verbatim.",
      "properties": {
        "first_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Seen"
        },
        "last_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Seen"
        },
        "original_app_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original App User Id"
        },
        "original_application_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Application Version"
        },
        "original_purchase_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Purchase Date"
        },
        "management_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Management Url"
        },
        "subscriptions": {
          "additionalProperties": true,
          "title": "Subscriptions",
          "type": "object"
        },
        "entitlements": {
          "additionalProperties": true,
          "title": "Entitlements",
          "type": "object"
        },
        "non_subscriptions": {
          "additionalProperties": true,
          "title": "Non Subscriptions",
          "type": "object"
        },
        "other_purchases": {
          "additionalProperties": true,
          "title": "Other Purchases",
          "type": "object"
        },
        "subscriber_attributes": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subscriber Attributes"
        }
      },
      "title": "Subscriber",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "customer": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Customer"
    },
    "subscriber": {
      "anyOf": [
        {
          "$ref": "#/$defs/Subscriber"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreatePurchaseOutput",
  "type": "object"
}

Parameters

app_user_id
string
required
The app user ID of the subscriber
entitlement_identifier
string
required
The entitlement identifier to grant
duration
string
Deprecated. Provide either duration or end_time_ms (end_time_ms preferred). One of: daily, three_day, weekly, two_week, monthly, two_month, three_month, six_month, yearly, lifetime.
end_time_ms
integer
Absolute end time in ms since Unix epoch. Use instead of duration.
start_time_ms
integer
Deprecated. Optional start time in ms since Unix epoch, used with duration.

Response

{
  "$defs": {
    "Subscriber": {
      "additionalProperties": false,
      "description": "A RevenueCat subscriber object.\n\n``subscriptions`` and ``entitlements`` are maps keyed by product /\nentitlement identifier; their values are left as opaque dicts so the\nupstream shape is preserved verbatim.",
      "properties": {
        "first_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Seen"
        },
        "last_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Seen"
        },
        "original_app_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original App User Id"
        },
        "original_application_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Application Version"
        },
        "original_purchase_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Purchase Date"
        },
        "management_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Management Url"
        },
        "subscriptions": {
          "additionalProperties": true,
          "title": "Subscriptions",
          "type": "object"
        },
        "entitlements": {
          "additionalProperties": true,
          "title": "Entitlements",
          "type": "object"
        },
        "non_subscriptions": {
          "additionalProperties": true,
          "title": "Non Subscriptions",
          "type": "object"
        },
        "other_purchases": {
          "additionalProperties": true,
          "title": "Other Purchases",
          "type": "object"
        },
        "subscriber_attributes": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subscriber Attributes"
        }
      },
      "title": "Subscriber",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "subscriber": {
      "anyOf": [
        {
          "$ref": "#/$defs/Subscriber"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "GrantEntitlementOutput",
  "type": "object"
}

Parameters

app_user_id
string
required
The app user ID of the subscriber
entitlement_identifier
string
required
The entitlement identifier to revoke

Response

{
  "$defs": {
    "Subscriber": {
      "additionalProperties": false,
      "description": "A RevenueCat subscriber object.\n\n``subscriptions`` and ``entitlements`` are maps keyed by product /\nentitlement identifier; their values are left as opaque dicts so the\nupstream shape is preserved verbatim.",
      "properties": {
        "first_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Seen"
        },
        "last_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Seen"
        },
        "original_app_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original App User Id"
        },
        "original_application_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Application Version"
        },
        "original_purchase_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Purchase Date"
        },
        "management_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Management Url"
        },
        "subscriptions": {
          "additionalProperties": true,
          "title": "Subscriptions",
          "type": "object"
        },
        "entitlements": {
          "additionalProperties": true,
          "title": "Entitlements",
          "type": "object"
        },
        "non_subscriptions": {
          "additionalProperties": true,
          "title": "Non Subscriptions",
          "type": "object"
        },
        "other_purchases": {
          "additionalProperties": true,
          "title": "Other Purchases",
          "type": "object"
        },
        "subscriber_attributes": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subscriber Attributes"
        }
      },
      "title": "Subscriber",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "subscriber": {
      "anyOf": [
        {
          "$ref": "#/$defs/Subscriber"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "RevokeEntitlementOutput",
  "type": "object"
}

Parameters

app_user_id
string
required
An app user ID to retrieve offerings for
platform
string
X-Platform header value. One of: ios, android, amazon, stripe, roku, paddle. Required for legacy public API keys; ignored with app-specific keys.

Response

{
  "$defs": {
    "Offering": {
      "additionalProperties": false,
      "description": "A single offering configured for the project.",
      "properties": {
        "identifier": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Identifier"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "packages": {
          "items": {
            "$ref": "#/$defs/OfferingPackage"
          },
          "title": "Packages",
          "type": "array"
        }
      },
      "title": "Offering",
      "type": "object"
    },
    "OfferingPackage": {
      "additionalProperties": false,
      "description": "A single package inside an offering.",
      "properties": {
        "identifier": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Identifier"
        },
        "platform_product_identifier": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Platform Product Identifier"
        }
      },
      "title": "OfferingPackage",
      "type": "object"
    },
    "OfferingsMetadata": {
      "additionalProperties": false,
      "description": "Summary metadata for a list-offerings response.",
      "properties": {
        "count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Count"
        },
        "current_offering_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Current Offering Id"
        }
      },
      "title": "OfferingsMetadata",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "current_offering_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Current Offering Id"
    },
    "offerings": {
      "items": {
        "$ref": "#/$defs/Offering"
      },
      "title": "Offerings",
      "type": "array"
    },
    "metadata": {
      "anyOf": [
        {
          "$ref": "#/$defs/OfferingsMetadata"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "ListOfferingsOutput",
  "type": "object"
}

Parameters

app_user_id
string
required
The app user ID of the subscriber
attributes
string
required
JSON object of attributes to set. Each key maps to an object with “value” (string; null or empty deletes the attribute) and “updated_at_ms” (Unix epoch ms used for conflict resolution — required).

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "updated": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Updated"
    },
    "app_user_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "App User Id"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateSubscriberAttributesOutput",
  "type": "object"
}

Parameters

app_user_id
string
required
The app user ID of the subscriber
product_id
string
required
The Google Play product identifier of the subscription to defer
extend_by_days
integer
Number of days to extend by (1-365). Provide extend_by_days or expiry_time_ms.
expiry_time_ms
integer
Absolute new expiry time in ms since Unix epoch. Use instead of extend_by_days.

Response

{
  "$defs": {
    "Subscriber": {
      "additionalProperties": false,
      "description": "A RevenueCat subscriber object.\n\n``subscriptions`` and ``entitlements`` are maps keyed by product /\nentitlement identifier; their values are left as opaque dicts so the\nupstream shape is preserved verbatim.",
      "properties": {
        "first_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Seen"
        },
        "last_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Seen"
        },
        "original_app_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original App User Id"
        },
        "original_application_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Application Version"
        },
        "original_purchase_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Purchase Date"
        },
        "management_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Management Url"
        },
        "subscriptions": {
          "additionalProperties": true,
          "title": "Subscriptions",
          "type": "object"
        },
        "entitlements": {
          "additionalProperties": true,
          "title": "Entitlements",
          "type": "object"
        },
        "non_subscriptions": {
          "additionalProperties": true,
          "title": "Non Subscriptions",
          "type": "object"
        },
        "other_purchases": {
          "additionalProperties": true,
          "title": "Other Purchases",
          "type": "object"
        },
        "subscriber_attributes": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subscriber Attributes"
        }
      },
      "title": "Subscriber",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "subscriber": {
      "anyOf": [
        {
          "$ref": "#/$defs/Subscriber"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "DeferGoogleSubscriptionOutput",
  "type": "object"
}

Parameters

app_user_id
string
required
The app user ID of the subscriber
store_transaction_id
string
required
The store transaction identifier of the purchase to refund (e.g., GPA.3309-9122-6177-45730 for Google Play)

Response

{
  "$defs": {
    "Subscriber": {
      "additionalProperties": false,
      "description": "A RevenueCat subscriber object.\n\n``subscriptions`` and ``entitlements`` are maps keyed by product /\nentitlement identifier; their values are left as opaque dicts so the\nupstream shape is preserved verbatim.",
      "properties": {
        "first_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Seen"
        },
        "last_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Seen"
        },
        "original_app_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original App User Id"
        },
        "original_application_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Application Version"
        },
        "original_purchase_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Purchase Date"
        },
        "management_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Management Url"
        },
        "subscriptions": {
          "additionalProperties": true,
          "title": "Subscriptions",
          "type": "object"
        },
        "entitlements": {
          "additionalProperties": true,
          "title": "Entitlements",
          "type": "object"
        },
        "non_subscriptions": {
          "additionalProperties": true,
          "title": "Non Subscriptions",
          "type": "object"
        },
        "other_purchases": {
          "additionalProperties": true,
          "title": "Other Purchases",
          "type": "object"
        },
        "subscriber_attributes": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subscriber Attributes"
        }
      },
      "title": "Subscriber",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "subscriber": {
      "anyOf": [
        {
          "$ref": "#/$defs/Subscriber"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "RefundGoogleSubscriptionOutput",
  "type": "object"
}

Parameters

app_user_id
string
required
The app user ID of the subscriber
product_id
string
required
The Google Play product identifier of the subscription to revoke

Response

{
  "$defs": {
    "Subscriber": {
      "additionalProperties": false,
      "description": "A RevenueCat subscriber object.\n\n``subscriptions`` and ``entitlements`` are maps keyed by product /\nentitlement identifier; their values are left as opaque dicts so the\nupstream shape is preserved verbatim.",
      "properties": {
        "first_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Seen"
        },
        "last_seen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Seen"
        },
        "original_app_user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original App User Id"
        },
        "original_application_version": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Application Version"
        },
        "original_purchase_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Original Purchase Date"
        },
        "management_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Management Url"
        },
        "subscriptions": {
          "additionalProperties": true,
          "title": "Subscriptions",
          "type": "object"
        },
        "entitlements": {
          "additionalProperties": true,
          "title": "Entitlements",
          "type": "object"
        },
        "non_subscriptions": {
          "additionalProperties": true,
          "title": "Non Subscriptions",
          "type": "object"
        },
        "other_purchases": {
          "additionalProperties": true,
          "title": "Other Purchases",
          "type": "object"
        },
        "subscriber_attributes": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subscriber Attributes"
        }
      },
      "title": "Subscriber",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "subscriber": {
      "anyOf": [
        {
          "$ref": "#/$defs/Subscriber"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "RevokeGoogleSubscriptionOutput",
  "type": "object"
}

Limits & Quotas

  • Rate limits: RevenueCat applies per-endpoint rate limits; the 429 responses include a Retry-After header. Plan retries on the agent side.
  • Grant / revoke entitlement is for promotional entitlements only and requires a secret key.
  • Defer / refund / revoke Google subscription apply to Google Play purchases only. grant_entitlement and defer_google_subscription require exactly one of their two mutually-exclusive time parameters.
  • Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising. RevenueCat returns {code, message} on errors, which is surfaced in error.

Lemon Squeezy

Stripe

Square