---
title: "App"
permalink: "/docs/api-v2/app"
original_source: "openapi-spec/api-v2.yaml"
---

> **AI agents:** This is the Markdown version of a RevenueCat documentation page. For the complete documentation index, see [llms.txt](https://www.revenuecat.com/docs/llms.txt).

# App

## App

Operations about apps.

### Get a list of the public API keys of an app

`GET /projects/{project_id}/apps/{app_id}/public_api_keys`

Operation ID: `list-app-public-api-keys`

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): <code>project_configuration:apps:read</code>. This endpoint belongs to the <strong>Project Configuration</strong> domain, which has a default rate limit of <strong>60 requests per minute</strong>.

**Parameters**

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `project_id` | path | yes | ID of the project |
| `app_id` | path | yes | ID of the app |

**Responses**

- `200` — Success
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `503` — Internal server error

**Response `200` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. Always has the value `list`. One of: `list` |
| `items` | array of PublicApiKey | yes | Details about each object. |
| `next_page` | string | yes | URL to access the next page of the app's public API keys. If not present / null, there is no next page |
| `url` | string | yes | The URL where this list can be accessed. |

<details><summary><code>items</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `public_api_key` |
| `id` | string | yes | The ID of the public API key |
| `key` | string | yes | The value of the public API key |
| `environment` | string | yes | The environment the public API key is for One of: `production`, `sandbox` |
| `app_id` | string | yes | The ID of the app the public API key is for |
| `created_at` | integer | yes | The date when the public API key was created in ms since epoch |

</details>
### Get a list of apps

`GET /projects/{project_id}/apps`

Operation ID: `list-apps`

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

**Parameters**

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `project_id` | path | yes | ID of the project |
| `starting_after` | query | no | Pagination cursor. Pass the id of the last item from the previous page to fetch the next page; omit for the first page. |
| `limit` | query | no | Maximum number of items to return per page. Values below 1 or above 100 are clamped to that range rather than rejected. |

**Responses**

- `200` — Success
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `503` — Internal server error

**Response `200` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. Always has the value `list`. One of: `list` |
| `items` | array of App | yes | Details about each object. |
| `next_page` | string | yes | URL to access the next page of the project's apps. If not present / null, there is no next page |
| `url` | string | yes | The URL where this list can be accessed. |

<details><summary><code>items</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `amazon` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `amazon` | object | yes | Amazon type details |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `app_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `app_store` | object | yes | App Store type details |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `mac_app_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `mac_app_store` | object | yes | Legacy Mac App Store type details |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `play_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `play_store` | object | yes | Play Store type details |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `stripe` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `stripe` | object | yes | Stripe type details |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `rc_billing` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `rc_billing` | object | yes | Revenue Cat Billing Store type details |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `roku` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `roku` | object | yes | Roku Channel Store type details |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `paddle` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `paddle` | object | yes | Paddle Billing type details |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `test_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |

</details>
### Create an app

`POST /projects/{project_id}/apps`

Operation ID: `create-app`

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

**Parameters**

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `project_id` | path | yes | ID of the project |

