Skip to content

Commit 64a639f

Browse files
[create-pull-request] automated change (#994)
Co-authored-by: polpielladev <[email protected]>
1 parent a9bc0ca commit 64a639f

File tree

2 files changed

+354
-6
lines changed

2 files changed

+354
-6
lines changed

openapi-spec/api-v2-beta.yaml

Lines changed: 177 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,6 @@ paths:
629629
type: paddle
630630
paddle:
631631
paddle_api_key: <Your Paddle API Key goes here>
632-
paddle_is_sandbox: true
633632
responses:
634633
'201':
635634
description: Success. The app was created
@@ -1606,6 +1605,107 @@ paths:
16061605
'503':
16071606
$ref: '#/components/responses/InternalError'
16081607
description: 'This endpoint requires the following permission(s): <code>project_configuration:products:read_write</code>.'
1608+
/projects/{project_id}/products/{product_id}/create_in_store:
1609+
post:
1610+
summary: Push a product to the store
1611+
description: "Push a product to the App Store. \n\n**For subscription products**:\
1612+
\ You must provide store information including duration and subscription group\
1613+
\ details.\n\n**For in-app purchase products** (consumable, non-consumable,\
1614+
\ non-renewing subscription): No request body is required.\n This endpoint\
1615+
\ requires the following permission(s): <code>project_configuration:products:read_write</code>."
1616+
operationId: create-product-in-store
1617+
x-revenuecat-rate-limiting-domain: project_configuration
1618+
x-scopes:
1619+
- project_configuration:products:read_write
1620+
x-release-status: public
1621+
tags:
1622+
- Product
1623+
parameters:
1624+
- name: project_id
1625+
description: ID of the project
1626+
required: true
1627+
in: path
1628+
schema:
1629+
type: string
1630+
maxLength: 255
1631+
example: proj1ab2c3d4
1632+
- name: product_id
1633+
description: ID of the product
1634+
required: true
1635+
in: path
1636+
schema:
1637+
type: string
1638+
minLength: 1
1639+
maxLength: 255
1640+
example: prod1a2b3c4d5
1641+
requestBody:
1642+
required: false
1643+
description: 'Store-specific information. Only required for subscription products.
1644+
1645+
For in-app purchase products, send an empty body or omit the request body
1646+
entirely.
1647+
1648+
'
1649+
content:
1650+
application/json:
1651+
schema:
1652+
type: object
1653+
properties:
1654+
store_information:
1655+
description: Store-specific information for creating the product
1656+
in the store
1657+
oneOf:
1658+
- $ref: '#/components/schemas/CreateAppStoreConnectSubscriptionInput'
1659+
- $ref: '#/components/schemas/CreateAppStoreConnectInAppPurchaseInput'
1660+
additionalProperties: false
1661+
examples:
1662+
App Store Subscription:
1663+
summary: Creating a subscription product
1664+
value:
1665+
store_information:
1666+
duration: ONE_MONTH
1667+
subscription_group_name: Premium Subscriptions
1668+
subscription_group_id: sub_group_123
1669+
App Store In-App Purchase:
1670+
summary: Creating an in-app purchase product (no body needed)
1671+
value: {}
1672+
responses:
1673+
'201':
1674+
description: Success. The product was pushed to the store
1675+
content:
1676+
application/json:
1677+
schema:
1678+
type: object
1679+
required:
1680+
- created_product
1681+
properties:
1682+
created_product:
1683+
$ref: '#/components/schemas/StoreProduct'
1684+
headers:
1685+
RevenueCat-Rate-Limit-Current-Usage:
1686+
$ref: '#/components/headers/RateLimitCurrentUsage'
1687+
RevenueCat-Rate-Limit-Current-Limit:
1688+
$ref: '#/components/headers/RateLimitCurrentLimit'
1689+
'400':
1690+
$ref: '#/components/responses/BadRequest'
1691+
'401':
1692+
$ref: '#/components/responses/Unauthorized'
1693+
'403':
1694+
$ref: '#/components/responses/Forbidden'
1695+
'404':
1696+
$ref: '#/components/responses/NotFound'
1697+
'409':
1698+
$ref: '#/components/responses/Conflict'
1699+
'422':
1700+
$ref: '#/components/responses/UnprocessableEntity'
1701+
'423':
1702+
$ref: '#/components/responses/Locked'
1703+
'429':
1704+
$ref: '#/components/responses/RateLimited'
1705+
'500':
1706+
$ref: '#/components/responses/InternalError'
1707+
'503':
1708+
$ref: '#/components/responses/InternalError'
16091709
/projects/{project_id}/products:
16101710
get:
16111711
summary: Get a list of products
@@ -5647,6 +5747,39 @@ components:
56475747
- ZM
56485748
- ZW
56495749
- AX
5750+
CreateAppStoreConnectInAppPurchaseInput:
5751+
type: object
5752+
properties: {}
5753+
additionalProperties: false
5754+
description: In-app purchase products do not require any additional information
5755+
CreateAppStoreConnectSubscriptionInput:
5756+
type: object
5757+
required:
5758+
- duration
5759+
- subscription_group_name
5760+
properties:
5761+
duration:
5762+
type: string
5763+
enum:
5764+
- ONE_WEEK
5765+
- ONE_MONTH
5766+
- TWO_MONTHS
5767+
- THREE_MONTHS
5768+
- SIX_MONTHS
5769+
- ONE_YEAR
5770+
description: The subscription duration period
5771+
subscription_group_name:
5772+
type: string
5773+
minLength: 1
5774+
maxLength: 255
5775+
description: The name of the subscription group
5776+
subscription_group_id:
5777+
type: string
5778+
nullable: true
5779+
minLength: 1
5780+
maxLength: 255
5781+
description: The ID of the subscription group (optional)
5782+
additionalProperties: false
56505783
Currency:
56515784
type: string
56525785
description: ISO 4217 currency code
@@ -7257,8 +7390,14 @@ components:
72577390
minLength: 50
72587391
maxLength: 70
72597392
paddle_is_sandbox:
7260-
description: Whether the app is tied to the sandbox environment.
7261-
nullable: false
7393+
description: '[Deprecated] Whether the app is tied to the sandbox environment.
7394+
7395+
This field is deprecated and will be removed in the future.
7396+
7397+
The environment is determined by the `paddle_api_key` format.
7398+
7399+
'
7400+
nullable: true
72627401
type: boolean
72637402
example: true
72647403
Paywall:
@@ -7869,6 +8008,41 @@ components:
78698008
required:
78708009
- object
78718010
- contents
8011+
StoreProduct:
8012+
type: object
8013+
required:
8014+
- id
8015+
- product_identifier
8016+
- object
8017+
properties:
8018+
object:
8019+
description: String representing the object's type. Objects of the same
8020+
type share the same value.
8021+
enum:
8022+
- store_product
8023+
type: string
8024+
id:
8025+
description: The unique identifier of the product in the store (e.g., App
8026+
Store Connect product ID)
8027+
nullable: false
8028+
type: string
8029+
minLength: 1
8030+
maxLength: 255
8031+
example: 1234567890
8032+
name:
8033+
description: The name of the store product
8034+
nullable: true
8035+
type: string
8036+
minLength: 1
8037+
maxLength: 255
8038+
example: Premium Monthly Subscription
8039+
product_identifier:
8040+
description: The product identifier used in the store
8041+
nullable: false
8042+
type: string
8043+
minLength: 1
8044+
maxLength: 255
8045+
example: com.example.premium_monthly
78728046
StripeApp:
78738047
type: object
78748048
properties:

0 commit comments

Comments
 (0)