Skip to main content
Skip to navigation

Developer API (2.0.0)

Download OpenAPI specification:Download

App

Part of the REST API v2 Reference.

Operations about apps.

Endpoints

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. Mutually exclusive with copy_app_store_connect_api_key_from_app_id.

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.

copy_app_store_connect_api_key_from_app_id
string [ 1 .. 255 ] characters

Copy the App Store Connect API key from another App Store app in this project. Pass that app's id from list-apps. Mutually exclusive with app_store_connect_api_key. Key id and issuer are copied unless you send them explicitly.

copy_subscription_key_from_app_id
string [ 1 .. 255 ] characters

Copy the In-App Purchase key from another App Store app in this project. Pass that app's id from list-apps. Mutually exclusive with subscription_private_key. Key id and issuer are copied unless you send them explicitly.

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
string [ 1 .. 256 ] characters

The package name of the app

play_service_account_credentials_json
string [ 1 .. 8192 ] characters

Contents of the Google Cloud service account key JSON file. Copy the whole file into this field. See instructions on how to create it in https://www.revenuecat.com/docs/creating-play-service-credentials

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 .. 70 ] 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": { }
}

Endpoint Reference

All API v2 resources, one page each. General concepts (authentication, pagination, rate limits, error handling) live on the API v2 overview.