**Request body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | The name of the app |
| `type` | string | yes | The platform of the app. Mac App Store is disabled by default. See [Legacy Mac Apps](https://www.revenuecat.com/docs/legacy-mac-apps) for more details. One of: `amazon` |
| `amazon` | object | yes | Amazon type details. Should only be used when type is amazon. |

<details><summary><code>amazon</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | yes | The package name of the app |
| `shared_secret` | string | no | Your Amazon Developer Identity Shared Key |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | The name of the app |
| `type` | string | yes | The platform of the app. Mac App Store is disabled by default. See [Legacy Mac Apps](https://www.revenuecat.com/docs/legacy-mac-apps) for more details. One of: `app_store` |
| `app_store` | object | yes | App Store type details. Should only be used when type is app_store. |

<details><summary><code>app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | yes | The bundle ID of the app |
| `shared_secret` | string | no | The shared secret of the app |
| `subscription_private_key` | string | no | PKCS /#8 In App Key downloaded from App Store Connect in PEM format. Copy the contents of the file in this field. See instructions on how to get it in: https://www.revenuecat.com/docs/in-app-purchase-key-configuration |
| `subscription_key_id` | string | no | In App Key id. The ID of the downloaded in app key. You can get it from App Store Connect |
| `subscription_key_issuer` | string | no | The key Issuer id. See instructions on how to obtain this in: https://www.revenuecat.com/docs/in-app-purchase-key-configuration#3-providing-the-issuer-id-to-revenuecat |
| `app_store_connect_api_key` | string | no | 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 | no | 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 | no | App Store Connect API Key Issuer ID. |
| `app_store_connect_vendor_number` | string | no | Your vendor number from App Store Connect. Required for some features like financial reports. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | The name of the app |
| `type` | string | yes | The platform of the app. Mac App Store is disabled by default. See [Legacy Mac Apps](https://www.revenuecat.com/docs/legacy-mac-apps) for more details. One of: `mac_app_store` |
| `mac_app_store` | object | yes | Mac App Store type details. Should only be used when type is mac_app_store. |

<details><summary><code>mac_app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | yes | The bundle ID of the app |
| `shared_secret` | string | no | The shared secret of the app |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | The name of the app |
| `type` | string | yes | The platform of the app. Mac App Store is disabled by default. See [Legacy Mac Apps](https://www.revenuecat.com/docs/legacy-mac-apps) for more details. One of: `play_store` |
| `play_store` | object | yes | Play Store type details. Should only be used when type is play_store. |

<details><summary><code>play_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | yes | The package name of the app |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | The name of the app |
| `type` | string | yes | The platform of the app. Mac App Store is disabled by default. See [Legacy Mac Apps](https://www.revenuecat.com/docs/legacy-mac-apps) for more details. One of: `stripe` |
| `stripe` | object | no | Stripe type details. Should only be used when type is stripe. |

<details><summary><code>stripe</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | 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. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | The name of the app |
| `type` | string | yes | The platform of the app. Mac App Store is disabled by default. See [Legacy Mac Apps](https://www.revenuecat.com/docs/legacy-mac-apps) for more details. One of: `rc_billing` |
| `rc_billing` | object | no | Revenue Cat Billing Store type details |

<details><summary><code>rc_billing</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | 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 | yes | Shown in checkout, emails, and receipts sent to customers. |
| `support_email` | string | no | 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` | RCBillingCurrency | no | ISO 4217 currency code One of: `USD`, `EUR`, `JPY`, `GBP`, `AUD`, `CAD`, `BRL`, `KRW`, `CNY`, `MXN`, `SEK`, `PLN`, `MYR`, `PHP`, `CHF`, `SAR`, `TWD`, `NOK`, `DKK`, `THB`, `NZD`, `SGD`, `HKD`, `CZK`, `AED`, `CLP`, `COP`, `CRC`, `GEL`, `HUF`, `IDR`, `ILS`, `IQD`, `JOD`, `KES`, `KZT`, `MAD`, `PEN`, `QAR`, `RON`, `RSD`, `TZS`, `VND`, `ZAR`, `TRY`, `UAH` |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | The name of the app |
| `type` | string | yes | The platform of the app. Mac App Store is disabled by default. See [Legacy Mac Apps](https://www.revenuecat.com/docs/legacy-mac-apps) for more details. One of: `roku` |
| `roku` | object | no | Roku Channel Store details. Should only be used when type is roku. |

<details><summary><code>roku</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `roku_api_key` | string | no | Roku Pay API key provided on the Roku Pay Web Services page. |
| `roku_channel_id` | string | no | Channel ID provided on the Roku Channel page. |
| `roku_channel_name` | string | no | Channel name that is displayed on the Roku Channel page. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | The name of the app |
| `type` | string | yes | The platform of the app. Mac App Store is disabled by default. See [Legacy Mac Apps](https://www.revenuecat.com/docs/legacy-mac-apps) for more details. One of: `paddle` |
| `paddle` | object | no | Paddle Billing details. Should only be used when type is paddle. |

<details><summary><code>paddle</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `paddle_api_key` | string | no | Paddle Server-side API key provided on the Paddle dashboard. |
| `paddle_is_sandbox` | boolean | no | [Deprecated] Whether the app is tied to the sandbox environment. This field is deprecated and will be removed in the future. The environment is determined by the `paddle_api_key` format. |

</details>
**Responses**

- `201` — Success. The app was created
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `409` — Conflict
- `422` — Unprocessable entity
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `503` — Internal server error

**Response `201` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `amazon` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `amazon` | object | yes | Amazon type details |

<details><summary><code>amazon</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | yes | The package name of the app |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `app_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `app_store` | object | yes | App Store type details |

<details><summary><code>app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | yes | The bundle ID of the app |
| `app_store_connect_api_key_configured` | boolean | yes | Whether App Store Connect API key credentials are configured. |
| `subscription_key_configured` | boolean | yes | Whether In-App Purchase subscription key credentials are configured. |
| `app_store_connect_vendor_number` | string | no | Your vendor number from App Store Connect, or null when not configured. |
| `custom_url_scheme` | string | no | The custom URL scheme for the app, derived from the app's public ID. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `mac_app_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `mac_app_store` | object | yes | Legacy Mac App Store type details |

<details><summary><code>mac_app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | yes | The bundle ID of the app |
| `custom_url_scheme` | string | no | The custom URL scheme for the app, derived from the app's public ID. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `play_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `play_store` | object | yes | Play Store type details |

<details><summary><code>play_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | yes | The package name of the app |
| `custom_url_scheme` | string | no | The custom URL scheme for the app, derived from the app's public ID. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `stripe` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `stripe` | object | yes | Stripe type details |

<details><summary><code>stripe</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | Stripe account connected to your RevenueCat account. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `rc_billing` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `rc_billing` | object | yes | Revenue Cat Billing Store type details |

<details><summary><code>rc_billing</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | Stripe account connected to your RevenueCat account. |
| `seller_company_name` | string | yes | The company name. This field is deprecated. Please, use `app_name` instead. |
| `app_name` | string | no | Shown in checkout, emails, and receipts sent to customers. |
| `seller_company_support_email` | string | no | The company support email. This field is deprecated. Please, use `support_email` instead. |
| `support_email` | string | no | Used as the `reply to` address in all emails sent to customers, to allow them to receive support. |
| `default_currency` | RCBillingCurrency | yes | ISO 4217 currency code One of: `USD`, `EUR`, `JPY`, `GBP`, `AUD`, `CAD`, `BRL`, `KRW`, `CNY`, `MXN`, `SEK`, `PLN`, `MYR`, `PHP`, `CHF`, `SAR`, `TWD`, `NOK`, `DKK`, `THB`, `NZD`, `SGD`, `HKD`, `CZK`, `AED`, `CLP`, `COP`, `CRC`, `GEL`, `HUF`, `IDR`, `ILS`, `IQD`, `JOD`, `KES`, `KZT`, `MAD`, `PEN`, `QAR`, `RON`, `RSD`, `TZS`, `VND`, `ZAR`, `TRY`, `UAH` |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `roku` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `roku` | object | yes | Roku Channel Store type details |

<details><summary><code>roku</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `roku_channel_id` | string | no | Channel ID provided on the Roku Channel page. |
| `roku_channel_name` | string | no | Channel name that is displayed on the Roku Channel page. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `paddle` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `paddle` | object | yes | Paddle Billing type details |

<details><summary><code>paddle</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `paddle_is_sandbox` | boolean | no | Whether the app is tied to the sandbox environment. |
| `paddle_api_key` | string | no | Paddle Server-side API key provided on the Paddle dashboard. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `test_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |

### Get an app

`GET /projects/{project_id}/apps/{app_id}`

Operation ID: `get-app`

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

**Parameters**

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `project_id` | path | yes | ID of the project |
| `app_id` | path | yes | ID of the app |

**Responses**

- `200` — Success
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `503` — Internal server error

**Response `200` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `amazon` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `amazon` | object | yes | Amazon type details |

<details><summary><code>amazon</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | yes | The package name of the app |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `app_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `app_store` | object | yes | App Store type details |

<details><summary><code>app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | yes | The bundle ID of the app |
| `app_store_connect_api_key_configured` | boolean | yes | Whether App Store Connect API key credentials are configured. |
| `subscription_key_configured` | boolean | yes | Whether In-App Purchase subscription key credentials are configured. |
| `app_store_connect_vendor_number` | string | no | Your vendor number from App Store Connect, or null when not configured. |
| `custom_url_scheme` | string | no | The custom URL scheme for the app, derived from the app's public ID. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `mac_app_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `mac_app_store` | object | yes | Legacy Mac App Store type details |

<details><summary><code>mac_app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | yes | The bundle ID of the app |
| `custom_url_scheme` | string | no | The custom URL scheme for the app, derived from the app's public ID. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `play_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `play_store` | object | yes | Play Store type details |

<details><summary><code>play_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | yes | The package name of the app |
| `custom_url_scheme` | string | no | The custom URL scheme for the app, derived from the app's public ID. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `stripe` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `stripe` | object | yes | Stripe type details |

<details><summary><code>stripe</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | Stripe account connected to your RevenueCat account. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `rc_billing` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `rc_billing` | object | yes | Revenue Cat Billing Store type details |

<details><summary><code>rc_billing</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | Stripe account connected to your RevenueCat account. |
| `seller_company_name` | string | yes | The company name. This field is deprecated. Please, use `app_name` instead. |
| `app_name` | string | no | Shown in checkout, emails, and receipts sent to customers. |
| `seller_company_support_email` | string | no | The company support email. This field is deprecated. Please, use `support_email` instead. |
| `support_email` | string | no | Used as the `reply to` address in all emails sent to customers, to allow them to receive support. |
| `default_currency` | RCBillingCurrency | yes | ISO 4217 currency code One of: `USD`, `EUR`, `JPY`, `GBP`, `AUD`, `CAD`, `BRL`, `KRW`, `CNY`, `MXN`, `SEK`, `PLN`, `MYR`, `PHP`, `CHF`, `SAR`, `TWD`, `NOK`, `DKK`, `THB`, `NZD`, `SGD`, `HKD`, `CZK`, `AED`, `CLP`, `COP`, `CRC`, `GEL`, `HUF`, `IDR`, `ILS`, `IQD`, `JOD`, `KES`, `KZT`, `MAD`, `PEN`, `QAR`, `RON`, `RSD`, `TZS`, `VND`, `ZAR`, `TRY`, `UAH` |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `roku` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `roku` | object | yes | Roku Channel Store type details |

<details><summary><code>roku</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `roku_channel_id` | string | no | Channel ID provided on the Roku Channel page. |
| `roku_channel_name` | string | no | Channel name that is displayed on the Roku Channel page. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `paddle` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `paddle` | object | yes | Paddle Billing type details |

<details><summary><code>paddle</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `paddle_is_sandbox` | boolean | no | Whether the app is tied to the sandbox environment. |
| `paddle_api_key` | string | no | Paddle Server-side API key provided on the Paddle dashboard. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `test_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |

### Update an app

`POST /projects/{project_id}/apps/{app_id}`

Operation ID: `update-app`

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

**Parameters**

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `project_id` | path | yes | ID of the project |
| `app_id` | path | yes | ID of the app |

**Request body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | no | The name of the app |
| `amazon` | object | no | Amazon type details. Should only be used when type is amazon. |
| `app_store` | object | no | App Store type details. Should only be used when type is app_store. |
| `mac_app_store` | object | no | Legacy Mac App Store type details. Should only be used when type is mac_app_store. |
| `play_store` | object | no | Play Store type details. Should only be used when type is play_store. |
| `stripe` | object | no | Stripe type details. Should only be used when type is stripe. |
| `rc_billing` | object | no | Web Billing type details. Should only be used when type is rc_billing. |
| `roku` | object | no | Roku Channel Store type details. Should only be used when type is roku. |
| `paddle` | object | no | Paddle Billing type details. Should only be used when type is paddle. |

<details><summary><code>amazon</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | no | The package name of the app |
| `shared_secret` | string | no | Your Amazon Developer Identity Shared Key |

</details>

<details><summary><code>app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | no | The bundle ID of the app |
| `shared_secret` | string | no | The shared secret of the app |
| `subscription_private_key` | string | no | PKCS |
| `subscription_key_id` | string | no | In App Key id. The ID of the downloaded in app key. You can get it from App Store Connect |
| `subscription_key_issuer` | string | no | The key Issuer id. See instructions on how to obtain this in https://www.revenuecat.com/docs/in-app-purchase-key-configuration#3-providing-the-issuer-id-to-revenuecat |
| `app_store_connect_api_key` | string | no | 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 | no | 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 | no | App Store Connect API Key Issuer ID. |
| `app_store_connect_vendor_number` | string | no | Your vendor number from App Store Connect. Required for some features like financial reports. |

</details>

<details><summary><code>mac_app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | no | The bundle ID of the app |
| `shared_secret` | string | no | The shared secret of the app |

</details>

<details><summary><code>play_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | yes | The package name of the app |

</details>

<details><summary><code>stripe</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | 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. |

</details>

<details><summary><code>rc_billing</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | 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 | no | Shown in checkout, emails, and receipts sent to customers. |
| `support_email` | string | no | 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` | RCBillingCurrency | no | ISO 4217 currency code One of: `USD`, `EUR`, `JPY`, `GBP`, `AUD`, `CAD`, `BRL`, `KRW`, `CNY`, `MXN`, `SEK`, `PLN`, `MYR`, `PHP`, `CHF`, `SAR`, `TWD`, `NOK`, `DKK`, `THB`, `NZD`, `SGD`, `HKD`, `CZK`, `AED`, `CLP`, `COP`, `CRC`, `GEL`, `HUF`, `IDR`, `ILS`, `IQD`, `JOD`, `KES`, `KZT`, `MAD`, `PEN`, `QAR`, `RON`, `RSD`, `TZS`, `VND`, `ZAR`, `TRY`, `UAH` |

</details>

<details><summary><code>roku</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `roku_api_key` | string | no | Roku Pay API key provided on the Roku Pay Web Services page. |
| `roku_channel_id` | string | no | Channel ID provided on the Roku Channel page. |
| `roku_channel_name` | string | no | Channel name that is displayed on the Roku Channel page. |

</details>

<details><summary><code>paddle</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `paddle_api_key` | string | no | Paddle Server-side API key provided on the Paddle dashboard. |
| `paddle_is_sandbox` | boolean | no | Whether the app is tied to the sandbox environment. |

</details>
**Responses**

- `200` — Success. The app was updated
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `409` — Conflict
- `422` — Unprocessable entity
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `502` — Bad gateway
- `503` — Internal server error

**Response `200` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `amazon` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `amazon` | object | yes | Amazon type details |

<details><summary><code>amazon</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | yes | The package name of the app |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `app_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `app_store` | object | yes | App Store type details |

<details><summary><code>app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | yes | The bundle ID of the app |
| `app_store_connect_api_key_configured` | boolean | yes | Whether App Store Connect API key credentials are configured. |
| `subscription_key_configured` | boolean | yes | Whether In-App Purchase subscription key credentials are configured. |
| `app_store_connect_vendor_number` | string | no | Your vendor number from App Store Connect, or null when not configured. |
| `custom_url_scheme` | string | no | The custom URL scheme for the app, derived from the app's public ID. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `mac_app_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `mac_app_store` | object | yes | Legacy Mac App Store type details |

<details><summary><code>mac_app_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bundle_id` | string | yes | The bundle ID of the app |
| `custom_url_scheme` | string | no | The custom URL scheme for the app, derived from the app's public ID. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `play_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `play_store` | object | yes | Play Store type details |

<details><summary><code>play_store</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `package_name` | string | yes | The package name of the app |
| `custom_url_scheme` | string | no | The custom URL scheme for the app, derived from the app's public ID. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `stripe` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `stripe` | object | yes | Stripe type details |

<details><summary><code>stripe</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | Stripe account connected to your RevenueCat account. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `rc_billing` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `rc_billing` | object | yes | Revenue Cat Billing Store type details |

<details><summary><code>rc_billing</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `stripe_account_id` | string | no | Stripe account connected to your RevenueCat account. |
| `seller_company_name` | string | yes | The company name. This field is deprecated. Please, use `app_name` instead. |
| `app_name` | string | no | Shown in checkout, emails, and receipts sent to customers. |
| `seller_company_support_email` | string | no | The company support email. This field is deprecated. Please, use `support_email` instead. |
| `support_email` | string | no | Used as the `reply to` address in all emails sent to customers, to allow them to receive support. |
| `default_currency` | RCBillingCurrency | yes | ISO 4217 currency code One of: `USD`, `EUR`, `JPY`, `GBP`, `AUD`, `CAD`, `BRL`, `KRW`, `CNY`, `MXN`, `SEK`, `PLN`, `MYR`, `PHP`, `CHF`, `SAR`, `TWD`, `NOK`, `DKK`, `THB`, `NZD`, `SGD`, `HKD`, `CZK`, `AED`, `CLP`, `COP`, `CRC`, `GEL`, `HUF`, `IDR`, `ILS`, `IQD`, `JOD`, `KES`, `KZT`, `MAD`, `PEN`, `QAR`, `RON`, `RSD`, `TZS`, `VND`, `ZAR`, `TRY`, `UAH` |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `roku` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `roku` | object | yes | Roku Channel Store type details |

<details><summary><code>roku</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `roku_channel_id` | string | no | Channel ID provided on the Roku Channel page. |
| `roku_channel_name` | string | no | Channel name that is displayed on the Roku Channel page. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `paddle` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |
| `paddle` | object | yes | Paddle Billing type details |

<details><summary><code>paddle</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `paddle_is_sandbox` | boolean | no | Whether the app is tied to the sandbox environment. |
| `paddle_api_key` | string | no | Paddle Server-side API key provided on the Paddle dashboard. |

</details>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `app` |
| `id` | string | yes | The id of the app |
| `name` | string | yes | The name of the app |
| `created_at` | integer | yes | The date when the app was created in ms since epoch |
| `type` | string | yes | The platform of the app One of: `test_store` |
| `project_id` | string | yes | The id of the project |
| `custom_url_scheme` | string | yes | The custom URL scheme for the app, derived from the app's public ID. |

### Delete an app

`DELETE /projects/{project_id}/apps/{app_id}`

Operation ID: `delete-app`

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

**Parameters**

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `project_id` | path | yes | ID of the project |
| `app_id` | path | yes | ID of the app |

**Responses**

- `200` — Success
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `409` — Conflict
- `422` — Unprocessable entity
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `503` — Internal server error

**Response `200` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | The type of the deleted object One of: `app`, `chart_annotation`, `customer`, `discount`, `entitlement`, `experiment`, `offering`, `package`, `paywall`, `product`, `virtual_currency`, `webhook_integration` |
| `id` | string | yes | The ID of the deleted object |
| `deleted_at` | integer | yes | The date when the object was deleted in ms since epoch |

### Get the StoreKit configuration for an app

`GET /projects/{project_id}/apps/{app_id}/store_kit_config`

Operation ID: `get-app-storekit-config`

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

**Parameters**

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `project_id` | path | yes | ID of the project |
| `app_id` | path | yes | ID of the app |

**Responses**

- `200` — Success
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `503` — Internal server error

**Response `200` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `store_kit_config_file` |
| `contents` | object | yes | Contents of the StoreKit config file |

