RevenueCat

RevenueCat provides in-app subscription and purchase infrastructure for mobile and web apps. It abstracts App Store, Google Play, Amazon, Stripe, Roku, and Paddle billing behind cross-platform SDKs and a REST API, handling receipt validation, entitlements, subscriber state, offerings and paywalls, experiments, and subscription analytics. A v1 REST API manages live subscribers and purchases; a v2 REST API manages the project catalog (projects, apps, products, entitlements, offerings, packages); webhooks stream subscription lifecycle events.

13 APIs 0 Features
SubscriptionsIn-App PurchasesBillingMobileEntitlements

APIs

RevenueCat Subscribers API

v1 endpoints to get or create a subscriber, delete a subscriber, and read entitlements, subscriptions, and non-subscription purchases for an App User ID.

RevenueCat Purchases & Receipts API

v1 receipt validation (POST /receipts) across App Store, Google Play, Amazon, Stripe, Roku, and Paddle, plus transaction refund, defer, cancel, and extend operations.

RevenueCat Entitlements API (v1)

v1 promotional entitlement operations - grant a complimentary entitlement to a subscriber for a fixed duration and revoke promotional grants.

RevenueCat Offerings API (v1)

v1 endpoints to fetch the offerings (and packages) resolved for a subscriber - including experiment and targeting evaluation - and to override or clear the current offering for ...

RevenueCat Customer Attributes API

v1 endpoint to set or update custom and reserved subscriber attributes (POST /subscribers/{app_user_id}/attributes) for segmentation, attribution, and messaging.

RevenueCat Projects API (v2)

v2 endpoints to list the projects an API key can access - the top-level container for apps, products, entitlements, offerings, and customers.

RevenueCat Apps API (v2)

v2 CRUD for apps - the per-store integrations (App Store, Play Store, Amazon, Stripe, and more) inside a project.

RevenueCat Customers API (v2)

v2 endpoints to list, create, retrieve, and delete customers within a project, with active entitlements and subscription state.

RevenueCat Products API (v2)

v2 CRUD for products - the store-mapped subscription and one-time purchase SKUs that back entitlements and packages.

RevenueCat Entitlements API (v2)

v2 CRUD for entitlement definitions - the named access levels that products unlock and that gate premium features.

RevenueCat Offerings API (v2)

v2 CRUD for offering definitions - the configurable sets of packages presented on paywalls, including the current offering flag.

RevenueCat Packages API (v2)

v2 CRUD for packages - the duration-typed purchase options (monthly, annual, lifetime) within an offering that map products to display positions.

RevenueCat Webhooks

Outbound webhooks that POST subscription lifecycle events (INITIAL_PURCHASE, RENEWAL, CANCELLATION, EXPIRATION, BILLING_ISSUE, PRODUCT_CHANGE, and more) to a customer endpoint, ...

Collections

Pricing Plans

Revenuecat Plans Pricing

4 plans

PLANS

Rate Limits

Revenuecat Rate Limits

7 limits

RATE LIMITS

FinOps

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: RevenueCat REST API
  version: '1.0'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Subscribers (v1)
    type: folder
  items:
  - info:
      name: Get or create a subscriber.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v1/subscribers/:app_user_id
      params:
      - name: app_user_id
        value: ''
        type: path
        description: The App User ID of the customer.
    docs: Returns the latest subscriber information, creating the record if it does not exist.
  - info:
      name: Delete a subscriber.
      type: http
    http:
      method: DELETE
      url: https://api.revenuecat.com/v1/subscribers/:app_user_id
      params:
      - name: app_user_id
        value: ''
        type: path
        description: The App User ID of the customer.
    docs: Permanently deletes a subscriber and all associated data.
  - info:
      name: Update subscriber attributes.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v1/subscribers/:app_user_id/attributes
      params:
      - name: app_user_id
        value: ''
        type: path
        description: The App User ID of the customer.
      body:
        type: json
        data: '{}'
    docs: Sets or updates custom and reserved subscriber attributes.
- info:
    name: Purchases & Receipts (v1)
    type: folder
  items:
  - info:
      name: Create a purchase (validate a receipt).
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v1/receipts
      body:
        type: json
        data: '{}'
    docs: Validates a store receipt/token from App Store, Google Play, Amazon, Stripe, Roku, or Paddle and attaches it to
      a subscriber.
  - info:
      name: Refund a transaction.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v1/subscribers/:app_user_id/transactions/:store_transaction_identifier/refund
      params:
      - name: app_user_id
        value: ''
        type: path
      - name: store_transaction_identifier
        value: ''
        type: path
    docs: Issues a refund for a Google Play transaction.
  - info:
      name: Defer a Google subscription.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v1/subscribers/:app_user_id/subscriptions/:product_identifier/defer
      params:
      - name: app_user_id
        value: ''
        type: path
      - name: product_identifier
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Defers the next renewal date of an active Google Play subscription.
- info:
    name: Entitlements (v1)
    type: folder
  items:
  - info:
      name: Grant a promotional entitlement.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v1/subscribers/:app_user_id/entitlements/:entitlement_identifier/promotional
      params:
      - name: app_user_id
        value: ''
        type: path
      - name: entitlement_identifier
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Grants a complimentary entitlement to a subscriber for a fixed duration.
  - info:
      name: Revoke promotional entitlements.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v1/subscribers/:app_user_id/entitlements/:entitlement_identifier/revoke_promotionals
      params:
      - name: app_user_id
        value: ''
        type: path
      - name: entitlement_identifier
        value: ''
        type: path
    docs: Revokes all promotional grants of an entitlement from a subscriber.
