RevenueCat Subscribers API

v1 customer (app user) records, attributes, and state.

OpenAPI Specification

revenuecat-subscribers-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: RevenueCat REST Apps Subscribers API
  description: Representative OpenAPI description of RevenueCat's public REST surface. It covers the v1 REST API (https://api.revenuecat.com/v1) for subscribers, receipts/purchases, entitlements, offerings, and subscriber attributes, and the v2 REST API (https://api.revenuecat.com/v2) for projects, apps, customers, products, entitlements, offerings, and packages. Both APIs use HTTP Bearer authentication with a RevenueCat API key (v1 public or secret keys; v2 API keys). RevenueCat also delivers subscription lifecycle events via outbound webhooks (documented separately).
  termsOfService: https://www.revenuecat.com/terms/
  contact:
    name: RevenueCat Support
    url: https://www.revenuecat.com/docs
  version: '1.0'
servers:
- url: https://api.revenuecat.com/v1
  description: RevenueCat REST API v1
- url: https://api.revenuecat.com/v2
  description: RevenueCat REST API v2
tags:
- name: Subscribers
  description: v1 customer (app user) records, attributes, and state.
paths:
  /subscribers/{app_user_id}:
    get:
      operationId: getOrCreateSubscriber
      tags:
      - Subscribers
      summary: Get or create a subscriber
      description: Returns the latest subscriber (customer) information for the given app_user_id, creating the record if it does not yet exist. Includes entitlements, subscriptions, and non-subscription purchases.
      servers:
      - url: https://api.revenuecat.com/v1
      parameters:
      - $ref: '#/components/parameters/AppUserId'
      - $ref: '#/components/parameters/PlatformHeader'
      responses:
        '200':
          description: The subscriber object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriberResponse'
      security:
      - bearerAuth: []
    delete:
      operationId: deleteSubscriber
      tags:
      - Subscribers
      summary: Delete a subscriber
      description: Permanently deletes a subscriber and all associated data.
      servers:
      - url: https://api.revenuecat.com/v1
      parameters:
      - $ref: '#/components/parameters/AppUserId'
      responses:
        '200':
          description: The subscriber was deleted.
      security:
      - bearerAuth: []
  /subscribers/{app_user_id}/attributes:
    post:
      operationId: updateSubscriberAttributes
      tags:
      - Subscribers
      summary: Update subscriber attributes
      description: Sets or updates one or more custom or reserved subscriber attributes for the given app_user_id.
      servers:
      - url: https://api.revenuecat.com/v1
      parameters:
      - $ref: '#/components/parameters/AppUserId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriberAttributesRequest'
      responses:
        '200':
          description: Attributes updated.
      security:
      - bearerAuth: []
components:
  parameters:
    PlatformHeader:
      name: X-Platform
      in: header
      required: false
      description: The platform the request originates from (ios, android, etc.).
      schema:
        type: string
    AppUserId:
      name: app_user_id
      in: path
      required: true
      description: The App User ID that identifies the customer.
      schema:
        type: string
  schemas:
    SubscriberAttributesRequest:
      type: object
      properties:
        attributes:
          type: object
          additionalProperties:
            type: object
            properties:
              value:
                type: string
              updated_at_ms:
                type: integer
                format: int64
    SubscriberResponse:
      type: object
      properties:
        request_date:
          type: string
          format: date-time
        request_date_ms:
          type: integer
          format: int64
        subscriber:
          $ref: '#/components/schemas/Subscriber'
    EntitlementInfo:
      type: object
      properties:
        expires_date:
          type: string
          format: date-time
          nullable: true
        purchase_date:
          type: string
          format: date-time
        product_identifier:
          type: string
    Subscriber:
      type: object
      properties:
        original_app_user_id:
          type: string
        first_seen:
          type: string
          format: date-time
        last_seen:
          type: string
          format: date-time
        management_url:
          type: string
          nullable: true
        entitlements:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EntitlementInfo'
        subscriptions:
          type: object
          additionalProperties:
            type: object
        non_subscriptions:
          type: object
          additionalProperties:
            type: array
            items:
              type: object
        subscriber_attributes:
          type: object
          additionalProperties:
            type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: RevenueCat API key passed as an HTTP Bearer token. v1 accepts public (client) or secret (server) keys; v2 uses dedicated v2 API keys.