Skip to main content

Developer API (2.0.0)

Download OpenAPI specification:Download

App

Operations about apps.

Get a list of the public API keys of an app

Returns public API keys for the app. RC Checkout public keys are omitted. Sandbox keys are always included. Production keys are omitted when the app uses Stripe or Web Billing and the linked Stripe connected account is sandbox or test-only (same behavior as the RevenueCat dashboard list). This endpoint requires the following permission(s): project_configuration:apps:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

app_id
required
string <= 255 characters
Example: app1ab2c3d4

ID of the app

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "items": [
    ],
  • "next_page": "/v2/projects/projec1a2b3c4d/apps/app1a2b3c4d/public_api_keys?starting_after=pub1a2b3c4d",
  • "url": "/v2/projects/projec1a2b3c4d/apps/app1a2b3c4d/public_api_keys"
}

Get a list of apps

This endpoint requires the following permission(s): project_configuration:apps:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

query Parameters
starting_after
string
Example: starting_after=ent12354

Pagination cursor. Pass the id of the last item from the previous page to fetch the next page; omit for the first page.

limit
integer
Default: 20
Example: limit=10

Maximum number of items to return per page. Values below 1 or above 100 are clamped to that range rather than rejected.

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "items": [
    ],
  • "next_page": "/v2/projects/projec1a2b3c4d/apps?starting_after=app1a2b3c4d",
  • "url": "/v2/projects/projec1a2b3c4d/apps"
}

Create an app

This endpoint requires the following permission(s): project_configuration:apps:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

The name of the app

type
required
string

The platform of the app. Mac App Store is disabled by default. See Legacy Mac Apps for more details.

required
object

Amazon type details. Should only be used when type is amazon.

package_name
required
string [ 1 .. 256 ] characters

The package name of the app

shared_secret
string

Your Amazon Developer Identity Shared Key

Responses

Request samples

Content type
application/json
Example
{
  • "name": "My App Store App",
  • "type": "app_store",
  • "app_store": {
    }
}

Response samples

Content type
application/json
Example
{
  • "object": "app",
  • "id": "app1a2b3c4",
  • "name": "string",
  • "created_at": 1658399423658,
  • "type": "amazon",
  • "project_id": "proj1a2b3c4",
  • "custom_url_scheme": "rc-1a2b3c4",
  • "amazon": {
    }
}

Get an app

This endpoint requires the following permission(s): project_configuration:apps:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

app_id
required
string <= 255 characters
Example: app1ab2c3d4

ID of the app

Responses

Response samples

Content type
application/json
Example
{
  • "object": "app",
  • "id": "app1a2b3c4",
  • "name": "string",
  • "created_at": 1658399423658,
  • "type": "amazon",
  • "project_id": "proj1a2b3c4",
  • "custom_url_scheme": "rc-1a2b3c4",
  • "amazon": {
    }
}

Update an app

This endpoint requires the following permission(s): project_configuration:apps:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

app_id
required
string <= 255 characters
Example: app1ab2c3d4

ID of the app

Request Body schema: application/json
required
name
string [ 1 .. 255 ] characters

The name of the app

object

Amazon type details. Should only be used when type is amazon.

package_name
string [ 1 .. 256 ] characters

The package name of the app

shared_secret
string or null

Your Amazon Developer Identity Shared Key

object

App Store type details. Should only be used when type is app_store.

bundle_id
string [ 1 .. 256 ] characters

The bundle ID of the app

shared_secret
string or null = 32 characters

The shared secret of the app

subscription_private_key
string [ 1 .. 4500 ] characters

PKCS

subscription_key_id
string [ 1 .. 32 ] characters

In App Key id. The ID of the downloaded in app key. You can get it from App Store Connect

subscription_key_issuer
string [ 1 .. 36 ] characters
app_store_connect_api_key
string [ 1 .. 4500 ] characters

App Store Connect API Key downloaded from App Store Connect in PEM format. Copy the contents of the file in this field. This is optional and used for advanced features like product imports.

app_store_connect_api_key_id
string [ 1 .. 36 ] characters

App Store Connect API Key ID. The ID of the downloaded API key. You can get it from App Store Connect.

app_store_connect_api_key_issuer
string [ 1 .. 36 ] characters

App Store Connect API Key Issuer ID.

app_store_connect_vendor_number
string [ 1 .. 20 ] characters

Your vendor number from App Store Connect. Required for some features like financial reports.

object

Legacy Mac App Store type details. Should only be used when type is mac_app_store.

bundle_id
string [ 1 .. 256 ] characters

The bundle ID of the app

shared_secret
string or null = 32 characters

The shared secret of the app

object

Play Store type details. Should only be used when type is play_store.

package_name
required
string [ 1 .. 256 ] characters

The package name of the app

object

Stripe type details. Should only be used when type is stripe.

stripe_account_id
string [ 1 .. 256 ] characters

It needs to be connected to your RevenueCat account. It can be omitted if you only have a single Stripe account connected to your RevenueCat account.

object

Web Billing type details. Should only be used when type is rc_billing.

stripe_account_id
string or null [ 1 .. 256 ] characters

It needs to be connected to your RevenueCat account. It can be omitted if you only have a single Stripe account connected to your RevenueCat account.

app_name
string or null [ 1 .. 256 ] characters

Shown in checkout, emails, and receipts sent to customers.

support_email
string or null [ 1 .. 320 ] characters

Used as the reply to address in all emails sent to customers, to allow them to receive support. If you leave this field blank, your RevenueCat account email address will be used.

default_currency
string (RCBillingCurrency)
Enum: "USD" "EUR" "JPY" "GBP" "AUD" "CAD" "BRL" "KRW" "CNY" "MXN" … 36 more

ISO 4217 currency code

object

Roku Channel Store type details. Should only be used when type is roku.

roku_api_key
string or null = 33 characters

Roku Pay API key provided on the Roku Pay Web Services page.

roku_channel_id
string or null = 6 characters

Channel ID provided on the Roku Channel page.

roku_channel_name
string or null [ 1 .. 30 ] characters

Channel name that is displayed on the Roku Channel page.

object

Paddle Billing type details. Should only be used when type is paddle.

paddle_api_key
string or null = 50 characters

Paddle Server-side API key provided on the Paddle dashboard.

paddle_is_sandbox
boolean

Whether the app is tied to the sandbox environment.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "New App name",
  • "app_store": {
    }
}

Response samples

Content type
application/json
Example
{
  • "object": "app",
  • "id": "app1a2b3c4",
  • "name": "string",
  • "created_at": 1658399423658,
  • "type": "amazon",
  • "project_id": "proj1a2b3c4",
  • "custom_url_scheme": "rc-1a2b3c4",
  • "amazon": {
    }
}

Delete an app

This endpoint requires the following permission(s): project_configuration:apps:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

app_id
required
string <= 255 characters
Example: app1ab2c3d4

ID of the app

Responses

Response samples

Content type
application/json
{
  • "object": "app",
  • "id": "string",
  • "deleted_at": 1658399423658
}

Get the StoreKit configuration for an app

This endpoint requires the following permission(s): project_configuration:apps:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

app_id
required
string <= 255 characters
Example: app1ab2c3d4

ID of the app

Responses

Response samples

Content type
application/json
{
  • "object": "store_kit_config_file",
  • "contents": { }
}