@@ -629,7 +629,6 @@ paths:
629
629
type : paddle
630
630
paddle :
631
631
paddle_api_key : <Your Paddle API Key goes here>
632
- paddle_is_sandbox : true
633
632
responses :
634
633
' 201 ' :
635
634
description : Success. The app was created
@@ -1606,6 +1605,107 @@ paths:
1606
1605
' 503 ' :
1607
1606
$ref : ' #/components/responses/InternalError'
1608
1607
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'
1609
1709
/projects/{project_id}/products :
1610
1710
get :
1611
1711
summary : Get a list of products
@@ -5647,6 +5747,39 @@ components:
5647
5747
- ZM
5648
5748
- ZW
5649
5749
- 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
5650
5783
Currency :
5651
5784
type : string
5652
5785
description : ISO 4217 currency code
@@ -7257,8 +7390,14 @@ components:
7257
7390
minLength : 50
7258
7391
maxLength : 70
7259
7392
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
7262
7401
type : boolean
7263
7402
example : true
7264
7403
Paywall :
@@ -7869,6 +8008,41 @@ components:
7869
8008
required :
7870
8009
- object
7871
8010
- 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
7872
8046
StripeApp :
7873
8047
type : object
7874
8048
properties :
0 commit comments