- info:
    name: Offerings (v1)
    type: folder
  items:
  - info:
      name: Get offerings.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v1/subscribers/:app_user_id/offerings
      params:
      - name: app_user_id
        value: ''
        type: path
    docs: Returns the offerings resolved for a subscriber, including targeting and experiment evaluation.
  - info:
      name: Override the current offering.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v1/subscribers/:app_user_id/offerings/:offering_uuid/override
      params:
      - name: app_user_id
        value: ''
        type: path
      - name: offering_uuid
        value: ''
        type: path
    docs: Overrides the current offering shown to a specific subscriber.
- info:
    name: Projects (v2)
    type: folder
  items:
  - info:
      name: List projects.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects
    docs: Lists all projects the API key has access to.
- info:
    name: Apps (v2)
    type: folder
  items:
  - info:
      name: List apps.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/apps
      params:
      - name: project_id
        value: ''
        type: path
    docs: Lists the apps (store integrations) within a project.
  - info:
      name: Create an app.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v2/projects/:project_id/apps
      params:
      - name: project_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Creates an app within a project.
  - info:
      name: Get an app.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/apps/:app_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: app_id
        value: ''
        type: path
    docs: Retrieves a specific app.
  - info:
      name: Delete an app.
      type: http
    http:
      method: DELETE
      url: https://api.revenuecat.com/v2/projects/:project_id/apps/:app_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: app_id
        value: ''
        type: path
    docs: Deletes an app.
- info:
    name: Customers (v2)
    type: folder
  items:
  - info:
      name: List customers.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/customers
      params:
      - name: project_id
        value: ''
        type: path
    docs: Lists customers within a project.
  - info:
      name: Create a customer.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v2/projects/:project_id/customers
      params:
      - name: project_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Creates a customer within a project.
  - info:
      name: Get a customer.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/customers/:customer_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: customer_id
        value: ''
        type: path
    docs: Retrieves a specific customer.
  - info:
      name: Delete a customer.
      type: http
    http:
      method: DELETE
      url: https://api.revenuecat.com/v2/projects/:project_id/customers/:customer_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: customer_id
        value: ''
        type: path
    docs: Deletes a customer.
- info:
    name: Products (v2)
    type: folder
  items:
  - info:
      name: List products.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/products
      params:
      - name: project_id
        value: ''
        type: path
    docs: Lists products within a project.
  - info:
      name: Create a product.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v2/projects/:project_id/products
      params:
      - name: project_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Creates a product within a project.
  - info:
      name: Get a product.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/products/:product_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
    docs: Retrieves a specific product.
  - info:
      name: Delete a product.
      type: http
    http:
      method: DELETE
      url: https://api.revenuecat.com/v2/projects/:project_id/products/:product_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: product_id
        value: ''
        type: path
    docs: Deletes a product.
- info:
    name: Entitlements (v2)
    type: folder
  items:
  - info:
      name: List entitlements.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/entitlements
      params:
      - name: project_id
        value: ''
        type: path
    docs: Lists entitlement definitions within a project.
  - info:
      name: Create an entitlement.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v2/projects/:project_id/entitlements
      params:
      - name: project_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Creates an entitlement definition.
  - info:
      name: Get an entitlement.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/entitlements/:entitlement_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: entitlement_id
        value: ''
        type: path
    docs: Retrieves a specific entitlement.
  - info:
      name: Delete an entitlement.
      type: http
    http:
      method: DELETE
      url: https://api.revenuecat.com/v2/projects/:project_id/entitlements/:entitlement_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: entitlement_id
        value: ''
        type: path
    docs: Deletes an entitlement.
- info:
    name: Offerings (v2)
    type: folder
  items:
  - info:
      name: List offerings.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/offerings
      params:
      - name: project_id
        value: ''
        type: path
    docs: Lists offering definitions within a project.
  - info:
      name: Create an offering.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v2/projects/:project_id/offerings
      params:
      - name: project_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Creates an offering definition.
  - info:
      name: Get an offering.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/offerings/:offering_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: offering_id
        value: ''
        type: path
    docs: Retrieves a specific offering.
- info:
    name: Packages (v2)
    type: folder
  items:
  - info:
      name: List packages.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/offerings/:offering_id/packages
      params:
      - name: project_id
        value: ''
        type: path
      - name: offering_id
        value: ''
        type: path
    docs: Lists packages within an offering.
  - info:
      name: Create a package.
      type: http
    http:
      method: POST
      url: https://api.revenuecat.com/v2/projects/:project_id/offerings/:offering_id/packages
      params:
      - name: project_id
        value: ''
        type: path
      - name: offering_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Creates a package within an offering.
  - info:
      name: Get a package.
      type: http
    http:
      method: GET
      url: https://api.revenuecat.com/v2/projects/:project_id/offerings/:offering_id/packages/:package_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: offering_id
        value: ''
        type: path
      - name: package_id
        value: ''
        type: path
    docs: Retrieves a specific package.
  - info:
      name: Delete a package.
      type: http
    http:
      method: DELETE
      url: https://api.revenuecat.com/v2/projects/:project_id/offerings/:offering_id/packages/:package_id
      params:
      - name: project_id
        value: ''
        type: path
      - name: offering_id
        value: ''
        type: path
      - name: package_id
        value: ''
        type: path
    docs: Deletes a package.
bundled: true