Download OpenAPI specification:Download
This endpoint requires the following permission(s): project_configuration:products:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.
| project_id required | string <= 255 characters Example: proj1ab2c3d4 ID of the project |
| product_id required | string [ 1 .. 255 ] characters Example: prod1a2b3c4d5 ID of the product |
| expand | Array of strings[ items [ 1 .. 5000 ] characters ] Items Enum: "app" "indicative_price" Example: expand=app Specifies which fields in the response should be expanded.
Accepted values are: |
{- "state": "active",
- "object": "product",
- "id": "prod1a2b3c4d5e",
- "store_identifier": "rc_1w_199",
- "type": "subscription",
- "subscription": {
- "duration": "P1M",
- "grace_period_duration": "P3D",
- "trial_duration": "P1W"
}, - "one_time": {
- "is_consumable": true
}, - "created_at": 1658399423658,
- "app_id": "app1a2b3c4",
- "app": {
- "object": "app",
- "id": "app1a2b3c4",
- "name": "string",
- "created_at": 1658399423658,
- "type": "amazon",
- "project_id": "proj1a2b3c4",
- "custom_url_scheme": "rc-1a2b3c4",
- "amazon": {
- "package_name": "string"
}
}, - "indicative_price": {
- "object": "indicative_price",
- "currency": "USD",
- "country": "US",
- "amount_micros": "For 99.99, the value should be 99990000"
}, - "display_name": "Premium Monthly 2023"
}Update a product in the project's catalog.
Changing the type only affects how RevenueCat treats the product, it does not update the store.
Make sure the new type matches how the product is configured in the store, otherwise RevenueCat will handle purchases in a way the store does not expect.
This endpoint requires the following permission(s): project_configuration:products:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.
| project_id required | string <= 255 characters Example: proj1ab2c3d4 ID of the project |
| product_id required | string [ 1 .. 255 ] characters Example: prod1a2b3c4d5 ID of the product |
| expand | Array of strings[ items [ 1 .. 5000 ] characters ] Items Enum: "app" "indicative_price" Example: expand=app Specifies which fields in the response should be expanded.
Accepted values are: |
| display_name | string <= 1500 characters The display name of the product |
| type | string (ProductType) Enum: "subscription" "one_time" "consumable" "non_consumable" "non_renewing_subscription" |
{- "display_name": "string",
- "type": "subscription"
}{- "state": "active",
- "object": "product",
- "id": "prod1a2b3c4d5e",
- "store_identifier": "rc_1w_199",
- "type": "subscription",
- "subscription": {
- "duration": "P1M",
- "grace_period_duration": "P3D",
- "trial_duration": "P1W"
}, - "one_time": {
- "is_consumable": true
}, - "created_at": 1658399423658,
- "app_id": "app1a2b3c4",
- "app": {
- "object": "app",
- "id": "app1a2b3c4",
- "name": "string",
- "created_at": 1658399423658,
- "type": "amazon",
- "project_id": "proj1a2b3c4",
- "custom_url_scheme": "rc-1a2b3c4",
- "amazon": {
- "package_name": "string"
}
}, - "indicative_price": {
- "object": "indicative_price",
- "currency": "USD",
- "country": "US",
- "amount_micros": "For 99.99, the value should be 99990000"
}, - "display_name": "Premium Monthly 2023"
}This endpoint requires the following permission(s): project_configuration:products:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.
| project_id required | string <= 255 characters Example: proj1ab2c3d4 ID of the project |
| product_id required | string [ 1 .. 255 ] characters Example: prod1a2b3c4d5 ID of the product |
{- "object": "app",
- "id": "string",
- "deleted_at": 1658399423658
}Archives a product (makes it inactive).
This endpoint requires the following permission(s): project_configuration:products:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.
| project_id required | string <= 255 characters Example: proj1ab2c3d4 ID of the project |
| product_id required | string [ 1 .. 255 ] characters Example: prod1a2b3c4d5 ID of the product |
{- "state": "active",
- "object": "product",
- "id": "prod1a2b3c4d5e",
- "store_identifier": "rc_1w_199",
- "type": "subscription",
- "subscription": {
- "duration": "P1M",
- "grace_period_duration": "P3D",
- "trial_duration": "P1W"
}, - "one_time": {
- "is_consumable": true
}, - "created_at": 1658399423658,
- "app_id": "app1a2b3c4",
- "app": {
- "object": "app",
- "id": "app1a2b3c4",
- "name": "string",
- "created_at": 1658399423658,
- "type": "amazon",
- "project_id": "proj1a2b3c4",
- "custom_url_scheme": "rc-1a2b3c4",
- "amazon": {
- "package_name": "string"
}
}, - "indicative_price": {
- "object": "indicative_price",
- "currency": "USD",
- "country": "US",
- "amount_micros": "For 99.99, the value should be 99990000"
}, - "display_name": "Premium Monthly 2023"
}Unarchives a product (makes it active).
This endpoint requires the following permission(s): project_configuration:products:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.
| project_id required | string <= 255 characters Example: proj1ab2c3d4 ID of the project |
| product_id required | string [ 1 .. 255 ] characters Example: prod1a2b3c4d5 ID of the product |
{- "state": "active",
- "object": "product",
- "id": "prod1a2b3c4d5e",
- "store_identifier": "rc_1w_199",
- "type": "subscription",
- "subscription": {
- "duration": "P1M",
- "grace_period_duration": "P3D",
- "trial_duration": "P1W"
}, - "one_time": {
- "is_consumable": true
}, - "created_at": 1658399423658,
- "app_id": "app1a2b3c4",
- "app": {
- "object": "app",
- "id": "app1a2b3c4",
- "name": "string",
- "created_at": 1658399423658,
- "type": "amazon",
- "project_id": "proj1a2b3c4",
- "custom_url_scheme": "rc-1a2b3c4",
- "amazon": {
- "package_name": "string"
}
}, - "indicative_price": {
- "object": "indicative_price",
- "currency": "USD",
- "country": "US",
- "amount_micros": "For 99.99, the value should be 99990000"
}, - "display_name": "Premium Monthly 2023"
}Push a product to the App Store.
For subscription products: You must provide store information including duration and subscription group details.
For in-app purchase products (consumable, non-consumable, non-renewing subscription): No request body is required.
This endpoint requires the following permission(s): project_configuration:products:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.
| project_id required | string <= 255 characters Example: proj1ab2c3d4 ID of the project |
| product_id required | string [ 1 .. 255 ] characters Example: prod1a2b3c4d5 ID of the product |
Store-specific information. Only required for subscription products. For in-app purchase products, send an empty body or omit the request body entirely.
CreateAppStoreConnectSubscriptionInput (object) or CreateAppStoreConnectInAppPurchaseInput (object) Store-specific information for creating the product in the store | |||||||
One of
| |||||||
{- "store_information": {
- "duration": "ONE_MONTH",
- "subscription_group_name": "Premium Subscriptions",
- "subscription_group_id": "sub_group_123"
}
}{- "created_product": {
- "object": "store_product",
- "id": 1234567890,
- "name": "Premium Monthly Subscription",
- "product_identifier": "com.example.premium_monthly"
}
}This endpoint requires the following permission(s): project_configuration:products:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.
| project_id required | string <= 255 characters Example: proj1ab2c3d4 ID of the project |
| app_id | string Example: app_id=app1a2b3c4 This is an optional query parameter to get a list of products of a given entitlement associated with a particular app |
| 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. |
| expand | Array of strings[ items [ 1 .. 5000 ] characters ] Items Enum: "items.app" "items.indicative_price" Example: expand=items.app Specifies which fields in the response should be expanded.
Accepted values are: |
{- "object": "list",
- "items": [
- {
- "state": "active",
- "object": "product",
- "id": "prod1a2b3c4d5e",
- "store_identifier": "rc_1w_199",
- "type": "subscription",
- "subscription": {
- "duration": "P1M",
- "grace_period_duration": "P3D",
- "trial_duration": "P1W"
}, - "one_time": {
- "is_consumable": true
}, - "created_at": 1658399423658,
- "app_id": "app1a2b3c4",
- "app": {
- "object": "app",
- "id": "app1a2b3c4",
- "name": "string",
- "created_at": 1658399423658,
- "type": "amazon",
- "project_id": "proj1a2b3c4",
- "custom_url_scheme": "rc-1a2b3c4",
- "amazon": {
- "package_name": "string"
}
}, - "indicative_price": {
- "object": "indicative_price",
- "currency": "USD",
- "country": "US",
- "amount_micros": "For 99.99, the value should be 99990000"
}, - "display_name": "Premium Monthly 2023"
}
], - "next_page": "/v2/projects/proj1ab2c3d4/products?starting_after=prodab21dac",
- "url": "/v2/projects/proj1ab2c3d4/products"
}Create a product in the project's catalog.
project_configuration:products:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.| project_id required | string <= 255 characters Example: proj1ab2c3d4 ID of the project |
| store_identifier required | string [ 1 .. 200 ] characters The store identifier of the product.
| ||
| price_identifier | string or null [ 1 .. 200 ] characters The Stripe price identifier to import. When provided, the price must exist, belong to the Stripe product, and be active and supported. Only supported for Stripe products. | ||
| app_id required | string [ 1 .. 255 ] characters The ID of the app | ||
| type required | string (ProductType) Enum: "subscription" "one_time" "consumable" "non_consumable" "non_renewing_subscription" | ||
| display_name | string or null [ 1 .. 1500 ] characters The display name of the product | ||
object or null (ProductSubscriptionInput) Subscription parameters for product creation. Only supported for simulated store products. | |||
| |||
| title | string or null [ 1 .. 1500 ] characters The user-facing title of the product. This field is required for Test Store products. | ||
{- "store_identifier": "com.revenuecat.magicweather.monthly9.99",
- "app_id": "app1a2b3c4",
- "type": "subscription",
- "display_name": "Premium Monthly 2023"
}{- "state": "active",
- "object": "product",
- "id": "prod1a2b3c4d5e",
- "store_identifier": "rc_1w_199",
- "type": "subscription",
- "subscription": {
- "duration": "P1M",
- "grace_period_duration": "P3D",
- "trial_duration": "P1W"
}, - "one_time": {
- "is_consumable": true
}, - "created_at": 1658399423658,
- "app_id": "app1a2b3c4",
- "app": {
- "object": "app",
- "id": "app1a2b3c4",
- "name": "string",
- "created_at": 1658399423658,
- "type": "amazon",
- "project_id": "proj1a2b3c4",
- "custom_url_scheme": "rc-1a2b3c4",
- "amazon": {
- "package_name": "string"
}
}, - "indicative_price": {
- "object": "indicative_price",
- "currency": "USD",
- "country": "US",
- "amount_micros": "For 99.99, the value should be 99990000"
}, - "display_name": "Premium Monthly 2023"
}