diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 1d78befe..b644cfb8 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,23 +1,23 @@ lockVersion: 2.0.0 id: bd003db9-613a-4093-838e-6d19bf5f76d7 management: - docChecksum: 45f975f32ef350d8f3f34fe5af95de85 + docChecksum: 94d469a53945f50c6156f54dab3e831f docVersion: 0.1.0 - speakeasyVersion: 1.761.1 - generationVersion: 2.879.6 - releaseVersion: 0.10.0 - configChecksum: 367388e48873076441846c9f22829d79 + speakeasyVersion: 1.770.0 + generationVersion: 2.893.0 + releaseVersion: 0.10.1 + configChecksum: 62bcd265d1a0de508fed77c798384a42 repoURL: https://github.com/polarsource/polar-php.git installationURL: https://github.com/polarsource/polar-php.git published: true persistentEdits: - generation_id: 2febf1ab-50dc-484e-ab1a-045b061de13e - pristine_commit_hash: 068f4747b2f4f7dd1f3a7e8877add71bf471df4e - pristine_tree_hash: 4743ca0f3d52ea5aee536daf066156cae89cbc0e + generation_id: e2197af0-6736-44da-b6ec-fa7358ea66e9 + pristine_commit_hash: 1425f9a6b97b6330a600733361b7754274caa37c + pristine_tree_hash: 2dad66c66004c7e689c23f6e8be2487c53a456f9 features: php: constsAndDefaults: 0.2.2 - core: 3.9.22 + core: 3.9.23 deprecations: 2.81.1 enums: 2.82.0 errorUnions: 0.1.0 @@ -42,12 +42,12 @@ trackedFiles: pristine_git_object: e672f6ec6e8fb43d8886a12d531eb19ee8aaf881 USAGE.md: id: 3aed33ce6e6f - last_write_checksum: sha1:19fc4caae9f640c6e3f0d4728a52201aecd97563 - pristine_git_object: 5e8264b9b5424dbdcc0ac4d936ea93f035f0c147 + last_write_checksum: sha1:c6bd2a9273d861e24ad19ec8b323267b7630fe0f + pristine_git_object: f2939364ff5157d6e34c0e8a95ee22cd75f07a64 composer.json: id: 3957b91a0d84 - last_write_checksum: sha1:04f2e0bac3a61b2ec37b7a3101019a97e1d5ee80 - pristine_git_object: d5b75f4f8c066ce8200622873e6ffa51c5eaf723 + last_write_checksum: sha1:85830ca2e477358ce86c4012a43b25f9257ee0f2 + pristine_git_object: 940ea46d86159d16ec07e149cb93628959162aa6 config/services.php: id: 67cde7ebf0c8 last_write_checksum: sha1:13c6a680109cf9850bc3bc1c83559f968ed3bbc0 @@ -92,6 +92,10 @@ trackedFiles: id: 468ddbb4b17c last_write_checksum: sha1:00d27e1cc955c914cf4440eee72409ebb4d84241 pristine_git_object: cd25984ea3730fb2ec58bccf2614a9b93268af1a + docs/Models/Components/AnnualRecurringRevenue.md: + id: eece6a9ee262 + last_write_checksum: sha1:c3c765b7ae1d22dc4905f1c55ff05ccda43dd20e + pristine_git_object: b557ac002ed338099f33dd7504fff9b337d95ae9 docs/Models/Components/AttachedCustomField.md: id: 692e080e9e34 last_write_checksum: sha1:815d04ac6244e73de3ca9c757a79c31bc57290a0 @@ -132,14 +136,18 @@ trackedFiles: id: 5659ba855ee8 last_write_checksum: sha1:8ef719eb82cc4bde1b03a6189a593cb81f9662bd pristine_git_object: b5eb9e8fb22e12b3ca82377edae3b0f7d6b71173 + docs/Models/Components/AverageSeatsPerCustomer.md: + id: cd7c0fff922f + last_write_checksum: sha1:af01be2cf0b67a24c496a8e196a4fb6a19bfa9ca + pristine_git_object: a42a709d939266be67a1b4b8117c18e241ab7b3c docs/Models/Components/BalanceCreditOrderEvent.md: id: da4bd3f79331 last_write_checksum: sha1:41db486ec2863ed70d09af1edcddc69a25f29dce pristine_git_object: 7a78b5849bae92cbdd12f5bb97371f29ce052e3a docs/Models/Components/BalanceCreditOrderMetadata.md: id: 786c6f8c5015 - last_write_checksum: sha1:d6966bf50f780c5e07f41aa79ed21d36f44cb905 - pristine_git_object: ec8cf5b13bce537659e144456d40aa8e95437e45 + last_write_checksum: sha1:3322e9fe9c079c0678ef83c92cad4a79bf26b998 + pristine_git_object: fce3c128343a4f393c0b8cb436141ad197b8fb3f docs/Models/Components/BalanceDisputeEvent.md: id: 3c2d38e8cf28 last_write_checksum: sha1:80540ae724115cd5a7214c3f64028f519e321553 @@ -182,8 +190,8 @@ trackedFiles: pristine_git_object: 7f6aad9a1e196b2f7c9c9bfe5f8e91d160d54936 docs/Models/Components/BenefitCustom.md: id: dd4d7ff7fc06 - last_write_checksum: sha1:30ff9f998e4be2e651720a0ab4c7b8f12f7e97b5 - pristine_git_object: 100eb7ba2933f997346a9a1c8e0514303a63fff2 + last_write_checksum: sha1:4eb6172072ff04eb1a595fd10efbf50fd81eca11 + pristine_git_object: 853e00c2b3cfef21feb7088df5a81a68d16f1834 docs/Models/Components/BenefitCustomCreate.md: id: b550b66d4241 last_write_checksum: sha1:e576ff2aa871afd234e4a5904e5d9afcd9184d57 @@ -202,8 +210,8 @@ trackedFiles: pristine_git_object: a19935aaf9d13bbcb09897414b9c3b8f80ade588 docs/Models/Components/BenefitCustomSubscriber.md: id: e6ec61e3265d - last_write_checksum: sha1:5d82e84402996a3dfa8abd795f406c12fdc16055 - pristine_git_object: 52c78ee81aac3e0452efaa78c07f424d8e272f80 + last_write_checksum: sha1:24565b386d5b25776b7bac49aa4ae79669820f71 + pristine_git_object: c74ca5aa34b337357e5632ad75cc67c3869fb375 docs/Models/Components/BenefitCustomSubscriberProperties.md: id: 410c4d7bdff9 last_write_checksum: sha1:a493ee9ce2936f35397441e3b612e402c9c91199 @@ -222,8 +230,8 @@ trackedFiles: pristine_git_object: 142b838219ee2b77b664c5e1afc3999424cdfd45 docs/Models/Components/BenefitDiscord.md: id: 98c86ef37e4b - last_write_checksum: sha1:8aca400658a048f177896969f15a89e605a573c3 - pristine_git_object: a926033fb3a51b7b07d415d32df06896f8401566 + last_write_checksum: sha1:697cbff9e1a6b5523b7d0debbc71ec14a92697b6 + pristine_git_object: 95618ae372cb2bedd83fec8acb29a5d038dbabbb docs/Models/Components/BenefitDiscordCreate.md: id: 76800683bad6 last_write_checksum: sha1:c7d40324b5ba95b87e813e21a4ff9022ba0b1bf0 @@ -242,8 +250,8 @@ trackedFiles: pristine_git_object: 5a94aef82d93e7290bce5992d81ddc49629d00da docs/Models/Components/BenefitDiscordSubscriber.md: id: 82495211183a - last_write_checksum: sha1:2e63653e1d58c89b8bced3f7c8af73f84808223d - pristine_git_object: bcb7c58576a5ed857d421940e2b2551edd6ea2d8 + last_write_checksum: sha1:166025aba12f5f14c98a3a2eed349b59ad5f0b93 + pristine_git_object: 470f2a8afce4c242337a2f1c715664f1b729ace9 docs/Models/Components/BenefitDiscordSubscriberProperties.md: id: e7d96867f131 last_write_checksum: sha1:5c2c36d86ad7e7309440927e12f23c473755478a @@ -258,8 +266,8 @@ trackedFiles: pristine_git_object: 59e8dd0b80aa30e343a8f53cd949dfdcd444b897 docs/Models/Components/BenefitDownloadables.md: id: ac4f9f7de40b - last_write_checksum: sha1:f2294bc09ad6d4191649ffaea3715f5db9943006 - pristine_git_object: 7533ea9c04896d8722107e1f2e1d2fa344cdc6de + last_write_checksum: sha1:8c0053244900221b3920a4230402a32e14e83380 + pristine_git_object: 1435e105db54899ae0b16cbc94320106f87a1645 docs/Models/Components/BenefitDownloadablesCreate.md: id: b1173d7ae139 last_write_checksum: sha1:fb120bba814e3dc89c0e3d9a22952cdbea30fe54 @@ -278,8 +286,8 @@ trackedFiles: pristine_git_object: 90b21b50477a21550b586ba5b7c41c765968df6d docs/Models/Components/BenefitDownloadablesSubscriber.md: id: 7ef8b0db2de8 - last_write_checksum: sha1:ab863326e4a8167a5a9eb5220c20e3e07802e7d2 - pristine_git_object: 7f30ec2f0bccef568c53880c11b2f60550c0f7d1 + last_write_checksum: sha1:5e54a963ba3edf0f805c7277a0a7d54a0aadde5a + pristine_git_object: 771f7e360523b152de3a2de1cdeb0bf1bc4ce380 docs/Models/Components/BenefitDownloadablesSubscriberProperties.md: id: ae9869550bba last_write_checksum: sha1:02f580d191bacb430cf223bef12955c8d3d5a7e7 @@ -294,8 +302,8 @@ trackedFiles: pristine_git_object: 4a012cba76cc8be53e1b94a1b2372475feba0aae docs/Models/Components/BenefitFeatureFlag.md: id: d91aa48d0506 - last_write_checksum: sha1:9b3bc51e7d89d2851e12543cacb60cd52fb55325 - pristine_git_object: 598415829a971facc85de164a9dad5d4a6b24e8f + last_write_checksum: sha1:5ef808c61808e4c92156b81707b126d4ebc7625f + pristine_git_object: 4af977256738740e05a0619d1a3804468119da92 docs/Models/Components/BenefitFeatureFlagCreate.md: id: 0c69ea921d6e last_write_checksum: sha1:f85b139e037d8472569c7adbb0421350139314ec @@ -314,8 +322,8 @@ trackedFiles: pristine_git_object: beb97c92ae668a5d3801897c6c9d97714f781e93 docs/Models/Components/BenefitFeatureFlagSubscriber.md: id: 6adbed460c94 - last_write_checksum: sha1:c94c5513e9589254c3be0fcdd381bcb59301ed68 - pristine_git_object: ed8c8cbd14b1b7c032bcd23bdcaf6f2004ce17e1 + last_write_checksum: sha1:78f3c65b12e0e99390fa8c51f1b01e6ff4dca29f + pristine_git_object: 61ed46bfcddd72916a8593ad47db2d9ebf67228e docs/Models/Components/BenefitFeatureFlagSubscriberProperties.md: id: 4ab96510971a last_write_checksum: sha1:63a0ec1730a4280a3811a470f961d0dc0eeb5224 @@ -330,8 +338,8 @@ trackedFiles: pristine_git_object: f408b7d0a2255b3d38a73bb0fe471e70d9d3b67d docs/Models/Components/BenefitGitHubRepository.md: id: 4200bf0d31e0 - last_write_checksum: sha1:a54b7e1eec04f6a36327e9f58cbc721b3a0d8ccf - pristine_git_object: ea6a9f9325f14f15cfdf15fd8db3a104436739eb + last_write_checksum: sha1:14b157b4e2103b0280b623b3a68dfcbc0da64c65 + pristine_git_object: c039ee6fc16315d720561b780762f32582148e5e docs/Models/Components/BenefitGitHubRepositoryCreate.md: id: 9ed5045c87d8 last_write_checksum: sha1:428f68b3236b82fcef7708929ff3e223b9b63ef6 @@ -354,8 +362,8 @@ trackedFiles: pristine_git_object: e4fe3f79f7a9f98b7a1920b1d5e723293205f72f docs/Models/Components/BenefitGitHubRepositorySubscriber.md: id: df0c723537ff - last_write_checksum: sha1:eba92275d0dc4a8ad490095739b1a1c04a307bcd - pristine_git_object: f3662dd6425d7ee53abe69833d46a4c0483bb334 + last_write_checksum: sha1:2ee3c0a50f8d2806a71af519dcc9c95594cfbe38 + pristine_git_object: 97638b9169613c2bdce7a4422f0726a492286ad0 docs/Models/Components/BenefitGitHubRepositorySubscriberProperties.md: id: c73b499e8fb8 last_write_checksum: sha1:42efe7f0a8a7cbf0088522d30d98080278bd95fb @@ -466,8 +474,8 @@ trackedFiles: pristine_git_object: ef9be0cc2210f34fc693b6d325048b7010b5166d docs/Models/Components/BenefitLicenseKeys.md: id: b29c55e0b902 - last_write_checksum: sha1:5ecad8d9e991ae5d72cd9e44daadffc8d66c2ecd - pristine_git_object: ef4489394915e6cb9d31f2b02adf292a87873976 + last_write_checksum: sha1:7b6e2c88fe3f8eded86e87b7e8f90e3914887b91 + pristine_git_object: 09bb0d6a09d1d6ffaf4751bdabdd92fc4ec95656 docs/Models/Components/BenefitLicenseKeysCreate.md: id: 27645e9d292b last_write_checksum: sha1:442ef094e5eb23d65a396ed1afc20ef901d4dd23 @@ -486,8 +494,8 @@ trackedFiles: pristine_git_object: 6be72f33679313e5fbd1873ad2c82c646d78ce69 docs/Models/Components/BenefitLicenseKeysSubscriber.md: id: 9c136a940ab3 - last_write_checksum: sha1:4b5fe43555c65c18452adb3cd90dfbdf58fc2336 - pristine_git_object: 2647a490b70b652c03da91f36fc25875202003e3 + last_write_checksum: sha1:8c60dbac23532dc62b133a535d0f4a1e45cf12d6 + pristine_git_object: af515586e619d8fb599f392bbf928cb9a675a235 docs/Models/Components/BenefitLicenseKeysSubscriberProperties.md: id: e99d655bd527 last_write_checksum: sha1:ba3294b6dd5470309d3223b285e3d69b1f6d4435 @@ -502,8 +510,8 @@ trackedFiles: pristine_git_object: 8d814e325656d1ff84f920553b7b382f4455698a docs/Models/Components/BenefitMeterCredit.md: id: 46347839ffea - last_write_checksum: sha1:4074d786a3b18547ffc8451570996baf35aea734 - pristine_git_object: 424c8f65c14d4d62a4cc63819c15ee2270917dde + last_write_checksum: sha1:228c0dbcff8d90fedcbc4716064d63738ae8de6a + pristine_git_object: 33052d31d8e6e97f8ca06704299039c1e3b2facf docs/Models/Components/BenefitMeterCreditCreate.md: id: a7aee7e39956 last_write_checksum: sha1:abaf0acd027bdff55482c30dfdb9299be5acdb32 @@ -522,8 +530,8 @@ trackedFiles: pristine_git_object: b95641565251537693e3ead5c2a30e62af7433d8 docs/Models/Components/BenefitMeterCreditSubscriber.md: id: f467db44657e - last_write_checksum: sha1:167560d0092f94160f8beef45b89af3cdeaa6135 - pristine_git_object: 50013c036c9839dc67a2e77b012c615f5a443dc5 + last_write_checksum: sha1:d639d2fab69ab80f18614b58fcf728e78db5ced8 + pristine_git_object: bd631d4a7a57c384839e5d603e2776a15dd2304c docs/Models/Components/BenefitMeterCreditSubscriberProperties.md: id: 171156849f71 last_write_checksum: sha1:de29e60003ba0ad915773357aa1e538532df5cc8 @@ -538,8 +546,8 @@ trackedFiles: pristine_git_object: 451413b5f0873d4be335720d3ea5f06b0ac30d2d docs/Models/Components/BenefitPublic.md: id: 7eba7bb64198 - last_write_checksum: sha1:d47ff2918a7eff6eee8674b75987d13354913c65 - pristine_git_object: 06ef5997d52969f9a9073a6662c72bd73a1a97f6 + last_write_checksum: sha1:49ed416afad29b1e0c931db08a398799306fd670 + pristine_git_object: 5267830bc309873199dca465dd6731dc624aa5b7 docs/Models/Components/BenefitRevokedEvent.md: id: d5be7c55b988 last_write_checksum: sha1:352931d8980f3fbc005242f6ddb71b883b228a9a @@ -614,8 +622,8 @@ trackedFiles: pristine_git_object: 80002134f32862953e835da7c8f39894226f503e docs/Models/Components/Checkout.md: id: 05bcc2e1cb3c - last_write_checksum: sha1:0f2cec11d06d9fa72efa003145dbc2c92bf6e2b4 - pristine_git_object: 7650fb92d37deee3a90be8653a192ceaa97cb601 + last_write_checksum: sha1:252ea6122dfa234902428c64bd94c3fc48ace23d + pristine_git_object: 3454feedb3ae8da8653cface2073adeee3a8f575 docs/Models/Components/CheckoutBillingAddressFields.md: id: 4a3fbbd52379 last_write_checksum: sha1:3fb00f05e47654e5ede73838178b805918732fbd @@ -758,12 +766,12 @@ trackedFiles: pristine_git_object: 0f83fbfebe04bab5d3f59dcf81f4d58cf2f6e30c docs/Models/Components/CheckoutPublic.md: id: 48b3fbb1f088 - last_write_checksum: sha1:8d167fb5eef2f1994d4a051a840fd2d88b9548da - pristine_git_object: 32c79c39e0951095b2395a04f9a83b226373983c + last_write_checksum: sha1:4c12fc4bc40ea5f0fe5088552b281bcff825e87b + pristine_git_object: c2be25db57d45f731adb6df1f077db1ca206c76b docs/Models/Components/CheckoutPublicConfirmed.md: id: 7e92bfb4ea90 - last_write_checksum: sha1:5ae73881c8ddc1a3648251a4f3f060f51c59356b - pristine_git_object: 8642f4c438039db2c04933a6256e2e1cb1ece2de + last_write_checksum: sha1:2df8c30f44da030463dd91702d7962b8543692c7 + pristine_git_object: 6ca01108ef8f8b897695d1425b9bde79827c7095 docs/Models/Components/CheckoutPublicConfirmedCustomFieldData.md: id: c4b78f614a94 last_write_checksum: sha1:aabf9f24e2d65efddbcf0faf34cb2589da779e61 @@ -840,6 +848,10 @@ trackedFiles: id: e4bda1d0876b last_write_checksum: sha1:dc2ef8d40e41be1e7acadeccf86e8f5e9f97eb84 pristine_git_object: b8d2ec0df7170b28b085c9c81fcb42539e33dc63 + docs/Models/Components/ChurnedSeatCustomers.md: + id: dd73cc91186a + last_write_checksum: sha1:3d25f01a64cb637f94ee2dfd78cf8d26348bfe35 + pristine_git_object: aeb8e16bd022fa117e3c843b1272f1f3ef737d58 docs/Models/Components/ChurnedSubscriptions.md: id: a58d4b4665f1 last_write_checksum: sha1:beb21f7ee0af3de829a6bd2cc8793f59fbbccaa6 @@ -848,6 +860,10 @@ trackedFiles: id: 2b564960904d last_write_checksum: sha1:eaa4cf157b2800ea4e0f6b8e7a024e8a52e2f459 pristine_git_object: e55904bfed55201bb604a53a667a50d46848e5d9 + docs/Models/Components/CommittedAnnualRecurringRevenue.md: + id: 08b968c4c535 + last_write_checksum: sha1:76ca2b84cabbb58adff7b22c85246731bace00f2 + pristine_git_object: 79320e57a9448530fe9dd6de28329a92902ac8e0 docs/Models/Components/CommittedMonthlyRecurringRevenue.md: id: 796eb0adb04f last_write_checksum: sha1:6b9768ff67b0d43c6094f0ecf0f5468328ebf9e4 @@ -1176,10 +1192,22 @@ trackedFiles: id: 09a300e3fa96 last_write_checksum: sha1:f11528ed418d4b60448cac09aae228c13dfab854 pristine_git_object: 9ab7be8a9851af1724bb138e70a1b9e13ad7c00c + docs/Models/Components/CustomerEmailUpdateRequest.md: + id: f81b1f572f95 + last_write_checksum: sha1:3dd74a946cd18831848c6cf0c593746994a1ffa9 + pristine_git_object: 9d09dcc8c03d729d6738d226a4bd2f7bb5aa5e99 + docs/Models/Components/CustomerEmailUpdateVerifyRequest.md: + id: 7785b2e0707f + last_write_checksum: sha1:a68f8fc60f725d1f1d3d622f6a512dc18e98e956 + pristine_git_object: c80ba0ab461041cb06f589dab9eecbdb70fb9f6a + docs/Models/Components/CustomerEmailUpdateVerifyResponse.md: + id: e964f8af8203 + last_write_checksum: sha1:f73060ad79bcfd3a2d84775c963121748610d9a7 + pristine_git_object: 6f8492053bcf29d1a3d2b08c1b2c4ec9243af496 docs/Models/Components/CustomerIndividual.md: id: 0fcf2ea72490 - last_write_checksum: sha1:b6748634ed848273f97391cf2e2b01017ae5c74d - pristine_git_object: a76c33453a9eb7133e2ba207434ec899dfdb95de + last_write_checksum: sha1:0d94730424d56b7ec582ed2c72bb7f4216e29c76 + pristine_git_object: 9c400f864b683bf635ecd87a7aa2ba7b8d825fcc docs/Models/Components/CustomerIndividualCreate.md: id: 4810dfc3d38b last_write_checksum: sha1:84225a45813235abfdd35e1fc41dbc1e1fd83c56 @@ -1206,8 +1234,8 @@ trackedFiles: pristine_git_object: a4a8194633887374e1d05dd23a5bec9f62ca2bb3 docs/Models/Components/CustomerOrder.md: id: 158fffe6d2b8 - last_write_checksum: sha1:c5412e4bee90aa4429b453a0ef9a541f9c37a6e6 - pristine_git_object: 50800a55ce53fbb22b5779e40640ad08ccd2c743 + last_write_checksum: sha1:23bd6241f26c6d296f818066aaddf3be20ee8d1c + pristine_git_object: 36a6768f770b0d98b4270caa127721a9985117d2 docs/Models/Components/CustomerOrderConfirmPayment.md: id: 2f9db8c69390 last_write_checksum: sha1:d3f25d0aebd3bb140e86071bbc072783d61558d9 @@ -1232,6 +1260,10 @@ trackedFiles: id: 7db971641593 last_write_checksum: sha1:275157dc0bfa10f83cef00bdfd0e53a67a70c919 pristine_git_object: ee4e59d386430649211bfec85534a1fe02fe7315 + docs/Models/Components/CustomerOrderReceipt.md: + id: c2d1f32da010 + last_write_checksum: sha1:4123de6900d1cbdb9650d8123e900bb5058767da + pristine_git_object: ed39035a6666a68bcf63a38c32d30d4d3979fc3a docs/Models/Components/CustomerOrderSortProperty.md: id: 23ed6d292a40 last_write_checksum: sha1:0db033ba7b08a166b068b6b37f27071f5622abe9 @@ -1260,6 +1292,10 @@ trackedFiles: id: 322781499c68 last_write_checksum: sha1:b91ddd7a5999b1b2d6da84fb69c472145b3f3a0d pristine_git_object: 52b5ad12d4dcd91f91aec02203ee9e9163e0abfb + docs/Models/Components/CustomerPaymentMethodCard.md: + id: 2460616de525 + last_write_checksum: sha1:d77e15642db87a4b076569ed0d31f9d05e82001e + pristine_git_object: 19eddf7bf3db4efb4b146d5cd30d02e6b11a109d docs/Models/Components/CustomerPaymentMethodConfirm.md: id: 57d3c5d25d7b last_write_checksum: sha1:d4c3e483a59f29ddf95262efe62fcc866f36f4ff @@ -1280,18 +1316,26 @@ trackedFiles: id: 6fc0a59f6ab9 last_write_checksum: sha1:50d684fd2e26ed49ed6911c104efcc6185238e1b pristine_git_object: a57deb64f8453ed0925e6a6d0392d90586b92bf8 + docs/Models/Components/CustomerPaymentMethodGeneric.md: + id: 1aa93f34e2ba + last_write_checksum: sha1:12560399505964fd89a93c90ede9a4983f09b4cb + pristine_git_object: 9d51cc13c564b3bc765eeb806b04722f0c247138 docs/Models/Components/CustomerPortalCustomer.md: id: df4d5b2afea1 last_write_checksum: sha1:d7436f3ad4d25baa1b595073bd7cb10e61148726 pristine_git_object: f3eeb1f9f41967a0d49f18f88bb21a325ac32990 + docs/Models/Components/CustomerPortalCustomerSettings.md: + id: a3e153a4b8e0 + last_write_checksum: sha1:c25a326f0ba2f4f07b0dc266b2fc4b4f716ec2c3 + pristine_git_object: f645619b9656e9950b8c97278e1498440abc21ba docs/Models/Components/CustomerPortalCustomerTaxId.md: id: 493fcdda8720 last_write_checksum: sha1:65c258007fda4cfafae0db4248ff6c43a8932f0e pristine_git_object: 36d7669025e81aaf4e34b3decde4951e4b591012 docs/Models/Components/CustomerPortalCustomerUpdate.md: id: "355882097297" - last_write_checksum: sha1:98fb62b5acc76389ba663a1d9c864e9f6777b7ff - pristine_git_object: ce0e5ca3d1eb79ce44cafc433b17a57a6c543bcd + last_write_checksum: sha1:c6f6eccf28f8b644e0815d3d0ba5ab61da6714ef + pristine_git_object: 223870bc156f86a43a477987e8ce6e31a8b6a704 docs/Models/Components/CustomerPortalMember.md: id: afb770207186 last_write_checksum: sha1:f0daef74623d74813ddcad17bf008104fd4bb77b @@ -1328,6 +1372,10 @@ trackedFiles: id: 274d06af5584 last_write_checksum: sha1:6e51968b6540662832a1de1e3f50bc1b9423af54 pristine_git_object: f161e3b7f95e60ae16c3b9001a45fd1246a2ae7d + docs/Models/Components/CustomerSeatAssign.md: + id: b36b39625f39 + last_write_checksum: sha1:8c5a53419d2e90918e290afc446332f2610f3668 + pristine_git_object: 09affa1494ff6a8125ee5a853e12b21e12a7c5aa docs/Models/Components/CustomerSeatClaimResponse.md: id: 7f5b10d25933 last_write_checksum: sha1:d7b11d3f25a5573f626b51d55a88bc60ef2aef16 @@ -1362,8 +1410,8 @@ trackedFiles: pristine_git_object: a78e0e2e1b90e63a45a5eb88665bd25ed27d68e4 docs/Models/Components/CustomerStateIndividual.md: id: 9605e6643e24 - last_write_checksum: sha1:0f062da40c145ee0dd792524c11887398bd4e50f - pristine_git_object: ef7aca856a8bef593ecb03892a25c35d2a0444e4 + last_write_checksum: sha1:a0a074260b1e57720bd6db4676df43dd69fd0e82 + pristine_git_object: 28408dcbff94781755433a1b2f1b4fa5bad05fad docs/Models/Components/CustomerStateIndividualTaxId.md: id: a229000d41e5 last_write_checksum: sha1:3ba6e849bfb40fb306ea1caf4d577676ddbfc126 @@ -1386,8 +1434,8 @@ trackedFiles: pristine_git_object: a1329e4408317c4337c9784db5d802916ea81340 docs/Models/Components/CustomerStateTeam.md: id: feab1f2b296e - last_write_checksum: sha1:580f0e42f96ea6794fafcc096e24f913fda05855 - pristine_git_object: 18c99a92c67e8cef93b0728e2acbfdf854674d1b + last_write_checksum: sha1:07ae0d93587c7bb537102effdcab2fbf65bd8865 + pristine_git_object: 8fc4c600c88b5ddae015de9bf35194d4daf6251a docs/Models/Components/CustomerStateTeamTaxId.md: id: 807b6a1b89dc last_write_checksum: sha1:f065dcd6d8a6f870beb8484be229fe8cbe639b35 @@ -1426,8 +1474,12 @@ trackedFiles: pristine_git_object: 1574fbfcede521c218d4625b3f88b24d1da664fb docs/Models/Components/CustomerSubscriptionUpdate.md: id: a5aa18571a25 - last_write_checksum: sha1:3797be48bd4dab819226405a09a23e326dc3048f - pristine_git_object: 2d9834927bd997d83d77ccda1f60d46f35730d8a + last_write_checksum: sha1:e9891d338127716a017a19ee657132e68e5119bc + pristine_git_object: 059cc9e4662841a7b83ee9bb142569babfdf65d1 + docs/Models/Components/CustomerSubscriptionUpdateClear.md: + id: 11fb731a2c6a + last_write_checksum: sha1:27151b87942949a584103ea1ba2513f24cb6fc87 + pristine_git_object: e9bf99929254842ed9e9eba4d84b755bbdec2c1d docs/Models/Components/CustomerSubscriptionUpdateProduct.md: id: fd39651c3ee4 last_write_checksum: sha1:ab5c5551730bbe02c119c5df01a7ce082b2f4aef @@ -1438,8 +1490,8 @@ trackedFiles: pristine_git_object: 8038e0a51c5e5b2fb6b1402929716baaa03d35fc docs/Models/Components/CustomerTeam.md: id: 429f881922dc - last_write_checksum: sha1:30910ecdef2d27b99d0bcbaa7596e597d6d4865c - pristine_git_object: 3936d369dcdcf0298dfb5d4fb6351097292f9235 + last_write_checksum: sha1:8f953418b7b4978fd74f67bb33e5ad33280ddd4a + pristine_git_object: f62484bbf041aa200119838ef66f2c55fe9fe7b3 docs/Models/Components/CustomerTeamCreate.md: id: e5521f13eae6 last_write_checksum: sha1:9f9bc2d3a268851f2f2a52e00033108ca670f173 @@ -1502,12 +1554,20 @@ trackedFiles: pristine_git_object: 4853b0918f5481d6933bc8910464172ce298cc95 docs/Models/Components/DiscountCreate.md: id: 56ddbfcd45de - last_write_checksum: sha1:acfa222c5c2e524518c6bccab315b283d126fb3d - pristine_git_object: 8b859ee216b9d2d5acb337fb77ebf83555c5fe55 + last_write_checksum: sha1:59adf85a8d84ac4bcccc4abc55b933e794aa8049 + pristine_git_object: c4015693e2146b441b5f9e362636722c33fd43d1 docs/Models/Components/DiscountDuration.md: id: b60ec9b9cc2f last_write_checksum: sha1:1639d49d94be95bcac6d95ea4291894ba3d71105 pristine_git_object: 23f33696befb5c142f9ba62712a652dc88275589 + docs/Models/Components/DiscountFixedCreate.md: + id: 52ca5623f6ad + last_write_checksum: sha1:5afc9b33110b6a32efbe1a97962fdc606a67ec1e + pristine_git_object: 44e59ea359412ac83987561327bd95aeb6608b19 + docs/Models/Components/DiscountFixedCreateMetadata.md: + id: f6ddb23fb38c + last_write_checksum: sha1:0cc85ef99d544d2ecd4d1eb617f232b9b93b8c7b + pristine_git_object: abedf2ed44d70b6f3bca22e6234566d636d73901 docs/Models/Components/DiscountFixedOnceForeverDuration.md: id: d475119d809e last_write_checksum: sha1:ce732395cf39e75f9a073d23a7aa1ec5e77270d9 @@ -1516,14 +1576,6 @@ trackedFiles: id: deef2964c9ec last_write_checksum: sha1:47958c1dbb025892ef4e0de61f8c05154e2d502f pristine_git_object: df17877677e97d8dabdcb80de2364acf06f558f1 - docs/Models/Components/DiscountFixedOnceForeverDurationCreate.md: - id: 4d94fc49fe7d - last_write_checksum: sha1:2c7119e05c9cb5db2bab5d5b8e5db361294e7f50 - pristine_git_object: 284d41b0d44323190408154b52d29cb30a610e78 - docs/Models/Components/DiscountFixedOnceForeverDurationCreateMetadata.md: - id: 8d32042bcf87 - last_write_checksum: sha1:32530df503634fa618a636dc695544f7a3e9c272 - pristine_git_object: 80c886410845bbc054a399af2b22267c417ca7fd docs/Models/Components/DiscountFixedRepeatDuration.md: id: 2f697e6f4069 last_write_checksum: sha1:bde3a6471d37829eb182930202cb0d8ff408446b @@ -1532,14 +1584,14 @@ trackedFiles: id: c66ccdd2606c last_write_checksum: sha1:3e76fdc0f1c7459dffe1c245b01b27cfc38b6a45 pristine_git_object: 11f95744ad84b59b5cf4aec38e1a498d3c30ef7b - docs/Models/Components/DiscountFixedRepeatDurationCreate.md: - id: 676ffe32d2c0 - last_write_checksum: sha1:470254fff18f379a69abf6d10f4054595ffb90d5 - pristine_git_object: d0f0cd179305b59e99e4fdac985d1f64c64b7adf - docs/Models/Components/DiscountFixedRepeatDurationCreateMetadata.md: - id: cb6cab3b40aa - last_write_checksum: sha1:f53da45a75b09bb4acfff02570b645cd3f2ea87d - pristine_git_object: 9cebea9fb9bc23293631f1c880aa0cf0b4d0e7b1 + docs/Models/Components/DiscountPercentageCreate.md: + id: 23d63f5dfcf3 + last_write_checksum: sha1:6494d84b7666868284f5e1d36fd739caba039a93 + pristine_git_object: 55fc91673ed51c0aa7b98a346ca0d19c7db43ead + docs/Models/Components/DiscountPercentageCreateMetadata.md: + id: 812af1e401e1 + last_write_checksum: sha1:b6fd334c516fef2ed678e8019e69b84f0db0d1ee + pristine_git_object: 0d3a8a7389ac6318cd2b91163f410abadfd1b44a docs/Models/Components/DiscountPercentageOnceForeverDuration.md: id: 3aa013b1789f last_write_checksum: sha1:75cc2100830b2cee02d53096417c886c73b542c2 @@ -1548,14 +1600,6 @@ trackedFiles: id: e59fad8588fd last_write_checksum: sha1:5921837f20a5954709550b0f181fe7aa94dc309d pristine_git_object: 027146184f041a26bf2b7799dc5b722f38bab934 - docs/Models/Components/DiscountPercentageOnceForeverDurationCreate.md: - id: 5b9d4273604f - last_write_checksum: sha1:36ac32a7315bebcf6d36fa36e388026c6c5a27b3 - pristine_git_object: a9bc79e98b97c698f2cdde97f1a33fa4cf6040e0 - docs/Models/Components/DiscountPercentageOnceForeverDurationCreateMetadata.md: - id: 47900884adab - last_write_checksum: sha1:91fa1ba4471a66d346445a0e715130115acec0db - pristine_git_object: f41e2bd058d9463579ee98d483cbd3b979293f01 docs/Models/Components/DiscountPercentageRepeatDuration.md: id: 4ba9138ab196 last_write_checksum: sha1:0b7a489c769eae0ee0c60d52e2d0fc0d0ea2e4c3 @@ -1564,14 +1608,6 @@ trackedFiles: id: 1f386141bb6f last_write_checksum: sha1:a93456cec89f1b4047e945f74974814c748fb1a9 pristine_git_object: 9f70135965181b775bad49617b5c8eb328022fc2 - docs/Models/Components/DiscountPercentageRepeatDurationCreate.md: - id: 09b8c5bd4ce5 - last_write_checksum: sha1:26052005ce5f4a469ab92ee29a73ec78413e4130 - pristine_git_object: 1089204735d5c2eedafbdbea1ed2bd80d1f9ffe5 - docs/Models/Components/DiscountPercentageRepeatDurationCreateMetadata.md: - id: 8e8cbc4530e6 - last_write_checksum: sha1:fa09c9cad0b05cedef913e3e812762703fb437ba - pristine_git_object: c3bfcb1b373a6919086c771dd75784546db095fe docs/Models/Components/DiscountProduct.md: id: 9e6d9becfbf5 last_write_checksum: sha1:653761c122bda370d71787fc545f7a14733c67e1 @@ -1618,8 +1654,8 @@ trackedFiles: pristine_git_object: 39bae6a93e5b1ce888916026f1aa138a780d4350 docs/Models/Components/Event.md: id: 0008851f1381 - last_write_checksum: sha1:21a319fb194ee4d15d10b795c1490316259147e9 - pristine_git_object: bea6190b425c6e7883b4ae222e47061836534979 + last_write_checksum: sha1:1391c186e2b23e1a20942b4f2aac1167827b2498 + pristine_git_object: 2c70200fef67f5487b9e1f7a0538c53499e06f9d docs/Models/Components/EventCreateCustomer.md: id: 0b6458dd835c last_write_checksum: sha1:24330eaf43883b76667f652bf9d07d8319e7894c @@ -1662,8 +1698,8 @@ trackedFiles: pristine_git_object: 700e9b2192687419a8fb86942ec2021f5b969129 docs/Models/Components/EventTypeWithStats.md: id: 6e7ca0fd8187 - last_write_checksum: sha1:7d2cfae737a84b7fa51c010ab809fb2c7df8c916 - pristine_git_object: c819381f24bceb55272c11129431b44cfaa26891 + last_write_checksum: sha1:eb6e0b6b6b3c60ca319fba8aebc2db3dec93aa13 + pristine_git_object: a343d3dedaea01dab6d92d085bbd8e3b3b1da06b docs/Models/Components/EventTypesSortProperty.md: id: 254565caf519 last_write_checksum: sha1:47274baaa59d2b36258e03b03ed3e265165b4cfb @@ -1770,8 +1806,8 @@ trackedFiles: pristine_git_object: 0c271e28d1eddbfb53afa35fe0f3feb2bb79cb75 docs/Models/Components/LegacyRecurringProductPriceCustom.md: id: 81190e9bd6e2 - last_write_checksum: sha1:999700c645401bcc3e5f5ff47f5d61188c79c5c5 - pristine_git_object: 014bbad12dcb60187aa19f9ae7a34b0978e425cd + last_write_checksum: sha1:f71fc3bf8d6afc6c52d6cbc37368ff65a555106f + pristine_git_object: 147901b109e317315026a25e9d824183e05242c3 docs/Models/Components/LegacyRecurringProductPriceFixed.md: id: f029a72d59de last_write_checksum: sha1:c8458ee451ca7d1e30a846cfe3d130de80043a64 @@ -1810,8 +1846,8 @@ trackedFiles: pristine_git_object: 546f7bd3ef2a9d15110e3d46d4c6d9b5731c62a5 docs/Models/Components/LicenseKeyCustomer.md: id: daa3a176f080 - last_write_checksum: sha1:0e06d6ef4ebcd1ed5387a4032bed016b98f6339d - pristine_git_object: 9da4291ed303dda5b73876f7a36664e80293c4b6 + last_write_checksum: sha1:32b326b621802f7afc93a94628c634c576da631a + pristine_git_object: 66e67e51bf776ce3892b1028a8e012a9b7d118f4 docs/Models/Components/LicenseKeyCustomerTaxId.md: id: 0a84fd1642d9 last_write_checksum: sha1:0fb0509d8224733407438c960508ada9448f5801 @@ -1910,8 +1946,8 @@ trackedFiles: pristine_git_object: de297cec356e2204c27fd761f9adb3a01394efe6 docs/Models/Components/ListResourceEvent.md: id: bda24e375791 - last_write_checksum: sha1:11c3433ed46f86a64102ee87894409ede594d987 - pristine_git_object: 0d3aa49ff7ed5b22b8f113af709ce81ffa2bc439 + last_write_checksum: sha1:64f6e62cafb5c9d48c0564ebbb52ed125b82ae54 + pristine_git_object: 024590eb49cae49a5ae56ca42e5f473fb9aa36df docs/Models/Components/ListResourceEventName.md: id: 965a983105be last_write_checksum: sha1:0b73210867df5aaec1cdc6193b73c3098f9fe852 @@ -1952,6 +1988,10 @@ trackedFiles: id: ead3b23134b5 last_write_checksum: sha1:b5f28be744170dedae96808c5f1c9ef2da5f38e5 pristine_git_object: 01a0c090fb2f73f72bd4ac87af59b5d3ab84247a + docs/Models/Components/ListResourcePaymentMethod.md: + id: 4d9a438cc09d + last_write_checksum: sha1:0fe8ca7027e50a2befd88bb80b79676c0e1acdc1 + pristine_git_object: 7c24c857a7c5d97cac9aa8adc5e19e409e8aa00c docs/Models/Components/ListResourceProduct.md: id: d5c735c6a2f6 last_write_checksum: sha1:f7a1ff8b055f83a2f46e2b8a32b3e0983f4fe1ab @@ -1974,8 +2014,8 @@ trackedFiles: pristine_git_object: bb0f20227f0586d7b82434a9ede79ed2e2155373 docs/Models/Components/ListResourceWithCursorPaginationEvent.md: id: 8befd5c0a53b - last_write_checksum: sha1:eb6848c609e36408602c8b6f626075a3f09e7cf0 - pristine_git_object: 1d7a603577ea9e4e34cd611954cfe33333b40a8c + last_write_checksum: sha1:416b49def95fa1ba5155cc5479d29434e8ae3a6d + pristine_git_object: 925d5bdb6dfa96426b25f707070ad964fd4dc5c5 docs/Models/Components/Loc.md: id: 7933a89bf008 last_write_checksum: sha1:17ce7fe4f1e894a8a2065256da17cddcc1663998 @@ -1990,8 +2030,8 @@ trackedFiles: pristine_git_object: 2276f30b93ae18752dfbfd2a6293badda5f33bda docs/Models/Components/MemberCreate.md: id: 82a70489f31b - last_write_checksum: sha1:fe822327002296ec371a62255ebe723cb4184e50 - pristine_git_object: 067be42d850a20ca2f5be826044668ff6dd8ce50 + last_write_checksum: sha1:ae1ccf8f89778b90b300e4fed31b5b729b5f5286 + pristine_git_object: 3664c5bb06c18a1d065438a02fe7bbdc683e50de docs/Models/Components/MemberOwnerCreate.md: id: 706096fb2805 last_write_checksum: sha1:1c751a80b4ed79a00c9437a0997e2806ccddf43a @@ -2026,16 +2066,16 @@ trackedFiles: pristine_git_object: 410be7aa5235c1200a84d4952d92721c9d828847 docs/Models/Components/Meter.md: id: 5231db664d40 - last_write_checksum: sha1:f69ddcd5310920f5bf6a5ea6902e003834cd9ed0 - pristine_git_object: 9b5067df2bc30149320a04548222e2bc286c7d49 + last_write_checksum: sha1:6e46f0591e1aa8909e248e463de566a6920aef9b + pristine_git_object: 9ac3b11c1b408184100bca29e09c551b4117c3a8 docs/Models/Components/MeterAggregation.md: id: 149814e86c78 last_write_checksum: sha1:f177742637155305ed8d09967039e4d9e3744442 pristine_git_object: f96126bd8371f35c827fa5d5b34c6db12be4e0a1 docs/Models/Components/MeterCreate.md: id: 6015167ffc1a - last_write_checksum: sha1:f4241472604483f559e06903a2c41cf724cff077 - pristine_git_object: d07e658ac6f6db777332f58de7801a627c05a611 + last_write_checksum: sha1:3bd3f8d2780a73a19cedb6bb6956d009005b5958 + pristine_git_object: 75ab938abebdb9901c42792b98a567aaed392b65 docs/Models/Components/MeterCreateAggregation.md: id: 5f815655d89c last_write_checksum: sha1:edcc65439800241cbfa878ab66dfbd24683657ab @@ -2072,10 +2112,14 @@ trackedFiles: id: 00832c9a2402 last_write_checksum: sha1:80b71c55ceccb44f953aa80ba23790a9b497c304 pristine_git_object: 01592d5bbbebb0ac511c352ac5c6a9fcd761024e + docs/Models/Components/MeterUnit.md: + id: 792dbb1621e6 + last_write_checksum: sha1:d0767a97d026449638ba681bf7ddc83a97a7941d + pristine_git_object: 721b7e3c9fc7c18494ae9f73d394c84d8017c590 docs/Models/Components/MeterUpdate.md: id: 772955b89428 - last_write_checksum: sha1:56a9096efa01469695d46715253dc175c4204b23 - pristine_git_object: 71f7b6eabb89b69baa1aac2750a2c005f2bca08c + last_write_checksum: sha1:4f1ab546eacf4dd0f30fde09463327cacd94f874 + pristine_git_object: 3b1a4182022233118d34ca9720fe203648183cdd docs/Models/Components/MeterUpdateMetadata.md: id: 4405e29e7ac5 last_write_checksum: sha1:a84d5827a00fdf7f6c657278e39885e93c385ff5 @@ -2098,16 +2142,16 @@ trackedFiles: pristine_git_object: 664d120f0cc68bd31a210f6157c15f6afd10977e docs/Models/Components/MetricPeriod.md: id: 6274feaaaf2a - last_write_checksum: sha1:834c486ce26eb074ab1f883152d83dbee0cb7a67 - pristine_git_object: 89fc5ef309cba1d671953b6eccd569f374514405 + last_write_checksum: sha1:71f6f24f0ee54fefe16734974aee458f7642ecfc + pristine_git_object: a78f8abd2119301963cb6b14d2b3024dfb38b1a0 docs/Models/Components/MetricType.md: id: 37b253117d40 last_write_checksum: sha1:6b1a9503729f06f7b8ada248d66d03d780570c31 pristine_git_object: cb06ed40ef604b6bd95fd031f3f8ca2a2ce4f801 docs/Models/Components/Metrics.md: id: 0849550f55c4 - last_write_checksum: sha1:ddb18e4daadd15cf979a24dfdc61fa4b7cee3c3b - pristine_git_object: 4fd65c97b98325639b73bc51c940238f1a51d2cd + last_write_checksum: sha1:eb6d47714c2422c7ced31279a812485c058492f4 + pristine_git_object: 35b0ddc348561b3a19c8c86c2ece3f5d604cd602 docs/Models/Components/MetricsIntervalLimit.md: id: cb7489515444 last_write_checksum: sha1:4545daa5731a62d9e4bd2572bd2ff301ac557579 @@ -2126,8 +2170,8 @@ trackedFiles: pristine_git_object: 913b8a4898ae66f10510897e7f72fc86b42e8eca docs/Models/Components/MetricsTotals.md: id: 0f6edee82f44 - last_write_checksum: sha1:33900dc99aab73e4759b061dc2dc05c5ea636702 - pristine_git_object: 1845e88b998ff88249a1b0dc01abd342ec7ec766 + last_write_checksum: sha1:12c67cb6d734e81d0ded7cacd6b9fc289254f156 + pristine_git_object: 94b5b9a8c35919248a89ab39b7d2bd81313f65eb docs/Models/Components/MetricsTotalsActiveSubscriptions.md: id: "087498807592" last_write_checksum: sha1:bfef5da8e910be6a79071f96ebe45b0b7488be1e @@ -2136,6 +2180,10 @@ trackedFiles: id: 370c907dfa93 last_write_checksum: sha1:986b59eb6e53d8e5b3cdde5077f210329a3b215f pristine_git_object: 73c7fd8c48eaeeb44106f9217aa0fdeb0f1091ba + docs/Models/Components/MetricsTotalsAnnualRecurringRevenue.md: + id: 001717c73585 + last_write_checksum: sha1:732168aab69226f11126ecd9e0eb71be707afc15 + pristine_git_object: 57e70302ca717546653d3751e8dd9951c80db409 docs/Models/Components/MetricsTotalsAverageOrderValue.md: id: 217bfdff0ebf last_write_checksum: sha1:c459bcd0dd8a1424d7395089fff475edf84d5b7e @@ -2144,6 +2192,10 @@ trackedFiles: id: fc6146a2f3d8 last_write_checksum: sha1:d7d569b273d2d6745796bf6a6d3ac794899a353a pristine_git_object: 56a9f4037fa47fbe2db0796066a20e3e626602e2 + docs/Models/Components/MetricsTotalsAverageSeatsPerCustomer.md: + id: a10dc8ecf3ac + last_write_checksum: sha1:18b4a9a432d0a173700d64f69c858bf979cb9fba + pristine_git_object: f49204561093febe96ec5538fd51396bceb0efa6 docs/Models/Components/MetricsTotalsCanceledSubscriptions.md: id: 74b5edd10f45 last_write_checksum: sha1:03e686a7d92eee4c7741b9f17744fc13abd9c5f7 @@ -2196,10 +2248,18 @@ trackedFiles: id: 1431af6d209d last_write_checksum: sha1:7c000d419a2ae8848825e55fa2f3d9c81bab330f pristine_git_object: a6585e7a2b10b43f52956ea8742c99723f773633 + docs/Models/Components/MetricsTotalsChurnedSeatCustomers.md: + id: 646c0893e3bd + last_write_checksum: sha1:2a84adae3ff8cf435a320aaa8930229483a370ce + pristine_git_object: c52d0e8ba579e7e29e297bbcc054cb8c10a25978 docs/Models/Components/MetricsTotalsChurnedSubscriptions.md: id: 96c3bdfc12fe last_write_checksum: sha1:8fb314afedb225ff1c528a60b6d7ea00f7535ebc pristine_git_object: 1e300d945ea53c029c70fe8ffb2e3d6b86426279 + docs/Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md: + id: 694b6eebd92e + last_write_checksum: sha1:6a466fdcbb7969a9d9870971933260b99e274540 + pristine_git_object: a49dc7af90cc080f2c8f22825ef0afdee5727085 docs/Models/Components/MetricsTotalsCommittedMonthlyRecurringRevenue.md: id: 137ddf2171b6 last_write_checksum: sha1:24885d91e6896dc19d0215da1b65a7c8870b67ef @@ -2252,6 +2312,10 @@ trackedFiles: id: 95f28fafba32 last_write_checksum: sha1:ae28cc2e09d4deaba4301a40a15c511ef4e75c59 pristine_git_object: 5361f241957a1cbdc7f0dbbf05e8a4dfb0fe787e + docs/Models/Components/MetricsTotalsNewSeatCustomers.md: + id: ae06415649ca + last_write_checksum: sha1:7ba901bf3428ef4922dd103f04ae93f218d89139 + pristine_git_object: d3625222d51a13516e6411b8ab4630f6681fc177 docs/Models/Components/MetricsTotalsNewSubscriptions.md: id: 9a174711bea6 last_write_checksum: sha1:cfd13c9540a925fd0896de5d2486e581a66e96f3 @@ -2296,10 +2360,38 @@ trackedFiles: id: eff9befc9e01 last_write_checksum: sha1:57843c08a96c77703641d6b298e948b98ebd1374 pristine_git_object: 26ebb6c6b1b0a991bb69a14688b7431600810522 + docs/Models/Components/MetricsTotalsSeatCustomers.md: + id: a85daba39614 + last_write_checksum: sha1:63fe83845c2ea18a8af1e6659c176700f94e3604 + pristine_git_object: de70edcc590910a8f8c1666cae2aff8750c554c8 + docs/Models/Components/MetricsTotalsSeatUtilizationRate.md: + id: 1bd48a61412d + last_write_checksum: sha1:7ec14a3b37faee3f009ccfef82785365d9c9d925 + pristine_git_object: a55b5674be8add2207ba67f36324003758c06314 + docs/Models/Components/MetricsTotalsSeatsClaimed.md: + id: db1e73b7eb69 + last_write_checksum: sha1:55d6b3707b4d10e546ebc52841dd585e3d99a7d6 + pristine_git_object: fab67a715f413777ae3d9dd0f6f9244c70bc59df + docs/Models/Components/MetricsTotalsSeatsPending.md: + id: c5bba15e5481 + last_write_checksum: sha1:003a4b4cf7771627a3477ab7b4c88a24d83ba897 + pristine_git_object: 30c23fa4f0715ad5dad523d7503cd165f6c7aa62 + docs/Models/Components/MetricsTotalsSeatsTotal.md: + id: 46efcd38db6b + last_write_checksum: sha1:018569e213a5bc7c1435336fb3cf1272541a7e04 + pristine_git_object: 4b6748b73c4234b081a87727744dd8bed7328727 docs/Models/Components/MetricsTotalsSucceededCheckouts.md: id: 483e06f21a52 last_write_checksum: sha1:6c1dacb2935a6cdac8a6effe60473ff824dacaeb pristine_git_object: b151a92f880dd3421db907a53b5eb9ec19cd397d + docs/Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md: + id: 49d115b896a0 + last_write_checksum: sha1:a7909209644ada2ed9933a0175621e87b3f28542 + pristine_git_object: 3b7519a6e5d18a789389659b150b5356b1840b48 + docs/Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md: + id: 7693660ccb5d + last_write_checksum: sha1:1a7ee661be673899474697829eb75e3f48a66ede + pristine_git_object: 85c27db2a900183f3c6ff0a7644d38c2be1c1f59 docs/Models/Components/MonthlyRecurringRevenue.md: id: 4ab855d7f091 last_write_checksum: sha1:837d15a14ba998b8c2b7596643a32125b35cda61 @@ -2316,6 +2408,10 @@ trackedFiles: id: 3dd445f5167e last_write_checksum: sha1:2e311d7ee0d9c78f51ef31d30a03815edb63ad38 pristine_git_object: 496c1b0abe2543d1812f9434d525cdec4d093859 + docs/Models/Components/NewSeatCustomers.md: + id: 692a7555cebd + last_write_checksum: sha1:8e1a0af231d45588b457a33128b26af3be882cb9 + pristine_git_object: b6b2b0aa55761812b886776d6cd6b1d66886a9ce docs/Models/Components/NewSubscriptions.md: id: df740ad198b2 last_write_checksum: sha1:2a4178a398655c3eaa6ba214dff2591ba09979a4 @@ -2362,20 +2458,32 @@ trackedFiles: pristine_git_object: 840b7f8cc765a8331a6a58dd82307c0c0ef76ad1 docs/Models/Components/Order.md: id: 1e95ae5483f8 - last_write_checksum: sha1:4627027e2fd57dd370e134c46e7c01a38a3378eb - pristine_git_object: 25eef8dffd02934faa05f25179621bc4fabc8796 + last_write_checksum: sha1:da21006cdaa5814500aad8f390e77a42f53779af + pristine_git_object: 96e8107d5a7404661e8db9877d40ab3e0382f4b5 docs/Models/Components/OrderBillingReason.md: id: ee48d386d965 last_write_checksum: sha1:b8d4cc671224afba62e154b92ec659b0e1ac17c7 pristine_git_object: 63c4e3afff7f3ad2e0180b4df8a8e2796e68ba5a + docs/Models/Components/OrderCreate.md: + id: a4fae0210b2d + last_write_checksum: sha1:e1ba4ef64406595ecacd60085232de7976b2217b + pristine_git_object: 8143873bed72083641630520d4b0c61fc45caeaa + docs/Models/Components/OrderCreateCustomFieldData.md: + id: f1c9c0baeec0 + last_write_checksum: sha1:a8974eaec5d2d75160474c11b2bd17129d365b63 + pristine_git_object: 26d6075092cadc52a354ae9c6dc7f2f55dab4b21 + docs/Models/Components/OrderCreateMetadata.md: + id: e740c610f07b + last_write_checksum: sha1:9a34a4875f36105eae9b25276b361aaa48a656b5 + pristine_git_object: 3248775dabc1e136cef2dbf9a35cd7b099caf228 docs/Models/Components/OrderCustomFieldData.md: id: 20545c8424a0 last_write_checksum: sha1:e94a0330fb164d9d551be6a2831f04b9a4e68b26 pristine_git_object: 22ac1dee9f2fdc76639a3c864d340e21612b30e8 docs/Models/Components/OrderCustomer.md: id: 3c582d366bb1 - last_write_checksum: sha1:a69292ddea5740c99787cb1298c5dcffcfbb0239 - pristine_git_object: 3ffeaa113eb27187cdf21787bbc48c26e6d58e03 + last_write_checksum: sha1:53d84a450185280281855478904c77655eddb47e + pristine_git_object: 54e3f36cea31c8620acac9cac1ca963ef56dd65b docs/Models/Components/OrderCustomerTaxId.md: id: 7f2b7aa89599 last_write_checksum: sha1:d461c4eafd77ab983061ca756652a73401c061e1 @@ -2384,6 +2492,10 @@ trackedFiles: id: 55cf04d4add3 last_write_checksum: sha1:059808182014f70d0725e69c5db58ec3b6330403 pristine_git_object: b47745900164b68e232840dc91e741d9d9d6574d + docs/Models/Components/OrderFinalize.md: + id: 53fcbf3aa82f + last_write_checksum: sha1:b7f833bd38d929b2d23ef7ba949d6300e90f17d1 + pristine_git_object: ebbabb887f21ea542bc6bd8afceb2a48730dbb9a docs/Models/Components/OrderInvoice.md: id: b50b30a4be6b last_write_checksum: sha1:80458b8394a63e606a76b05138173aef18b83ea6 @@ -2404,6 +2516,10 @@ trackedFiles: id: 265c8c085d61 last_write_checksum: sha1:e695cd2173a26fadca8ec4e09f031798df662d55 pristine_git_object: bdd031d8a0def804338c04cc293e61bdd96a86cb + docs/Models/Components/OrderReceipt.md: + id: dd0d2c984af4 + last_write_checksum: sha1:763e8dfc5c3c824c5874642971c1fdc61fc7df0a + pristine_git_object: 26a2564e8d97fb7f35a7ea7a705fda89d4383f4f docs/Models/Components/OrderRefundedEvent.md: id: e030b84d9d11 last_write_checksum: sha1:97d6b1c86d5c2f8c55fadc1a30ff66c79a3d45a0 @@ -2418,8 +2534,8 @@ trackedFiles: pristine_git_object: 848feac650a87f4a311b464f7315a654cfb9245f docs/Models/Components/OrderStatus.md: id: 15f0c1bbbf5e - last_write_checksum: sha1:c33d29a7f2bfdd98f104b7688171b484d17579e6 - pristine_git_object: 25ad22171d5ba360c0d59b3e2e613ef171b9c1bb + last_write_checksum: sha1:11ed39f1bcf5b1a3f3644227b3e1ab26a0db8950 + pristine_git_object: fae69ae134253dc864723e64d3a7b7c8f8fada6c docs/Models/Components/OrderSubscription.md: id: 1e0c7a19229c last_write_checksum: sha1:ee9117fb35f44de853ff9c9a64f612946291372f @@ -2442,8 +2558,8 @@ trackedFiles: pristine_git_object: cc7852cf18242ade902f3f61e3a6437d173c22f3 docs/Models/Components/Organization.md: id: 4313ecadad22 - last_write_checksum: sha1:dd5d1326328e72bc5b9155f3c452e19c0ae79f4f - pristine_git_object: 2426731d2e4686898e46996e21be1b1eda6d9303 + last_write_checksum: sha1:8aec6d71db91f53101a5d0362ad654019713add1 + pristine_git_object: 72f743b079f652c7f7a805d8326241208dcbefa5 docs/Models/Components/OrganizationAccessToken.md: id: 5a36fc42fd56 last_write_checksum: sha1:75495230c34800e4d06f14a4a78cce3d35cc7e06 @@ -2472,6 +2588,10 @@ trackedFiles: id: 0c2b6807223c last_write_checksum: sha1:04319ffd29497f945e72ce795b43e096b3f55453 pristine_git_object: aca74c2cca0d5c8cd012d283abf5c1743f029f7c + docs/Models/Components/OrganizationCapabilities.md: + id: c50da10c9890 + last_write_checksum: sha1:958aa519cc0cdb506b02c5222459689b7bf2503c + pristine_git_object: 7bf1bdb7403fb4e2fd1c1c7cf5b344499f6e1d2f docs/Models/Components/OrganizationCompanyLegalEntitySchema.md: id: 13dfe6f21e65 last_write_checksum: sha1:c3542a2e66f9d5ea766fd24f86fb0c47f01f1958 @@ -2486,16 +2606,16 @@ trackedFiles: pristine_git_object: 4f83cc85c5923ae160710e0544e8ba3e3c29f3e6 docs/Models/Components/OrganizationCustomerPortalSettings.md: id: c58fd3daf97f - last_write_checksum: sha1:934ce15bc334b68b4a338e3d53ca72e488ccb33e - pristine_git_object: 65f06a863f3cd9f342aaf1093c3bc1aef46c54f4 + last_write_checksum: sha1:6af64aaa6825fd19eea82ba23ebb8f2264a17a0a + pristine_git_object: 86fd5cbc1c139008d7a8bd42067bd6161b62761f docs/Models/Components/OrganizationDetails.md: id: f2ad46a6d659 last_write_checksum: sha1:13dfa4cb346cbcb4fa672e69df305db16d006013 pristine_git_object: 9340dfdb471af75892833a842ec63aa22b2160a3 docs/Models/Components/OrganizationFeatureSettings.md: id: a0fbcb07368e - last_write_checksum: sha1:8447c70011ee8518887b169f7669b655f0b04b1f - pristine_git_object: a150173146754b4864b19c39f5e273718b276046 + last_write_checksum: sha1:7b33611a5be8ba4c487f7fef37a4343e03bb1cb7 + pristine_git_object: 2bd9d1503ca90478a53dda9fb85f1d597c915e14 docs/Models/Components/OrganizationIndividualLegalEntitySchema.md: id: 0f2e5f525a52 last_write_checksum: sha1:affda1192b3b7768bb7f4016380e105c5ecfb59a @@ -2518,12 +2638,12 @@ trackedFiles: pristine_git_object: ecbffd43c85b75d0918faf60633b44cf888e1c75 docs/Models/Components/OrganizationStatus.md: id: f656bdd8a614 - last_write_checksum: sha1:faace7ef37e74363593e1d4337e065e5b04ac16c - pristine_git_object: 20e9730aec8ddce7fcd22321dd27716b9678f963 + last_write_checksum: sha1:ee53c01dde7641bc73c23845aa3643f1f942e425 + pristine_git_object: 44e752e2b7b681177eb3458bddbadbdfef2d4887 docs/Models/Components/OrganizationSubscriptionSettings.md: id: dc6751174dd6 - last_write_checksum: sha1:b18ee3ed0ff67caacb2aaa432f387e3fe9eee7e6 - pristine_git_object: ecb5636ff9ec25bf022d09be9903441f8fbbebc8 + last_write_checksum: sha1:319c89526c7f213331937f5001e6cc19a1d2f3f8 + pristine_git_object: 81de9a583f91eeb5d18f0a4b077fb26ecaaa27e7 docs/Models/Components/OrganizationUpdate.md: id: d9fafe149a5a last_write_checksum: sha1:bf47e11fd4338824eb57a3f452dad4eecff33630 @@ -2536,6 +2656,10 @@ trackedFiles: id: 52f805a36cbb last_write_checksum: sha1:f1fc4bc9a0f02722604b3d7a5b4e672806f8db85 pristine_git_object: 6bcf99e2a81d5a5461bae5e31d46314a72ec7165 + docs/Models/Components/PaymentMethod.md: + id: 5da8df995e06 + last_write_checksum: sha1:3dccc8cb4dee811275cf4b1bb6322f8428862150 + pristine_git_object: ab5a21e102bf63eeedc18c7c56a2d5be612adfc3 docs/Models/Components/PaymentMethodCard.md: id: cdec0209d541 last_write_checksum: sha1:53befa7ca4c4b4d5210020a12247b0293e018b3d @@ -2574,8 +2698,8 @@ trackedFiles: pristine_git_object: 8ec3dc05a20c36e07aa3ea3d0f4e8a7c5b1c9b5b docs/Models/Components/PresentmentCurrency.md: id: 4d8962db9b80 - last_write_checksum: sha1:79357ab88281f84fa5c462f6a3d55c7ab5b26038 - pristine_git_object: 2df6f4ea19e9d55abf8612db5f5777fb151d5bc7 + last_write_checksum: sha1:82a4d66cbb7620c351189ee559b9162b67478f17 + pristine_git_object: b7c0edaf07f626d23980d586983b1a3a75e67bfb docs/Models/Components/Prices.md: id: 6da6df4921b9 last_write_checksum: sha1:cca1c058b87656c071d001f5932bcea11239ade7 @@ -2634,20 +2758,20 @@ trackedFiles: pristine_git_object: 86b6cc75ffa6d3c594f586eb5b7682790e6a6ab7 docs/Models/Components/ProductPriceCustom.md: id: ececf43d4908 - last_write_checksum: sha1:b8717e0136466080cbf3e4392f19cf20232432b3 - pristine_git_object: 68fb659ad4099de0356e0a0e2f06773045cb894d + last_write_checksum: sha1:7e743ab720f0d308cdafe2b0b260bb3a9be632ac + pristine_git_object: 1168e320d13e099ea136d85c73b2c128e9a6fce4 docs/Models/Components/ProductPriceCustomCreate.md: id: 939172813aa6 - last_write_checksum: sha1:2f9257c5060ff8af1ead9278c41b7e30ddc1e1a4 - pristine_git_object: e0dbad066089ac704d467ab936eddaa7119fe1c2 + last_write_checksum: sha1:5621b071853b396ec2488ffc1c5adb4b2ff31a07 + pristine_git_object: cbad22a00182b785b06aa1e8f4ba72b3d37a7b43 docs/Models/Components/ProductPriceFixed.md: id: e68731db3331 last_write_checksum: sha1:72851bcdcb901198299147af0ac9899d96e0d9df pristine_git_object: e24564597995ad168da88d2f09543be4c023e132 docs/Models/Components/ProductPriceFixedCreate.md: id: b9add9203265 - last_write_checksum: sha1:ae98eb082b28d19f9b8c5d32793fbb57b2a96828 - pristine_git_object: a64ae0b4cd6b9180378bc6e6fdde9d5eb2abc4df + last_write_checksum: sha1:9e133a4db96ec6a1f436176c5c387eccea3b5441 + pristine_git_object: 995d36586efbb97346eda74099d25eab4bb38d94 docs/Models/Components/ProductPriceFree.md: id: 5fd09487fb51 last_write_checksum: sha1:13dc936b617b9cdb730721301e6546d5671cfd7e @@ -2658,8 +2782,8 @@ trackedFiles: pristine_git_object: 9be27172d75df604d4ac04b4ee2af89f73923550 docs/Models/Components/ProductPriceMeter.md: id: 4b035004d30b - last_write_checksum: sha1:612cfdedf3057ceb88dde24e9690c9688bbbda0b - pristine_git_object: 57bd5eb27c617fee00dda145916f127c0b906d55 + last_write_checksum: sha1:28d997cf5dd8f90c81fda00c00734fa3a986304f + pristine_git_object: 639fc9e1b8b8b4096def12e51a614f54cbd2e859 docs/Models/Components/ProductPriceMeteredUnit.md: id: 4460e5eb7139 last_write_checksum: sha1:be8378b7b8e94817502ce36f71ef8af159ee3ef5 @@ -2720,6 +2844,10 @@ trackedFiles: id: a9f1c9343979 last_write_checksum: sha1:caa723fcbcdcfab61d692f9d6f323050bc5a1bf2 pristine_git_object: 042a579663c3dda431f27bf14a2f30b5f135af86 + docs/Models/Components/PublicSubscriptionProrationBehavior.md: + id: b426a56012bf + last_write_checksum: sha1:45ecc3ffdd818642dd651255dc9ab3aeafb0396e + pristine_git_object: c0a1d27c296124dfe1bc8041bbd6e53c5a8f4bf1 docs/Models/Components/RefreshTokenRequest.md: id: 87d2ce88c236 last_write_checksum: sha1:248a9df67e6fd78d408e66618a56532308b01c71 @@ -2776,6 +2904,10 @@ trackedFiles: id: ae4aea6a4485 last_write_checksum: sha1:bda34ee9091039e3fb750fdad8a8324f9c35f701 pristine_git_object: e36e3ad6e2b1bf7f4db1826e994eb7dd3a30019d + docs/Models/Components/Role.md: + id: d4558c89db70 + last_write_checksum: sha1:91dac500543b24f6b78295a71ecc585449fb35b6 + pristine_git_object: 0d9375ba97cc2a1284d8342f4e5f4f0701586989 docs/Models/Components/S3DownloadURL.md: id: 722e560c07f8 last_write_checksum: sha1:eb186a3e5fd93ea19004fab5b98dd388d08a9dda @@ -2802,12 +2934,12 @@ trackedFiles: pristine_git_object: b984e14539ea25d004c0148e8710c17fce38de4f docs/Models/Components/Scope.md: id: eb3a9699fb4e - last_write_checksum: sha1:fe65c70d8457d27214560e5b72c49e73ef512825 - pristine_git_object: 9a4e9c58c8bb038c4d15861eefe98ab4d484efa4 + last_write_checksum: sha1:40eaadcd9f2f8298eb5a5e517bc394f9249745e4 + pristine_git_object: d8a6b364eb384b32f579e7e21a6bac1c751acc24 docs/Models/Components/SeatAssign.md: id: e7cf12abef7a - last_write_checksum: sha1:7fc0be5d65ca08ff3e0875cfd590b0fe7b747e45 - pristine_git_object: 174b4ec6daaa58a2f663bacf5eeb04d6f40ed218 + last_write_checksum: sha1:c6931f88ea7e4890be7947182ed961d77fdcd93f + pristine_git_object: 02b785ea78601f0735fb22b3f02ab9fc5ae31e60 docs/Models/Components/SeatClaim.md: id: 544112193bb0 last_write_checksum: sha1:118722f647300563f16ce6355df414312169db74 @@ -2816,6 +2948,10 @@ trackedFiles: id: 69f177c67080 last_write_checksum: sha1:9b055878186be34f56e6455c969a7af54d61f651 pristine_git_object: 7b175c34cac580b560900325ada75c80ff4ebe6b + docs/Models/Components/SeatCustomers.md: + id: 2a6e0b3593d5 + last_write_checksum: sha1:d8f98e16bb554b48a837750a9ea2b1d04b7a9361 + pristine_git_object: 770acdd15f786872b5a57c859d9200e3968efefc docs/Models/Components/SeatStatus.md: id: caa21adea810 last_write_checksum: sha1:0b4aecbc5e236c813e262b0fd3e5746b09ef9a9e @@ -2824,10 +2960,26 @@ trackedFiles: id: e56e39e582fe last_write_checksum: sha1:e4000b5518fb5d13b6d5a1663f35d262a270f748 pristine_git_object: eaf8f91cbc240b4646d41b16b99c8eb2674c190d + docs/Models/Components/SeatUtilizationRate.md: + id: 759c895bfbc8 + last_write_checksum: sha1:207e56235e850d58afd5c380f221ba032d82c13b + pristine_git_object: 61108d5d293471f9a835bbb41e8361a366b98dbf + docs/Models/Components/SeatsClaimed.md: + id: aa14d2d4abf9 + last_write_checksum: sha1:77291b5ae23f6aef9b17a5ffad23aa8179318fc8 + pristine_git_object: 85ffa25d1b708aebbdc6e605b4be062bb87c27b9 docs/Models/Components/SeatsList.md: id: a9bb80a59065 last_write_checksum: sha1:c5da6c2a91bbaeacefac6af8645fea73ad6bbdb9 pristine_git_object: 21ee0648f235f68660d2b30025bffa15e4a92e77 + docs/Models/Components/SeatsPending.md: + id: 768d4471b5cf + last_write_checksum: sha1:9eb16c763e0f127ded3ee01338f6de2537974d5f + pristine_git_object: 544c59d4bb77215746f524ba5c10124a1005466a + docs/Models/Components/SeatsTotal.md: + id: 7110e2776dd3 + last_write_checksum: sha1:edbc01cf06edb17273729cf6b5bbe6d0a45a3b2c + pristine_git_object: 0b1937c10ed44fb33802961b44ae4e628f6c3b5e docs/Models/Components/Security.md: id: 7bcd54fda13a last_write_checksum: sha1:8ed6146b4875d6fd167605b8fafcc5e384d52378 @@ -2886,8 +3038,8 @@ trackedFiles: pristine_git_object: bdeccbbc6d63ed4d79f79e1ec1bcd304526d5db8 docs/Models/Components/SubscriptionCustomer.md: id: 6ef5108b6780 - last_write_checksum: sha1:abd530c6fabe87a13d095134f16b139361a01c7a - pristine_git_object: 3bb37afb3246fe8b76b17ebf079e7244d5de7956 + last_write_checksum: sha1:f7d83fa6af590d898bf49a121bda6a4278e493d3 + pristine_git_object: 89f6663e42e59288117a602ffa185000837abcb9 docs/Models/Components/SubscriptionCycledEvent.md: id: b7c9c53dd6ee last_write_checksum: sha1:9b23f240cc07b1b028d8497effe5493a51bcac7c @@ -2904,6 +3056,14 @@ trackedFiles: id: 0e5d158a2290 last_write_checksum: sha1:a14ff6ae3ec7ce7882403d5498103a42ab554fb4 pristine_git_object: 308912887a01e89d34adba590fa588bbc1505344 + docs/Models/Components/SubscriptionPastDueEvent.md: + id: c7d5b5797b84 + last_write_checksum: sha1:680a5f21e7a7cae66b5bfdda75bf5f22ec8830d1 + pristine_git_object: 3cf876e4a9ba1a9c0dbd30459b93ab77fcdda0e7 + docs/Models/Components/SubscriptionPastDueMetadata.md: + id: e680515cfd6c + last_write_checksum: sha1:1269bb208b422f981ede2c8323c43c85e451042e + pristine_git_object: bc14728bf2768e653b13f5b5d8e8a8eea45dbc1d docs/Models/Components/SubscriptionPrices.md: id: 0cac478b5053 last_write_checksum: sha1:852feab7cf694761c42263c2a904cb522d873eef @@ -2918,8 +3078,16 @@ trackedFiles: pristine_git_object: b14026ca492ddc27f31a3bba12f4cd1652c7dd1e docs/Models/Components/SubscriptionProrationBehavior.md: id: b1f2de707e4a - last_write_checksum: sha1:3060018c752f081298c9fa665a44cf1253e75c4e - pristine_git_object: 4b028b372d0d91710921bbd0bfac15314b04f0dd + last_write_checksum: sha1:2e8ee680807cf75be5b3d3723988172e5a7d659c + pristine_git_object: e58aee326d93d36bbba2af6908b55d89a7a54157 + docs/Models/Components/SubscriptionReactivatedEvent.md: + id: ac651a3a20c9 + last_write_checksum: sha1:559a9d147c6fa4ce895e0404bbea36144b644e28 + pristine_git_object: 927e7f1297b71ede2a9328f90baac8014280f1d7 + docs/Models/Components/SubscriptionReactivatedMetadata.md: + id: e01044568448 + last_write_checksum: sha1:f27dd5d7941ae898d2957649e2c607f963226c7c + pristine_git_object: dec9dcf657da44dda85f712c390018683e54fec0 docs/Models/Components/SubscriptionRecurringInterval.md: id: 8ac9f7458f60 last_write_checksum: sha1:379990c6e61f0ec000379dbb17e966c7c2615148 @@ -2962,12 +3130,24 @@ trackedFiles: pristine_git_object: 52f6066423ec9def00eb9ef25363c0343d9c9016 docs/Models/Components/SubscriptionUpdate.md: id: 0a74ce98fa61 - last_write_checksum: sha1:92a5d64a31d3b70086d69ff5b31db96e42b2bc08 - pristine_git_object: 01951d7baf2d35c5b5e995068e4f867f99364533 + last_write_checksum: sha1:d61ccf21f9fe3cfcbab5399ef5b3b06e2a93aa6c + pristine_git_object: 64feb9391987a02078cacc5a2eb2499d30a7e166 docs/Models/Components/SubscriptionUpdateBillingPeriod.md: id: 69f4a6ad75ca - last_write_checksum: sha1:5bac773652172934dac11b798a31b426bb8f971a - pristine_git_object: 3bc92c9b55883f6110017af35eddae06c7876a29 + last_write_checksum: sha1:99a6904ee8729e8f0ead6eaed5b728e7a89925d3 + pristine_git_object: e5e5cbf14ed7b451f4a7f45d2b93903b4313f775 + docs/Models/Components/SubscriptionUpdateClear.md: + id: c492662be7ee + last_write_checksum: sha1:2605fd99916a2c19cbd515a78aab4a1a283a4515 + pristine_git_object: 460bc8e344d40f1e2555fb0982fb8dd41b61d55c + docs/Models/Components/SubscriptionUpdateClearedEvent.md: + id: 4a5d16e8aafe + last_write_checksum: sha1:5e2f25fc9013461f68b6177464add920a609f9ad + pristine_git_object: 43ca38eca19dbad3f24669d0ee7293943dc57702 + docs/Models/Components/SubscriptionUpdateClearedMetadata.md: + id: b6501498bb6c + last_write_checksum: sha1:d6aa1d824f733727eefe1225664ef495f4bafc50 + pristine_git_object: 8a1463b131b9e0217c24338efed139d236801aee docs/Models/Components/SubscriptionUpdateDiscount.md: id: 2fe680fa4fd0 last_write_checksum: sha1:38c2a9cc602fcf37ca1a66e95b6410576a332af1 @@ -2984,34 +3164,14 @@ trackedFiles: id: e5ae6d1ce28d last_write_checksum: sha1:3ebd122f0e2aa2fce297b9203582e7bc68e076dc pristine_git_object: 8eb3eab2b739cd2fbc761484b6fa06726f2615d9 - docs/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.md: - id: bd4d28dbfe26 - last_write_checksum: sha1:360385f28e5f0fc41eaf9f7940a439ca37b52a2c - pristine_git_object: ff53ba9b08cab12d5d22c1fb19366f641a588566 - docs/Models/Components/SubscriptionUpdatedDiscountMetadata.md: - id: d268f144ecb0 - last_write_checksum: sha1:3c0ac47e617c7d72e2910f7b254604dbc676186f - pristine_git_object: 957e29e4cd91fb3c46419e22ea511516e8f582f1 docs/Models/Components/SubscriptionUpdatedEvent.md: id: 718baabfe1eb - last_write_checksum: sha1:41a23142d65ce30ff7677f9e9f3131bf87be25e4 - pristine_git_object: e688651a55dc6945883416838c1eab71348f0094 - docs/Models/Components/SubscriptionUpdatedEventMetadata.md: - id: 0e53cf117d90 - last_write_checksum: sha1:b6a3dd46d05b2256e6215be73be41fe1235a9175 - pristine_git_object: 698a8265e322115ce4d56459be6fa783eefe2c23 - docs/Models/Components/SubscriptionUpdatedProductMetadata.md: - id: 2fa7a36e9f0d - last_write_checksum: sha1:943efebfeb7abc951f97d4254326b7515e78fca8 - pristine_git_object: be85979d8c9fa06edf6a304a75cf5c840847ed4d - docs/Models/Components/SubscriptionUpdatedSeatsMetadata.md: - id: 23684e42a30c - last_write_checksum: sha1:307cc5d611a05b73b7260dbee209a5f34da0a130 - pristine_git_object: 64726a2065532d3843c66a3797624d18d459c1cb - docs/Models/Components/SubscriptionUpdatedTrialMetadata.md: - id: 84740e896e18 - last_write_checksum: sha1:31c3f721e3c6b59eaad1295a559e40980a389e88 - pristine_git_object: e9d62aa6815446a54e46ba37fc8428e77e0812cb + last_write_checksum: sha1:656f991c710dd0c8c23747051df3865dd86335e4 + pristine_git_object: cd0f1594f4788d84b72b51bbae2e0f472d3ecea1 + docs/Models/Components/SubscriptionUpdatedMetadata.md: + id: 65526cbf3173 + last_write_checksum: sha1:56501f2501352d5922a04d9027ee09527c7fa3e4 + pristine_git_object: c87a8308e4919acab84a9b4dc34ffa7146860a32 docs/Models/Components/SucceededCheckouts.md: id: 713b3a1d9441 last_write_checksum: sha1:770c5a9aadf76343e838bcac33bf7f91dab75372 @@ -3022,8 +3182,12 @@ trackedFiles: pristine_git_object: ff6cc3bf7494da6b51ed2edd8859a216f27c58ee docs/Models/Components/SystemEvent.md: id: f16f277be5e5 - last_write_checksum: sha1:946c225f58af899a25b534d33831d6df5625a25d - pristine_git_object: 7bc5cd72f492630dffc30c81219c17a6f2f301eb + last_write_checksum: sha1:3692f6f7658ec489a22890a4a53b2a0ec26b414c + pristine_git_object: 1f9655479704723b8650b0932b4403e7b1830675 + docs/Models/Components/TaxBehavior.md: + id: 469101c9ee6e + last_write_checksum: sha1:e0cbadb2beb72a709a39d88742427d4ca1bd73cf + pristine_git_object: 973b5ad91e7aa8111f7dece2094b21e41b403143 docs/Models/Components/TaxBehaviorOption.md: id: 7ccfd80462aa last_write_checksum: sha1:a85b6fe35191eebc2e5f2b37edb63bb3ae89a92f @@ -3060,10 +3224,18 @@ trackedFiles: id: 04844f4dae8a last_write_checksum: sha1:cecf069c0546d498d3fd7067fad05a0f6930847b pristine_git_object: e537035d56d1b85ef49ca8906c5a38d2dca02c33 + docs/Models/Components/TrialCommittedMonthlyRecurringRevenue.md: + id: 84733e9ffc49 + last_write_checksum: sha1:8a8c1f39b8e33fcc74ca1e19a573498ce4b7ad60 + pristine_git_object: 8986e62f13f0c16bc6d5d59441958d00e2cecebf docs/Models/Components/TrialInterval.md: id: 365bb4a7724f last_write_checksum: sha1:edecd37e00d5a01b41a3e403ce961c35e457a68f pristine_git_object: 67f0d8df52da67e4c3b8ccd16303e438192f7f81 + docs/Models/Components/TrialMonthlyRecurringRevenue.md: + id: 4caba28d5364 + last_write_checksum: sha1:93cdd6f410cab111de616c309f31cabd8175f8f0 + pristine_git_object: 1f040cde9cfff4501dbaa2e661a97b6a7280026e docs/Models/Components/Two.md: id: 24784dbdaa65 last_write_checksum: sha1:ae900e6cc0beac518592602cefd33bd943b26726 @@ -3304,6 +3476,10 @@ trackedFiles: id: 72e6a49fa263 last_write_checksum: sha1:f5890d819bdb6e77b77b119abdfb440477bbcd17 pristine_git_object: 0823e63d71910708c81576a27dc084d209edcb47 + docs/Models/Errors/ManualRetryLimitExceeded.md: + id: 71d41b97945f + last_write_checksum: sha1:7e58d44d2f30aaac798d1fb07c86863967e6c79b + pristine_git_object: da9fba43bc6d9dd470e2fe91f49f75a9c80ae803 docs/Models/Errors/MissingInvoiceBillingDetails.md: id: 7bcef02540e0 last_write_checksum: sha1:94627345cea9c1d416d8e4ca22dc2f84dbc287d7 @@ -3320,14 +3496,38 @@ trackedFiles: id: 4a01bc29d5da last_write_checksum: sha1:8803bed3d9cacbc51121a05e59dae2a8b25b4add pristine_git_object: 5c432d689b57a04b40693792cf59f9837aa63e81 + docs/Models/Errors/OffSessionChargesNotEnabled.md: + id: cfe9c4b68738 + last_write_checksum: sha1:a7047290489a57c0f5c6dc5e5b903a117ad0c409 + pristine_git_object: a5ef92269e578d19d46f9a4120deadc6af85d406 + docs/Models/Errors/OrderNotDraft.md: + id: 2b52a9852c13 + last_write_checksum: sha1:4e046fa3785b7d15bcf95bbfab6e75cf914d6871 + pristine_git_object: ed70c62b506642abd6f240f71cf122adb3a72ebb docs/Models/Errors/OrderNotEligibleForRetry.md: id: b3f2d4425a5a last_write_checksum: sha1:36d2c4a749962eda63663000abc8c7a80a649e39 pristine_git_object: 18d2333b7f42a5305a710583f8e4ec1a2fe2f7ec + docs/Models/Errors/OrdersFinalizeResponse402OrdersFinalize.md: + id: 1feed14fa0f4 + last_write_checksum: sha1:f445bdfa7e215c13a2ead4378c6b94cc7a16f169 + pristine_git_object: 76388a08f438f854f5db18f2d975055f41d62976 + docs/Models/Errors/OrdersFinalizeResponse403OrdersFinalize.md: + id: 1bd109c6ff31 + last_write_checksum: sha1:e126f83eda3257faeeca73ba2be7fa857c005007 + pristine_git_object: 368200735508054760446d447c350bd6670f1149 docs/Models/Errors/OrdersGenerateInvoiceResponse422OrdersGenerateInvoice.md: id: c63593787615 last_write_checksum: sha1:5b9aa2831b6825bef4b702f5427b77b7d90419ba pristine_git_object: ea3ce541364e88a238ff4115398fdf56f97ae5ce + docs/Models/Errors/OrganizationNotReadyForPayments.md: + id: 90a2a98b9932 + last_write_checksum: sha1:558c8deace8558948cc8d5b9579723952c916479 + pristine_git_object: 62b00a7827e2a87be1dae8e7d7c5ef8352f05481 + docs/Models/Errors/PaymentActionRequired.md: + id: 88118a065479 + last_write_checksum: sha1:7cf89f456b500c821d46dcac538195a2d24ec11f + pristine_git_object: 3683e130f7949aa954c654ca4cbd35e4183131e5 docs/Models/Errors/PaymentAlreadyInProgress.md: id: eed663aa5d5e last_write_checksum: sha1:766aff2b20c8b3b54b6b35cce6cd429632d01240 @@ -3340,10 +3540,18 @@ trackedFiles: id: ce45ee90c6e2 last_write_checksum: sha1:7bdc8a302a2f55a31da801bd5ac195578d0f7919 pristine_git_object: a344c030833cfb41dcc42a8daa64017109eafaef + docs/Models/Errors/PaymentFailed1.md: + id: e34ee032c57f + last_write_checksum: sha1:756266c245ecae32019cee236b3cb5e693ed349c + pristine_git_object: 67d803263a2b9114303460bfa89111d32dc924ea docs/Models/Errors/PaymentMethodInUseByActiveSubscription.md: id: bed17af472ee last_write_checksum: sha1:816257d15f142dad2cc7febb4fe662a034e98cf1 pristine_git_object: c56afbb74cdf0f8dc31be49c45f613f9871c7244 + docs/Models/Errors/PaymentMethodSetupFailed.md: + id: 3c4d6fbe41bb + last_write_checksum: sha1:fee80ee153d781119f1c06b903fc7c413612116a + pristine_git_object: d1ad042c3b029c90099335c6e727fe8406736fce docs/Models/Errors/PaymentNotReady.md: id: e92e1210f792 last_write_checksum: sha1:eebd46b7f614622bd1172b2398a540c52221becc @@ -3660,10 +3868,14 @@ trackedFiles: id: f41ae84f27db last_write_checksum: sha1:f760fc287da07554dc3a9afe4d278e73245009ee pristine_git_object: d53f73e7893a3cfa391c8cdd48b27c81601e9135 + docs/Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md: + id: ac383efbf234 + last_write_checksum: sha1:e27e717a0ca4235375f3c0d125ed3d09e841d4aa + pristine_git_object: b63776540685c750f4b34453acc9e92c9dd81bf6 docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md: id: 91bb8fd75d66 - last_write_checksum: sha1:604e8a1727dce34a7a311880d9259482b4376381 - pristine_git_object: 9d10b50f8f3144b66f2a72d98640dd773a01c1f7 + last_write_checksum: sha1:2ab2b4875fffb1d98537702f2c07ac14e35302db + pristine_git_object: eb3ed8fff35aae819da790e113ecbc53985ea61e docs/Models/Operations/CustomerPortalBenefitGrantsListResponse.md: id: 82d1c0e48747 last_write_checksum: sha1:d39a459389765f1d6fd9c643a5f22e5526cfd4c5 @@ -3732,6 +3944,14 @@ trackedFiles: id: 7d0f4d8d91de last_write_checksum: sha1:b6199c3f9348ab48aef95e9bdfb2704566365c65 pristine_git_object: ca6afc655fed13205c2bb0733d145883b5aa79f7 + docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.md: + id: b43301b254cb + last_write_checksum: sha1:7bf17a9c587c2002b2ebb60d5607ab3ead515b45 + pristine_git_object: 65cd320018ffff73d195b6e5a412cb2f92157a58 + docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md: + id: 077906eb122e + last_write_checksum: sha1:250ad6ef7821b3f22cf4ea3adc9304da25ec19e8 + pristine_git_object: c6d25e3977741cbc800da454055bf8545e05a0ad docs/Models/Operations/CustomerPortalCustomersConfirmPaymentMethodResponse.md: id: 9a1e8d2f1b28 last_write_checksum: sha1:992c295ab04a0d60df8baa0a9d1d542959e75ca8 @@ -3772,6 +3992,14 @@ trackedFiles: id: 002a932d80d7 last_write_checksum: sha1:1068f20feb86bcc505fddc9abb28050bfab32663 pristine_git_object: ef02a249fe7367d04272511c7b7e3efeb232c8f6 + docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md: + id: ab11c431382e + last_write_checksum: sha1:dd081150d618fe6776472f186ad271d05b768604 + pristine_git_object: b9daead8ab52fe37e6f911214ffb1ffde8b6d9b6 + docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md: + id: 1027f7039ac4 + last_write_checksum: sha1:89cc0069778bb5bedd61b5c9f95020b7fc3493b9 + pristine_git_object: 59c356e015312847319cf2f7395d1ae99bbd297b docs/Models/Operations/CustomerPortalCustomersUpdateResponse.md: id: 24ba9c7f4de9 last_write_checksum: sha1:c4962a1c9985e585e7962500c9d2a46b0569935a @@ -3780,6 +4008,10 @@ trackedFiles: id: 91767aaba618 last_write_checksum: sha1:9e103634abceaf82bdea6f2384ea31760673d3be pristine_git_object: a86406e5bb14212891af2b68d31085a89406d3a7 + docs/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md: + id: 6edee5ae3fff + last_write_checksum: sha1:db55369b7145fef5736d2b2423fad707cbeb2c27 + pristine_git_object: fc229166b079596c563704138bb7e802669b834c docs/Models/Operations/CustomerPortalDownloadablesListQueryParamBenefitIDFilter.md: id: c0545cbc0eea last_write_checksum: sha1:869f8f6074a5e90cd976b2ef4d7e439dec3c2d08 @@ -3944,6 +4176,18 @@ trackedFiles: id: f6c84afdac96 last_write_checksum: sha1:42f1b3ea4bdebdd9dcec3f49d43531e063e654f3 pristine_git_object: 27bf7d99f957a4d49301a173027d4cabee7c7e18 + docs/Models/Operations/CustomerPortalOrdersReceiptRequest.md: + id: 57de2cb8abe2 + last_write_checksum: sha1:abc515023e1f0772d30595761113a3dbd86031db + pristine_git_object: ddd22970f26de605e485ea3f38fd6375284f163c + docs/Models/Operations/CustomerPortalOrdersReceiptResponse.md: + id: 39fed3e06cdb + last_write_checksum: sha1:9dca4814756ef4a2fa520a7ca13e42244caac3cf + pristine_git_object: a679c6cb09ef28f58aee0662509bb63bffbaaaea + docs/Models/Operations/CustomerPortalOrdersReceiptSecurity.md: + id: 07c3d278ce94 + last_write_checksum: sha1:aaa2be83d45cf89aa9b94f45c02195e8840d1f5a + pristine_git_object: 8c027ab8c5a693aff472ad0e82cb959f4190b85a docs/Models/Operations/CustomerPortalOrdersUpdateRequest.md: id: 62a994350313 last_write_checksum: sha1:55bdd4a9c1dc1616075547d21247a7426d42fc5c @@ -4062,8 +4306,8 @@ trackedFiles: pristine_git_object: 2f5cce3ec1fc993ae23ac528bec2d1ca9bf9f950 docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md: id: cca1f9f81ea9 - last_write_checksum: sha1:3270a605d88fe96bebfeb8353ec8f4f9067c6282 - pristine_git_object: 413be930809451dd312578b40d4ef6d0080e2cb9 + last_write_checksum: sha1:e3c5a18fd5e9096a5deb52c24a5e582aed2a41b1 + pristine_git_object: 9f22353213857661f1ac6da307be33938b2974d6 docs/Models/Operations/CustomerPortalSubscriptionsUpdateResponse.md: id: 9c88ea37fc29 last_write_checksum: sha1:b7b8a75bb51cf5053306f50133da844a98293301 @@ -4208,14 +4452,30 @@ trackedFiles: id: a70efc4bf3da last_write_checksum: sha1:b4d513bb10a7e87b9bb28d351ed95fb61a91af5e pristine_git_object: 4d7db7bfa860482991249b75f23148f868935f5b + docs/Models/Operations/CustomersListPaymentMethodsExternalRequest.md: + id: fba2fd9f2e2e + last_write_checksum: sha1:b8416f1c3ae85836452c8d4ef06275565cde343a + pristine_git_object: 6573a235b2f2d24e9cadb163d0d9bd87f9745ce9 + docs/Models/Operations/CustomersListPaymentMethodsExternalResponse.md: + id: e54ca9ae5781 + last_write_checksum: sha1:520bcece42b901a0a6ae9ed6cb18ec0753fa549a + pristine_git_object: d73e378941ef594a04db0910441d1f291dadc2b7 + docs/Models/Operations/CustomersListPaymentMethodsRequest.md: + id: e180991fd793 + last_write_checksum: sha1:72ae8cca25ed880ebbc4e58c6ce7a8621883a998 + pristine_git_object: 2b13bec6b7653ff64ac193b84eede2ef7e87d37f + docs/Models/Operations/CustomersListPaymentMethodsResponse.md: + id: 15087ccd3b01 + last_write_checksum: sha1:2c49861c76cb61846cdbdcdb157a5e049cebed00 + pristine_git_object: cae0ca8811923e3bdcf4014c44fbde4f0c25dcc1 docs/Models/Operations/CustomersListQueryParamOrganizationIDFilter.md: id: d22f4da101c9 last_write_checksum: sha1:8367b2f3264262454e93268766314821351c01bb pristine_git_object: 6902b586cabcbc408bba91242648196f6da4d044 docs/Models/Operations/CustomersListRequest.md: id: d877c33ff449 - last_write_checksum: sha1:04ec55f444b239b7fac9b32a63dfe9e60b7b7b42 - pristine_git_object: 767302fcdf45acdb9874966a2ce29a25d5fc54b5 + last_write_checksum: sha1:8072bdad78b95d1345c43634567234261e60c459 + pristine_git_object: e3ea996bff2785c32f61a2aa630b024cb3150e6a docs/Models/Operations/CustomersListResponse.md: id: a737c2f7a1d3 last_write_checksum: sha1:2549ab71ed34bd2c72a2da7173c6127c8c60e9e1 @@ -4342,8 +4602,8 @@ trackedFiles: pristine_git_object: 6862789151b3890d19dea0e6f07e502c0e1da57e docs/Models/Operations/EventsGetResponse.md: id: fc8ddd0a0125 - last_write_checksum: sha1:8ad7c52a4cf10d6c41f35ac6a067af2dcc7c2867 - pristine_git_object: 30165a9834092a4be14a3e45be1e86d73be6abb1 + last_write_checksum: sha1:ed393dc5e6272a85c300c72536dab86d2c0503f6 + pristine_git_object: b0f3c155d900e61f5d5b979471756b2af816c885 docs/Models/Operations/EventsIngestResponse.md: id: 47f17e79a8d1 last_write_checksum: sha1:2a1278e3f4509e1b265664f0985b03ca72e9f562 @@ -4460,6 +4720,10 @@ trackedFiles: id: b0570b630995 last_write_checksum: sha1:4beee7a0349c01f5620c928db2996191bbd98e02 pristine_git_object: f570b17e5296310e478b150c0526d957815b5af0 + docs/Models/Operations/LicenseKeyStatusFilter.md: + id: f7eda2337e63 + last_write_checksum: sha1:36b870c6671b67f818b6114891dbc0d5a0f2319b + pristine_git_object: e737d6e39f2481942541cd2d1b006d0a4acc9035 docs/Models/Operations/LicenseKeysActivateResponse.md: id: 44ab63d4c85c last_write_checksum: sha1:c64bb533a7c5779d1eff8fd1294d3356f97d7241 @@ -4490,8 +4754,8 @@ trackedFiles: pristine_git_object: 056e9286b28074325a0557b78d91ec0d1766432d docs/Models/Operations/LicenseKeysListRequest.md: id: 054a26b95134 - last_write_checksum: sha1:e530e7a9eda8bc6afc49c72238ab6018221083e8 - pristine_git_object: 0b5afc7aa1a6908b106f0b9f3b07e42f39727143 + last_write_checksum: sha1:e988f8afe328c46838afa7d052064c9510913e77 + pristine_git_object: cdbb7f20b57b8f816a7ec76f154cff540f64764b docs/Models/Operations/LicenseKeysListResponse.md: id: 3e7a93b5428c last_write_checksum: sha1:848fa8c0f5837c34f8c8d1891356b3395deb663c @@ -4516,6 +4780,14 @@ trackedFiles: id: 423ec0c4f2fb last_write_checksum: sha1:5d87c6601381e1b84580daccbfdf292149d5ec58 pristine_git_object: bee2d70ecb48084180492e054f690435042f91f2 + docs/Models/Operations/MembersDeleteMemberByExternalIdRequest.md: + id: ce10a1fa0006 + last_write_checksum: sha1:69ee8354ac3c70c9911025e96f0c39244e9ceb93 + pristine_git_object: 1fe8fcb5d044b89230be0e8517681c0c8973477e + docs/Models/Operations/MembersDeleteMemberByExternalIdResponse.md: + id: 092340da6c8e + last_write_checksum: sha1:3a47380b716e64311d274b9654462531b083eb25 + pristine_git_object: 7fac15bad61ceb0686cd0d164c1020fbc676691a docs/Models/Operations/MembersDeleteMemberRequest.md: id: 31c867501279 last_write_checksum: sha1:8655aa3be2bb110f15b5ad68329e9cf09154ad42 @@ -4524,6 +4796,14 @@ trackedFiles: id: a90f098a0fc0 last_write_checksum: sha1:8beb6b46d1c9e403723008fc2539a0988919ef1d pristine_git_object: faa545b83a1f155f52bb9802d394f38133347b63 + docs/Models/Operations/MembersGetMemberByExternalIdRequest.md: + id: 57456cd123f5 + last_write_checksum: sha1:b5e30c2552ee664673f605c5f54f4d2edfc020e3 + pristine_git_object: d1d9cabdd4ea7ecc6cf09816d4df9658b64586fb + docs/Models/Operations/MembersGetMemberByExternalIdResponse.md: + id: 772106ccebe4 + last_write_checksum: sha1:b4e08f8c8f3e2db038a37b6ca808b004826c3d29 + pristine_git_object: 5cd20945b7a102a009878bd5adc321fa243bccff docs/Models/Operations/MembersGetMemberRequest.md: id: 60d03ed6a0a9 last_write_checksum: sha1:4b043d914ce52e523e68be71d26a225dd49cf1e2 @@ -4540,6 +4820,14 @@ trackedFiles: id: 12d4bd67c7dc last_write_checksum: sha1:5efae57ca5add0dfe03a1b1407d0e3e647790b86 pristine_git_object: e8b0f938326a1a0886473f30c7f37d404e3af7cf + docs/Models/Operations/MembersUpdateMemberByExternalIdRequest.md: + id: ec501167cdfa + last_write_checksum: sha1:c13659107f9f9bdc110d3f8db49ab7f37eccfe3f + pristine_git_object: 7f97db5bda0f73275af4b63d71e47f9130d071f5 + docs/Models/Operations/MembersUpdateMemberByExternalIdResponse.md: + id: "851326315317" + last_write_checksum: sha1:32a38ff4b20df946c23caf597a297211fcf4331e + pristine_git_object: 9ddfa65451e6f1a7b4c036a45115deddb5c9c285 docs/Models/Operations/MembersUpdateMemberRequest.md: id: ec225cfec836 last_write_checksum: sha1:e814888c8ec0bdb0045d7792955ecbfd0555327d @@ -4616,6 +4904,30 @@ trackedFiles: id: 4695881cf2bc last_write_checksum: sha1:b9dca790e41c9368098b0701c1f2103c611f0c00 pristine_git_object: 161a5622f97d6d007b5a05682a19915c691742aa + docs/Models/Operations/MetricsExportQueryParamCustomerIDFilter.md: + id: 472e587777a0 + last_write_checksum: sha1:703bce78bf45646ac595688cdc488346b43590cf + pristine_git_object: 94ff9113614ac1ee9ccf5bc65d88b08fde0514b7 + docs/Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md: + id: 3a11dfe9c1c9 + last_write_checksum: sha1:b16f55c8e9d9c10fa082d2074cfcb0b880c82ee0 + pristine_git_object: 1fa5477b0a472f24bdb14c7487a9475e9223ed82 + docs/Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md: + id: 05b8dfa2c0af + last_write_checksum: sha1:d0d88e0da73771812c451aaad71352dae2aa809f + pristine_git_object: 3ec745f81324bc6fda7bb2a527ccddccc7599edf + docs/Models/Operations/MetricsExportQueryParamProductIDFilter.md: + id: 535115fb6d35 + last_write_checksum: sha1:cb9e451bceb180ac58f7d21fe0b46c0c74f62018 + pristine_git_object: 91143682a15257743391bc8f1b65b03cc3fd14d1 + docs/Models/Operations/MetricsExportRequest.md: + id: 0b7af5c662ca + last_write_checksum: sha1:5682db6634341096a10941335c6604a32c4552bc + pristine_git_object: ec16354abca64f44006dabb5f2bd6ce026d3757b + docs/Models/Operations/MetricsExportResponse.md: + id: db229ca18ba2 + last_write_checksum: sha1:86913ecf517abec010e3e04564dd7b78b5b83347 + pristine_git_object: d10bea4e4009cf72becf85ac5bd67e08024c735a docs/Models/Operations/MetricsGetDashboardRequest.md: id: c590a9ce05bf last_write_checksum: sha1:c914d7a5550ce4680138613ac3638a539cf0f3c8 @@ -4736,6 +5048,10 @@ trackedFiles: id: f066a16fb07d last_write_checksum: sha1:8884953cdf903d7ffe84983c883a3ae1342461ea pristine_git_object: a00b70a71a96e9372bb54c5ced329357dea16510 + docs/Models/Operations/OrdersCreateResponse.md: + id: 3da26a307ae5 + last_write_checksum: sha1:05d0cb5e4606bf247ac96c133175f987e81a0615 + pristine_git_object: 91d769fbfe65b1c37249423c6b811d0a76d3837a docs/Models/Operations/OrdersExportQueryParamOrganizationIDFilter.md: id: f60b85b24f76 last_write_checksum: sha1:dbda8c769ae8a7dc2df28c29b4e54ebf988e50c9 @@ -4752,6 +5068,14 @@ trackedFiles: id: 9d4a9ef89782 last_write_checksum: sha1:bd113bd78a6fa931a7cb8f75e845e8fb61bec28c pristine_git_object: d6e0e2c6e1b368b11bf804f9c9cc1a2bf70cb9fe + docs/Models/Operations/OrdersFinalizeRequest.md: + id: 15c0e35a9fc5 + last_write_checksum: sha1:26e7e247409775fbc8c72feb28188357f8ac24d2 + pristine_git_object: 93d1004f00be245d3bc1451179cdab8a83e20b9f + docs/Models/Operations/OrdersFinalizeResponse.md: + id: 02d67f997ed9 + last_write_checksum: sha1:a987231fa5a1b5b6e6ba5c8e59101018b2d5dd47 + pristine_git_object: b316dd2b360d77ad83d5192cb5f269aa05b100fd docs/Models/Operations/OrdersGenerateInvoiceRequest.md: id: 7e0bd18a33b7 last_write_checksum: sha1:c2b07594331320e0b39f8b3d28e5dbc8fae30901 @@ -4794,12 +5118,20 @@ trackedFiles: pristine_git_object: 74472216aaf8bce0942fd2fb81209c6f5d775f4b docs/Models/Operations/OrdersListRequest.md: id: 2659e1e45080 - last_write_checksum: sha1:53c3d5190f01185c3468def2172e43fb3e65ef0a - pristine_git_object: 8a954c084e1eb011a481b10f6db6844a9d3dc37e + last_write_checksum: sha1:1a1725cd5b006d265bca205091eaf745dfd87815 + pristine_git_object: b2516113cccf1e9ff59de3d118da37476b4e1ced docs/Models/Operations/OrdersListResponse.md: id: 8445ad833ca1 last_write_checksum: sha1:e05a21805d5c87f0f97988c7914906b977de7ad6 pristine_git_object: 655682d558d10f0f238f2d855efdeaf8160cc839 + docs/Models/Operations/OrdersReceiptRequest.md: + id: 04eb42daba80 + last_write_checksum: sha1:daff5e29863bd31afdb336f40276f63775633424 + pristine_git_object: 06ccad0924155cae16e5a9718136aba1c39e7532 + docs/Models/Operations/OrdersReceiptResponse.md: + id: e9cb20e0f51d + last_write_checksum: sha1:3f9eddd9614b431820bbe113d9356b65b126d12f + pristine_git_object: d5a31f4ac715dc81211a5c0d0158992bca3cac2f docs/Models/Operations/OrdersUpdateRequest.md: id: 3ea31d0deadf last_write_checksum: sha1:9b2e8ea285de1abc9111ed0a347d156007fee720 @@ -4888,6 +5220,10 @@ trackedFiles: id: df9613ab1ae5 last_write_checksum: sha1:e3a5a15e43b04f4506b8885502fdeb771b6dda61 pristine_git_object: 487be2f778448927f5f36292232812fe86d12a39 + docs/Models/Operations/PaymentsListQueryParamCustomerIDFilter.md: + id: 11cc5a933cbe + last_write_checksum: sha1:06d1c4bc51c84d8698dcca1c1a1b21ddcf3a5af9 + pristine_git_object: 910d043d7bcfedbfeebf941093c529afb9dcd0da docs/Models/Operations/PaymentsListQueryParamOrderIDFilter.md: id: 61759eb96df5 last_write_checksum: sha1:7fa477032a31767220d97ba5f143e058e0790a1d @@ -4902,8 +5238,8 @@ trackedFiles: pristine_git_object: c45d417be7696f55ce9ec9d451bb0679feab8df4 docs/Models/Operations/PaymentsListRequest.md: id: a85197d104fd - last_write_checksum: sha1:8b3af66f8a4c1805e11701743d747fd2cb9930ee - pristine_git_object: e4cfd01afd5f9313861f3689af399491de4d7c19 + last_write_checksum: sha1:dc687d8003ce213d9c3d264d1d617460cce0b3ee + pristine_git_object: 708d4098a1bf35c38a97044013f0fa34fc1ac09f docs/Models/Operations/PaymentsListResponse.md: id: cdc52ae7a8cf last_write_checksum: sha1:0761601d782f3e0a6487b460504f71e4beeba7af @@ -5042,8 +5378,8 @@ trackedFiles: pristine_git_object: 94130d12560b0984b0e22381ec784fee0678adb9 docs/Models/Operations/RefundsListRequest.md: id: 06dd9b075fda - last_write_checksum: sha1:1d9a959c38211ccad81d7dde8cad4f06997c7ff1 - pristine_git_object: e65493999c60b049f8f60f111ff1589d29133dbd + last_write_checksum: sha1:2215bfdb64a083ba10985490667f9d5320e1a2e7 + pristine_git_object: 3d15d34e1a3fe150932a53bd520b50ce37cc8a98 docs/Models/Operations/RefundsListResponse.md: id: bd297426fd5d last_write_checksum: sha1:01d63e9621bf00f5421896952c76ed8e69b0359b @@ -5102,8 +5438,8 @@ trackedFiles: pristine_git_object: f4f87cd8ee6aca7e58864f2850392ab4cfd0ff8a docs/Models/Operations/SubscriptionsUpdateRequest.md: id: cab7fc6c2939 - last_write_checksum: sha1:576aa1dad621f7818f434dc245697de2f96bf38b - pristine_git_object: 499196204dff5150171ccc6b1d63ed4699b12281 + last_write_checksum: sha1:86d3435606d96a86f751c4847959b4d2d8ce9e4d + pristine_git_object: b86c74299c0a01bf186b456e7b2e099447d5a225 docs/Models/Operations/SubscriptionsUpdateResponse.md: id: 364c71dff2ee last_write_checksum: sha1:9f1625033d38882b8fcb39ae985a083ce98b4a82 @@ -5310,8 +5646,8 @@ trackedFiles: pristine_git_object: 8e1fc41d52485607c27faef9dcc60d0a90699dc9 docs/sdks/benefitgrants/README.md: id: 2c33ee9f89c4 - last_write_checksum: sha1:5d62ae914e612d525c984d6a462ecbe0ad56b75f - pristine_git_object: c59ba7ec053e56b95e1acc405d2bb51c3296ae0d + last_write_checksum: sha1:68827c547ece1b8463cede377c4069ed77dd6267 + pristine_git_object: ab9338f119a8c1ac8c663bd5bbfef725ab042927 docs/sdks/benefits/README.md: id: 0cec85e08d49 last_write_checksum: sha1:1c6994321cff3827b35eb5b978ddbfe6772d8701 @@ -5334,8 +5670,8 @@ trackedFiles: pristine_git_object: b835fbf2f151b79b6b6400a295e00578d696fab7 docs/sdks/customers/README.md: id: 9332759cffc2 - last_write_checksum: sha1:ac9aeef383af6b0e4652466b6687f9fb8abcc81d - pristine_git_object: 6eb76788c527f05c3cc6d972c2ce26f4a6f40bd8 + last_write_checksum: sha1:8d96326ad4630fc4fe5d5b08b1b745cdbc46ba89 + pristine_git_object: 873aa8d970d7eec5dec47432b54f6b85247c2dc2 docs/sdks/customerseats/README.md: id: fbb862af52f5 last_write_checksum: sha1:bbd745828398753959212fb58f26320dc5922cb9 @@ -5354,8 +5690,8 @@ trackedFiles: pristine_git_object: 90dc6aaae82460c67a6edfdbd9059185f276d8bc docs/sdks/discounts/README.md: id: "000723261694" - last_write_checksum: sha1:21932015b3fa813296671502f70c250fbedbbfb0 - pristine_git_object: 645b42dd1b4aec81af18b3e2ab8f72409fe5c3ef + last_write_checksum: sha1:14a0e1b628a4a06a7fb3da2b41a4803e0fcf4897 + pristine_git_object: 69eed0d82bec1e22a0e8ca7cf2189ed1764611a9 docs/sdks/disputes/README.md: id: 5b14d189cefd last_write_checksum: sha1:e76e64ed71258f4708457b4d369fa9a01d072e3c @@ -5370,44 +5706,44 @@ trackedFiles: pristine_git_object: 27d8bae694504facee1593e4a7d35d781ce72d0a docs/sdks/eventtypes/README.md: id: e3c4448534b1 - last_write_checksum: sha1:cc45a759421c574e4a607f0ac47c4100dfc0cfa2 - pristine_git_object: ec9aaaccb37807d9d1f9a2e9333860559c7b411e + last_write_checksum: sha1:4e8d44fd7f49a8ec01cc89ab7c063dde73b48108 + pristine_git_object: 589f4d18204c2ea2a69e0faa4a353c7b6e5b4dc5 docs/sdks/files/README.md: id: e576d7a117f0 last_write_checksum: sha1:01725b5f8fcfc84c906ba0e5ad80a8735df973b1 pristine_git_object: 88df79edc5be74e70d16b84f4030a5e81e6ac327 docs/sdks/licensekeys/README.md: id: 119117936b1b - last_write_checksum: sha1:039535c6829aa762f76b8d9668b822667377b862 - pristine_git_object: b8f20eba7ba919d6e83d02f34bc9fd98f2f6378f + last_write_checksum: sha1:8efbe494cd340525ea7c1861da3252c0a49bfb1a + pristine_git_object: d19e499a6f89b7af876639622d3538589930d242 docs/sdks/members/README.md: id: efb92d440525 - last_write_checksum: sha1:0d40bb5f6b535120cb87b5523f75d872807eb9e2 - pristine_git_object: d2c4c618c167572cb288cd5ff38f3a09a175f14e + last_write_checksum: sha1:bd2f8f4ceb8c58175401b741c538b0f349635049 + pristine_git_object: 5d6f4dd2d5003e593063a71be2ea023f9b0218d6 docs/sdks/meters/README.md: id: 2d725619329c last_write_checksum: sha1:f5b57da10c9f6ddd5e66e22fac8212f29e85f379 pristine_git_object: 8e8069f27f8f5473a2dfa7b26cc765588db711c1 docs/sdks/metrics/README.md: id: a8545d964e21 - last_write_checksum: sha1:cfa9e27b59499093510a8818371088dc567e2899 - pristine_git_object: 132508906dc3630f9a6cdebbb8b21bce050af4b5 + last_write_checksum: sha1:13b73e1f796160bac36373d371bed47b3e73dad6 + pristine_git_object: 28a76b661f3e7ec5974c244c3fe7bb746e78519d docs/sdks/oauth2/README.md: id: 0d3d581bbf0f last_write_checksum: sha1:218f6c9776b9fc2d148634ba1a2d04ab11bc683a pristine_git_object: 03915f2ab61081400c3ca5c99597241d23da8172 docs/sdks/orders/README.md: id: fc5b2caf3cb2 - last_write_checksum: sha1:06ad4b03aef1a4159d35be578b03693c5b81fd43 - pristine_git_object: 1eb34806fd52a60394633a8001c78eb888148d3a + last_write_checksum: sha1:8890cff0c817a6df7f0f31e9f64eb377e84903fe + pristine_git_object: 794095bb61df95d9a5bb9c71ecae358aa22b4b1d docs/sdks/organizationaccesstokens/README.md: id: cbc02666c2db last_write_checksum: sha1:9e663c17118d39bd967c37f9f828cb7137100ca4 pristine_git_object: f0daa558866b4864e10a9ab4006e559d319d76de docs/sdks/organizations/README.md: id: 3425667a2db5 - last_write_checksum: sha1:73013b8d463b47524dd320d618088f6cf3b345b8 - pristine_git_object: 8a30741820ba1a9d9a8d3caa647e3e43037caf76 + last_write_checksum: sha1:c343e57a907d73a1df423bde928ddea151e66c66 + pristine_git_object: f4b194e0cf67cfdbbabe649ff62218032aecfd19 docs/sdks/payments/README.md: id: 0ddb15ec8c20 last_write_checksum: sha1:b21907e689bd154a04c168ba49cd99ed998e8b81 @@ -5422,8 +5758,8 @@ trackedFiles: pristine_git_object: 38c2317313345f6648056c9bfd2458620be5bf05 docs/sdks/polarcustomers/README.md: id: 0bcbb3daaedd - last_write_checksum: sha1:24c64c740ea3d1bdad46786b989290cfd5c1c34c - pristine_git_object: bea001fa7516ab6b53afebda5e74f4e00b51d279 + last_write_checksum: sha1:5658421288fe852f8a1dfc1eac54af100c355540 + pristine_git_object: 9bd3944468129435aa4f19726c82cff19900a1c3 docs/sdks/polarlicensekeys/README.md: id: 7f322ca756f0 last_write_checksum: sha1:665560069078c9435a6f6473f9ed8eb534a7763a @@ -5434,16 +5770,16 @@ trackedFiles: pristine_git_object: ed85f7d19566ff195b2eb5898b58854d400f39eb docs/sdks/polarorders/README.md: id: aa45777cefd6 - last_write_checksum: sha1:d12190e3284bf5d7e051bba18efba51672444f97 - pristine_git_object: effce1f87992062f2a66f42343c66f7411c63db1 + last_write_checksum: sha1:8adf365f082fb14aaec78072ce625aae221f7775 + pristine_git_object: 9627ac1c276a8e0dc25b77abeaf01095f6eaa661 docs/sdks/polarorganizations/README.md: id: 6e664ebeb7a9 last_write_checksum: sha1:90ff661c55df51cdbe39e0a9fb57e87d4b326e1e pristine_git_object: ae301121263c3b218f0199090b3f4c0c9eeb43eb docs/sdks/polarsubscriptions/README.md: id: 3baeb6932bf4 - last_write_checksum: sha1:c540e3c518f8fa7f45bd7cf5f2da43ceb8ef0734 - pristine_git_object: 36f8c5ad4de064f6dbd18f3038e9a3ed18a2ca43 + last_write_checksum: sha1:7e1740e09efe48cb2e22272c504f2b64771a309c + pristine_git_object: 39d61d3da00e8e8d5f36ae31c4b8c2b3a2ce2a40 docs/sdks/products/README.md: id: af06255e12ab last_write_checksum: sha1:395537a350debb2721cb7c3b7017bb96a3f77868 @@ -5454,12 +5790,12 @@ trackedFiles: pristine_git_object: e43d6ac4869f35089f4859da72b64b2030466726 docs/sdks/seats/README.md: id: 5dd624f51870 - last_write_checksum: sha1:c267f221bdeed91db763fafc411c6ddb33362606 - pristine_git_object: 956b19f1645cf53ab6ea403e70122047d8d2d614 + last_write_checksum: sha1:863b4d8d91cb6a84a5a8938b25c7ee044c5d0509 + pristine_git_object: 5c632d9f00102abbc90b17ce848852dddc92668d docs/sdks/subscriptions/README.md: id: 298b9ab3c3e0 - last_write_checksum: sha1:f1f190901d27ec73efe477e7e8083ae35a569395 - pristine_git_object: 697cd3eb08f7400c46cb92b2e96a79f01315ee69 + last_write_checksum: sha1:fb661eccf309aa2557af54e6077d2973b2d99001 + pristine_git_object: d96b85a66926ad7e86dbcb86427c8fabffaf85a6 docs/sdks/wallets/README.md: id: d9388c541e1a last_write_checksum: sha1:105c6aa09aa8bb5bf7c5e87c7ef6af59fddb97c9 @@ -5486,76 +5822,76 @@ trackedFiles: pristine_git_object: 40eb9bfbea10383ae16ce195da9113bb2abfc586 src/BenefitGrants.php: id: 5019ffab0b68 - last_write_checksum: sha1:04226e965a3181839d5a2b5a0a2d53ee731977ca - pristine_git_object: 16e42f4d5480e2da972b99f45a88f33a5462b56a + last_write_checksum: sha1:c44d79ae702e2c618f553f60dc0a99ca13683aa9 + pristine_git_object: 142ad192d4b53faed9ad2ad6e742ae0968f030c6 src/Benefits.php: id: 21c205afb435 - last_write_checksum: sha1:5d0aab8e97cd7039aa6f2766f466449d8904f835 - pristine_git_object: 8c584d574e973b21ca4672305cc5364e60658e39 + last_write_checksum: sha1:b30b9178a07e2189063588d810abafd9eb3c6d0e + pristine_git_object: c108fb999b69a9040b2f114ad7f7171ca7df69e8 src/CheckoutLinks.php: id: e2f70e8a49ae - last_write_checksum: sha1:66b404f277bd61c18b34e5ec6f2875aa353bb456 - pristine_git_object: 551bc52aa843ffaa2907547081f9fca2ef4514a1 + last_write_checksum: sha1:40ca8615a677d684b9105ea10aabae7ca87237b7 + pristine_git_object: 79feba7c5addf515be7a02ad0f6375dd8e47f6db src/Checkouts.php: id: 5c44146ec221 - last_write_checksum: sha1:16f25966c4b9ac41b8d3b46e00a0a05ffa36dab3 - pristine_git_object: 9976d01b42dd1c980ae4c2377bf832f996c72321 + last_write_checksum: sha1:6d9927a9806e268bd2aad411e56409ca4b30212f + pristine_git_object: bde2a796298940f26fcff4a061fe76fbae81e92f src/Clients.php: id: e778356f2ab3 - last_write_checksum: sha1:116db81e1bef136ba2fb4b4b6cebf5a8509acbed - pristine_git_object: d344e3034d0038a90f3caa4d74cbdb3339ef9d2a + last_write_checksum: sha1:d09e2d28f92144194f574c042fbcb86a7c566456 + pristine_git_object: 399ad4f4a707ee986cf0b2252960b3708588c96f src/CustomFields.php: id: 46702472d9f6 - last_write_checksum: sha1:bb0fb0ff11b88030cefb97afb9b682304d8f4ae1 - pristine_git_object: 60533f8b50e8afe217b6254c9bf6187adf1b8109 + last_write_checksum: sha1:622a9d2619c13dccfba7d2070f73bc4da45d8a81 + pristine_git_object: 74fc541ee913b612b21bf0e21b6d43a29f03f87a src/CustomerMeters.php: id: 09bbd5e449d0 - last_write_checksum: sha1:c124d137e1f5b87ef7386b694f6d46851942a419 - pristine_git_object: 39521967eb9182e9d2851233ea5c85eb99c5af53 + last_write_checksum: sha1:4a3c744aa056cc436f3cd1b8d2ecd8f5939baf49 + pristine_git_object: 6d28879dd5bd0fb236b07e84d5837a09397c05f7 src/CustomerPortal.php: id: ac0f0690b80f last_write_checksum: sha1:b0b61d46863425b7b43d3acb4ef54aa533eb1aa0 pristine_git_object: 430dfbab1304ab24e2532311b563d427db60e23e src/CustomerSeats.php: id: 91108a5ef49a - last_write_checksum: sha1:d7c9ab1a5c647cc7143dae07da4dba4757419989 - pristine_git_object: 10e3692fd6f3b76c187b2eb488ec4a0a629cb47a + last_write_checksum: sha1:3823d00d11311cd6b52ee40cf0c04f4abb97dc8e + pristine_git_object: b26c9242ce2a704db6c42789caac31203238f91f src/CustomerSession.php: id: be609051c1e5 - last_write_checksum: sha1:927ee3c4a33e5f8311c46509fb92f1d352f308f3 - pristine_git_object: b5fab2ae560e1841690e0305d830fb8c1c06e559 + last_write_checksum: sha1:be0e57ba9d0f26255ef01b65c1c0a06d33912146 + pristine_git_object: a2aa5a35fa2f11586ec64e0e7a1eede7838f9e92 src/CustomerSessions.php: id: 0e15f60ed50b - last_write_checksum: sha1:4ddf37c3ef3c837cbd521a63e663fe89f7a5e447 - pristine_git_object: bb848b42393b106b78de7bcef57b4f22bab80291 + last_write_checksum: sha1:8bb6d46550a22ade539e2aac20e1499a10381395 + pristine_git_object: cc4dd8a9b6361cf33b201ff8d56dcb0661a10199 src/Customers.php: id: e30600fa045b - last_write_checksum: sha1:4315a6e6989301f6c10c60a813d351abf30aec2d - pristine_git_object: 1dd2f497a1b18ee1c5a8d29df6c5f6d08ea28966 + last_write_checksum: sha1:c94b98176457fc3999903d904cfb018901c937c3 + pristine_git_object: 9aa57bc1692e68e6a15f7a2d9391c28dd38acdc8 src/Discounts.php: id: b069979cc4e3 - last_write_checksum: sha1:68f74f1432c10e9a3b5dda83eb77956d2d2d77c0 - pristine_git_object: 87414a0a888efd47ed8ef3f779d3a8fe3c9a5961 + last_write_checksum: sha1:65b373afcc4bd3f4ee475f9088c3b231dc186b56 + pristine_git_object: ea817113a35a3179b9184e03dd752a7081b44dc3 src/Disputes.php: id: f473bde79761 - last_write_checksum: sha1:70ff36d34f960d44e128aa7c6914100c2d075733 - pristine_git_object: d305b3a7fa350585a13adbf3b8ba9295974b95b1 + last_write_checksum: sha1:6ef1acb2e4147f59510d7447426ad8f3a170f43f + pristine_git_object: e70351f9c13a06ff917c4456711d3fb198f1ee29 src/Downloadables.php: id: e0cd6fa5a3af - last_write_checksum: sha1:c9971fb2fe7d15000c50bc7b3c40620d5214057a - pristine_git_object: f28040ab09f9ae3c05db7cd76682f5ae4360e07e + last_write_checksum: sha1:439ec3b7003589da7494dcada41b5aaa8e5a9bf9 + pristine_git_object: 2723e1894b86338ad37a2d85160d6bb00962eede src/EventTypes.php: id: 5845377e86ec - last_write_checksum: sha1:80ef1eb5dfd5ff9062cf11a21c44e7adacd8cbbb - pristine_git_object: 3aacf24f09363f31e465e1687efdd78ea20f3a67 + last_write_checksum: sha1:0cf187b32d860e97a8bbf6dfd2e9c826d6f9e028 + pristine_git_object: 557c50ec16a29ba6fbd4a31d42bcd0ac317cab31 src/Events.php: id: 0907f840e896 - last_write_checksum: sha1:093f10a89ee88f04b180208ec4390f42d947302e - pristine_git_object: c365b07a9e50a8b924f3128126ff53971ca1003c + last_write_checksum: sha1:fa55fc26d2ccd0855da9b2471aec8144e7d7aa46 + pristine_git_object: 741916d5f7e4853f03ce378f226a7d91511ef80c src/Files.php: id: ad1a49e101d7 - last_write_checksum: sha1:e767e40f69c72a9928c4159401f0713c0247715a - pristine_git_object: 0e38b892c179208c5dadc4c0165cac5f96e4ae00 + last_write_checksum: sha1:b12a3de449644c58f590e25cf5578533e532a685 + pristine_git_object: 0f8d7a08dd8f62c34b3727601841e48a9e4fb97b src/Hooks/AfterErrorContext.php: id: d3767eb93096 last_write_checksum: sha1:4aa2e8fa3093ef72cb90e7542ffa1973bf2b4f7a @@ -5622,20 +5958,20 @@ trackedFiles: pristine_git_object: bdb300b0a2d3fdda4fec6db7465297005f232015 src/LicenseKeys.php: id: 01f70c1c21fa - last_write_checksum: sha1:091d672bc2a71d5f577af9015dbd2df8c5be1559 - pristine_git_object: c68c6d8ee7ab6cf2c12bcd73c8f9687163bff432 + last_write_checksum: sha1:0c54c300b34a0efc14f97b8b7426577c9f26efa8 + pristine_git_object: dfa116ac84266b26af024f6b69af0d95e8233277 src/Members.php: id: 266c54bb33a3 - last_write_checksum: sha1:c30fb6875979067a811aa3431127f6d7261f6247 - pristine_git_object: 86e9010ec27e80b54f50e0923cc0ebc9e8d88f06 + last_write_checksum: sha1:692267660c1a97d86efb8e111127187877cbce42 + pristine_git_object: 000647977256e264de52fffa377fc826c02d195f src/Meters.php: id: 574ccdd96d36 - last_write_checksum: sha1:d1db905392d068fffb637bd504e5d83a204e4770 - pristine_git_object: 142395a695776e58d62e79bf65c31ac771610dea + last_write_checksum: sha1:f6f4f3a4a7dc22fed723f56d648bbacfc90d725b + pristine_git_object: ff2e605716c90a97709c4dd2848e99cfff289952 src/Metrics.php: id: 0b9fa7d88c03 - last_write_checksum: sha1:b6a6f7c317d442f76f97bdf33b4737251bd6dd17 - pristine_git_object: 15b60f88b3eefac33793dbda5bfd9dbadc015c3e + last_write_checksum: sha1:3f03d7f1484ee5bf8c5654d39a3b4b7fc019c801 + pristine_git_object: 3858a9e71543560ac54c469be3ad50237023b366 src/Models/Components/Address.php: id: 53caf55d71e8 last_write_checksum: sha1:7718deba2a8dc5bb6eb37d13a74232b6e473ef9c @@ -5698,8 +6034,8 @@ trackedFiles: pristine_git_object: 23473ce9d9eaf5c2e4f3b3835d7c23a4cf2b159d src/Models/Components/BalanceCreditOrderMetadata.php: id: bcb51c1fe735 - last_write_checksum: sha1:3f1b221ff660a08d0e35ce45a61b3bf97d61e924 - pristine_git_object: 0e937aaf5868524bb502e36bd0c8ceda56f682c4 + last_write_checksum: sha1:bdc7268dd4d28a45e9455655c8d4cd2c28cdc723 + pristine_git_object: b1a23acc58321678832292c78b1ecf7658d4bb9a src/Models/Components/BalanceDisputeEvent.php: id: 7370b557a8a3 last_write_checksum: sha1:169c01c4259593fe10a2e4475e093bde6c1060c1 @@ -5734,8 +6070,8 @@ trackedFiles: pristine_git_object: a0ea2ac98e77bdffc431028eddd30eb36c53f309 src/Models/Components/BenefitCustom.php: id: 33c4141274d2 - last_write_checksum: sha1:9b9a779b351e3b39128d0bfd653ad63379be0598 - pristine_git_object: 8b2c3f095b587185f966bdcf1424f9a8a6bf19b7 + last_write_checksum: sha1:f83f4e5cb6f5dd89d0362e45eca3489f7fe4f2f2 + pristine_git_object: bf5d29a7887303a59fd679a0252ac6b0a5cee755 src/Models/Components/BenefitCustomCreate.php: id: 238c0ca56f5f last_write_checksum: sha1:512d4ec29c98f0fba0c1a10cba051cdd7ff856a9 @@ -5750,8 +6086,8 @@ trackedFiles: pristine_git_object: 8c2b13a8034dc15049e734e08dd24a8f7eb75549 src/Models/Components/BenefitCustomSubscriber.php: id: 8cb6ea399323 - last_write_checksum: sha1:4cc19a4436b41f3e68c6e59a5c6c37df3361a72c - pristine_git_object: 587c50d952c8101d427bf50e828c3555795faf80 + last_write_checksum: sha1:bc548e4750c949b6df3af0964ce0d0f8f9d96eef + pristine_git_object: 5d51cce4df183640182832ab4a39f1ef00838cf9 src/Models/Components/BenefitCustomSubscriberProperties.php: id: 8884fdc5b636 last_write_checksum: sha1:7422e34175e58e2bcfca2ae2388eec005edbcaa5 @@ -5766,8 +6102,8 @@ trackedFiles: pristine_git_object: 95889246a13e53954d3008eb1a274a76b2d8a979 src/Models/Components/BenefitDiscord.php: id: 364b69aaeb4d - last_write_checksum: sha1:d0cee0c48c9e55c97759371c24529cad96b5c52d - pristine_git_object: e601d0dc097fd134d75cfe8d4e313d5e78083713 + last_write_checksum: sha1:18b505ec333d37ec3f3f7d5707c618d1de63a423 + pristine_git_object: 74e27a75e921e3c1c54e6a1d19ddf4f7c8b05d04 src/Models/Components/BenefitDiscordCreate.php: id: 11d179837c09 last_write_checksum: sha1:d04259b2ebce74aa5ab61b5c5ad1cd667ac3aba1 @@ -5782,8 +6118,8 @@ trackedFiles: pristine_git_object: e329490c4de31a2474157bc4f42dbbb19e15789d src/Models/Components/BenefitDiscordSubscriber.php: id: ad54306b7cf3 - last_write_checksum: sha1:e380521293c4f7e65182ab318d896405ea597cc5 - pristine_git_object: 3777aff788ba9d517612d439b3b8ca816ab8b150 + last_write_checksum: sha1:8b6a13f6c51215c55e2a9d4c040ccdf1c8a121c8 + pristine_git_object: 993799859b297bf153253925eaff98c07971b028 src/Models/Components/BenefitDiscordSubscriberProperties.php: id: 4eaba8778c9a last_write_checksum: sha1:eba70ead9d86f8838dc138863fdd789b4039fe2e @@ -5794,8 +6130,8 @@ trackedFiles: pristine_git_object: af36d743cd519e9402b37999790e7797d47e1fcb src/Models/Components/BenefitDownloadables.php: id: cf48da68a96a - last_write_checksum: sha1:8f60d2297ef8c031ade293477f9bb821f0d89381 - pristine_git_object: b4d003202a4d460ec02051efb0a009194fa73dd9 + last_write_checksum: sha1:255b9a9ec9a576f025d16c99baf5df25bb33e0f2 + pristine_git_object: c5cf364c303e5f4af0f2ae15ed0e7c3c1bbe1923 src/Models/Components/BenefitDownloadablesCreate.php: id: f52c9652952a last_write_checksum: sha1:616401eaad99cd670e1a4e924f1bab5d8c43146f @@ -5810,8 +6146,8 @@ trackedFiles: pristine_git_object: 4461afab226544020349c01ecc15d92880c3169d src/Models/Components/BenefitDownloadablesSubscriber.php: id: 6975537ed5fb - last_write_checksum: sha1:b91bd5bcceac9a0b6cec72bf217c3a427018d07a - pristine_git_object: dbe989ba87aff03adeabd26e252b0fdf215278f6 + last_write_checksum: sha1:7d6e089c0d9bff65e68027828deb4ee9a2eb4312 + pristine_git_object: 4022a302885badcb8ed4d694831c11f7a83acec2 src/Models/Components/BenefitDownloadablesSubscriberProperties.php: id: ccb87b01e8a4 last_write_checksum: sha1:ac4d33b89bfdebd1d200eb027a3c2d2b26f985dc @@ -5822,8 +6158,8 @@ trackedFiles: pristine_git_object: b2b1756817660606819b472cd856d936e35e6573 src/Models/Components/BenefitFeatureFlag.php: id: 1dbc5ef709f5 - last_write_checksum: sha1:554a436c54a79ac956421be4e247935f9a0b6a2c - pristine_git_object: a6db979c7f8f32d879e6f91e708a4d2825ba0e1e + last_write_checksum: sha1:dbbb75b5ea355b5097c04d9f6c81dfcbb03eb474 + pristine_git_object: 5502a2aa4285170822816eccb48a42d1b2c0dbd2 src/Models/Components/BenefitFeatureFlagCreate.php: id: a58dcb514d22 last_write_checksum: sha1:e9f27f7367ecb2db6b2c059c82af420f0aeaf813 @@ -5838,8 +6174,8 @@ trackedFiles: pristine_git_object: a35973c14f9244ce367d221ce290c87776be3c41 src/Models/Components/BenefitFeatureFlagSubscriber.php: id: f778f5e5ae87 - last_write_checksum: sha1:0c3e06153c84ba003b9f2dd9e76cf055a28d307a - pristine_git_object: d10336e5cec2c793daa91ee69f62e1bdc3df748b + last_write_checksum: sha1:d64b070ccbc0f96df89ee24471e455b26a4597dd + pristine_git_object: 38d64237d33308bb5695a7c4686926dd31757769 src/Models/Components/BenefitFeatureFlagSubscriberProperties.php: id: 98ffce116693 last_write_checksum: sha1:efd31b8d3c4c487c8eeac515eacdc8946e5e3279 @@ -5850,8 +6186,8 @@ trackedFiles: pristine_git_object: c8a6701045b4bb61fda0c5543f73c26ed8cc8909 src/Models/Components/BenefitGitHubRepository.php: id: 2cf79e95fa2b - last_write_checksum: sha1:e777b109dd1e1db7aebbf42eb86e029558ed3740 - pristine_git_object: 117625c0cce28b87f4f7cf6510d32422b0f7819d + last_write_checksum: sha1:cfced3aeb00dc543469a13d4f0622bb65683c4b3 + pristine_git_object: 62209b94bcadf5b841c9019c70799325f2fe76cd src/Models/Components/BenefitGitHubRepositoryCreate.php: id: 1b5b26a5e210 last_write_checksum: sha1:521e962dcc5624c2cf837ff2fa380d482e5b555a @@ -5870,8 +6206,8 @@ trackedFiles: pristine_git_object: fcc1e6616e391af7ad29f359abadf3aa77ee5a3b src/Models/Components/BenefitGitHubRepositorySubscriber.php: id: fa72b15f6ad7 - last_write_checksum: sha1:1e415eea117278c5cf4682feb720974f6ba1d4b6 - pristine_git_object: e925b87789df7c9a6af956d35cc6b7a0a9d233a4 + last_write_checksum: sha1:7418ba4f63ef9d91c43548cecc08d84e46f53acb + pristine_git_object: bc75403e4f3c63dbf03cdceba40e9bbbfb56aa57 src/Models/Components/BenefitGitHubRepositorySubscriberProperties.php: id: 790ae130bb6f last_write_checksum: sha1:61a5a4dcd17eadb1944c2d0b2226402d65072741 @@ -5974,8 +6310,8 @@ trackedFiles: pristine_git_object: 1c73479cd08fae526f4a5a500b73a6bc33ea1e3a src/Models/Components/BenefitLicenseKeys.php: id: 8050c3cbaddf - last_write_checksum: sha1:079f804d29de623958122a2d9d4b238db466861d - pristine_git_object: a2f8305bb5c7d2b8c073044f8ca459aba6d8a2ab + last_write_checksum: sha1:85be996d047b6b95dc65240e0a52b79b3e331799 + pristine_git_object: a5263525f9128e6bf5639a6946234fb4cbece6d1 src/Models/Components/BenefitLicenseKeysCreate.php: id: 96625b140dff last_write_checksum: sha1:6468ae6c7c1909a62114bf07882b3dd806698e46 @@ -5990,8 +6326,8 @@ trackedFiles: pristine_git_object: 6d1f942cecb65176041e983c1b3f359adc218ee1 src/Models/Components/BenefitLicenseKeysSubscriber.php: id: 07b11582be0b - last_write_checksum: sha1:b235fb4f44c18461083feae586578e7110e57324 - pristine_git_object: 139a6227ef913b8c8af52965569763dd020607b8 + last_write_checksum: sha1:c18e3a28ac37d288580c79c6a95dc851425ba480 + pristine_git_object: d7caffe33aeec6b9f9d17e5328407cd5e652400a src/Models/Components/BenefitLicenseKeysSubscriberProperties.php: id: 6a210c233b0e last_write_checksum: sha1:91b4ee34c347d69342799ec86195564d5dcd8500 @@ -6002,8 +6338,8 @@ trackedFiles: pristine_git_object: 36f71d610bfc62b91aba764a591bc42b4c93abeb src/Models/Components/BenefitMeterCredit.php: id: 814625b3c73d - last_write_checksum: sha1:407b9fa8f1dab80defa0e5f6025de452c5d1cbf8 - pristine_git_object: a52e4e07dc635a86383529ff8c2e48bc9bae65a5 + last_write_checksum: sha1:fa6ab1feef9ec5dbc17fec166f3ea79cfd0c7bed + pristine_git_object: 1406aa798028d3ffede3ed012300254a1f6f8ceb src/Models/Components/BenefitMeterCreditCreate.php: id: 9a6cc0091a98 last_write_checksum: sha1:d861da3b10a98e750da78c2f52e4e13d7af4f693 @@ -6018,8 +6354,8 @@ trackedFiles: pristine_git_object: 11da9521555e1ef59c81ea51f1f0c76a781fb6e2 src/Models/Components/BenefitMeterCreditSubscriber.php: id: f447c1d166ed - last_write_checksum: sha1:573a95f2c9e9c0943bfde836d825b7c90d028f60 - pristine_git_object: ddfd71b8765b0038ad08c7643dc2eb50e72ec568 + last_write_checksum: sha1:8ec1eebeaf9e6ca0862280b11ab75ca365f4a589 + pristine_git_object: a1920dc88d377f2ea127f2b4ce8f8d7746a8d317 src/Models/Components/BenefitMeterCreditSubscriberProperties.php: id: e7765574bcd7 last_write_checksum: sha1:754cc6ca8881ade7d28a9cb12c679775c1ac02d5 @@ -6030,8 +6366,8 @@ trackedFiles: pristine_git_object: 5f4cfccb2e38ed9ff843350ea489a85486d2d47c src/Models/Components/BenefitPublic.php: id: cba491530856 - last_write_checksum: sha1:895c0f19311599ee6ddccd8d99539be0e141e8c9 - pristine_git_object: 45c704a18c8761f3d36b29136c66f73d4fb78176 + last_write_checksum: sha1:9e85d2d42ef581943f82aec8ec81a94dd6609312 + pristine_git_object: 06400b110d563b7c57f94f9315c5354f60a80a20 src/Models/Components/BenefitRevokedEvent.php: id: 5857caa1c9df last_write_checksum: sha1:17bebc52e8b980f2acc3f267f6e4a50c65522560 @@ -6066,8 +6402,8 @@ trackedFiles: pristine_git_object: f14e2d8f8d98c8a8ded0b56a63c135a3c7aaa890 src/Models/Components/Checkout.php: id: a3f6621ec284 - last_write_checksum: sha1:fbb330ba5596ff52456f0e2e39858d3824b9c8cc - pristine_git_object: cb1f2626de1483b4650eacfa4692b436b14c6de4 + last_write_checksum: sha1:fd2b7ddc5e2c32f3a3ca1a45f692bbd97353c3a5 + pristine_git_object: 7a77d25fb7acb2e395f0d1d63f3072fda2eca544 src/Models/Components/CheckoutBillingAddressFields.php: id: 82ffaaa24fef last_write_checksum: sha1:62aa0d8fbd5dec0a4b731d2405061185048aedf4 @@ -6142,12 +6478,12 @@ trackedFiles: pristine_git_object: 74d19ffee5bbd6e0e7b8fbec2680099780d9a429 src/Models/Components/CheckoutPublic.php: id: bb72d55cf224 - last_write_checksum: sha1:d8d73dacceffff789a9eea0e94f4b732c0fca78c - pristine_git_object: 57207a925298817bca686b4c5d0419d89435d221 + last_write_checksum: sha1:4e1b305096c277f6309ebfca617be09a883927c9 + pristine_git_object: d46217b84ac36652c55e4b710f819ae4dacde5a2 src/Models/Components/CheckoutPublicConfirmed.php: id: dea0fcff8552 - last_write_checksum: sha1:491c42e9e10291b6ead12c39ef7b4e71b1b297ed - pristine_git_object: 31e8ab704e388683a39cee0b2d353c0aca0916a6 + last_write_checksum: sha1:503926f000db37bd9a34445cf37fc95bc910dbb4 + pristine_git_object: bbb42a067ab2bb741e0e5ec672477f8a337f9e42 src/Models/Components/CheckoutSortProperty.php: id: ea6bd50d2f34 last_write_checksum: sha1:1b5f7f27d4bd8f22a229b69e730e2d4d24f1ef76 @@ -6392,10 +6728,22 @@ trackedFiles: id: 4d5abb98dfe4 last_write_checksum: sha1:fdef7d909a905e6a5f62225e1d19063ea2aaa877 pristine_git_object: bd3ff0dc5c7ca290644a30230fa38b3278cb32d0 + src/Models/Components/CustomerEmailUpdateRequest.php: + id: 2a29fcbd2662 + last_write_checksum: sha1:e39d13d5847cf6b2f96a9666c7a6d0b242ec2be3 + pristine_git_object: e9eab803755a2dee30ecccf49257ffaa9f137f8a + src/Models/Components/CustomerEmailUpdateVerifyRequest.php: + id: aba8e3d50938 + last_write_checksum: sha1:70a5c6110171916f3434da2a5bbe9e9b056059e1 + pristine_git_object: d5bed7b465477543a9174739fe5fec5a989c86c2 + src/Models/Components/CustomerEmailUpdateVerifyResponse.php: + id: f5c135143155 + last_write_checksum: sha1:a5c2a6b5e68422a26d1f0305093174de8ad73c68 + pristine_git_object: 9e94a57536281a33b36e60fa740bb335095d2cd6 src/Models/Components/CustomerIndividual.php: id: 05f82c671b80 - last_write_checksum: sha1:d0e5ee4a668959c405e25e8bdfe6e0633e70185b - pristine_git_object: 0cb4be0de4b0875a5b139239d36fb6c310cda63e + last_write_checksum: sha1:635d67db23ac94c87ffb3f7bf989c149ac9c05e5 + pristine_git_object: 6ccc7a7e67dcabe91c7d1825368e3d4fe7cd1d0a src/Models/Components/CustomerIndividualCreate.php: id: 0255f5708edc last_write_checksum: sha1:07664eaf9b390253582dfa9520bfa73ded7a2d69 @@ -6410,8 +6758,8 @@ trackedFiles: pristine_git_object: c16969ca44f003785d273642d1287f604215a3d8 src/Models/Components/CustomerOrder.php: id: 02678346f2de - last_write_checksum: sha1:695097d1e683b320fdeb20a4965b556afbacf643 - pristine_git_object: a96fde47a5a459436c3657db17615763745fb061 + last_write_checksum: sha1:48f39339aa1ca7697e5c467b4608ebef175599e2 + pristine_git_object: 9637a0f612a23b3301b2301a0602d1cdf257aab7 src/Models/Components/CustomerOrderConfirmPayment.php: id: 272ba595e076 last_write_checksum: sha1:cc1dd284b0f614bdee32c45cc7eefa856f924dac @@ -6432,6 +6780,10 @@ trackedFiles: id: 346cf1d3c7d5 last_write_checksum: sha1:364d176508c0818c427c76f6944cbd8e7a2dec28 pristine_git_object: ef3744ad9218caec0145e266714646b49d6c0ede + src/Models/Components/CustomerOrderReceipt.php: + id: 469e292c396f + last_write_checksum: sha1:833b4757bac2829855d888872e93eb9227ce6f23 + pristine_git_object: 954d067b567067bcd92bba7ad6c49d851e1e6200 src/Models/Components/CustomerOrderSortProperty.php: id: 6f9f22604a3a last_write_checksum: sha1:e8826b8bb40bbffc9fb3b291a69b66efd0eded7b @@ -6456,6 +6808,10 @@ trackedFiles: id: eca144fd5715 last_write_checksum: sha1:21f5a7c7a2dfff8bde53ac11556f88508b949378 pristine_git_object: eead65e2f5ff6dbacdb382669d9a14b91e3f04c5 + src/Models/Components/CustomerPaymentMethodCard.php: + id: aac8afc92dd5 + last_write_checksum: sha1:38fe1ec65e292ae96193a803ebd1f57324de4d6d + pristine_git_object: 0be415ea220b6542fc5dbb50b2a4565d0d04cb6f src/Models/Components/CustomerPaymentMethodConfirm.php: id: 89f6335cd394 last_write_checksum: sha1:9a5a1fedf0c619deb3b12937b7a99ef50bba0cb8 @@ -6472,14 +6828,22 @@ trackedFiles: id: ce1d204c6e01 last_write_checksum: sha1:979c406c279a748c61ccce0ddb16bffeb0d6e4d0 pristine_git_object: ab7b31d333b8cbd4cd73ff2a66c9c973ab311227 + src/Models/Components/CustomerPaymentMethodGeneric.php: + id: 50379684a821 + last_write_checksum: sha1:d91d37d4fabf1b66a49248456b23b9975b66570f + pristine_git_object: 9ed6fc4f70c305977f0025546ca7dd0cd5688619 src/Models/Components/CustomerPortalCustomer.php: id: 252b3da206c8 last_write_checksum: sha1:7d224501af83bccdee0b6e61b4a951d9a7c8978b pristine_git_object: 60de1f9c0fd1427b3f33d05d647ffcc88fe9e548 + src/Models/Components/CustomerPortalCustomerSettings.php: + id: 8ca669a0406f + last_write_checksum: sha1:1eb5540015c14bc113349b5188881a3df890f489 + pristine_git_object: 5e7c8b36859dfd476fb3b0b671ea5687727f5b85 src/Models/Components/CustomerPortalCustomerUpdate.php: id: fb3a9dd1d99a - last_write_checksum: sha1:c4798497587e45f08a8ef609f5d22882b14afc3a - pristine_git_object: ba0273754cf540bd384f0e190f86f4fa5754dee3 + last_write_checksum: sha1:7c8f00acdc8cb115f288430738a991a592df63a0 + pristine_git_object: a4d388f652643ae890d4e83456427b8c5d95249e src/Models/Components/CustomerPortalMember.php: id: 65d3f0862738 last_write_checksum: sha1:04a1b84e6c20c0411534ad88ff800066754b05c4 @@ -6512,6 +6876,10 @@ trackedFiles: id: 23342b553586 last_write_checksum: sha1:51aa72dccfb4e3b6213a28395240b18603e07a85 pristine_git_object: 4909ccc4d631267b0e3a10a32f827940e7add170 + src/Models/Components/CustomerSeatAssign.php: + id: ac7395d7bba6 + last_write_checksum: sha1:1e721e04ebe8c1e35fe19f99aad2f99f66ca73b5 + pristine_git_object: 07620d526b89e6296927314bb6dfeb8902fee1cd src/Models/Components/CustomerSeatClaimResponse.php: id: 644a7305b53a last_write_checksum: sha1:97ad7512f84ebcb0be7a9ce664c3b6b5f4215797 @@ -6538,8 +6906,8 @@ trackedFiles: pristine_git_object: 054719b4a281249b018f60fef7845a4a23c8308a src/Models/Components/CustomerStateIndividual.php: id: 534f6fc6b9ab - last_write_checksum: sha1:bf3abf0284daf0307a23a2aa445fbf3b9095ccc4 - pristine_git_object: e4048870317df2ea348597a4d884b9c80526d780 + last_write_checksum: sha1:f36b213681257a5f1f1849a9746680622d3717be + pristine_git_object: b260ce4a9a5d688ce6d37dcf92d8b3b0c68522b3 src/Models/Components/CustomerStateMeter.php: id: ef50e01e6f60 last_write_checksum: sha1:1c094c4147dc7d1d22cd1caf38e5f6a9a6f26369 @@ -6554,8 +6922,8 @@ trackedFiles: pristine_git_object: b0462bef4b17d5cf4179bb1692843a2526ba1347 src/Models/Components/CustomerStateTeam.php: id: 3ff460356556 - last_write_checksum: sha1:95a0b5094084d2da45aacf4b365b6a0634df00e5 - pristine_git_object: a59c25e35f6224e0d2dc9e3bd5420b7fbf7ad749 + last_write_checksum: sha1:ca50eb580351cd4c97931cd528ea18be4f1be220 + pristine_git_object: bda8729ed93a8eccc5c5e0440859f4e2e5147de9 src/Models/Components/CustomerSubscription.php: id: b73d5c12fb1b last_write_checksum: sha1:6c036c021b916d00654da3ae2060a3be355145e2 @@ -6580,6 +6948,10 @@ trackedFiles: id: 1f5ffcfa8384 last_write_checksum: sha1:26694520d85a46c05e6c7dbbd8afbd3fcdf532f4 pristine_git_object: f15a58b2d894b87f323da329e31717ffe259f195 + src/Models/Components/CustomerSubscriptionUpdateClear.php: + id: 38e7fab69386 + last_write_checksum: sha1:cf8c375d951dff41965cfa5a2c5391675df5e7ea + pristine_git_object: 92d32ce7a95f101c1a024e6001fbf64c8bff54fc src/Models/Components/CustomerSubscriptionUpdateProduct.php: id: 08134d64ae01 last_write_checksum: sha1:0febf30ba96e18b96c21aeb6ac0b33c0d713d0aa @@ -6590,8 +6962,8 @@ trackedFiles: pristine_git_object: 89efc799b60002a1fe36608fcfcf8cf4a5a376fb src/Models/Components/CustomerTeam.php: id: 1ae7387a7a21 - last_write_checksum: sha1:8c02db63713ac849c5c419e3c2bf459748bcb81d - pristine_git_object: fa0713a70fa485727ec48a26b4f782cf59c61a0c + last_write_checksum: sha1:50dc636d7eb0de370157972274fa4329223f5d2a + pristine_git_object: 25bdbe1f281369f022c627ce1def77ac77bf27a2 src/Models/Components/CustomerTeamCreate.php: id: fcbab608037e last_write_checksum: sha1:a229ecfacd3ec076feaa4594bca61aa876289488 @@ -6632,6 +7004,10 @@ trackedFiles: id: fb0113e7c61a last_write_checksum: sha1:be819bfe853697eafa9d7918c3f005c348ab795b pristine_git_object: 069497917b6bcc58ef58c59de60add5459a2f6d1 + src/Models/Components/DiscountFixedCreate.php: + id: "271405570751" + last_write_checksum: sha1:2aebecd8f3fcedbf17b86be9aaf89854691bae74 + pristine_git_object: b0e310385cf5b92120a2996ef4df89c000de1d4a src/Models/Components/DiscountFixedOnceForeverDuration.php: id: b5e11d660b11 last_write_checksum: sha1:414d46da86e29dcded8dfdb975a920de8bf1ec4d @@ -6640,10 +7016,6 @@ trackedFiles: id: 695c878a3acf last_write_checksum: sha1:1097d68dcfd0826beec0c160b2cda3193373c168 pristine_git_object: 7e0fbdcb13ceac05570aba67e5dcea4b7363fc38 - src/Models/Components/DiscountFixedOnceForeverDurationCreate.php: - id: 44288b47147b - last_write_checksum: sha1:864acf221c54847dd56a744982f2a7d35ffcb871 - pristine_git_object: b149f17e94482001c57be5e6c661a83a8e181892 src/Models/Components/DiscountFixedRepeatDuration.php: id: e3af7863ff12 last_write_checksum: sha1:07bae6b0aaa509185c787f313bfed8a9b1d9fe68 @@ -6652,10 +7024,10 @@ trackedFiles: id: c7f5c244084b last_write_checksum: sha1:fbbf7b6af9e386772488a7a531866742e6834894 pristine_git_object: e519ac202300df7e961fd35cdb29063d731359d6 - src/Models/Components/DiscountFixedRepeatDurationCreate.php: - id: 8bf45c2e5f51 - last_write_checksum: sha1:2e7b0e71b124def61584046e0b26a3f1489af56c - pristine_git_object: dc8939a68db1ef3ac4d785078f91c4013314cd3b + src/Models/Components/DiscountPercentageCreate.php: + id: 1caed1a0919f + last_write_checksum: sha1:eff5d6b88e160d701d75265706ebe98e429961ab + pristine_git_object: f767a6ce282ea33ff46631753a0126ba39973547 src/Models/Components/DiscountPercentageOnceForeverDuration.php: id: d584c813a3ed last_write_checksum: sha1:d284a8ad5c8229b63f7a457632fbdf5476f11106 @@ -6664,10 +7036,6 @@ trackedFiles: id: c54576211ba1 last_write_checksum: sha1:e741245d9f92a80581a1ec455b350d91b35cbc82 pristine_git_object: 02af5ada2a2ffe264ec40c8907792b0fea6748c1 - src/Models/Components/DiscountPercentageOnceForeverDurationCreate.php: - id: 88e8d85f23a5 - last_write_checksum: sha1:fd95224c7212dd22b1fcc46489ad7819818543b9 - pristine_git_object: d8aff5ca3ee7626bef1f2e33ecc35054a1cdf281 src/Models/Components/DiscountPercentageRepeatDuration.php: id: 3fd1f16be09b last_write_checksum: sha1:b4939d4a793a72fd590fcc92f7d8594f815bd2e5 @@ -6676,10 +7044,6 @@ trackedFiles: id: 47071191327b last_write_checksum: sha1:336ba67ae4ae1fc288e4768cb7fc2ea2f4c5b6b4 pristine_git_object: d5fe0838b9efa362cb8c5bfa6c65525c476d0572 - src/Models/Components/DiscountPercentageRepeatDurationCreate.php: - id: fa0d2f569643 - last_write_checksum: sha1:824325e428ee29b631f1ab505004686d506e3ec9 - pristine_git_object: e9b559cf3812f7b76f5f4a5c9b0dd67498ff67b7 src/Models/Components/DiscountProduct.php: id: 6bf87e0fe37d last_write_checksum: sha1:3c2ea828191ba63cc349654f257cf08ad9cda1ce @@ -6754,8 +7118,8 @@ trackedFiles: pristine_git_object: e9e3e756e30eb0cea93dae724831b0f9837391df src/Models/Components/EventTypeWithStats.php: id: 3ac2794d7eae - last_write_checksum: sha1:8e99174774fbe3f5645af4c602de0fbeabc74570 - pristine_git_object: 665e78975108e22d7918b541efb9e66b9f3c249c + last_write_checksum: sha1:a285e44cbefd98eff31424559cb71cce025bd7e6 + pristine_git_object: f6fbedd82e191e83674e4b17baaa03c24f2d4a7e src/Models/Components/EventTypesSortProperty.php: id: ba277e11881c last_write_checksum: sha1:4f80497856f0f3dfa7ebeb4c37378abdb35b58cd @@ -6838,8 +7202,8 @@ trackedFiles: pristine_git_object: c9a5d863f283dc2914e0fea454e14c10d40fd4aa src/Models/Components/LegacyRecurringProductPriceCustom.php: id: 92632f581337 - last_write_checksum: sha1:a08bb2ba7f4287b832ee0d2512cb2b8b64949743 - pristine_git_object: 49c8e2dc9f5f368d8a9a3ce8f32b73fedb84baf2 + last_write_checksum: sha1:8b590d3e2524a474850e904819d2c854e4fb65fe + pristine_git_object: 194385e2adbfd128563fbfd6591d8e39479e98f0 src/Models/Components/LegacyRecurringProductPriceFixed.php: id: 4a6b4ba117ab last_write_checksum: sha1:f93be5c687d60862fb4c7fc1b8db12ce67427077 @@ -6862,8 +7226,8 @@ trackedFiles: pristine_git_object: bbfe205278fa57ab460eb24b6912b2657bd0aa32 src/Models/Components/LicenseKeyCustomer.php: id: 9a12a5c3501f - last_write_checksum: sha1:5b0f3e7723079647a29d7b33c4a2c35e520d6253 - pristine_git_object: 2dfcef7e7da53241805b9f265d6d25239cd97121 + last_write_checksum: sha1:d4407a72239bef6ffab8d79ffb92b57b45364fb2 + pristine_git_object: d6023c9d3fd47f0e952fa15180272df444e41d9c src/Models/Components/LicenseKeyDeactivate.php: id: 567b69493447 last_write_checksum: sha1:dea791acb6416b6821263a3fa159043115893903 @@ -6958,8 +7322,8 @@ trackedFiles: pristine_git_object: e6cbb0ab1e3789c1545e3cd6c065c69d5d183c3a src/Models/Components/ListResourceEvent.php: id: 17735ccdec88 - last_write_checksum: sha1:2ca63a72951512c57b21e2d8f5dfb70cf6a452c8 - pristine_git_object: 1b4115fbfb8f6b73cb869db4b7371b2626ded2fa + last_write_checksum: sha1:97375de6c7839f9317f38ec4a2f69bb82a66f4c9 + pristine_git_object: 6c3ac6642481fa806c8f5539908eaa7974ba2a25 src/Models/Components/ListResourceEventName.php: id: b83650311833 last_write_checksum: sha1:e4148642e99e5894902101c3ad91d67f38a34a57 @@ -7000,6 +7364,10 @@ trackedFiles: id: ae0940fb12fb last_write_checksum: sha1:78d10ed8a2196d5cd6e5d247237b3e73848aec18 pristine_git_object: 970271efe0534659836d55fcc9f40404235985a3 + src/Models/Components/ListResourcePaymentMethod.php: + id: 47c52002bb84 + last_write_checksum: sha1:83813c0ca7f40a0424ced8c237dbd547482e37fb + pristine_git_object: ebb98d15313a32fe3980a581cba26ae04fd1b673 src/Models/Components/ListResourceProduct.php: id: 8aeefc21ad24 last_write_checksum: sha1:e2834275f75ee1cc91f990a6a517d6920f8e394a @@ -7022,16 +7390,16 @@ trackedFiles: pristine_git_object: 9d94e3421a0a2acc81d8d64e9d05fcb2f3bab3af src/Models/Components/ListResourceWithCursorPaginationEvent.php: id: 420141fa898d - last_write_checksum: sha1:1beb89ae1feea40b43cddc6098c100c9a5b8003f - pristine_git_object: 19c1400258f70e05b5ef8c42b6302978354e0340 + last_write_checksum: sha1:be67d6b2eae7e47850f8be45023f6e359295b14c + pristine_git_object: 5110e0ad51ab93dfffe781e2203e50a4a4a6e348 src/Models/Components/Member.php: id: 0c37051cae93 last_write_checksum: sha1:9b99982f6f2e04f0bbc8ff41ef5d82b4664fdee7 pristine_git_object: a5f00e6d8302022c7ef960387c83255a90a84ee5 src/Models/Components/MemberCreate.php: id: b598f4cc3d93 - last_write_checksum: sha1:d983de36c42a9269605303c13327e0f6a8dfb164 - pristine_git_object: a1b17f7baf92ddc6d74c1f89232fb2f4af8c9aa2 + last_write_checksum: sha1:64bf0d881aae31478f500537b072f219536ffd5f + pristine_git_object: 2a78b048eb8f9e477b84350e0677e0417cc64598 src/Models/Components/MemberOwnerCreate.php: id: 002eddf8cacf last_write_checksum: sha1:6b6448d1b0b82c8d672708acdefd416face5e964 @@ -7050,12 +7418,12 @@ trackedFiles: pristine_git_object: 5a686ae41062065a86b45e2ceea675e8fe5e86d8 src/Models/Components/Meter.php: id: b4e9621c6762 - last_write_checksum: sha1:c9d77c1ffb282805e4426fd0c9f850e90a889d06 - pristine_git_object: dac33c726ed651d3efbb0fcf1941a672b8577ec6 + last_write_checksum: sha1:554c936408a14d16092d3e3d9d2075890b6bc6de + pristine_git_object: 701344003a68a024ef1af0a9732246a6774310f3 src/Models/Components/MeterCreate.php: id: 9c683c1c6f12 - last_write_checksum: sha1:3028a5c6d153f3204cb8a894fcf3e8e9ea237c1e - pristine_git_object: 7cf61917da25ae8eaaf45d877fd5443195a281a6 + last_write_checksum: sha1:a5976276d663699dbd41a2e53be1941c1e5850ae + pristine_git_object: d95fb5fa4bfb572d2dfb3566f862f7064501b0e6 src/Models/Components/MeterCreditEvent.php: id: 4752801600eb last_write_checksum: sha1:95300b941fc575b7744cb07532f6b73746493221 @@ -7084,10 +7452,14 @@ trackedFiles: id: 9f993f538007 last_write_checksum: sha1:f0cdd5599f8d91f30e179d119e4ddf5125a921b6 pristine_git_object: 855cd466e7885cfecea47c92630ea52fbeed8c8a + src/Models/Components/MeterUnit.php: + id: cdd8f845184c + last_write_checksum: sha1:3c7c1cc424ff931e288b2d4acd0c4cc99b71537a + pristine_git_object: 8dfa73143233a2327bf65ed404b5d7ef5e7ac58b src/Models/Components/MeterUpdate.php: id: c979b8d2702f - last_write_checksum: sha1:37f27558c6e57f89e281ff1fdcdcf7fdac379530 - pristine_git_object: 013f10f5198001b47c23498ba201ecbde40966a4 + last_write_checksum: sha1:91162be408fded45c322c47931673d276bbfc456 + pristine_git_object: b04c203357b27a6fd81fc4b457fd608c10f171ba src/Models/Components/Metric.php: id: 5f9254973fee last_write_checksum: sha1:b913c9b7f57232a0b6141f94f49e7ba6883dd4d2 @@ -7106,16 +7478,16 @@ trackedFiles: pristine_git_object: 9a7eaa47fe76cabcc665b3559d87684bbc3a5fd3 src/Models/Components/MetricPeriod.php: id: 2e7f0a5fe6a3 - last_write_checksum: sha1:412b4e7cbee1ed4145ab02fd46c89d667bdf0bad - pristine_git_object: 2a4d9b4f75913cc7430e7cb048393b4541220385 + last_write_checksum: sha1:f29a02f95c92a44ffd0cd33ad401cf271bd025bb + pristine_git_object: 4459dfa3326a7dacc78df6594d7e7a47c8648979 src/Models/Components/MetricType.php: id: f104d56186f8 last_write_checksum: sha1:6a921ac334329d06f397241209a4344712e9df1f pristine_git_object: 247fefb8c6f69319edf5db28818f8d00a32b5dbd src/Models/Components/Metrics.php: id: e2c44bd13db0 - last_write_checksum: sha1:e2eeb2db5e9993a4b7c2d8ee71f67a5a1c27b320 - pristine_git_object: 478a4ddfd69bb76d5295395a7fc0020ffd8fa447 + last_write_checksum: sha1:828200070489dd9a75ba578085e2e9ab2c8fe499 + pristine_git_object: 47abd588b296023413762372041600a62358bcc9 src/Models/Components/MetricsIntervalLimit.php: id: f1c7f4e6d837 last_write_checksum: sha1:ddbd7f433cdc4699ade88216be349d15359ff630 @@ -7134,8 +7506,8 @@ trackedFiles: pristine_git_object: f2a3732d1a90184781a78ad61bba8443f9f29ee7 src/Models/Components/MetricsTotals.php: id: 88dacf84cfec - last_write_checksum: sha1:0b80fb2fdb72d0e639e1afdf071beb34a742dd0f - pristine_git_object: 64b6f9f12f441fb7070828fd3086f63ab45ab827 + last_write_checksum: sha1:ef4f715bc742471ebbe0503e2df469facf7f3c7c + pristine_git_object: ab45eca247cfa1a177610edd97c3e564142ec861 src/Models/Components/OAuth2ClientConfiguration.php: id: 50e22b794ded last_write_checksum: sha1:a4bc358871c12bca834f1bd9da426ba89fa13a31 @@ -7158,16 +7530,24 @@ trackedFiles: pristine_git_object: 2fc31afd68839ff8a0d91e7ab4281ad57830e0b8 src/Models/Components/Order.php: id: b4539a757b61 - last_write_checksum: sha1:1aeddc91061da60e02722ef1c74c980392d060b0 - pristine_git_object: df3eb981d864b1c89fcf9c90781893cae8d36c55 + last_write_checksum: sha1:9b51a48cafa30fc2343e6159737325632d538899 + pristine_git_object: a9bebaeccb82ab9f59c61ac8cdb98f2571af90c0 src/Models/Components/OrderBillingReason.php: id: 07f3b376015d last_write_checksum: sha1:3640b0e59ea7fdd64b940a7495fed8bc506767d5 pristine_git_object: 62bbf956f0078b24604f3fef7e22cbd26e67608b + src/Models/Components/OrderCreate.php: + id: 122f31981960 + last_write_checksum: sha1:8b26829153995f81cc307c981891ad61182fbe2d + pristine_git_object: 23c24f45e72a867125c2b0c750e80db552953e0e src/Models/Components/OrderCustomer.php: id: dc7d70f6b16d - last_write_checksum: sha1:081499170d26d381491ebf149de2a8451039ab98 - pristine_git_object: cb65958d021079386f32ed8c009177708b742c7e + last_write_checksum: sha1:d3e81933bdbf49c020827a7958b0c21738e814eb + pristine_git_object: 5c03bc41715997b69fea9d5a7e00dd72b4f1e129 + src/Models/Components/OrderFinalize.php: + id: 7f3ceb1be459 + last_write_checksum: sha1:820651422ed8b235a86fae560ecc996d6ce9a2cf + pristine_git_object: 1d62896c44786b2e82f0290b09ac8e566d7acef6 src/Models/Components/OrderInvoice.php: id: ae195a7af042 last_write_checksum: sha1:7f4d24d6ce1ab547ba3e53184d5287909b4f30e3 @@ -7188,6 +7568,10 @@ trackedFiles: id: ab5d210d6aae last_write_checksum: sha1:b1c7186ee03a1e3416c3bede1267c56014e3ee5b pristine_git_object: 266227a58819fc3b578221cf7925b2d61c8ac78d + src/Models/Components/OrderReceipt.php: + id: 64bbf78a686e + last_write_checksum: sha1:dcabc2cdf066f5f5bcb49b951b81d0b3904466d4 + pristine_git_object: 89a37c051b101cf718a37074e10ce5b4f8a04e9e src/Models/Components/OrderRefundedEvent.php: id: 345f0de7bd8a last_write_checksum: sha1:92388da914a7345f34c16767016f9273d40d7f19 @@ -7202,8 +7586,8 @@ trackedFiles: pristine_git_object: 1482a5cb94fee53549418689e75f2456eea051bb src/Models/Components/OrderStatus.php: id: b2fdbdd35c8d - last_write_checksum: sha1:c35040dfe82441444bba76595344c7989de49c7e - pristine_git_object: 2fc4d4dd6d94342200e46f5b603d53bdabc9b52a + last_write_checksum: sha1:7a3a7f8d8e35a2281e7e492bf35fa9633ea1b5f8 + pristine_git_object: cfdce38cc44387f9b1f3da8350ba7c621a17ffa4 src/Models/Components/OrderSubscription.php: id: 97a2745c6071 last_write_checksum: sha1:c1e4446b55340433c3694f53d367641a759767e3 @@ -7222,8 +7606,8 @@ trackedFiles: pristine_git_object: 20cfed0b5dd39e6cb8c6928d7c43d2083f136b0e src/Models/Components/Organization.php: id: c7417346b9ba - last_write_checksum: sha1:fb9089aa1f44b07477e965aaa93bfbf86bf328c6 - pristine_git_object: d0cf461eff6790ecf45e2ec4c49ada1ae6b39b35 + last_write_checksum: sha1:7d6ca88d19221b6692afe61e54733cb83a94471a + pristine_git_object: 83204965e41f87ee4d76d0ed0618b6a3500fc11d src/Models/Components/OrganizationAccessToken.php: id: cb0ed6fb17da last_write_checksum: sha1:2b5946895c334162d53597dabe00f0eb7bab1bcc @@ -7252,6 +7636,10 @@ trackedFiles: id: e5465301969f last_write_checksum: sha1:a2f15c137149a1b3b8314fb490ca210ad9590750 pristine_git_object: cf036df3fb95671ff772749ba3a37a8d279469f3 + src/Models/Components/OrganizationCapabilities.php: + id: 9b404513fc03 + last_write_checksum: sha1:9eec845a4990311e36039905e85e8e55dca6f128 + pristine_git_object: 99badaeba12ab79d66be7278b034e0e9901af9f3 src/Models/Components/OrganizationCompanyLegalEntitySchema.php: id: 9ee263725919 last_write_checksum: sha1:59bd2e06c959d5848e6d63f813f49d60bb9bb80a @@ -7266,16 +7654,16 @@ trackedFiles: pristine_git_object: abfec091d265129558d557d19670784f9490c887 src/Models/Components/OrganizationCustomerPortalSettings.php: id: 124fc9ee3598 - last_write_checksum: sha1:084248f87dbe75853a4ff32bfd96f1e6acaa095e - pristine_git_object: eb962cc6b5ce60b4766a928989047b79cd674e15 + last_write_checksum: sha1:ae666a2be8d965c28dccfe8f390e6be83acc6aa8 + pristine_git_object: 60130efeb11ce7b0d5b1c11eecb3e9231bcf37eb src/Models/Components/OrganizationDetails.php: id: 7e50ff370710 last_write_checksum: sha1:0a671255a8302566f7e42fad3e81a3ff238767aa pristine_git_object: 55f5b4e3b8d36b2d13525860b86c9666ad555496 src/Models/Components/OrganizationFeatureSettings.php: id: 323fb7336dca - last_write_checksum: sha1:c345f3df29757f827a816c5643ee6d8e1f459f79 - pristine_git_object: 2cf64aad888115d48689c19c8381d29f4a0b8d73 + last_write_checksum: sha1:c66a85b9b81dd04bbc5ecaa0ec025d5704cbd148 + pristine_git_object: 163b8234de87dd450ec5ec127767ebc14862dc57 src/Models/Components/OrganizationIndividualLegalEntitySchema.php: id: f18a2135b5b7 last_write_checksum: sha1:e7c4a49b7c6d601824ec97efe0a06222c7dd8531 @@ -7298,12 +7686,12 @@ trackedFiles: pristine_git_object: 4c7b567e9bc6cadb36210b60a519bcaa277d342c src/Models/Components/OrganizationStatus.php: id: e8147cdf0d9f - last_write_checksum: sha1:9224405047862d72deb10cd6b766d5d5eba787b2 - pristine_git_object: 2be1271651fee7d44f61341f76eec2255517a769 + last_write_checksum: sha1:f6369aa2085d4289b82ed54838e6c6a69e12059b + pristine_git_object: 4d538a980e158a55bf83aa8ec9514a4824554eaf src/Models/Components/OrganizationSubscriptionSettings.php: id: a679ffcd1897 - last_write_checksum: sha1:83b9c8ce493b10d45a635453acc7c9f8b4af2364 - pristine_git_object: 910f4fd3957aeff6de745c18d096054fb5d9073b + last_write_checksum: sha1:c3f1c2d3fac57273431af9b4ad6cbac82b38b065 + pristine_git_object: 08cc41cc79b5a23c0b7e7f2af4dd2c6cdff1aa0e src/Models/Components/OrganizationUpdate.php: id: ee7171f9eee1 last_write_checksum: sha1:5e4c7dcb1713186cea81c3c2d68f1400058bd049 @@ -7350,8 +7738,8 @@ trackedFiles: pristine_git_object: 1bf59617f460dbe553119cca07fd1547683f594e src/Models/Components/PresentmentCurrency.php: id: 6a5288741fb3 - last_write_checksum: sha1:cb7541a062bc4be994e8eb50119e9d29989768fc - pristine_git_object: cc4082afedd2d63ef422e03bdcfd8141ef2724ca + last_write_checksum: sha1:8c2768a2f1bf09b12505ec42cc1f17e669a8239a + pristine_git_object: abf4bab59133360e98361d55d05dd4ec8aa2b1eb src/Models/Components/Product.php: id: 0f3be372058e last_write_checksum: sha1:4d9bd11562eebe420980806faa109f87be9784f3 @@ -7382,20 +7770,20 @@ trackedFiles: pristine_git_object: 5f4a37c1d165df64c6bb801226f49129ebe4160d src/Models/Components/ProductPriceCustom.php: id: c591e7945a19 - last_write_checksum: sha1:2e83f2ebce16fc55619072a540334ed6041865f4 - pristine_git_object: 9107eda72fb61bdf659c4daf56f7941dfa8299cb + last_write_checksum: sha1:f0ffc7bf9b1e2842dd4982c512844824159ac29f + pristine_git_object: f1eb305acfcdf3ac5afaa927ef74d1cbb709e851 src/Models/Components/ProductPriceCustomCreate.php: id: 3884fb5bf136 - last_write_checksum: sha1:45cb829bda9cb8265b0534854cfb018746147086 - pristine_git_object: 7690a2ba8e4a4936275a7462fa7f1efd6337053f + last_write_checksum: sha1:b62dcc83c1a1148c8b2a9e44ec13d6e7a8c14ff0 + pristine_git_object: 4f10cbc1fc1959ce6c18062acbaecec9912b43e7 src/Models/Components/ProductPriceFixed.php: id: 5dfe5368049b last_write_checksum: sha1:07b437015d1321f7a0e302de6112ff014ef965c2 pristine_git_object: 284600c72a0ee550f1ffeb23f7b0000e1f5eaa85 src/Models/Components/ProductPriceFixedCreate.php: id: e037208c7cb6 - last_write_checksum: sha1:3459ade7573284c800f204d9ace0e5ab26abff41 - pristine_git_object: 03d9cfad2100f4d6fc5d607cfb73dde46bee7ca4 + last_write_checksum: sha1:960aa6d4c0475f2c5a6a7a2e1b713bfb0c26bd74 + pristine_git_object: c95b00462941a96e62b7d7dc60b874ea022085cb src/Models/Components/ProductPriceFree.php: id: 63b84392e7fc last_write_checksum: sha1:8fbd5d704c0a985f0e52cb682a6a50f665b0b4bc @@ -7406,8 +7794,8 @@ trackedFiles: pristine_git_object: 58b19edc6f3eba7e07a8e629c4a445f4a5ce7971 src/Models/Components/ProductPriceMeter.php: id: 9e46c4cdc201 - last_write_checksum: sha1:ab6487ee94ce2e17fb5bfd33d7d1d3c19f3e4dbb - pristine_git_object: f43fb83cfbc9a469f1dc090d3d979b5f81a47a20 + last_write_checksum: sha1:10052f7fa1d99587c7d786120d5e8340bdb209b9 + pristine_git_object: efce5ebe85ede6c0a50e7c759f2b3ac130b6a6b6 src/Models/Components/ProductPriceMeteredUnit.php: id: fbe77f682182 last_write_checksum: sha1:ca9fa8e111c511106345797760722b6a6255ef13 @@ -7456,6 +7844,10 @@ trackedFiles: id: 5f69fc5f2415 last_write_checksum: sha1:220d0ed5f36b357ef22916978521d9a70cafe04d pristine_git_object: 02142000dfefe2facf32a82fd9665af4cf68bba7 + src/Models/Components/PublicSubscriptionProrationBehavior.php: + id: 71a51fba5c0d + last_write_checksum: sha1:48b4764b1db8de6635d54c7fc539a33f17830c61 + pristine_git_object: fda5213cd6da88d60f9d4e463917ef33642347f4 src/Models/Components/RefreshTokenRequest.php: id: 1861983d4c2f last_write_checksum: sha1:77ba6396d09db2ff25fc3992ec66b2a07c3df766 @@ -7492,6 +7884,10 @@ trackedFiles: id: 51d6bf94bbb3 last_write_checksum: sha1:1be6008064b807f222b8758709de33ce32065389 pristine_git_object: f63fb26c0a91fd0f3ff846b01efad086aea3e5c2 + src/Models/Components/Role.php: + id: 62076282c586 + last_write_checksum: sha1:c126e4e52c255fa2af276faa8494e39760b6a606 + pristine_git_object: c7e7e2449f47423e7389b4ad3482dbc7941d7661 src/Models/Components/S3DownloadURL.php: id: e147f271c0ea last_write_checksum: sha1:a88a3c8fe1d645fb92bfd6b80f1c2ff44224a471 @@ -7518,12 +7914,12 @@ trackedFiles: pristine_git_object: f8237c2412c31a9806d05d2ea1451f92858788ae src/Models/Components/Scope.php: id: 9157e773608d - last_write_checksum: sha1:c2cc31b7a9e1c142a67ab4249a6f8dd31d3c36d4 - pristine_git_object: 3fe20e33bf477c8741a5aba9e5a804cefe88d0af + last_write_checksum: sha1:70c499c1d615a129b00446b57856b3bf11f987de + pristine_git_object: 6e2b5cc710338364cc82f44bf9403608815696b6 src/Models/Components/SeatAssign.php: id: a9cb789315ec - last_write_checksum: sha1:94b702e573391c80df3a39eae17e481ddd75a8c6 - pristine_git_object: 545cd9dc93af57666b6abcf568f6c8717d944cb1 + last_write_checksum: sha1:934aa10fe7a2c38c6a6cbcb4967fe3d1a5118ee1 + pristine_git_object: 521b43e9bc06b821435b556b18b924e9b6e26ba9 src/Models/Components/SeatClaim.php: id: 8a79b54e51af last_write_checksum: sha1:60b48f0437ff819c57d0eab5922b73a7a6de7799 @@ -7598,8 +7994,8 @@ trackedFiles: pristine_git_object: 44f8b15aa5c644d4396b6d0d3dd0db5b13ad712a src/Models/Components/SubscriptionCustomer.php: id: f7541c594854 - last_write_checksum: sha1:e88c5507ec2b35b3d928b215abc2a7fcde011dd2 - pristine_git_object: 579a46051815570b5721129660178eeed2c42f20 + last_write_checksum: sha1:9d424bb3d05566a0e681e480ca8919ba25e16428 + pristine_git_object: 11801c6a8e8fe3e67190a25ec9ecf08a69aa4173 src/Models/Components/SubscriptionCycledEvent.php: id: 77a93d86103c last_write_checksum: sha1:8dae5ebd195fdd3596e15ee8463dc9503d008bc5 @@ -7612,6 +8008,14 @@ trackedFiles: id: 50afce8cfd39 last_write_checksum: sha1:3ad5ab2a8619b021f5dd88135a1f9e873b7ebce9 pristine_git_object: 10f31ace254aa951253c3bb3c1fe9ea68708dc26 + src/Models/Components/SubscriptionPastDueEvent.php: + id: e8d86381cc8c + last_write_checksum: sha1:d4f9f19a85168b113d61326070d5fd110ba14903 + pristine_git_object: d4a00bbff238284db205f5c2b9458142d01767c6 + src/Models/Components/SubscriptionPastDueMetadata.php: + id: e11c4933da4e + last_write_checksum: sha1:71276daa2baf591262a10761dfd3635ce3c03b03 + pristine_git_object: 851c724c79c387e2dff9b354eb381a61bccc957f src/Models/Components/SubscriptionProductUpdatedEvent.php: id: 3c430ee7cbf6 last_write_checksum: sha1:82d7272043ac4c8c689c152d93415e721c88670b @@ -7622,8 +8026,16 @@ trackedFiles: pristine_git_object: f9a5b6cb4a71c14b42e6b30c4456336aeaffe705 src/Models/Components/SubscriptionProrationBehavior.php: id: 2a5d8d91dfe1 - last_write_checksum: sha1:456da1d253199095d2d257526e6b75392436c0e0 - pristine_git_object: 273b3b9c2014635967cda4b3351c50bf89612f49 + last_write_checksum: sha1:374ff7795ba728ac587b8aad17722f6ee07bd82c + pristine_git_object: af45e93fe54a18bea3e32cefc704d62f0c154c73 + src/Models/Components/SubscriptionReactivatedEvent.php: + id: ea3552dabb45 + last_write_checksum: sha1:95df9817ba95f62fc09ca65ee3ab84ca42624a22 + pristine_git_object: c3c62bdf51d83d14fae4ed429c2152c7f15f0fee + src/Models/Components/SubscriptionReactivatedMetadata.php: + id: ebf4fa69d5b0 + last_write_checksum: sha1:d913d20eb73dc012a44fd0e7871834838da49bab + pristine_git_object: 3d40f14da5a8dcd1c748e7c1094c9a10930180e7 src/Models/Components/SubscriptionRecurringInterval.php: id: be64e1b502ef last_write_checksum: sha1:d2194b236f7791289c0cc2025dd38c41e79c0d61 @@ -7666,8 +8078,20 @@ trackedFiles: pristine_git_object: 8e496d9a171cba62bc073c7f4974cb86a191f66b src/Models/Components/SubscriptionUpdateBillingPeriod.php: id: b7c1dda6d6ba - last_write_checksum: sha1:e8e2f5ef6a920a48aea70962fe72f274223f52a2 - pristine_git_object: a7694742af18f2d7597e5825d894a624a922d118 + last_write_checksum: sha1:65100512e1bd6257682b3e63e0e778ac09969345 + pristine_git_object: 09aee880ea72011180c5c6b9b27781f95d6be972 + src/Models/Components/SubscriptionUpdateClear.php: + id: 9f2810513aa6 + last_write_checksum: sha1:e650518954e78579d9189722b225aa1535ee463c + pristine_git_object: 45dc19cdc0d149397c1f1e9ce014a10c6af7c311 + src/Models/Components/SubscriptionUpdateClearedEvent.php: + id: 494a244ead5c + last_write_checksum: sha1:3f7c8b244d4cbcb33f823e3158edcd2c1705b08e + pristine_git_object: b0d6e97d9babcaba2cd5aa52edd17f48e71f6be4 + src/Models/Components/SubscriptionUpdateClearedMetadata.php: + id: 331b311cd6ad + last_write_checksum: sha1:2048ce5f4f0d64f49b8ec38caa02bc098c85a0a5 + pristine_git_object: 41c8f8a0a0cd7ff6a423dc77f21ffabc493271b5 src/Models/Components/SubscriptionUpdateDiscount.php: id: 02c81a848f53 last_write_checksum: sha1:0ddcc0f940a8edd3adebd9cf0344226a9935be37 @@ -7684,34 +8108,22 @@ trackedFiles: id: 90f727de5abf last_write_checksum: sha1:910505c7d80bfa7de8e3ad2d72e440ce5975c809 pristine_git_object: a49d953fe3120554c297d3bba2d5ae58aea09076 - src/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.php: - id: ba79a4e14e4c - last_write_checksum: sha1:59a9a177f527051c5fd1df030e489fee594e61ba - pristine_git_object: 663140cd44ded8fb80dcdcc301f26213ad61268c - src/Models/Components/SubscriptionUpdatedDiscountMetadata.php: - id: 1962dd22bd8c - last_write_checksum: sha1:5521073473e45b6d6028c8f9137fc58aa654afac - pristine_git_object: 13f401d2d77fa4745672640b345b43ac5c4c68ee src/Models/Components/SubscriptionUpdatedEvent.php: id: 9b0e3c130140 - last_write_checksum: sha1:307d64153cdab4c73828765f002900758038d96d - pristine_git_object: a39f58ad6738c4a0b9b5f68abfff12bfaee74460 - src/Models/Components/SubscriptionUpdatedProductMetadata.php: - id: ce3cdedcc21b - last_write_checksum: sha1:f5247558736975dde1b15d9fec09652357b775e0 - pristine_git_object: 2edd0bbc513a1e6be59d36c4367602b09bbb9ded - src/Models/Components/SubscriptionUpdatedSeatsMetadata.php: - id: c5a1ded80abf - last_write_checksum: sha1:c371e99fc70a8677965f794bc87cb9415f876b16 - pristine_git_object: ad0a0f1751d9f9f9c40ab3c4dbccda44f8ab6ba9 - src/Models/Components/SubscriptionUpdatedTrialMetadata.php: - id: 6a8555e8c093 - last_write_checksum: sha1:d37f6155dd23a1aa5d7dbe8ea7d8644f19d9dcb0 - pristine_git_object: a9d8eae8efebda92b1143364334c0698db556050 + last_write_checksum: sha1:4d12f3a75ca476a89ddcea7aae6cff73fee9f31c + pristine_git_object: 32badf5cd394a48a7749d09ad36d1c7291fe6b67 + src/Models/Components/SubscriptionUpdatedMetadata.php: + id: 73bd09668ce6 + last_write_checksum: sha1:18cf41e998f6637159766ad9bcc88d4bb1eca7a6 + pristine_git_object: 305d6663806b04866de8630be1d75052056c99e5 src/Models/Components/SwitchingFrom.php: id: 6d3c865c686e last_write_checksum: sha1:f09573d52ed71081ffff017a42e7deb025f414ad pristine_git_object: 193507005294f845be36d50318bcf2d04c365ec8 + src/Models/Components/TaxBehavior.php: + id: b4444535b13b + last_write_checksum: sha1:29c1f4d1e9d249652146c2c11d65444f87325e83 + pristine_git_object: 6824483cc1b0db493e1cde6127adb707567dd828 src/Models/Components/TaxBehaviorOption.php: id: 0b9750e8c59b last_write_checksum: sha1:2afce5c3e52d0218419922179bc97c65a3a2240b @@ -7992,6 +8404,14 @@ trackedFiles: id: 7bf1758122b1 last_write_checksum: sha1:db405d3b4e9b7c7b6595b105244279530a5b654d pristine_git_object: b76e9c5835e94a725ab3e75844f9ed6a4a384483 + src/Models/Errors/ManualRetryLimitExceeded.php: + id: fee4aa2eb43d + last_write_checksum: sha1:92187636f0c220dbc52a3c2c1b11a556a8953808 + pristine_git_object: c6adfed094b51bf1c77d7d6789fcaf9c7c6d738c + src/Models/Errors/ManualRetryLimitExceededThrowable.php: + id: b930161dc61f + last_write_checksum: sha1:69f9493f50ff0c23ad3b2ebce69f51aed01b898a + pristine_git_object: 6c242327456c121f5a0b38011d2a9c1a5bd5acbd src/Models/Errors/MissingInvoiceBillingDetails.php: id: "5606533175e0" last_write_checksum: sha1:baf7e1d950c44aaa59625e8d09f40c71e9d47ac9 @@ -8024,6 +8444,22 @@ trackedFiles: id: 026367c855bc last_write_checksum: sha1:23accbfa16f0c43bc90cd7e8f100954f357e1a29 pristine_git_object: 8f40dcd814698548f5db535dfcd5045a49d97a1d + src/Models/Errors/OffSessionChargesNotEnabled.php: + id: c2ffdfe100b5 + last_write_checksum: sha1:d6933bec2f73300cbc85404e1b9a0a56d00de57f + pristine_git_object: f41e954a2ce38676fd1ecc6933655c491f2d9c97 + src/Models/Errors/OffSessionChargesNotEnabledThrowable.php: + id: 2a463d55bbb0 + last_write_checksum: sha1:f39fa79ec5a4495cd47f8ac228d5522c500454b9 + pristine_git_object: bfa4a449242e678a8b8acde3684a70de644a20f4 + src/Models/Errors/OrderNotDraft.php: + id: 998e8e9e25d7 + last_write_checksum: sha1:77f747cf28890b79c11ea5686b99cbd6855e18b3 + pristine_git_object: 658411dfd2912ada3b92d5074e3d4507649187a7 + src/Models/Errors/OrderNotDraftThrowable.php: + id: fabacd4a16e1 + last_write_checksum: sha1:85695951590c752495dd400ec7ab8066b3fefc5a + pristine_git_object: ba31c8b88eaa6df29b2cf6677969923c56a4f902 src/Models/Errors/OrderNotEligibleForRetry.php: id: 0dd3c6bd49f5 last_write_checksum: sha1:fbca6e1b327083edfba2b3a38a49b64690899744 @@ -8032,6 +8468,22 @@ trackedFiles: id: cbff30f926c2 last_write_checksum: sha1:f0ba80db105cb3763402fd0dcf1e073a77318e6c pristine_git_object: 907596a0034edb2ced8cfc1ca1addcb4f5cda943 + src/Models/Errors/OrganizationNotReadyForPayments.php: + id: c097bfdf8bfc + last_write_checksum: sha1:666a71ff36a26319c96c9ef9f039988bde91b2b9 + pristine_git_object: 9bf9bbc7220d1251c80cb49e0304d44f60707340 + src/Models/Errors/OrganizationNotReadyForPaymentsThrowable.php: + id: 9d9497947540 + last_write_checksum: sha1:9edab61a4ee5ba2a47b89a0641e252dad7943c79 + pristine_git_object: a50c7c99b50a4abf95c2db1c21765a8b9c26785f + src/Models/Errors/PaymentActionRequired.php: + id: d0f51b5d2897 + last_write_checksum: sha1:7b47bbdf5da7ae86d0990bc207a4cbb0670915fc + pristine_git_object: 1b89068894310f00b658268b717ae35786d1612d + src/Models/Errors/PaymentActionRequiredThrowable.php: + id: d906658b2785 + last_write_checksum: sha1:ea5cf5ededdcbf4ccc4738d83bbc7c82c99ea115 + pristine_git_object: 537436b26390773dbe3811b8fae9de868ad47728 src/Models/Errors/PaymentAlreadyInProgress.php: id: 82a19fe7b18b last_write_checksum: sha1:0b26513ecc9834abe208775d466167645d492924 @@ -8052,6 +8504,14 @@ trackedFiles: id: 7cbebb23891d last_write_checksum: sha1:6672536e88b45e0196b8300a485fddf59db7bdc2 pristine_git_object: 6056c0766844f128bee632a435e1e4e1b92a34db + src/Models/Errors/PaymentFailed1.php: + id: 20595ef9d3ae + last_write_checksum: sha1:ef51334e978091a3ca6b446e1f06604a99422786 + pristine_git_object: 5a322b9101a8e499b3b57b8596d669e4c2f199b5 + src/Models/Errors/PaymentFailed1Throwable.php: + id: ae16c43c6cc8 + last_write_checksum: sha1:8182f1c2029b4914c74c4e477f4d29e1e6eeeb0c + pristine_git_object: db9c6b80f671f7f8adf2869da634b648e2279f01 src/Models/Errors/PaymentFailedThrowable.php: id: ca1f37e81915 last_write_checksum: sha1:30615ba7eec324a62dbfbab2c0311d1f7e274c62 @@ -8064,6 +8524,14 @@ trackedFiles: id: 31c005c6eb5a last_write_checksum: sha1:c58f6a5bad8145bebd31aa48ee99f9a832edebc7 pristine_git_object: e94f6c05b6096e55e90dd466587f61e432e2531c + src/Models/Errors/PaymentMethodSetupFailed.php: + id: ea34a885b7a7 + last_write_checksum: sha1:90c599fccc9b709cf31d519c8e6fbd690d274550 + pristine_git_object: 93ba30f0e789c5149ad135e4427854c091280c62 + src/Models/Errors/PaymentMethodSetupFailedThrowable.php: + id: 779611c5242f + last_write_checksum: sha1:3cb432f8c54f4c65e417b82d5539b202dddb4801 + pristine_git_object: 72d206177a11b65772986139e00b0a9c19d36370 src/Models/Errors/PaymentNotReady.php: id: 32e3e5377843 last_write_checksum: sha1:d1fcb2213583772420d0bb2a4ceb5a31b6fa9a21 @@ -8388,6 +8856,14 @@ trackedFiles: id: 7a19efd0ba48 last_write_checksum: sha1:6d87edbc9ffc1733843bead0765358c2f834ccc4 pristine_git_object: 6c5d4aaa7a335e771b17da0f90e464efe6519061 + src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.php: + id: 1521172c8269 + last_write_checksum: sha1:6594582260e53330034f060cab038115984e5194 + pristine_git_object: ddbbff3f6ae528dd39ad70633a2210c298aac5f4 + src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.php: + id: b88321ff7983 + last_write_checksum: sha1:75ab59eb21c870479142a7c2dedd03afb7e455a0 + pristine_git_object: ee59b7920f9a5191b4f4bedcd43ab4d0cc9f660f src/Models/Operations/CustomerPortalCustomersConfirmPaymentMethodResponse.php: id: a17ce0b0c2d6 last_write_checksum: sha1:b56498479555ec4c68cd0120bccd4f06b31e10d9 @@ -8428,6 +8904,14 @@ trackedFiles: id: 94df4310c3d0 last_write_checksum: sha1:2b93b0eefae7ece1859a8344cf8eb4d654c90119 pristine_git_object: 3e788e65afd36860c00be32a5f025a5d9fa13103 + src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.php: + id: 39b02497478d + last_write_checksum: sha1:f17b9597fcd0e9a9c2b7ea471ccc48839344c217 + pristine_git_object: b1dd83e0bfdb6938a198aba7bab9c0296c9d0068 + src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.php: + id: 0978d84b63c9 + last_write_checksum: sha1:767874d0dad578db7416c77a28fddccba10a14ac + pristine_git_object: 0d9124cc7b507aef8ccedf3687046421ba1ce503 src/Models/Operations/CustomerPortalCustomersUpdateResponse.php: id: 506270b2a8d0 last_write_checksum: sha1:7af0285a90f3536e150166275088b1aa519a6f10 @@ -8436,6 +8920,10 @@ trackedFiles: id: 60d0abbf819e last_write_checksum: sha1:8f98393f0d016b7194c8ae0d0a40eb74543a0407 pristine_git_object: a731b7916bde4c7172370f0b41b83d8ca4b3862c + src/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.php: + id: 1434ffcd69d1 + last_write_checksum: sha1:dbae3322a83b120cb9fa57591d8a760c2508da72 + pristine_git_object: 780982051be0540c8ac65c8e665cb73b506f1c29 src/Models/Operations/CustomerPortalDownloadablesListRequest.php: id: 0017ff02d7a4 last_write_checksum: sha1:6eaf80942a751f57ed43b6fecf9b2cb38ba6ad3e @@ -8584,6 +9072,18 @@ trackedFiles: id: 312bd2a23c60 last_write_checksum: sha1:a53b6773a9d1a35900638ee850e2988182322616 pristine_git_object: 83f52eccdbb7d2ada3191f3b81ea57a51eaa71cb + src/Models/Operations/CustomerPortalOrdersReceiptRequest.php: + id: 4bad78deeb4e + last_write_checksum: sha1:0cb42b8f6eb9d3d2acc0d7d646e0716874a562b8 + pristine_git_object: 92da37700a04ae3f11aedd256402c6204b2318f6 + src/Models/Operations/CustomerPortalOrdersReceiptResponse.php: + id: d6699d786ebf + last_write_checksum: sha1:76bdbdd46754ae0c0ef3dc0df82a4cfad19e31c1 + pristine_git_object: 255af78c374d058e534a44d249ac4f19961714a0 + src/Models/Operations/CustomerPortalOrdersReceiptSecurity.php: + id: cb46b0de60ad + last_write_checksum: sha1:1c8e51f5ac3ddd6f05c34cdd623e395d4994d488 + pristine_git_object: 01dd31708d7917f96477a57d9018770876709a8e src/Models/Operations/CustomerPortalOrdersUpdateRequest.php: id: 1ff740ea1e23 last_write_checksum: sha1:66e2bb7fa56d12c69506e1d14cc2a9cb7a29900b @@ -8698,8 +9198,8 @@ trackedFiles: pristine_git_object: d5c2e715ef41cd79f86ebc1d7aefefbd231fbc9a src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php: id: 789e29b3f2ae - last_write_checksum: sha1:6318e5964e98afd525631c814218561af6e38756 - pristine_git_object: fd908f795c197efb06a95821913a5adeb38e7b76 + last_write_checksum: sha1:59753f61c4394f48b55167437ba237bbece13642 + pristine_git_object: 88afcd1c2aa4ee948435c228f6bf676a0c2a4aff src/Models/Operations/CustomerPortalSubscriptionsUpdateResponse.php: id: 1ee4fed7c828 last_write_checksum: sha1:dde76500b0858e7f11503c3fd679563e962c6b58 @@ -8836,10 +9336,26 @@ trackedFiles: id: 6e164c8bb270 last_write_checksum: sha1:9f3e42751eeb479c666d260059a7482a05150185 pristine_git_object: dfe22dc7e3645f83b05ebfb7e6e5704c9b967f76 + src/Models/Operations/CustomersListPaymentMethodsExternalRequest.php: + id: 1f32b562609a + last_write_checksum: sha1:59d653bb6cf49c879f836395b9357acecd1e9e7d + pristine_git_object: 04ed72bfb199afb51351efa329bea3a8d85b0e56 + src/Models/Operations/CustomersListPaymentMethodsExternalResponse.php: + id: 02fc0a4a568c + last_write_checksum: sha1:19b55ab8e9c92343db90742761ef15dd69d0ffc0 + pristine_git_object: 2703534f27762c5152637a66d6c9eed2859c6993 + src/Models/Operations/CustomersListPaymentMethodsRequest.php: + id: 7c8b54bb1c94 + last_write_checksum: sha1:59cb7adf50a76c20bff9eae91d674488bee200d2 + pristine_git_object: 9373edf2667db23fe8a79a1413c57db6c6c8e40d + src/Models/Operations/CustomersListPaymentMethodsResponse.php: + id: 496a688533ad + last_write_checksum: sha1:61f1777bdb7a37722daf22d62b0bff4c0005bc0d + pristine_git_object: 4c0eaaff53d8b506452a7f61982fb857e4abebb4 src/Models/Operations/CustomersListRequest.php: id: c5a7f86b91cd - last_write_checksum: sha1:f99c50d3bf8ab9e733e31b594cfbcca18e994bf7 - pristine_git_object: ae3ea0533122ff20cb32c8b15f41f1ec3fb3f8d2 + last_write_checksum: sha1:4ddbd959cded21140123c06de8108195288d094d + pristine_git_object: 4d1008f01e22be2f6fb2175d04b60d24dbe1cb2e src/Models/Operations/CustomersListResponse.php: id: 090d1c96bb59 last_write_checksum: sha1:9f787f67732502f33a7c094d5c441252cb4e4c6b @@ -8934,8 +9450,8 @@ trackedFiles: pristine_git_object: 413d629892f1c441464936014281a640d9330b6a src/Models/Operations/EventsGetResponse.php: id: 7dbd39a0aae3 - last_write_checksum: sha1:482e08e0af05f2f0bc4ac86fdbe0917b9a7b6ea7 - pristine_git_object: cad59a3880e1b750b850e68baf77948f1f64db19 + last_write_checksum: sha1:4803ac9413065e516372b3d43754c9ddbb503046 + pristine_git_object: caec1d3e5aaa6c9835caf4d3bc875ec1f74a93e6 src/Models/Operations/EventsIngestResponse.php: id: 3035249ac71d last_write_checksum: sha1:9e77c1c411c3c60c5af7e31a07776911778fe35d @@ -9022,8 +9538,8 @@ trackedFiles: pristine_git_object: b24dadbee8ef1bd51c79eb0d89b48046d3d36c8a src/Models/Operations/LicenseKeysListRequest.php: id: 401b58c801d1 - last_write_checksum: sha1:753be8488a06e5d5eede93d0b2d05e95947e304e - pristine_git_object: d0cc993f6771128082fe88d70d3973f3da5dab36 + last_write_checksum: sha1:67a0652b73a61d889dfca06e4bfc8e00d96d40d8 + pristine_git_object: 533adcabbb37dab686111121f88346ff6736eaa6 src/Models/Operations/LicenseKeysListResponse.php: id: a05ee6d6dc27 last_write_checksum: sha1:006b07b0d913dd3208fd9c3b95d79ca083e3f218 @@ -9044,6 +9560,14 @@ trackedFiles: id: fb9725b01447 last_write_checksum: sha1:0dc7215a7737ea9335152eed9e896e0547b31f9d pristine_git_object: 70f45ecc8929a7ea50f38084e1e0e81b40cd8d5c + src/Models/Operations/MembersDeleteMemberByExternalIdRequest.php: + id: 2ba3f5ac2ecf + last_write_checksum: sha1:fe5901a538edfb86c7687f513328e33faa8ad1f6 + pristine_git_object: b5c01e2f70d3f05a9e8e8f00ba00b32e8f1481b8 + src/Models/Operations/MembersDeleteMemberByExternalIdResponse.php: + id: bd28c52966fa + last_write_checksum: sha1:1a8b6867406c8a2b02167139af6f9b54f79e2ef7 + pristine_git_object: b11a07d356c577d4af002eabec1d0dde531cb2e1 src/Models/Operations/MembersDeleteMemberRequest.php: id: 4dfa8afd8d3f last_write_checksum: sha1:aa5c5745897b8d9177e8c0aa7456105c1992c4da @@ -9052,6 +9576,14 @@ trackedFiles: id: 6ddc24d6be59 last_write_checksum: sha1:f93567f0cad3dec5335d1f7cccae3da5394f9a44 pristine_git_object: f198e2964789ab30306c6f90a0be3c264d83a8f3 + src/Models/Operations/MembersGetMemberByExternalIdRequest.php: + id: 41665bf077c0 + last_write_checksum: sha1:6346f1642977dce93ff0292c9108cfd905286a0b + pristine_git_object: 37dd2e84b693fe15a64864c80e7dc6fdc16ebc3a + src/Models/Operations/MembersGetMemberByExternalIdResponse.php: + id: eb45bbe426c0 + last_write_checksum: sha1:b3aedc47358ad8d364732f6fbc77fe18642a89b6 + pristine_git_object: 866fb3adbb2dcc7df9896225d7c5f39f543e2596 src/Models/Operations/MembersGetMemberRequest.php: id: af5418d0eae5 last_write_checksum: sha1:312c5c9d8e7c7aeb250a045056a737aad0342eed @@ -9068,6 +9600,14 @@ trackedFiles: id: 453156efa912 last_write_checksum: sha1:f074d5628f6467ff6afd4bc14d59d3e805e5b7da pristine_git_object: df79ff42fa1ebc24015284cab2ec6750b4c335f3 + src/Models/Operations/MembersUpdateMemberByExternalIdRequest.php: + id: 165585ed37b6 + last_write_checksum: sha1:05524ffeb9fd8e8355ceb35f49fe7a15d46d4258 + pristine_git_object: 81ad0702a2f176b5aa83704994167ddca024c2ec + src/Models/Operations/MembersUpdateMemberByExternalIdResponse.php: + id: ead15a49314d + last_write_checksum: sha1:094965edd8dd026f4a8897ef3cd266f2d5ad3eef + pristine_git_object: ad691c7f6672facbfbb11bf689accdbb580954eb src/Models/Operations/MembersUpdateMemberRequest.php: id: 3a631c8f1800 last_write_checksum: sha1:952319b01d60a3290b0fd556b47159707395557c @@ -9124,6 +9664,14 @@ trackedFiles: id: 46da2501ca38 last_write_checksum: sha1:a72c3fbda8438ed094ec5317fa71ecf6432d6ff1 pristine_git_object: fedb8db7fcddb049c228ecfe4ba4f51ec81ed79b + src/Models/Operations/MetricsExportRequest.php: + id: d6424c526b83 + last_write_checksum: sha1:97133e1e0d4c1f6bf96116f8a5f17a81d4135fd7 + pristine_git_object: 1363f97552412822f32eb63611d89352ea9c7834 + src/Models/Operations/MetricsExportResponse.php: + id: 68a8b27a19d9 + last_write_checksum: sha1:01a05b495bb2975b6a4a5df1c94030aa57ffb0a5 + pristine_git_object: 9dd41bfcb9f328fbea41fdf58cc37b9faedb51f9 src/Models/Operations/MetricsGetDashboardRequest.php: id: eb8efea7b220 last_write_checksum: sha1:d2cc261012c5a059e562768ade4c45b69c5e8807 @@ -9208,6 +9756,10 @@ trackedFiles: id: 1e229f3ce87f last_write_checksum: sha1:25876d227bc170a01037acc861b52465d53b5f74 pristine_git_object: fcb3950c3a345935a1a3dc40d5608a44e90409b4 + src/Models/Operations/OrdersCreateResponse.php: + id: e04cbb4e55fc + last_write_checksum: sha1:0288efd957f43230a93021f254825195efe2305e + pristine_git_object: 745666f448fca904ae8d52bd1167283fb24bfaf9 src/Models/Operations/OrdersExportRequest.php: id: 51f3ae8963f2 last_write_checksum: sha1:b7c30b512ca2e764dd104f88899817c3dd1fa1eb @@ -9216,6 +9768,14 @@ trackedFiles: id: 6d70499d71df last_write_checksum: sha1:b7f73e2ece5fc716b0b767c3831795ed59392e69 pristine_git_object: 4f48c88105a2e810bbd74f8cb058cd9cbc0147c5 + src/Models/Operations/OrdersFinalizeRequest.php: + id: 044688a27e7d + last_write_checksum: sha1:0e2354e80e7cb15dfbe2bdc1be6ec4b361e0871b + pristine_git_object: ce4e766f14c629c3ca23f84b487564ab761188a4 + src/Models/Operations/OrdersFinalizeResponse.php: + id: 46df5e2e60a6 + last_write_checksum: sha1:ec536111958dc14739137e8df86e38030d399796 + pristine_git_object: 21b1ff0cead3c8350a16710d36462a2a1282345b src/Models/Operations/OrdersGenerateInvoiceRequest.php: id: 4cd9716e49af last_write_checksum: sha1:858ce7f96583c1b15e75e0e7122c4e5bfe1a80d4 @@ -9242,12 +9802,20 @@ trackedFiles: pristine_git_object: a79cf4ef492d50570fd1603167a8f4a2adc43158 src/Models/Operations/OrdersListRequest.php: id: 0fa4d95f49ff - last_write_checksum: sha1:37fe95f6b6829ff55ea06c23e53952c8ec03fb83 - pristine_git_object: dc538b296438647e26f619c399b1bb0e420d9313 + last_write_checksum: sha1:eaf347f3dff6353be9a8beb02b6ed76ecccdfba1 + pristine_git_object: 9f2dc402b95e1896f9cd2956cd9d23e2c678516c src/Models/Operations/OrdersListResponse.php: id: facfce7461a2 last_write_checksum: sha1:d05fd7cbe1fefd82fe4e88947d5b61a5a918aaa9 pristine_git_object: 620ddb6b76ac9ab2ae39b7119fb2f3140c25c778 + src/Models/Operations/OrdersReceiptRequest.php: + id: b53a1de9db88 + last_write_checksum: sha1:f7857b4cc38c32a3797adb50b9a4aa1d4c09a114 + pristine_git_object: 13d565120c790b542afd32aa7fa0b62c7d95939b + src/Models/Operations/OrdersReceiptResponse.php: + id: 4bdda357272b + last_write_checksum: sha1:078cf9cc66b93f2b186df080499e96db9dff5c35 + pristine_git_object: 19d36872f336179f4a29e2994019462914e832fe src/Models/Operations/OrdersUpdateRequest.php: id: 36cb4dc0109a last_write_checksum: sha1:ae6c5659f919d462b4a0e0b8dc648aab14b1f478 @@ -9322,8 +9890,8 @@ trackedFiles: pristine_git_object: 1466eb9b1fa44f9587d74afd24a7b9627ef4bcb4 src/Models/Operations/PaymentsListRequest.php: id: 203d8e5371e2 - last_write_checksum: sha1:463d66f4275611e7ceee93d59d5be2f5fea11a99 - pristine_git_object: daf1e59a2bb4237a883a300d3db63885cab65142 + last_write_checksum: sha1:c8a6d5caa0a46b6388335ee1d193e2d5c41c3052 + pristine_git_object: af188c18e6addc0a19c4eea183d14c7454785deb src/Models/Operations/PaymentsListResponse.php: id: ceacf71178e8 last_write_checksum: sha1:9698c5a60174b44bd85f66a352a3044ec9dfa548 @@ -9414,8 +9982,8 @@ trackedFiles: pristine_git_object: ca4315cd183f9e8c16665a546edbcbe5df90674c src/Models/Operations/SubscriptionsUpdateRequest.php: id: 841ca3c4c627 - last_write_checksum: sha1:f4cc12e77c27ca3682e1eb0f4b8f65134c732e99 - pristine_git_object: ca868daa283df73e658827549ef649586e6e1ac5 + last_write_checksum: sha1:f762c6f8bafe6c0e219c7553461079eaea2c994f + pristine_git_object: c07100f57efbc8042fb8ad4794075ff92d93a54e src/Models/Operations/SubscriptionsUpdateResponse.php: id: fb5570460721 last_write_checksum: sha1:9bf9bf027761f19580b5d8c4362123bf146899f5 @@ -9622,88 +10190,88 @@ trackedFiles: pristine_git_object: ca98e0c15fbf2a7448902b67e91b20f881639175 src/Oauth2.php: id: 7e1ff7a8c0f5 - last_write_checksum: sha1:3cc7981c84416ddb62990f5d3aee2b3f92b6cc60 - pristine_git_object: 8a966158da9e43d2f6566eace2d30943a8ce5af5 + last_write_checksum: sha1:355e7b5d4744f5b871479a664b2a661ddf6baab6 + pristine_git_object: 0b476101f35207ff9c5241478b1386798024546d src/Orders.php: id: f1b96c3c0ed0 - last_write_checksum: sha1:899cb38d13911f92f4510c4463e2a59920f9cfc0 - pristine_git_object: a183bb35adc3ca0a7b99a27198a489c6200f49c3 + last_write_checksum: sha1:8cf87f665fe8fcf8cb009dbc5158ff2d86f43b18 + pristine_git_object: b07249e63163630243050474b163aa2503c54451 src/OrganizationAccessTokens.php: id: 11b9c5cdb912 - last_write_checksum: sha1:18d6d20ce3bb1ffa27dac4a2a99ccd5c11bd76ac - pristine_git_object: 5d26162e1d4d519121bf411e8485f5e2a520483d + last_write_checksum: sha1:e753e83773efe02149efe1fb6b83a30c4c2d3fa3 + pristine_git_object: 8844099c54a825c49feec82f116ee194031ecf76 src/Organizations.php: id: e8c6807a66c7 - last_write_checksum: sha1:db212420ae3c0d7e2ed4ef91403ba01c5c013ffa - pristine_git_object: acbab27bca1401d44ad0a75038c4b24c17495ff1 + last_write_checksum: sha1:bcabd824280879387c9639769fc43c27d81e0190 + pristine_git_object: 4efe68131d3b74d85630bea54c66c89ac2ee38d3 src/PackageServiceProvider.php: id: 43cd8a58b8aa last_write_checksum: sha1:a1151cb6cc461cf62f5d0e9256aafd34de1befb5 pristine_git_object: 34f15f64c8ab18026d56e19ac097ff5c6be71a6f src/Payments.php: id: 554fb3408dc6 - last_write_checksum: sha1:368d7f48157e528b28c63931c20f1714f8475133 - pristine_git_object: 86fc5178ee8107e53020282f9c03dbb2023c4bde + last_write_checksum: sha1:30f7027723c7bbadcab35e4efecbdd72a12dbaa6 + pristine_git_object: 387411b38cbf6691f8d9fecc1289a3ff50a0ecfe src/Polar.php: id: cf4cb815d692 last_write_checksum: sha1:80834c1cdbef3d0dbe22e697ba6d9f527013d3a7 pristine_git_object: c04f2011a162c7a621eea949bfea55679eb45720 src/PolarBenefitGrants.php: id: 796281c08b6b - last_write_checksum: sha1:e0be2e6e741abf837640966776b1eeae24caf19f - pristine_git_object: 628f6d63bb64ab940eb2f142590df293318ab400 + last_write_checksum: sha1:1b32ebe41c5fb581bb37b682be5815a99e45ef80 + pristine_git_object: f179a784dec46645e3c938f61e3be97cd7923bb3 src/PolarBuilder.php: id: f8ccebd84251 last_write_checksum: sha1:4d656fe4e1dca34b0c1f5e0b2e736ac15b81b28c pristine_git_object: 214705ba0926507ba2eb1a3ecddb1301331e7ebf src/PolarCustomerMeters.php: id: 20c40a172b6b - last_write_checksum: sha1:bb00f553f8772dd2f6b1bc651e582c6dfd5f10ba - pristine_git_object: 39d6dbb5aef2f09119a1a8786a4392e01dc03980 + last_write_checksum: sha1:dca56ccfd752642bd9a2fe734aedcadd38fc54dd + pristine_git_object: a28dba14360bf64190f34abf0af31051254ffd2b src/PolarCustomers.php: id: 37b55b56a2c1 - last_write_checksum: sha1:81f1090596efcbce25b8dbc38b82e7c0471c3858 - pristine_git_object: 4283ec24410aa8d291f6db070914520dfce66f53 + last_write_checksum: sha1:a1c5def85a211b6ac649a329e46f0d321fc7cb6f + pristine_git_object: 8b82af63d0bd0c1ac214abb8778d105352e6c26f src/PolarLicenseKeys.php: id: 97b696f4c4e7 - last_write_checksum: sha1:47682bc7fafe8d81a8dbca145d3d40ee3aa699a2 - pristine_git_object: 76c4011f21198fc47071e1caf87a9ae320552216 + last_write_checksum: sha1:76efeeea4a60a9685d9b61b5deb2d596451e31a9 + pristine_git_object: fc2483e00e689e173db480970a2821ec2cd4e24c src/PolarMembers.php: id: 38aaf020904f - last_write_checksum: sha1:1ca34019a3f83ff3802edf4a13bac0d3521f348e - pristine_git_object: a42578caa0ed1313768d89015fc2f2a3fca5326d + last_write_checksum: sha1:4fe5459c779801dea54255208bffbfcb367fd224 + pristine_git_object: b8426b22035606949259f9c12c44594162f30f9e src/PolarOrders.php: id: b4a63b3a5e45 - last_write_checksum: sha1:168969b95521a7710aa438bbdb417214aa68153c - pristine_git_object: dd7c249e113450f734fbf9316cfd0bcf1250e780 + last_write_checksum: sha1:ea0eeca618df055e88e3d6345adad3472ddfff6d + pristine_git_object: fb5d675a4e7c63835ba25f446e34ffaebde75ef4 src/PolarOrganizations.php: id: 3723b87e2b90 - last_write_checksum: sha1:0e633a6755152836090f21d458aba7331ce479a0 - pristine_git_object: 252c658e168a86a5031232fc82b8a39c4a7e5986 + last_write_checksum: sha1:a061417c43bdea27a7364c3af5bb76ed2277aa4e + pristine_git_object: 1a337289a36f1f83bfe37e59d78a1bdb9c657e66 src/PolarSubscriptions.php: id: 3cea9519a201 - last_write_checksum: sha1:1f261aef7fb6b0b352cd4ad231752487383bdb49 - pristine_git_object: 55cf3fb0b3a962626dceb434997a9876ed4f3ea0 + last_write_checksum: sha1:03e5e80a08a45f31b8edd9e9e6dfed2bffe2dc69 + pristine_git_object: 28e378ce6c282c0dc6c25b3eea02a8180ba8d992 src/Products.php: id: 25f717192621 - last_write_checksum: sha1:02837f91c25bdad026e34642d2fec0125aee9783 - pristine_git_object: 1af8b22dd24d09bef3e3b7727617452a7ba276dc + last_write_checksum: sha1:9bcb0b348bc2b1fb96a4006baf2b6b0e153dae49 + pristine_git_object: 6c545a9754b9cb79809be684604070a486562488 src/Refunds.php: id: 621a14ef2613 - last_write_checksum: sha1:cf877643aebb0f535cac3a50c4097242ed565c3f - pristine_git_object: 484c85d464685f20fc6b348579c06132e549b3b0 + last_write_checksum: sha1:6b4d912c9bdf57b5ac8d8e13dfe8f1069ecbaa14 + pristine_git_object: d6c5f0cb5280cdb8e5d2236a931bee7d1e1c5fd8 src/SDKConfiguration.php: id: 9d60ab0bec0b - last_write_checksum: sha1:7157afc03e2a808b79958deb8cecd9f81b25a2d2 - pristine_git_object: 7bc406b60cf24a71957ec02ab567beb93454e9ce + last_write_checksum: sha1:20bba1634854ddf0d5ea7e606cb99fb450059219 + pristine_git_object: 7f1a1d39146fd6a15219e74108b5287f85c20032 src/Seats.php: id: 4830e6b5f52b - last_write_checksum: sha1:6cb07baf4899d23391f83ed3a32bd5fd482b74a6 - pristine_git_object: 1a8bb4d481de2cef5846f49f495f06e6910873aa + last_write_checksum: sha1:5c382e50c401dc1067daf9d3a6cb70b8421656c6 + pristine_git_object: a5ac96dafc3122daf9572e02a106b4801f550bb7 src/Subscriptions.php: id: 682323fa5228 - last_write_checksum: sha1:03678af3f6201fadf0c454c7255f83076a39fa0c - pristine_git_object: 3920b5637dbfe77af7b458b47c88b6a16b50cfc3 + last_write_checksum: sha1:77d647f26337df77db9a2bff979b21964399db3c + pristine_git_object: 4492275714a542448354bb94ae30e6f7501e85db src/Utils/BigDecimalHandler.php: id: cdcca3718e2e last_write_checksum: sha1:47c8a01ee7f00dfc50de92e3960ff2e037f7e4c1 @@ -9846,12 +10414,12 @@ trackedFiles: pristine_git_object: a219d39033791b78efb78f01a0ebb9777ddd101e src/Wallets.php: id: 7ee0c0f185f4 - last_write_checksum: sha1:e3ead4313958457a80c909e14c8d2058d2aa6b9a - pristine_git_object: 89c33b0ae6bd32c4f187ccbdeb7e19094e373d6f + last_write_checksum: sha1:13e8784f3b3d60fa9f2f2af0e6b0fb7aa4fd10ce + pristine_git_object: b947e4905af20fb4d8a438edc6a710b8f6922568 src/Webhooks.php: id: 9f76d97dd2bb - last_write_checksum: sha1:b714ee776087e3e50e040cb682d135463faf3944 - pristine_git_object: 0ecd737e20963faddcd494de343cdfb16a880a44 + last_write_checksum: sha1:f621045c7283c2a4a69595bb403b6c0a0ee25182 + pristine_git_object: f935d87faa576cd53ce9f9b33c3c22f92dc3b477 examples: _endpointcheckout_created_post: speakeasy-default-endpointcheckout-created-post: @@ -10113,7 +10681,7 @@ examples: application/json: {"name": "", "slug": ""} responses: "201": - application/json: {"created_at": "2024-12-19T02:20:41.368Z", "modified_at": "2025-03-11T17:26:29.230Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://substantial-wasabi.name", "proration_behavior": "prorate", "allow_customer_updates": false, "email": "Queen_Homenick@gmail.com", "website": "", "socials": [{"platform": "other", "url": "https://enchanted-hose.biz"}, {"platform": "other", "url": "https://enchanted-hose.biz"}, {"platform": "other", "url": "https://enchanted-hose.biz"}], "status": "denied", "details_submitted_at": "2023-03-22T18:01:32.205Z", "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "allow_customer_updates": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 655199, "prevent_trial_abuse": false}, "notification_settings": {"new_order": false, "new_subscription": false}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_cycled_after_trial": false, "subscription_past_due": false, "subscription_renewal_reminder": false, "subscription_revoked": false, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}} + application/json: {"created_at": "2024-12-19T02:20:41.368Z", "modified_at": "2025-03-11T17:26:29.230Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://substantial-wasabi.name", "proration_behavior": "prorate", "allow_customer_updates": false, "email": "Queen_Homenick@gmail.com", "website": "", "socials": [{"platform": "other", "url": "https://enchanted-hose.biz"}, {"platform": "other", "url": "https://enchanted-hose.biz"}, {"platform": "other", "url": "https://enchanted-hose.biz"}], "status": "denied", "details_submitted_at": "2023-03-22T18:01:32.205Z", "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "checkout_localization_enabled": false, "account_review_v2_enabled": false, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "billing_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 655199, "prevent_trial_abuse": false, "allow_customer_updates": true}, "notification_settings": {"new_order": false, "new_subscription": false}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_cycled_after_trial": false, "subscription_past_due": false, "subscription_renewal_reminder": false, "subscription_revoked": false, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}, "account_id": "", "payout_account_id": "", "capabilities": {"checkout_payments": false, "subscription_renewals": false, "payouts": false, "refunds": false, "api_access": true, "dashboard_access": false}} "422": application/json: {} organizations:get: @@ -10123,7 +10691,7 @@ examples: id: "1dbfc517-0bbf-4301-9ba8-555ca42b9737" responses: "200": - application/json: {"created_at": "2024-06-18T23:12:24.609Z", "modified_at": "2024-04-06T22:00:49.347Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://vast-shipper.biz/", "proration_behavior": "invoice", "allow_customer_updates": true, "email": "Aron.Aufderhar@hotmail.com", "website": "", "socials": [], "status": "onboarding_started", "details_submitted_at": "2023-03-07T16:26:10.747Z", "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "allow_customer_updates": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 488109, "prevent_trial_abuse": false}, "notification_settings": {"new_order": true, "new_subscription": true}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": true, "subscription_confirmation": true, "subscription_cycled": false, "subscription_cycled_after_trial": true, "subscription_past_due": false, "subscription_renewal_reminder": true, "subscription_revoked": true, "subscription_trial_conversion_reminder": true, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}} + application/json: {"created_at": "2024-06-18T23:12:24.609Z", "modified_at": "2024-04-06T22:00:49.347Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://vast-shipper.biz/", "proration_behavior": "invoice", "allow_customer_updates": true, "email": "Aron.Aufderhar@hotmail.com", "website": "", "socials": [], "status": "denied", "details_submitted_at": "2023-03-07T16:26:10.747Z", "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "checkout_localization_enabled": false, "account_review_v2_enabled": false, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "billing_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 488109, "prevent_trial_abuse": false, "allow_customer_updates": true}, "notification_settings": {"new_order": true, "new_subscription": true}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": true, "subscription_confirmation": true, "subscription_cycled": false, "subscription_cycled_after_trial": true, "subscription_past_due": false, "subscription_renewal_reminder": true, "subscription_revoked": true, "subscription_trial_conversion_reminder": true, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}, "account_id": "", "payout_account_id": "", "capabilities": {"checkout_payments": false, "subscription_renewals": false, "payouts": true, "refunds": false, "api_access": true, "dashboard_access": false}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10137,7 +10705,7 @@ examples: application/json: {} responses: "200": - application/json: {"created_at": "2024-01-10T12:09:47.665Z", "modified_at": "2025-05-23T11:37:55.182Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://outstanding-gastropod.info", "proration_behavior": "invoice", "allow_customer_updates": false, "email": "Kaleb36@gmail.com", "website": "", "socials": [{"platform": "tiktok", "url": "https://official-gerbil.biz/"}], "status": "onboarding_started", "details_submitted_at": "2024-05-05T07:08:22.735Z", "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "allow_customer_updates": false, "proration_behavior": "prorate", "benefit_revocation_grace_period": 341703, "prevent_trial_abuse": false}, "notification_settings": {"new_order": true, "new_subscription": false}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_cycled_after_trial": true, "subscription_past_due": true, "subscription_renewal_reminder": false, "subscription_revoked": true, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}} + application/json: {"created_at": "2024-01-10T12:09:47.665Z", "modified_at": "2025-05-23T11:37:55.182Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://outstanding-gastropod.info", "proration_behavior": "invoice", "allow_customer_updates": false, "email": "Kaleb36@gmail.com", "website": "", "socials": [{"platform": "tiktok", "url": "https://official-gerbil.biz/"}], "status": "snoozed", "details_submitted_at": "2024-05-05T07:08:22.735Z", "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "checkout_localization_enabled": false, "account_review_v2_enabled": false, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "billing_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "proration_behavior": "prorate", "benefit_revocation_grace_period": 341703, "prevent_trial_abuse": false, "allow_customer_updates": false}, "notification_settings": {"new_order": true, "new_subscription": false}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_cycled_after_trial": true, "subscription_past_due": true, "subscription_renewal_reminder": false, "subscription_revoked": true, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}, "account_id": "", "payout_account_id": "", "capabilities": {"checkout_payments": false, "subscription_renewals": true, "payouts": true, "refunds": true, "api_access": false, "dashboard_access": true}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -10153,7 +10721,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2023-12-05T04:37:49.573Z", "id": "", "amount": 410969, "currency": "Kip", "recurring_interval": "year", "recurring_interval_count": 742797, "status": "unpaid", "current_period_start": "2025-04-10T00:55:03.476Z", "current_period_end": "2025-09-23T15:13:06.761Z", "trial_start": "2024-10-01T10:10:26.018Z", "trial_end": "2023-12-05T04:37:49.573Z", "cancel_at_period_end": true, "canceled_at": "2023-09-22T22:50:40.236Z", "started_at": "2024-02-22T10:33:19.887Z", "ends_at": "2025-05-03T04:33:34.190Z", "ended_at": "2024-06-12T10:43:36.497Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": 5834.16, "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2025-01-06T09:33:07.581Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-12T12:57:56.639Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2023-10-15T10:48:47.131Z", "modified_at": "2023-11-11T17:51:02.571Z", "trial_interval": "week", "trial_interval_count": 960252, "name": "", "description": "wherever pfft average shampoo", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 616371, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 56869, "key1": "", "key2": ""}, "prices": [{"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2024-03-26T10:08:00.196Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-10-01T10:10:26.018Z", "modified_at": "2023-12-05T04:37:49.573Z", "type": "license_keys", "description": "fatally tame freely phew experience overconfidently", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": true}, "properties": {"prefix": null, "expires": {"ttl": 947013, "timeframe": "day"}, "activations": {"limit": 786652, "enable_customer_admin": false}, "limit_usage": 233315}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": 9438.17}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": 775657}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}]}, "discount": {"duration": "once", "type": "fixed", "basis_points": 1000, "created_at": "2025-06-23T08:50:11.993Z", "modified_at": "2026-11-18T10:27:58.317Z", "id": "", "metadata": {"key": true}, "name": "", "code": "", "starts_at": "2026-05-03T04:33:34.190Z", "ends_at": "2024-10-18T10:38:39.548Z", "max_redemptions": 943817, "redemptions_count": 834580, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-09-22T22:50:40.236Z", "modified_at": "2025-05-03T04:33:34.190Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 834580, "legacy": true}], "meters": [{"created_at": "2025-05-06T10:58:26.450Z", "modified_at": "2023-02-03T13:37:09.685Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": true, "key1": 3339.89}, "created_at": "2023-08-27T05:28:27.611Z", "modified_at": "2025-09-09T13:09:53.525Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-01-06T09:33:07.581Z", "modified_at": "2024-09-15T08:48:24.676Z", "id": "", "applies_at": "2024-10-23T14:08:09.547Z", "product_id": "", "seats": 262272}}, {"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2023-12-05T04:37:49.573Z", "id": "", "amount": 410969, "currency": "Kip", "recurring_interval": "year", "recurring_interval_count": 308570, "status": "unpaid", "current_period_start": "2025-04-10T00:55:03.476Z", "current_period_end": "2025-09-23T15:13:06.761Z", "trial_start": "2025-09-23T15:13:06.761Z", "trial_end": "2023-09-22T22:50:40.236Z", "cancel_at_period_end": true, "canceled_at": "2023-09-22T22:50:40.236Z", "started_at": "2024-02-22T10:33:19.887Z", "ends_at": "2025-05-03T04:33:34.190Z", "ended_at": "2024-06-12T10:43:36.497Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2025-01-06T09:33:07.581Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["FR61954506077", "eu_vat"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-12T12:57:56.639Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2023-10-15T10:48:47.131Z", "modified_at": "2023-11-11T17:51:02.571Z", "trial_interval": "year", "trial_interval_count": 265915, "name": "", "description": "wherever pfft average shampoo", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 492124, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 56869, "key1": "", "key2": ""}, "prices": [{"created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2023-10-29T13:21:35.872Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 262272, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-09-26T21:45:33.324Z", "modified_at": "2023-03-04T07:54:01.072Z", "type": "downloadables", "description": "yowza furthermore uh-huh", "selectable": true, "deletable": false, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": true}, "files": [""]}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": ""}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}]}, "discount": {"duration": "repeating", "type": "percentage", "amount": 1000, "currency": "usd", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-04-28T03:54:28.062Z", "modified_at": null, "id": "", "metadata": {"key": false}, "name": "", "code": "", "starts_at": "2024-06-17T23:01:19.922Z", "ends_at": "2026-02-28T21:58:52.619Z", "max_redemptions": 394223, "redemptions_count": 561964, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-24T17:03:16.161Z", "modified_at": "2025-05-07T18:20:34.107Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 827165, "maximum_amount": 310545, "preset_amount": 154160, "legacy": true}], "meters": [{"created_at": "2025-05-06T10:58:26.450Z", "modified_at": "2023-02-03T13:37:09.685Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 9123.24, "key1": 3339.89}, "created_at": "2023-08-27T05:28:27.611Z", "modified_at": "2025-09-09T13:09:53.525Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-01-06T09:33:07.581Z", "modified_at": "2024-09-15T08:48:24.676Z", "id": "", "applies_at": "2024-10-23T14:08:09.547Z", "product_id": "", "seats": 262272}}], "pagination": {"total_count": 736417, "max_page": 265899}} + application/json: {"items": [{"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2023-12-05T04:37:49.573Z", "id": "", "amount": 410969, "currency": "Kip", "recurring_interval": "year", "recurring_interval_count": 742797, "status": "unpaid", "current_period_start": "2025-04-10T00:55:03.476Z", "current_period_end": "2025-09-23T15:13:06.761Z", "trial_start": "2024-10-01T10:10:26.018Z", "trial_end": "2023-12-05T04:37:49.573Z", "cancel_at_period_end": true, "canceled_at": "2023-09-22T22:50:40.236Z", "started_at": "2024-02-22T10:33:19.887Z", "ends_at": "2025-05-03T04:33:34.190Z", "ended_at": "2024-06-12T10:43:36.497Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": 5834.16, "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2025-01-06T09:33:07.581Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-12T12:57:56.639Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2023-10-15T10:48:47.131Z", "modified_at": "2023-11-11T17:51:02.571Z", "trial_interval": "week", "trial_interval_count": 960252, "name": "", "description": "wherever pfft average shampoo", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 616371, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 56869, "key1": "", "key2": ""}, "prices": [{"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2024-03-26T10:08:00.196Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-10-01T10:10:26.018Z", "modified_at": "2023-12-05T04:37:49.573Z", "type": "license_keys", "description": "fatally tame freely phew experience overconfidently", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": true}, "properties": {"prefix": null, "expires": {"ttl": 947013, "timeframe": "day"}, "activations": {"limit": 786652, "enable_customer_admin": false}, "limit_usage": 233315}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": 9438.17}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": 775657}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}]}, "discount": {"duration": "once", "type": "fixed", "basis_points": 1000, "created_at": "2025-06-23T08:50:11.993Z", "modified_at": "2026-11-18T10:27:58.317Z", "id": "", "metadata": {"key": true}, "name": "", "code": "", "starts_at": "2026-05-03T04:33:34.190Z", "ends_at": "2024-10-18T10:38:39.548Z", "max_redemptions": 943817, "redemptions_count": 834580, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-09-22T22:50:40.236Z", "modified_at": "2025-05-03T04:33:34.190Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 834580, "legacy": true}], "meters": [{"created_at": "2025-05-06T10:58:26.450Z", "modified_at": "2023-02-03T13:37:09.685Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": true, "key1": 3339.89}, "created_at": "2023-08-27T05:28:27.611Z", "modified_at": "2025-09-09T13:09:53.525Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-01-06T09:33:07.581Z", "modified_at": "2024-09-15T08:48:24.676Z", "id": "", "applies_at": "2024-10-23T14:08:09.547Z", "product_id": "", "seats": 262272}}, {"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2023-12-05T04:37:49.573Z", "id": "", "amount": 410969, "currency": "Kip", "recurring_interval": "year", "recurring_interval_count": 308570, "status": "unpaid", "current_period_start": "2025-04-10T00:55:03.476Z", "current_period_end": "2025-09-23T15:13:06.761Z", "trial_start": "2025-09-23T15:13:06.761Z", "trial_end": "2023-09-22T22:50:40.236Z", "cancel_at_period_end": true, "canceled_at": "2023-09-22T22:50:40.236Z", "started_at": "2024-02-22T10:33:19.887Z", "ends_at": "2025-05-03T04:33:34.190Z", "ended_at": "2024-06-12T10:43:36.497Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2025-01-06T09:33:07.581Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["FR61954506077", "eu_vat"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-12T12:57:56.639Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2023-10-15T10:48:47.131Z", "modified_at": "2023-11-11T17:51:02.571Z", "trial_interval": "year", "trial_interval_count": 265915, "name": "", "description": "wherever pfft average shampoo", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 492124, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 56869, "key1": "", "key2": ""}, "prices": [{"created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2023-10-29T13:21:35.872Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 262272, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-09-26T21:45:33.324Z", "modified_at": "2023-03-04T07:54:01.072Z", "type": "downloadables", "description": "yowza furthermore uh-huh", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": true}, "files": [""]}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": ""}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}]}, "discount": {"duration": "repeating", "type": "percentage", "amount": 1000, "currency": "usd", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-04-28T03:54:28.062Z", "modified_at": null, "id": "", "metadata": {"key": false}, "name": "", "code": "", "starts_at": "2024-06-17T23:01:19.922Z", "ends_at": "2026-02-28T21:58:52.619Z", "max_redemptions": 394223, "redemptions_count": 561964, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-24T17:03:16.161Z", "modified_at": "2025-05-07T18:20:34.107Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 827165, "maximum_amount": 310545, "preset_amount": 154160, "legacy": true}], "meters": [{"created_at": "2025-05-06T10:58:26.450Z", "modified_at": "2023-02-03T13:37:09.685Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 9123.24, "key1": 3339.89}, "created_at": "2023-08-27T05:28:27.611Z", "modified_at": "2025-09-09T13:09:53.525Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-01-06T09:33:07.581Z", "modified_at": "2024-09-15T08:48:24.676Z", "id": "", "applies_at": "2024-10-23T14:08:09.547Z", "product_id": "", "seats": 262272}}], "pagination": {"total_count": 736417, "max_page": 265899}} "422": application/json: {} subscriptions:export: @@ -10174,7 +10742,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-10-24T15:26:40.431Z", "modified_at": "2024-06-09T21:26:52.968Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 270660, "status": "unpaid", "current_period_start": "2024-08-08T06:50:28.568Z", "current_period_end": "2025-04-05T21:01:12.454Z", "trial_start": "2024-06-09T21:26:52.968Z", "trial_end": "2025-09-03T08:50:28.234Z", "cancel_at_period_end": true, "canceled_at": "2024-03-25T01:30:57.659Z", "started_at": "2023-10-17T03:10:19.145Z", "ends_at": "2025-05-09T12:42:07.453Z", "ended_at": "2024-12-02T16:50:43.309Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-07-23T18:45:11.258Z", "modified_at": "2023-03-16T09:19:01.969Z", "metadata": {"key": 66093}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-01T00:25:19.556Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-01-21T13:43:56.084Z", "modified_at": "2025-01-27T14:51:45.522Z", "trial_interval": "year", "trial_interval_count": 753537, "name": "", "description": "excluding than per until sans supposing soup gladly", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 190655, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-04-22T15:06:50.313Z", "modified_at": "2024-10-18T20:55:38.436Z", "type": "meter_credit", "description": "swift ugh aha", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": ""}, "properties": {"units": 99876, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2023-01-12T12:52:41.018Z", "modified_at": "2025-09-24T09:48:44.500Z", "type": "custom", "description": "geez apropos aw if apud tail", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 470795, "key1": "", "key2": ""}, "properties": {"note": ""}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 247655, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-08-04T09:06:43.687Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-09-10T17:20:17.965Z", "size_readable": "", "public_url": "https://mild-porter.com/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-09-24T19:46:09.102Z", "modified_at": "2023-12-29T15:05:13.747Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 338803, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 22373, "type": "percentage", "basis_points": 226600, "created_at": "2024-02-07T10:08:38.227Z", "modified_at": "2025-12-12T09:46:30.426Z", "id": "", "metadata": {"key": "", "key1": 417.38}, "name": "", "code": "", "starts_at": "2024-11-17T04:20:58.427Z", "ends_at": "2023-10-09T10:14:25.579Z", "max_redemptions": 203995, "redemptions_count": 217253, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-07-28T23:00:02.724Z", "modified_at": "2025-03-22T08:23:39.797Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 753537, "legacy": true}, {"created_at": "2023-10-17T03:10:19.145Z", "modified_at": "2024-12-02T16:50:43.309Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 852903, "legacy": true}, {"created_at": "2023-12-06T04:13:55.667Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 18770, "maximum_amount": 664150, "preset_amount": 592977, "legacy": true}], "meters": [{"created_at": "2024-08-06T06:35:30.893Z", "modified_at": "2024-07-29T20:54:27.953Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 954227, "key1": "", "key2": 891827}, "created_at": "2023-01-22T09:16:54.137Z", "modified_at": "2025-05-04T06:38:30.807Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "like", "value": ""}]}, "aggregation": {"func": "sum", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-04-05T21:01:12.454Z", "modified_at": null, "id": "", "applies_at": "2025-03-25T01:30:57.659Z", "product_id": "", "seats": 640239}} + application/json: {"created_at": "2023-10-24T15:26:40.431Z", "modified_at": "2024-06-09T21:26:52.968Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 270660, "status": "unpaid", "current_period_start": "2024-08-08T06:50:28.568Z", "current_period_end": "2025-04-05T21:01:12.454Z", "trial_start": "2024-06-09T21:26:52.968Z", "trial_end": "2025-09-03T08:50:28.234Z", "cancel_at_period_end": true, "canceled_at": "2024-03-25T01:30:57.659Z", "started_at": "2023-10-17T03:10:19.145Z", "ends_at": "2025-05-09T12:42:07.453Z", "ended_at": "2024-12-02T16:50:43.309Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-07-23T18:45:11.258Z", "modified_at": "2023-03-16T09:19:01.969Z", "metadata": {"key": 66093}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-01T00:25:19.556Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-01-21T13:43:56.084Z", "modified_at": "2025-01-27T14:51:45.522Z", "trial_interval": "year", "trial_interval_count": 753537, "name": "", "description": "excluding than per until sans supposing soup gladly", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 190655, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-04-22T15:06:50.313Z", "modified_at": "2024-10-18T20:55:38.436Z", "type": "meter_credit", "description": "swift ugh aha", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": ""}, "properties": {"units": 99876, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2023-01-12T12:52:41.018Z", "modified_at": "2025-09-24T09:48:44.500Z", "type": "custom", "description": "geez apropos aw if apud tail", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": 470795, "key1": "", "key2": ""}, "properties": {"note": ""}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 247655, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-08-04T09:06:43.687Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-09-10T17:20:17.965Z", "size_readable": "", "public_url": "https://mild-porter.com/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-09-24T19:46:09.102Z", "modified_at": "2023-12-29T15:05:13.747Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 338803, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 22373, "type": "percentage", "basis_points": 226600, "created_at": "2024-02-07T10:08:38.227Z", "modified_at": "2025-12-12T09:46:30.426Z", "id": "", "metadata": {"key": "", "key1": 417.38}, "name": "", "code": "", "starts_at": "2024-11-17T04:20:58.427Z", "ends_at": "2023-10-09T10:14:25.579Z", "max_redemptions": 203995, "redemptions_count": 217253, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-07-28T23:00:02.724Z", "modified_at": "2025-03-22T08:23:39.797Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 753537, "legacy": true}, {"created_at": "2023-10-17T03:10:19.145Z", "modified_at": "2024-12-02T16:50:43.309Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 852903, "legacy": true}, {"created_at": "2023-12-06T04:13:55.667Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 18770, "maximum_amount": 664150, "preset_amount": 592977, "legacy": true}], "meters": [{"created_at": "2024-08-06T06:35:30.893Z", "modified_at": "2024-07-29T20:54:27.953Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 954227, "key1": "", "key2": 891827}, "created_at": "2023-01-22T09:16:54.137Z", "modified_at": "2025-05-04T06:38:30.807Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "like", "value": ""}]}, "aggregation": {"func": "sum", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-04-05T21:01:12.454Z", "modified_at": null, "id": "", "applies_at": "2025-03-25T01:30:57.659Z", "product_id": "", "seats": 640239}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10188,7 +10756,7 @@ examples: application/json: {"product_id": ""} responses: "200": - application/json: {"created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2025-09-04T13:39:15.428Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 297120, "status": "unpaid", "current_period_start": "2025-06-25T20:21:44.675Z", "current_period_end": "2024-10-27T19:14:25.505Z", "trial_start": "2023-12-04T14:44:14.136Z", "trial_end": "2023-05-01T08:54:32.351Z", "cancel_at_period_end": true, "canceled_at": "2025-11-08T09:51:13.337Z", "started_at": "2024-09-07T02:23:54.975Z", "ends_at": "2025-07-07T21:05:18.372Z", "ended_at": "2023-05-16T23:35:19.423Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "metadata": {"key": 7599.26}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-04-18T02:08:01.183Z", "modified_at": "2023-12-10T00:14:34.013Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-02-05T08:01:02.549Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-14T01:28:56.798Z", "modified_at": "2024-12-22T22:29:17.140Z", "trial_interval": "year", "trial_interval_count": 827417, "name": "", "description": "gratefully unknown mathematics descendant carpool beneath folklore readies", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 891943, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2025-09-04T13:39:15.428Z", "modified_at": "2023-06-09T23:09:57.743Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 607483, "maximum_amount": 951105, "preset_amount": 838393, "legacy": true}, {"created_at": "2023-11-02T08:09:24.083Z", "modified_at": "2025-04-12T21:04:51.008Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 203413, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2023-05-01T08:54:32.351Z", "type": "discord", "description": "noxious inculcate gadzooks even", "selectable": true, "deletable": false, "organization_id": "", "metadata": {"key": 9053.84}, "properties": {"guild_id": "", "role_id": "", "kick_member": false, "guild_token": ""}}, {"id": "", "created_at": "2023-11-21T14:30:03.884Z", "modified_at": "2023-11-01T15:07:10.181Z", "type": "github_repository", "description": "loose meh coaxingly front till", "selectable": false, "deletable": true, "organization_id": "", "metadata": {"key": true}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "admin"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/obj", "mime_type": "", "size": 775761, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-06-05T23:40:53.246Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-12-16T17:05:05.262Z", "size_readable": "", "public_url": "https://superb-affiliate.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}]}, "discount": {"duration": "repeating", "type": "fixed", "amount": 728832, "currency": "Lek", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-12-22T18:45:55.995Z", "modified_at": "2023-10-25T19:43:58.641Z", "id": "", "metadata": {"key": 439701, "key1": 278595}, "name": "", "code": "", "starts_at": "2024-07-19T02:04:07.878Z", "ends_at": "2025-06-28T09:54:16.532Z", "max_redemptions": 790930, "redemptions_count": 804484, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2024-02-05T08:01:02.549Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-12-26T01:37:45.354Z", "modified_at": "2023-11-30T02:22:41.602Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 563833, "legacy": true}], "meters": [{"created_at": "2025-04-26T17:12:22.786Z", "modified_at": "2023-04-28T00:55:49.762Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2025-03-03T20:20:51.909Z", "modified_at": "2023-04-27T13:02:42.826Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}, {"created_at": "2025-04-26T17:12:22.786Z", "modified_at": "2023-04-28T00:55:49.762Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2025-03-03T20:20:51.909Z", "modified_at": "2023-04-27T13:02:42.826Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-11-08T09:51:13.337Z", "modified_at": "2026-07-07T21:05:18.372Z", "id": "", "applies_at": "2024-05-15T23:35:19.423Z", "product_id": "", "seats": 506969}} + application/json: {"created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2025-09-04T13:39:15.428Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 297120, "status": "unpaid", "current_period_start": "2025-06-25T20:21:44.675Z", "current_period_end": "2024-10-27T19:14:25.505Z", "trial_start": "2023-12-04T14:44:14.136Z", "trial_end": "2023-05-01T08:54:32.351Z", "cancel_at_period_end": true, "canceled_at": "2025-11-08T09:51:13.337Z", "started_at": "2024-09-07T02:23:54.975Z", "ends_at": "2025-07-07T21:05:18.372Z", "ended_at": "2023-05-16T23:35:19.423Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "metadata": {"key": 7599.26}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-04-18T02:08:01.183Z", "modified_at": "2023-12-10T00:14:34.013Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-02-05T08:01:02.549Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-14T01:28:56.798Z", "modified_at": "2024-12-22T22:29:17.140Z", "trial_interval": "year", "trial_interval_count": 827417, "name": "", "description": "gratefully unknown mathematics descendant carpool beneath folklore readies", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 891943, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2025-09-04T13:39:15.428Z", "modified_at": "2023-06-09T23:09:57.743Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 607483, "maximum_amount": 951105, "preset_amount": 838393, "legacy": true}, {"created_at": "2023-11-02T08:09:24.083Z", "modified_at": "2025-04-12T21:04:51.008Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 203413, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2023-05-01T08:54:32.351Z", "type": "discord", "description": "noxious inculcate gadzooks even", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 9053.84}, "properties": {"guild_id": "", "role_id": "", "kick_member": false, "guild_token": ""}}, {"id": "", "created_at": "2023-11-21T14:30:03.884Z", "modified_at": "2023-11-01T15:07:10.181Z", "type": "github_repository", "description": "loose meh coaxingly front till", "selectable": false, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": true}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "admin"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/obj", "mime_type": "", "size": 775761, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-06-05T23:40:53.246Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-12-16T17:05:05.262Z", "size_readable": "", "public_url": "https://superb-affiliate.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}]}, "discount": {"duration": "repeating", "type": "fixed", "amount": 728832, "currency": "Lek", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-12-22T18:45:55.995Z", "modified_at": "2023-10-25T19:43:58.641Z", "id": "", "metadata": {"key": 439701, "key1": 278595}, "name": "", "code": "", "starts_at": "2024-07-19T02:04:07.878Z", "ends_at": "2025-06-28T09:54:16.532Z", "max_redemptions": 790930, "redemptions_count": 804484, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2024-02-05T08:01:02.549Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-12-26T01:37:45.354Z", "modified_at": "2023-11-30T02:22:41.602Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 563833, "legacy": true}], "meters": [{"created_at": "2025-04-26T17:12:22.786Z", "modified_at": "2023-04-28T00:55:49.762Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2025-03-03T20:20:51.909Z", "modified_at": "2023-04-27T13:02:42.826Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}, {"created_at": "2025-04-26T17:12:22.786Z", "modified_at": "2023-04-28T00:55:49.762Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2025-03-03T20:20:51.909Z", "modified_at": "2023-04-27T13:02:42.826Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-11-08T09:51:13.337Z", "modified_at": "2026-07-07T21:05:18.372Z", "id": "", "applies_at": "2024-05-15T23:35:19.423Z", "product_id": "", "seats": 506969}} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -10206,7 +10774,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-04-13T16:53:14.377Z", "modified_at": "2024-01-29T22:30:46.801Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 93707, "status": "incomplete", "current_period_start": "2024-11-08T14:37:06.133Z", "current_period_end": "2024-09-21T11:35:55.569Z", "trial_start": null, "trial_end": "2023-10-09T16:03:24.107Z", "cancel_at_period_end": false, "canceled_at": "2025-03-29T10:01:06.463Z", "started_at": "2023-03-31T11:27:51.165Z", "ends_at": "2025-05-03T12:35:08.460Z", "ended_at": "2025-09-12T16:35:27.128Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": "", "key2": 423433}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-09-25T04:14:25.732Z", "modified_at": "2023-09-27T07:00:27.919Z", "metadata": {"key": "", "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-06T08:24:11.064Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-05T19:10:22.088Z", "modified_at": "2023-04-10T09:03:41.839Z", "trial_interval": "week", "trial_interval_count": 618257, "name": "", "description": "nor yowza meh ethyl where once exotic", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 256997, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2023-10-09T16:03:24.107Z", "modified_at": "2023-10-18T20:01:51.483Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 574346, "legacy": true}, {"created_at": "2023-03-31T11:27:51.165Z", "modified_at": "2025-09-12T16:35:27.128Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-01-06T03:14:58.710Z", "modified_at": "2025-10-19T08:05:33.466Z", "type": "meter_credit", "description": "oh outlying minister yuck boastfully meh forenenst", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": true, "key1": "", "key2": ""}, "properties": {"units": 662183, "rollover": false, "meter_id": ""}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-12-16T04:55:22.696Z", "modified_at": "2025-07-13T21:55:11.751Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 712744, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-12-16T04:55:22.696Z", "modified_at": "2025-07-13T21:55:11.751Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 712744, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 940650, "type": "fixed", "amount": 88536, "currency": "Falkland Islands Pound", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-03-23T02:00:57.683Z", "modified_at": "2025-12-03T01:54:33.549Z", "id": "", "metadata": {"key": 6385.42, "key1": 535188}, "name": "", "code": "", "starts_at": "2024-03-07T13:08:37.198Z", "ends_at": "2023-03-31T15:44:09.382Z", "max_redemptions": 130085, "redemptions_count": 811746, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2025-09-25T04:14:25.732Z", "modified_at": "2025-11-14T15:31:42.442Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 606069, "legacy": true}, {"created_at": "2025-05-21T20:43:29.354Z", "modified_at": "2023-04-05T19:10:22.088Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-04-14T01:49:23.359Z", "modified_at": "2023-02-27T03:18:26.391Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 359432, "maximum_amount": 75257, "preset_amount": 135909, "legacy": true}], "meters": [{"created_at": "2024-06-12T17:02:50.103Z", "modified_at": "2023-12-20T01:23:41.559Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": "", "key1": "", "key2": true}, "created_at": "2023-07-25T11:48:05.422Z", "modified_at": "2025-08-20T14:57:29.284Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}], "pending_update": null} + application/json: {"created_at": "2023-04-13T16:53:14.377Z", "modified_at": "2024-01-29T22:30:46.801Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 93707, "status": "incomplete", "current_period_start": "2024-11-08T14:37:06.133Z", "current_period_end": "2024-09-21T11:35:55.569Z", "trial_start": null, "trial_end": "2023-10-09T16:03:24.107Z", "cancel_at_period_end": false, "canceled_at": "2025-03-29T10:01:06.463Z", "started_at": "2023-03-31T11:27:51.165Z", "ends_at": "2025-05-03T12:35:08.460Z", "ended_at": "2025-09-12T16:35:27.128Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": "", "key2": 423433}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-09-25T04:14:25.732Z", "modified_at": "2023-09-27T07:00:27.919Z", "metadata": {"key": "", "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-06T08:24:11.064Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-05T19:10:22.088Z", "modified_at": "2023-04-10T09:03:41.839Z", "trial_interval": "week", "trial_interval_count": 618257, "name": "", "description": "nor yowza meh ethyl where once exotic", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 256997, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2023-10-09T16:03:24.107Z", "modified_at": "2023-10-18T20:01:51.483Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 574346, "legacy": true}, {"created_at": "2023-03-31T11:27:51.165Z", "modified_at": "2025-09-12T16:35:27.128Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-01-06T03:14:58.710Z", "modified_at": "2025-10-19T08:05:33.466Z", "type": "meter_credit", "description": "oh outlying minister yuck boastfully meh forenenst", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": true, "key1": "", "key2": ""}, "properties": {"units": 662183, "rollover": false, "meter_id": ""}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-12-16T04:55:22.696Z", "modified_at": "2025-07-13T21:55:11.751Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 712744, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-12-16T04:55:22.696Z", "modified_at": "2025-07-13T21:55:11.751Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 712744, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 940650, "type": "fixed", "amount": 88536, "currency": "Falkland Islands Pound", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-03-23T02:00:57.683Z", "modified_at": "2025-12-03T01:54:33.549Z", "id": "", "metadata": {"key": 6385.42, "key1": 535188}, "name": "", "code": "", "starts_at": "2024-03-07T13:08:37.198Z", "ends_at": "2023-03-31T15:44:09.382Z", "max_redemptions": 130085, "redemptions_count": 811746, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2025-09-25T04:14:25.732Z", "modified_at": "2025-11-14T15:31:42.442Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 606069, "legacy": true}, {"created_at": "2025-05-21T20:43:29.354Z", "modified_at": "2023-04-05T19:10:22.088Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-04-14T01:49:23.359Z", "modified_at": "2023-02-27T03:18:26.391Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 359432, "maximum_amount": 75257, "preset_amount": 135909, "legacy": true}], "meters": [{"created_at": "2024-06-12T17:02:50.103Z", "modified_at": "2023-12-20T01:23:41.559Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": "", "key1": "", "key2": true}, "created_at": "2023-07-25T11:48:05.422Z", "modified_at": "2025-08-20T14:57:29.284Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}], "pending_update": null} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -10316,7 +10884,7 @@ examples: application/json: {"type": "license_keys", "description": "mature emergent at outside arrogantly gadzooks zealous equatorial notwithstanding", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}} responses: "201": - application/json: {"id": "", "created_at": "2025-04-12T16:58:02.734Z", "modified_at": "2023-01-10T18:15:40.256Z", "type": "meter_credit", "description": "boo beyond lovingly", "selectable": true, "deletable": false, "organization_id": "", "metadata": {"key": 918217, "key1": true, "key2": true}, "properties": {"units": 47791, "rollover": true, "meter_id": ""}} + application/json: {"id": "", "created_at": "2025-04-12T16:58:02.734Z", "modified_at": "2023-01-10T18:15:40.256Z", "type": "meter_credit", "description": "boo beyond lovingly", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": 918217, "key1": true, "key2": true}, "properties": {"units": 47791, "rollover": true, "meter_id": ""}} "422": application/json: {} benefits:get: @@ -10326,7 +10894,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2023-09-27T02:48:01.120Z", "modified_at": "2023-09-22T18:45:01.460Z", "type": "meter_credit", "description": "starboard that if", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 100377, "key1": true, "key2": 607029}, "properties": {"units": 366454, "rollover": false, "meter_id": ""}} + application/json: {"id": "", "created_at": "2023-09-27T02:48:01.120Z", "modified_at": "2023-09-22T18:45:01.460Z", "type": "meter_credit", "description": "starboard that if", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": 100377, "key1": true, "key2": 607029}, "properties": {"units": 366454, "rollover": false, "meter_id": ""}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10340,7 +10908,7 @@ examples: application/json: {"type": "custom"} responses: "200": - application/json: {"id": "", "created_at": "2025-05-22T21:58:57.366Z", "modified_at": "2025-05-28T00:54:06.962Z", "type": "meter_credit", "description": "inasmuch fatally readjust husky hard-to-find", "selectable": false, "deletable": true, "organization_id": "", "metadata": {}, "properties": {"units": 265306, "rollover": false, "meter_id": ""}} + application/json: {"id": "", "created_at": "2025-05-22T21:58:57.366Z", "modified_at": "2025-05-28T00:54:06.962Z", "type": "meter_credit", "description": "inasmuch fatally readjust husky hard-to-find", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {}, "properties": {"units": 265306, "rollover": false, "meter_id": ""}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10390,7 +10958,7 @@ examples: application/json: {"name": "", "prices": [{"amount_type": "fixed", "price_currency": "usd", "price_amount": 677078}, {"amount_type": "custom", "price_currency": "usd", "minimum_amount": 50}], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "recurring_interval": "year"} responses: "201": - application/json: {"id": "", "created_at": "2025-11-10T04:18:09.355Z", "modified_at": "2025-05-29T07:43:37.272Z", "trial_interval": "month", "trial_interval_count": null, "name": "", "description": "well-worn against cash unless offensively chromakey exempt dense cruelly peony", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 746612, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 80552, "key1": true}, "prices": [{"created_at": "2023-04-20T14:04:54.240Z", "modified_at": "2024-11-07T17:01:01.790Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2024-03-29T16:30:59.890Z", "modified_at": "2025-08-23T16:40:00.782Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-11-12T20:54:36.929Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 845799, "maximum_amount": 402294, "preset_amount": 275452, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-09-03T10:29:09.446Z", "modified_at": "2023-04-05T23:26:37.255Z", "type": "meter_credit", "description": "if enlightened altruistic now defendant against rough generally", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": true, "key1": true}, "properties": {"units": 59387, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2025-09-01T18:31:34.532Z", "modified_at": "2025-01-16T14:11:06.328Z", "type": "license_keys", "description": "laughter considering cruelly tuber outfit regarding searchingly cheerful backburn uncork", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": false}, "properties": {"prefix": "", "expires": {"ttl": 440726, "timeframe": "year"}, "activations": {"limit": 22376, "enable_customer_admin": false}, "limit_usage": 941841}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 240583, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-26T21:01:01.612Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-24T09:45:08.513Z", "size_readable": "", "public_url": "https://enlightened-bend.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 240583, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-26T21:01:01.612Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-24T09:45:08.513Z", "size_readable": "", "public_url": "https://enlightened-bend.org/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-01-25T19:00:17.332Z", "modified_at": "2025-03-21T18:41:22.294Z", "id": "", "metadata": {"key": 122858, "key1": 564076}, "type": "select", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {"options": [{"value": "", "label": ""}]}}, "order": 731078, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-01-25T19:00:17.332Z", "modified_at": "2025-03-21T18:41:22.294Z", "id": "", "metadata": {"key": true, "key1": ""}, "type": "select", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {"options": [{"value": "", "label": ""}]}}, "order": 731078, "required": false}]} + application/json: {"id": "", "created_at": "2025-11-10T04:18:09.355Z", "modified_at": "2025-05-29T07:43:37.272Z", "trial_interval": "month", "trial_interval_count": null, "name": "", "description": "well-worn against cash unless offensively chromakey exempt dense cruelly peony", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 746612, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 80552, "key1": true}, "prices": [{"created_at": "2023-04-20T14:04:54.240Z", "modified_at": "2024-11-07T17:01:01.790Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2024-03-29T16:30:59.890Z", "modified_at": "2025-08-23T16:40:00.782Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-11-12T20:54:36.929Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 845799, "maximum_amount": 402294, "preset_amount": 275452, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-09-03T10:29:09.446Z", "modified_at": "2023-04-05T23:26:37.255Z", "type": "meter_credit", "description": "if enlightened altruistic now defendant against rough generally", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": true, "key1": true}, "properties": {"units": 59387, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2025-09-01T18:31:34.532Z", "modified_at": "2025-01-16T14:11:06.328Z", "type": "license_keys", "description": "laughter considering cruelly tuber outfit regarding searchingly cheerful backburn uncork", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": false}, "properties": {"prefix": "", "expires": {"ttl": 440726, "timeframe": "year"}, "activations": {"limit": 22376, "enable_customer_admin": false}, "limit_usage": 941841}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 240583, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-26T21:01:01.612Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-24T09:45:08.513Z", "size_readable": "", "public_url": "https://enlightened-bend.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 240583, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-26T21:01:01.612Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-24T09:45:08.513Z", "size_readable": "", "public_url": "https://enlightened-bend.org/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-01-25T19:00:17.332Z", "modified_at": "2025-03-21T18:41:22.294Z", "id": "", "metadata": {"key": 122858, "key1": 564076}, "type": "select", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {"options": [{"value": "", "label": ""}]}}, "order": 731078, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-01-25T19:00:17.332Z", "modified_at": "2025-03-21T18:41:22.294Z", "id": "", "metadata": {"key": true, "key1": ""}, "type": "select", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {"options": [{"value": "", "label": ""}]}}, "order": 731078, "required": false}]} "422": application/json: {} products:get: @@ -10414,7 +10982,7 @@ examples: application/json: {} responses: "200": - application/json: {"id": "", "created_at": "2025-08-13T18:42:45.673Z", "modified_at": "2025-09-30T18:01:46.763Z", "trial_interval": "year", "trial_interval_count": 568567, "name": "", "description": "alongside whereas between furthermore nectarine continually eventually almost", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 915832, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": "", "key1": 9813.27}, "prices": [{"created_at": "2025-03-29T03:16:47.365Z", "modified_at": "2024-11-10T13:10:18.334Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 810331, "meter_id": "", "meter": {"id": "", "name": ""}}, {"created_at": "2023-03-16T05:56:58.712Z", "modified_at": "2023-10-14T10:41:20.148Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-03-13T00:56:00.286Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2025-09-30T18:01:46.763Z", "modified_at": "2024-09-15T03:35:07.302Z", "type": "meter_credit", "description": "as hunger ouch since mash where yet", "selectable": false, "deletable": false, "organization_id": "", "metadata": {}, "properties": {"units": 419624, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2025-07-11T04:31:49.594Z", "modified_at": "2023-10-02T14:57:16.070Z", "type": "github_repository", "description": "devastation via over youthful calculus after ectoderm remark", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 2975.13, "key1": 6724.05, "key2": 3431.33}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}, {"id": "", "created_at": "2025-07-11T04:31:49.594Z", "modified_at": "2023-10-02T14:57:16.070Z", "type": "github_repository", "description": "devastation via over youthful calculus after ectoderm remark", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 2975.13, "key1": 6724.05, "key2": 3431.33}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 323073, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-03-27T05:23:22.243Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-03T15:14:36.417Z", "size_readable": "", "public_url": "https://impolite-sanity.name"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-22T21:14:52.198Z", "modified_at": "2023-03-16T13:18:02.502Z", "id": "", "metadata": {"key": "", "key1": 841085}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 221074, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-22T21:14:52.198Z", "modified_at": "2023-03-16T13:18:02.502Z", "id": "", "metadata": {"key": "", "key1": 841085}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 221074, "required": true}]} + application/json: {"id": "", "created_at": "2025-08-13T18:42:45.673Z", "modified_at": "2025-09-30T18:01:46.763Z", "trial_interval": "year", "trial_interval_count": 568567, "name": "", "description": "alongside whereas between furthermore nectarine continually eventually almost", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 915832, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": "", "key1": 9813.27}, "prices": [{"created_at": "2025-03-29T03:16:47.365Z", "modified_at": "2024-11-10T13:10:18.334Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 810331, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}, {"created_at": "2023-03-16T05:56:58.712Z", "modified_at": "2023-10-14T10:41:20.148Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-03-13T00:56:00.286Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2025-09-30T18:01:46.763Z", "modified_at": "2024-09-15T03:35:07.302Z", "type": "meter_credit", "description": "as hunger ouch since mash where yet", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {}, "properties": {"units": 419624, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2025-07-11T04:31:49.594Z", "modified_at": "2023-10-02T14:57:16.070Z", "type": "github_repository", "description": "devastation via over youthful calculus after ectoderm remark", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": 2975.13, "key1": 6724.05, "key2": 3431.33}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}, {"id": "", "created_at": "2025-07-11T04:31:49.594Z", "modified_at": "2023-10-02T14:57:16.070Z", "type": "github_repository", "description": "devastation via over youthful calculus after ectoderm remark", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": 2975.13, "key1": 6724.05, "key2": 3431.33}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 323073, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-03-27T05:23:22.243Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-03T15:14:36.417Z", "size_readable": "", "public_url": "https://impolite-sanity.name"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-22T21:14:52.198Z", "modified_at": "2023-03-16T13:18:02.502Z", "id": "", "metadata": {"key": "", "key1": 841085}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 221074, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-22T21:14:52.198Z", "modified_at": "2023-03-16T13:18:02.502Z", "id": "", "metadata": {"key": "", "key1": 841085}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 221074, "required": true}]} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -10430,7 +10998,7 @@ examples: application/json: {"benefits": ["", "", ""]} responses: "200": - application/json: {"id": "", "created_at": "2023-09-28T22:38:03.685Z", "modified_at": "2025-09-11T11:40:02.608Z", "trial_interval": "day", "trial_interval_count": 342996, "name": "", "description": "furthermore gadzooks along heartfelt armchair", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 247211, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": "", "key1": 824508}, "prices": [{"created_at": "2025-09-11T11:40:02.608Z", "modified_at": "2024-11-03T09:56:56.385Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 223202, "maximum_amount": 66059, "preset_amount": 500347, "legacy": true}, {"created_at": "2024-12-31T19:50:34.155Z", "modified_at": "2023-04-02T14:04:41.494Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2023-06-02T00:23:22.540Z", "modified_at": "2024-05-31T05:24:52.742Z", "type": "downloadables", "description": "smoothly thoughtfully ew vastly", "selectable": false, "deletable": true, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": true, "key1": false, "key2": true}, "files": [""]}}, {"id": "", "created_at": "2025-07-14T20:28:09.518Z", "modified_at": "2023-03-24T02:05:49.942Z", "type": "license_keys", "description": "hurtful pfft as", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": 727586}, "properties": {"prefix": "", "expires": {"ttl": 773982, "timeframe": "year"}, "activations": {"limit": 767164, "enable_customer_admin": true}, "limit_usage": 290705}}], "medias": [], "attached_custom_fields": []} + application/json: {"id": "", "created_at": "2023-09-28T22:38:03.685Z", "modified_at": "2025-09-11T11:40:02.608Z", "trial_interval": "day", "trial_interval_count": 342996, "name": "", "description": "furthermore gadzooks along heartfelt armchair", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 247211, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": "", "key1": 824508}, "prices": [{"created_at": "2025-09-11T11:40:02.608Z", "modified_at": "2024-11-03T09:56:56.385Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 223202, "maximum_amount": 66059, "preset_amount": 500347, "legacy": true}, {"created_at": "2024-12-31T19:50:34.155Z", "modified_at": "2023-04-02T14:04:41.494Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2023-06-02T00:23:22.540Z", "modified_at": "2024-05-31T05:24:52.742Z", "type": "downloadables", "description": "smoothly thoughtfully ew vastly", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": true, "key1": false, "key2": true}, "files": [""]}}, {"id": "", "created_at": "2025-07-14T20:28:09.518Z", "modified_at": "2023-03-24T02:05:49.942Z", "type": "license_keys", "description": "hurtful pfft as", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 727586}, "properties": {"prefix": "", "expires": {"ttl": 773982, "timeframe": "year"}, "activations": {"limit": 767164, "enable_customer_admin": true}, "limit_usage": 290705}}], "medias": [], "attached_custom_fields": []} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -10446,7 +11014,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2023-03-26T01:22:53.189Z", "modified_at": "2024-11-04T15:48:31.857Z", "status": "paid", "paid": true, "subtotal_amount": 683153, "discount_amount": 15468, "net_amount": 962179, "tax_amount": 991685, "total_amount": 449820, "applied_balance_amount": 901379, "due_amount": 465509, "refunded_amount": 375942, "refunded_tax_amount": 70124, "currency": "Lari", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "FR"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": "", "key1": 168484}, "platform_fee_amount": 901379, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-06-07T16:49:48.090Z", "modified_at": "2024-03-16T14:29:40.056Z", "metadata": {"key": 4796.75, "key1": 7966.23}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-11-19T00:38:00.028Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"metadata": {"key": "", "key1": 7205.08, "key2": true}, "id": "", "created_at": "2024-12-17T18:55:26.610Z", "modified_at": "2023-11-20T18:12:18.120Z", "trial_interval": "week", "trial_interval_count": null, "name": "", "description": "oh or vaguely quirkily duh", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 465509, "is_recurring": false, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "type": "fixed", "basis_points": 921804, "created_at": "2025-05-29T03:48:01.862Z", "modified_at": "2025-08-06T07:48:44.190Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-10-17T01:51:06.324Z", "ends_at": "2025-12-29T08:26:12.317Z", "max_redemptions": 601808, "redemptions_count": 424670, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": 8768.62, "key2": ""}, "created_at": "2025-06-23T19:27:45.328Z", "modified_at": "2023-12-18T01:13:35.875Z", "id": "", "amount": 627024, "currency": "Zloty", "recurring_interval": "year", "recurring_interval_count": 76694, "status": "incomplete", "current_period_start": "2025-05-07T19:16:05.707Z", "current_period_end": "2024-09-09T03:33:00.669Z", "trial_start": "2024-02-10T15:29:33.963Z", "trial_end": "2023-01-17T22:53:29.526Z", "cancel_at_period_end": true, "canceled_at": "2024-11-05T22:56:54.203Z", "started_at": "2023-11-09T23:24:19.979Z", "ends_at": "2024-08-14T13:19:22.767Z", "ended_at": "2023-08-05T05:15:40.074Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-15T19:46:41.506Z", "modified_at": "2025-07-11T05:36:23.203Z", "id": "", "label": "", "amount": 830628, "tax_amount": 546296, "proration": false, "product_price_id": ""}, {"created_at": "2023-03-15T19:46:41.506Z", "modified_at": "2025-07-11T05:36:23.203Z", "id": "", "label": "", "amount": 830628, "tax_amount": 546296, "proration": false, "product_price_id": ""}], "description": "Pro Plan"}], "pagination": {"total_count": 214063, "max_page": 775794}} + application/json: {"items": [{"id": "", "created_at": "2023-03-26T01:22:53.189Z", "modified_at": "2024-11-04T15:48:31.857Z", "status": "paid", "paid": true, "subtotal_amount": 683153, "discount_amount": 15468, "net_amount": 962179, "tax_amount": 991685, "total_amount": 449820, "applied_balance_amount": 901379, "due_amount": 465509, "refunded_amount": 375942, "refunded_tax_amount": 70124, "currency": "Lari", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "FR"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": "", "key1": 168484}, "platform_fee_amount": 901379, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-06-07T16:49:48.090Z", "modified_at": "2024-03-16T14:29:40.056Z", "metadata": {"key": 4796.75, "key1": 7966.23}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-11-19T00:38:00.028Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"metadata": {"key": "", "key1": 7205.08, "key2": true}, "id": "", "created_at": "2024-12-17T18:55:26.610Z", "modified_at": "2023-11-20T18:12:18.120Z", "trial_interval": "week", "trial_interval_count": null, "name": "", "description": "oh or vaguely quirkily duh", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 465509, "is_recurring": false, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "type": "fixed", "basis_points": 921804, "created_at": "2025-05-29T03:48:01.862Z", "modified_at": "2025-08-06T07:48:44.190Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-10-17T01:51:06.324Z", "ends_at": "2025-12-29T08:26:12.317Z", "max_redemptions": 601808, "redemptions_count": 424670, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": 8768.62, "key2": ""}, "created_at": "2025-06-23T19:27:45.328Z", "modified_at": "2023-12-18T01:13:35.875Z", "id": "", "amount": 627024, "currency": "Zloty", "recurring_interval": "year", "recurring_interval_count": 76694, "status": "incomplete", "current_period_start": "2025-05-07T19:16:05.707Z", "current_period_end": "2024-09-09T03:33:00.669Z", "trial_start": "2024-02-10T15:29:33.963Z", "trial_end": "2023-01-17T22:53:29.526Z", "cancel_at_period_end": true, "canceled_at": "2024-11-05T22:56:54.203Z", "started_at": "2023-11-09T23:24:19.979Z", "ends_at": "2024-08-14T13:19:22.767Z", "ended_at": "2023-08-05T05:15:40.074Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-15T19:46:41.506Z", "modified_at": "2025-07-11T05:36:23.203Z", "id": "", "label": "", "amount": 830628, "tax_amount": 546296, "proration": false, "product_price_id": ""}, {"created_at": "2023-03-15T19:46:41.506Z", "modified_at": "2025-07-11T05:36:23.203Z", "id": "", "label": "", "amount": 830628, "tax_amount": 546296, "proration": false, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720}], "pagination": {"total_count": 214063, "max_page": 775794}} "422": application/json: {} orders:get: @@ -10456,7 +11024,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2023-12-28T18:05:05.494Z", "modified_at": "2024-09-12T14:13:02.565Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": true, "key1": "", "key2": 118198}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-30T11:43:08.034Z", "modified_at": "2025-05-05T10:55:45.051Z", "metadata": {"key": 901534, "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-03-07T16:00:18.030Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 709557, "key1": true, "key2": 1589.86}, "id": "", "created_at": "2024-06-13T05:22:39.981Z", "modified_at": "2023-05-10T23:15:10.867Z", "trial_interval": "month", "trial_interval_count": 421146, "name": "", "description": "best overtrain butter of conclude uniform following duffel unnecessarily", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 566234, "is_recurring": true, "is_archived": false, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 594941, "type": "fixed", "amount": 291748, "currency": "Zloty", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-08-24T05:56:05.000Z", "modified_at": "2025-05-25T10:55:47.553Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2025-05-02T18:03:09.146Z", "ends_at": "2025-04-12T12:12:55.923Z", "max_redemptions": 367166, "redemptions_count": 163344, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2024-05-07T19:12:33.893Z", "modified_at": "2023-09-11T04:53:01.419Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 876893, "status": "past_due", "current_period_start": "2024-01-24T18:55:58.020Z", "current_period_end": "2023-02-25T20:57:53.229Z", "trial_start": "2023-08-07T20:14:05.528Z", "trial_end": "2025-06-12T18:47:01.288Z", "cancel_at_period_end": false, "canceled_at": "2023-08-27T00:00:57.478Z", "started_at": "2025-10-21T11:44:53.761Z", "ends_at": "2024-11-20T14:53:33.415Z", "ended_at": "2025-10-07T14:07:23.284Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}, {"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}, {"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2023-12-28T18:05:05.494Z", "modified_at": "2024-09-12T14:13:02.565Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": true, "key1": "", "key2": 118198}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-30T11:43:08.034Z", "modified_at": "2025-05-05T10:55:45.051Z", "metadata": {"key": 901534, "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-03-07T16:00:18.030Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 709557, "key1": true, "key2": 1589.86}, "id": "", "created_at": "2024-06-13T05:22:39.981Z", "modified_at": "2023-05-10T23:15:10.867Z", "trial_interval": "month", "trial_interval_count": 421146, "name": "", "description": "best overtrain butter of conclude uniform following duffel unnecessarily", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 566234, "is_recurring": true, "is_archived": false, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 594941, "type": "fixed", "amount": 291748, "currency": "Zloty", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-08-24T05:56:05.000Z", "modified_at": "2025-05-25T10:55:47.553Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2025-05-02T18:03:09.146Z", "ends_at": "2025-04-12T12:12:55.923Z", "max_redemptions": 367166, "redemptions_count": 163344, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2024-05-07T19:12:33.893Z", "modified_at": "2023-09-11T04:53:01.419Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 876893, "status": "past_due", "current_period_start": "2024-01-24T18:55:58.020Z", "current_period_end": "2023-02-25T20:57:53.229Z", "trial_start": "2023-08-07T20:14:05.528Z", "trial_end": "2025-06-12T18:47:01.288Z", "cancel_at_period_end": false, "canceled_at": "2023-08-27T00:00:57.478Z", "started_at": "2025-10-21T11:44:53.761Z", "ends_at": "2024-11-20T14:53:33.415Z", "ended_at": "2025-10-07T14:07:23.284Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}, {"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}, {"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10509,7 +11077,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2023-12-31T18:16:55.252Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://old-fashioned-parsnip.info", "expires_at": "2025-09-16T06:18:32.077Z", "success_url": "https://well-documented-basket.com/", "return_url": "https://definite-finer.org/", "embed_origin": "", "amount": 136812, "discount_amount": 815152, "net_amount": 780504, "tax_amount": 766358, "total_amount": 630886, "currency": "Moroccan Dirham", "allow_trial": true, "active_trial_interval": "week", "active_trial_interval_count": 332812, "trial_end": "2024-12-26T22:49:45.749Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": false, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "SE"}, "customer_tax_id": "", "payment_processor_metadata": {}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "disabled", "line2": "optional"}, "trial_interval": "month", "trial_interval_count": 902613, "metadata": {}, "external_customer_id": "", "products": [{"id": "", "created_at": "2025-01-04T19:59:21.584Z", "modified_at": "2023-12-22T17:07:35.582Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "partially flowery how keenly analogy presume smuggle along tennis", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 345801, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2025-12-02T21:32:42.156Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 645390, "legacy": true}, {"created_at": "2023-08-19T15:22:33.462Z", "modified_at": "2023-03-15T09:19:49.081Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2025-04-19T22:15:44.328Z", "modified_at": "2024-07-26T10:32:13.861Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 762494, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}], "medias": []}], "product": {"id": "", "created_at": "2025-12-18T01:46:49.772Z", "modified_at": "2024-11-19T22:32:44.522Z", "trial_interval": "day", "trial_interval_count": 780504, "name": "", "description": "capsize regularly before maintainer whitewash", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 332812, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-04-08T17:49:25.686Z", "modified_at": "2023-10-28T07:54:05.646Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2024-11-04T23:36:29.431Z", "modified_at": "2025-12-08T17:45:07.884Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 381287, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Network", "mime_type": "", "size": 331360, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-02-10T04:14:48.186Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-04T18:01:42.388Z", "size_readable": "", "public_url": "https://eminent-dandelion.biz/"}, {"id": "", "organization_id": "", "name": "", "path": "/Network", "mime_type": "", "size": 331360, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-02-10T04:14:48.186Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-04T18:01:42.388Z", "size_readable": "", "public_url": "https://eminent-dandelion.biz/"}]}, "product_price": {"created_at": "2024-05-29T22:42:00.703Z", "modified_at": "2026-05-05T10:21:47.685Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 241940, "maximum_amount": 733508, "preset_amount": 262775, "legacy": true}, "prices": {"key": [], "key1": [{"created_at": "2024-05-29T22:42:00.703Z", "modified_at": "2026-05-05T10:21:47.685Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 994328, "maximum_amount": 263233, "preset_amount": 762494, "legacy": true}], "key2": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 484258, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-07-24T12:38:52.606Z", "modified_at": "2024-08-31T06:13:03.406Z", "id": "", "metadata": {"key": 5379.07, "key1": 55288}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 499873, "required": true}], "customer_metadata": {"key": true, "key1": 645893, "key2": ""}}], "pagination": {"total_count": 187979, "max_page": 912185}} + application/json: {"items": [{"id": "", "created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2023-12-31T18:16:55.252Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://old-fashioned-parsnip.info", "expires_at": "2025-09-16T06:18:32.077Z", "success_url": "https://well-documented-basket.com/", "return_url": "https://definite-finer.org/", "embed_origin": "", "amount": 136812, "discount_amount": 815152, "net_amount": 780504, "tax_amount": 766358, "tax_behavior": "inclusive", "total_amount": 630886, "currency": "Moroccan Dirham", "allow_trial": true, "active_trial_interval": "week", "active_trial_interval_count": 332812, "trial_end": "2024-12-26T22:49:45.749Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": false, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "SE"}, "customer_tax_id": "", "payment_processor_metadata": {}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "disabled", "line2": "optional"}, "trial_interval": "month", "trial_interval_count": 902613, "metadata": {}, "external_customer_id": "", "products": [{"id": "", "created_at": "2025-01-04T19:59:21.584Z", "modified_at": "2023-12-22T17:07:35.582Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "partially flowery how keenly analogy presume smuggle along tennis", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 345801, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2025-12-02T21:32:42.156Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 645390, "legacy": true}, {"created_at": "2023-08-19T15:22:33.462Z", "modified_at": "2023-03-15T09:19:49.081Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2025-04-19T22:15:44.328Z", "modified_at": "2024-07-26T10:32:13.861Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 762494, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}], "benefits": [{"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": []}], "product": {"id": "", "created_at": "2025-12-18T01:46:49.772Z", "modified_at": "2024-11-19T22:32:44.522Z", "trial_interval": "day", "trial_interval_count": 780504, "name": "", "description": "capsize regularly before maintainer whitewash", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 332812, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-04-08T17:49:25.686Z", "modified_at": "2023-10-28T07:54:05.646Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2024-11-04T23:36:29.431Z", "modified_at": "2025-12-08T17:45:07.884Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 381287, "meter_id": "", "meter": {"id": "", "name": "", "unit": "token"}}], "benefits": [{"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Network", "mime_type": "", "size": 331360, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-02-10T04:14:48.186Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-04T18:01:42.388Z", "size_readable": "", "public_url": "https://eminent-dandelion.biz/"}, {"id": "", "organization_id": "", "name": "", "path": "/Network", "mime_type": "", "size": 331360, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-02-10T04:14:48.186Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-04T18:01:42.388Z", "size_readable": "", "public_url": "https://eminent-dandelion.biz/"}]}, "product_price": {"created_at": "2024-05-29T22:42:00.703Z", "modified_at": "2026-05-05T10:21:47.685Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 241940, "maximum_amount": 733508, "preset_amount": 262775, "legacy": true}, "prices": {"key": [], "key1": [{"created_at": "2024-05-29T22:42:00.703Z", "modified_at": "2026-05-05T10:21:47.685Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 994328, "maximum_amount": 263233, "preset_amount": 762494, "legacy": true}], "key2": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 484258, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-07-24T12:38:52.606Z", "modified_at": "2024-08-31T06:13:03.406Z", "id": "", "metadata": {"key": 5379.07, "key1": 55288}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 499873, "required": true}], "customer_metadata": {"key": true, "key1": 645893, "key2": ""}}], "pagination": {"total_count": 187979, "max_page": 912185}} "422": application/json: {} checkouts:create: @@ -10518,7 +11086,7 @@ examples: application/json: {"allow_discount_codes": true, "require_billing_address": false, "allow_trial": true, "is_business_customer": false, "customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "locale": "en", "products": ["", "", ""]} responses: "201": - application/json: {"id": "", "created_at": "2024-01-03T23:26:44.843Z", "modified_at": "2023-12-22T12:47:17.057Z", "payment_processor": "stripe", "status": "open", "client_secret": "", "url": "https://limp-violin.name", "expires_at": "2024-03-25T01:44:28.012Z", "success_url": "https://turbulent-wasabi.com", "return_url": "https://great-fen.com", "embed_origin": "", "amount": 441643, "discount_amount": 452269, "net_amount": 267381, "tax_amount": 51493, "total_amount": 549002, "currency": "Peso Uruguayo", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 324391, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": false, "is_payment_required": false, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "optional", "postal_code": "required", "line1": "required", "line2": "disabled"}, "trial_interval": "week", "trial_interval_count": 632047, "metadata": {"key": 646.57, "key1": true}, "external_customer_id": "", "products": [], "product": {"id": "", "created_at": "2025-03-23T05:05:48.260Z", "modified_at": "2024-06-06T11:28:02.687Z", "trial_interval": "year", "trial_interval_count": 978623, "name": "", "description": "fondly ew pish until alongside needily", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 974785, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-12-26T14:14:21.531Z", "modified_at": "2023-11-04T06:09:05.151Z", "type": "discord", "description": "circa now optimistically instruction around toothbrush knottily valuable fashion fedora", "selectable": true, "deletable": false, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2024-01-06T02:40:29.447Z", "modified_at": "2025-05-30T19:19:24.495Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 978623, "maximum_amount": null, "preset_amount": 452269, "legacy": true}, "prices": {}, "discount": {"duration": "once", "duration_in_months": 960371, "type": "percentage", "basis_points": 131002, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-11-07T21:05:16.725Z", "modified_at": "2023-04-03T18:53:55.774Z", "id": "", "metadata": {"key": "", "key1": 3794.08, "key2": 2451.1}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 202429, "required": true}], "customer_metadata": {"key": true, "key1": true, "key2": ""}} + application/json: {"id": "", "created_at": "2024-01-03T23:26:44.843Z", "modified_at": "2023-12-22T12:47:17.057Z", "payment_processor": "stripe", "status": "open", "client_secret": "", "url": "https://limp-violin.name", "expires_at": "2024-03-25T01:44:28.012Z", "success_url": "https://turbulent-wasabi.com", "return_url": "https://great-fen.com", "embed_origin": "", "amount": 441643, "discount_amount": 452269, "net_amount": 267381, "tax_amount": 51493, "tax_behavior": "exclusive", "total_amount": 549002, "currency": "Peso Uruguayo", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 324391, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": false, "is_payment_required": false, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "optional", "postal_code": "required", "line1": "required", "line2": "disabled"}, "trial_interval": "week", "trial_interval_count": 632047, "metadata": {"key": 646.57, "key1": true}, "external_customer_id": "", "products": [], "product": {"id": "", "created_at": "2025-03-23T05:05:48.260Z", "modified_at": "2024-06-06T11:28:02.687Z", "trial_interval": "year", "trial_interval_count": 978623, "name": "", "description": "fondly ew pish until alongside needily", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 974785, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-12-26T14:14:21.531Z", "modified_at": "2023-11-04T06:09:05.151Z", "type": "discord", "description": "circa now optimistically instruction around toothbrush knottily valuable fashion fedora", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2024-01-06T02:40:29.447Z", "modified_at": "2025-05-30T19:19:24.495Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 978623, "maximum_amount": null, "preset_amount": 452269, "legacy": true}, "prices": {}, "discount": {"duration": "once", "duration_in_months": 960371, "type": "percentage", "basis_points": 131002, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-11-07T21:05:16.725Z", "modified_at": "2023-04-03T18:53:55.774Z", "id": "", "metadata": {"key": "", "key1": 3794.08, "key2": 2451.1}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 202429, "required": true}], "customer_metadata": {"key": true, "key1": true, "key2": ""}} "422": application/json: {} checkouts:get: @@ -10528,7 +11096,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-08-11T03:11:01.239Z", "modified_at": "2023-07-09T08:26:25.978Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://second-hand-costume.name", "expires_at": "2024-02-29T17:22:54.724Z", "success_url": "https://powerful-jogging.info/", "return_url": "https://willing-ribbon.net/", "embed_origin": "", "amount": 601699, "discount_amount": 565134, "net_amount": 604568, "tax_amount": 435126, "total_amount": 202456, "currency": "Chilean Peso", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 759954, "trial_end": "2023-08-04T19:41:02.160Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": true, "is_payment_form_required": false, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "optional", "state": "required", "city": "disabled", "postal_code": "disabled", "line1": "disabled", "line2": "required"}, "trial_interval": "week", "trial_interval_count": 626845, "metadata": {"key": ""}, "external_customer_id": "", "products": [], "product": {"id": "", "created_at": "2024-05-24T23:34:40.295Z", "modified_at": "2023-06-24T17:35:50.631Z", "trial_interval": "week", "trial_interval_count": 565134, "name": "", "description": "defensive before litter", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 172766, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 88132, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-25T12:06:48.574Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-24T20:26:10.981Z", "size_readable": "", "public_url": "https://untried-pomelo.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 88132, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-25T12:06:48.574Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-24T20:26:10.981Z", "size_readable": "", "public_url": "https://untried-pomelo.info/"}]}, "product_price": {"created_at": "2026-02-24T18:28:07.898Z", "modified_at": "2025-08-14T06:11:53.782Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 601699, "meter_id": "", "meter": {"id": "", "name": ""}}, "prices": {"key": [], "key1": [{"created_at": "2025-11-18T00:31:08.942Z", "modified_at": "2025-04-13T15:29:46.295Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 202456, "maximum_amount": 729244, "preset_amount": 553246, "legacy": true}]}, "discount": {"duration": "repeating", "duration_in_months": 798046, "type": "fixed", "basis_points": 969481, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [], "customer_metadata": {"key": 35277}} + application/json: {"id": "", "created_at": "2024-08-11T03:11:01.239Z", "modified_at": "2023-07-09T08:26:25.978Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://second-hand-costume.name", "expires_at": "2024-02-29T17:22:54.724Z", "success_url": "https://powerful-jogging.info/", "return_url": "https://willing-ribbon.net/", "embed_origin": "", "amount": 601699, "discount_amount": 565134, "net_amount": 604568, "tax_amount": 435126, "tax_behavior": "inclusive", "total_amount": 202456, "currency": "Chilean Peso", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 759954, "trial_end": "2023-08-04T19:41:02.160Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": true, "is_payment_form_required": false, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "optional", "state": "required", "city": "disabled", "postal_code": "disabled", "line1": "disabled", "line2": "required"}, "trial_interval": "week", "trial_interval_count": 626845, "metadata": {"key": ""}, "external_customer_id": "", "products": [], "product": {"id": "", "created_at": "2024-05-24T23:34:40.295Z", "modified_at": "2023-06-24T17:35:50.631Z", "trial_interval": "week", "trial_interval_count": 565134, "name": "", "description": "defensive before litter", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 172766, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 88132, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-25T12:06:48.574Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-24T20:26:10.981Z", "size_readable": "", "public_url": "https://untried-pomelo.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 88132, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-25T12:06:48.574Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-24T20:26:10.981Z", "size_readable": "", "public_url": "https://untried-pomelo.info/"}]}, "product_price": {"created_at": "2026-02-24T18:28:07.898Z", "modified_at": "2025-08-14T06:11:53.782Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 601699, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}, "prices": {"key": [], "key1": [{"created_at": "2025-11-18T00:31:08.942Z", "modified_at": "2025-04-13T15:29:46.295Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 202456, "maximum_amount": 729244, "preset_amount": 553246, "legacy": true}]}, "discount": {"duration": "repeating", "duration_in_months": 798046, "type": "fixed", "basis_points": 969481, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [], "customer_metadata": {"key": 35277}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10540,7 +11108,7 @@ examples: client_secret: "" responses: "200": - application/json: {"id": "", "created_at": "2025-06-24T05:51:11.116Z", "modified_at": "2025-07-15T02:19:22.581Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://stable-republican.name", "expires_at": "2025-01-13T08:45:44.792Z", "success_url": "https://trim-coil.name", "return_url": "https://thorny-mathematics.net", "embed_origin": "", "amount": 701062, "discount_amount": 173963, "net_amount": 129651, "tax_amount": 979690, "total_amount": 68566, "currency": "Ethiopian Birr", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 558443, "trial_end": "2025-03-31T17:00:49.512Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "disabled", "postal_code": "optional", "line1": "disabled", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-01-14T04:52:19.310Z", "modified_at": "2024-04-20T06:15:24.056Z", "trial_interval": "month", "trial_interval_count": 867631, "name": "", "description": "outrank sometimes round heavily the lest while vastly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 844979, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}, {"id": "", "created_at": "2025-01-14T04:52:19.310Z", "modified_at": "2024-04-20T06:15:24.056Z", "trial_interval": "month", "trial_interval_count": 173963, "name": "", "description": "outrank sometimes round heavily the lest while vastly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 558443, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}], "product": {"id": "", "created_at": "2024-03-24T04:29:38.701Z", "modified_at": "2025-05-05T01:21:17.988Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "meh including winged mundane spirit snow deselect phew yowza expert", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 748822, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-21T02:35:25.261Z", "modified_at": "2025-05-19T02:18:24.778Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 162606, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}, "product_price": {"created_at": "2025-10-29T23:16:41.742Z", "modified_at": "2025-08-27T15:59:15.813Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 129651, "meter_id": "", "meter": {"id": "", "name": ""}}, "prices": {"key": [{"created_at": "2026-08-08T22:09:58.034Z", "modified_at": "2025-11-20T03:28:45.411Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "day", "legacy": true}], "key1": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 569074, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2024-06-12T08:42:49.560Z", "modified_at": "2025-06-30T05:17:18.282Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://straight-testing.biz", "proration_behavior": "prorate", "allow_customer_updates": false}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}]} + application/json: {"id": "", "created_at": "2025-06-24T05:51:11.116Z", "modified_at": "2025-07-15T02:19:22.581Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://stable-republican.name", "expires_at": "2025-01-13T08:45:44.792Z", "success_url": "https://trim-coil.name", "return_url": "https://thorny-mathematics.net", "embed_origin": "", "amount": 701062, "discount_amount": 173963, "net_amount": 129651, "tax_amount": 979690, "tax_behavior": "exclusive", "total_amount": 68566, "currency": "Ethiopian Birr", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 558443, "trial_end": "2025-03-31T17:00:49.512Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "disabled", "postal_code": "optional", "line1": "disabled", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-01-14T04:52:19.310Z", "modified_at": "2024-04-20T06:15:24.056Z", "trial_interval": "month", "trial_interval_count": 867631, "name": "", "description": "outrank sometimes round heavily the lest while vastly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 844979, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}, {"id": "", "created_at": "2025-01-14T04:52:19.310Z", "modified_at": "2024-04-20T06:15:24.056Z", "trial_interval": "month", "trial_interval_count": 173963, "name": "", "description": "outrank sometimes round heavily the lest while vastly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 558443, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}], "product": {"id": "", "created_at": "2024-03-24T04:29:38.701Z", "modified_at": "2025-05-05T01:21:17.988Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "meh including winged mundane spirit snow deselect phew yowza expert", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 748822, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-21T02:35:25.261Z", "modified_at": "2025-05-19T02:18:24.778Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 162606, "meter_id": "", "meter": {"id": "", "name": "", "unit": "token"}}], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}, "product_price": {"created_at": "2025-10-29T23:16:41.742Z", "modified_at": "2025-08-27T15:59:15.813Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 129651, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}, "prices": {"key": [{"created_at": "2026-08-08T22:09:58.034Z", "modified_at": "2025-11-20T03:28:45.411Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "day", "legacy": true}], "key1": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 569074, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2024-06-12T08:42:49.560Z", "modified_at": "2025-06-30T05:17:18.282Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://straight-testing.biz", "proration_behavior": "prorate", "allow_customer_updates": false}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "410": @@ -10701,7 +11269,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "year", "trial_interval_count": 379186, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://punctual-glider.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "week", "trial_interval_count": 269522, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 962255, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 987277, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "type": "percentage", "basis_points": 1000, "created_at": "2025-04-25T09:54:59.217Z", "modified_at": "2024-10-22T09:30:35.515Z", "id": "", "metadata": {"key": 987277}, "name": "", "code": "", "starts_at": "2026-02-11T18:32:20.472Z", "ends_at": "2026-03-25T11:30:39.715Z", "max_redemptions": 389068, "redemptions_count": 283838, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "week", "trial_interval_count": 656194, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://uniform-gallery.org/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "month", "trial_interval_count": 743139, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 379186, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-02-11T18:32:20.472Z", "modified_at": "2025-03-25T11:30:39.715Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 825064, "maximum_amount": 470214, "preset_amount": 586539, "legacy": true}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "duration_in_months": 470214, "type": "fixed", "basis_points": 1000, "created_at": "2025-10-04T20:19:33.315Z", "modified_at": "2026-02-02T01:59:45.483Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-10T20:25:13.672Z", "ends_at": "2025-05-08T20:04:34.423Z", "max_redemptions": 747675, "redemptions_count": 442868, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "week", "trial_interval_count": 958373, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://tidy-reorganisation.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 958373}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "year", "trial_interval_count": 470214, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 438333, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-05-11T01:12:44.937Z", "modified_at": "2025-06-06T13:16:03.281Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "duration_in_months": 470214, "type": "fixed", "basis_points": 1000, "created_at": "2025-10-04T20:19:33.315Z", "modified_at": "2026-02-02T01:59:45.483Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-10T20:25:13.672Z", "ends_at": "2025-05-08T20:04:34.423Z", "max_redemptions": 747675, "redemptions_count": 442868, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}], "pagination": {"total_count": 109542, "max_page": 664611}} + application/json: {"items": [{"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "year", "trial_interval_count": 379186, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://punctual-glider.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "week", "trial_interval_count": 269522, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 962255, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 987277, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "type": "percentage", "basis_points": 1000, "created_at": "2025-04-25T09:54:59.217Z", "modified_at": "2024-10-22T09:30:35.515Z", "id": "", "metadata": {"key": 987277}, "name": "", "code": "", "starts_at": "2026-02-11T18:32:20.472Z", "ends_at": "2026-03-25T11:30:39.715Z", "max_redemptions": 389068, "redemptions_count": 283838, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "week", "trial_interval_count": 656194, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://uniform-gallery.org/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "month", "trial_interval_count": 743139, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 379186, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-02-11T18:32:20.472Z", "modified_at": "2025-03-25T11:30:39.715Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 825064, "maximum_amount": 470214, "preset_amount": 586539, "legacy": true}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "duration_in_months": 470214, "type": "fixed", "basis_points": 1000, "created_at": "2025-10-04T20:19:33.315Z", "modified_at": "2026-02-02T01:59:45.483Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-10T20:25:13.672Z", "ends_at": "2025-05-08T20:04:34.423Z", "max_redemptions": 747675, "redemptions_count": 442868, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "week", "trial_interval_count": 958373, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://tidy-reorganisation.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 958373}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "year", "trial_interval_count": 470214, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 438333, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-05-11T01:12:44.937Z", "modified_at": "2025-06-06T13:16:03.281Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "duration_in_months": 470214, "type": "fixed", "basis_points": 1000, "created_at": "2025-10-04T20:19:33.315Z", "modified_at": "2026-02-02T01:59:45.483Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-10T20:25:13.672Z", "ends_at": "2025-05-08T20:04:34.423Z", "max_redemptions": 747675, "redemptions_count": 442868, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}], "pagination": {"total_count": 109542, "max_page": 664611}} "422": application/json: {} checkout-links:create: @@ -10720,7 +11288,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2023-11-21T22:10:03.326Z", "modified_at": "2023-01-06T13:50:49.699Z", "trial_interval": "day", "trial_interval_count": 12647, "metadata": {"key": ""}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://insecure-wear.org/", "return_url": "https://gentle-adrenalin.com/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {}, "id": "", "created_at": "2025-12-17T13:45:34.269Z", "modified_at": "2024-12-30T14:30:13.277Z", "trial_interval": null, "trial_interval_count": 980330, "name": "", "description": "border vice round brr black-and-white creamy yippee", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 5088, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-12-09T10:41:20.310Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 963333, "maximum_amount": 668898, "preset_amount": 59077, "legacy": true}, {"created_at": "2024-09-15T19:56:47.175Z", "modified_at": "2023-06-23T03:47:03.028Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-08-17T06:40:30.623Z", "modified_at": "2024-09-04T14:49:56.878Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 885695, "maximum_amount": 296066, "preset_amount": 906017, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-08-08T09:31:37.166Z", "modified_at": "2023-01-02T11:42:53.418Z", "type": "discord", "description": "blond till and icy boo of hmph", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-08-08T09:31:37.166Z", "modified_at": "2023-01-02T11:42:53.418Z", "type": "discord", "description": "blond till and icy boo of hmph", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 197596, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-17T01:52:21.587Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-31T14:32:10.257Z", "size_readable": "", "public_url": "https://trustworthy-gripper.org"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 197596, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-17T01:52:21.587Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-31T14:32:10.257Z", "size_readable": "", "public_url": "https://trustworthy-gripper.org"}]}], "discount": {"duration": "repeating", "duration_in_months": 805834, "type": "fixed", "basis_points": 390697, "created_at": "2023-02-21T03:40:47.205Z", "modified_at": "2024-09-29T08:08:42.309Z", "id": "", "metadata": {"key": "", "key1": 893266, "key2": 845701}, "name": "", "code": "", "starts_at": "2024-08-10T16:58:23.596Z", "ends_at": "2023-01-24T06:47:36.139Z", "max_redemptions": 151529, "redemptions_count": 572960, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://delicious-silk.net/"} + application/json: {"id": "", "created_at": "2023-11-21T22:10:03.326Z", "modified_at": "2023-01-06T13:50:49.699Z", "trial_interval": "day", "trial_interval_count": 12647, "metadata": {"key": ""}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://insecure-wear.org/", "return_url": "https://gentle-adrenalin.com/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {}, "id": "", "created_at": "2025-12-17T13:45:34.269Z", "modified_at": "2024-12-30T14:30:13.277Z", "trial_interval": null, "trial_interval_count": 980330, "name": "", "description": "border vice round brr black-and-white creamy yippee", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 5088, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-12-09T10:41:20.310Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 963333, "maximum_amount": 668898, "preset_amount": 59077, "legacy": true}, {"created_at": "2024-09-15T19:56:47.175Z", "modified_at": "2023-06-23T03:47:03.028Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-08-17T06:40:30.623Z", "modified_at": "2024-09-04T14:49:56.878Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 885695, "maximum_amount": 296066, "preset_amount": 906017, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-08-08T09:31:37.166Z", "modified_at": "2023-01-02T11:42:53.418Z", "type": "discord", "description": "blond till and icy boo of hmph", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-08-08T09:31:37.166Z", "modified_at": "2023-01-02T11:42:53.418Z", "type": "discord", "description": "blond till and icy boo of hmph", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 197596, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-17T01:52:21.587Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-31T14:32:10.257Z", "size_readable": "", "public_url": "https://trustworthy-gripper.org"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 197596, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-17T01:52:21.587Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-31T14:32:10.257Z", "size_readable": "", "public_url": "https://trustworthy-gripper.org"}]}], "discount": {"duration": "repeating", "duration_in_months": 805834, "type": "fixed", "basis_points": 390697, "created_at": "2023-02-21T03:40:47.205Z", "modified_at": "2024-09-29T08:08:42.309Z", "id": "", "metadata": {"key": "", "key1": 893266, "key2": 845701}, "name": "", "code": "", "starts_at": "2024-08-10T16:58:23.596Z", "ends_at": "2023-01-24T06:47:36.139Z", "max_redemptions": 151529, "redemptions_count": 572960, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://delicious-silk.net/"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10734,7 +11302,7 @@ examples: application/json: {} responses: "200": - application/json: {"id": "", "created_at": "2024-02-14T03:05:16.462Z", "modified_at": "2025-04-11T20:27:07.595Z", "trial_interval": "year", "trial_interval_count": 763251, "metadata": {"key": true}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://interesting-governance.info", "return_url": "https://extroverted-role.info", "label": "", "allow_discount_codes": true, "require_billing_address": true, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "month", "trial_interval_count": 386368, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 758989, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-10-02T17:43:12.732Z", "modified_at": "2024-03-22T06:34:43.285Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2023-03-13T08:40:55.883Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 250061, "legacy": true}, {"created_at": "2023-11-21T13:59:32.118Z", "modified_at": "2024-01-23T09:47:28.845Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 496878, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}, {"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "day", "trial_interval_count": null, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 763251, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-05-01T01:31:25.874Z", "modified_at": "2024-03-09T14:43:03.649Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 537641, "meter_id": "", "meter": {"id": "", "name": ""}}, {"created_at": "2024-12-19T11:21:41.094Z", "modified_at": "2025-08-26T04:01:30.432Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 977251, "maximum_amount": null, "preset_amount": 691005, "legacy": true}, {"created_at": "2025-12-17T09:02:02.652Z", "modified_at": "2025-10-31T18:29:47.575Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}, {"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "month", "trial_interval_count": 911224, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 634930, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-08-04T01:04:24.189Z", "modified_at": "2023-07-16T02:45:46.995Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 399653, "legacy": true}, {"created_at": "2024-10-23T21:43:17.023Z", "modified_at": "2025-12-20T19:54:20.697Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-11-22T23:56:40.197Z", "modified_at": "2024-01-23T14:22:15.631Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 400055, "maximum_amount": 888276, "preset_amount": 86646, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}], "discount": {"duration": "repeating", "duration_in_months": 326419, "type": "percentage", "basis_points": 1000, "created_at": "2025-06-23T21:17:26.010Z", "modified_at": "2025-06-26T01:05:36.243Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-01-28T19:17:48.748Z", "ends_at": "2024-09-01T16:19:02.542Z", "max_redemptions": 709108, "redemptions_count": 314886, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://zealous-gastropod.info/"} + application/json: {"id": "", "created_at": "2024-02-14T03:05:16.462Z", "modified_at": "2025-04-11T20:27:07.595Z", "trial_interval": "year", "trial_interval_count": 763251, "metadata": {"key": true}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://interesting-governance.info", "return_url": "https://extroverted-role.info", "label": "", "allow_discount_codes": true, "require_billing_address": true, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "month", "trial_interval_count": 386368, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 758989, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-10-02T17:43:12.732Z", "modified_at": "2024-03-22T06:34:43.285Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2023-03-13T08:40:55.883Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 250061, "legacy": true}, {"created_at": "2023-11-21T13:59:32.118Z", "modified_at": "2024-01-23T09:47:28.845Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 496878, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}, {"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "day", "trial_interval_count": null, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 763251, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-05-01T01:31:25.874Z", "modified_at": "2024-03-09T14:43:03.649Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 537641, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}, {"created_at": "2024-12-19T11:21:41.094Z", "modified_at": "2025-08-26T04:01:30.432Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 977251, "maximum_amount": null, "preset_amount": 691005, "legacy": true}, {"created_at": "2025-12-17T09:02:02.652Z", "modified_at": "2025-10-31T18:29:47.575Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}, {"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "month", "trial_interval_count": 911224, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 634930, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-08-04T01:04:24.189Z", "modified_at": "2023-07-16T02:45:46.995Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 399653, "legacy": true}, {"created_at": "2024-10-23T21:43:17.023Z", "modified_at": "2025-12-20T19:54:20.697Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-11-22T23:56:40.197Z", "modified_at": "2024-01-23T14:22:15.631Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 400055, "maximum_amount": 888276, "preset_amount": 86646, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}], "discount": {"duration": "repeating", "duration_in_months": 326419, "type": "percentage", "basis_points": 1000, "created_at": "2025-06-23T21:17:26.010Z", "modified_at": "2025-06-26T01:05:36.243Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-01-28T19:17:48.748Z", "ends_at": "2024-09-01T16:19:02.542Z", "max_redemptions": 709108, "redemptions_count": 314886, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://zealous-gastropod.info/"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10821,7 +11389,7 @@ examples: discounts:create: speakeasy-default-discounts:create: requestBody: - application/json: {"duration": "once", "type": "fixed", "basis_points": 449604, "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"} + application/json: {"name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "type": "fixed", "duration": "once"} responses: "201": application/json: {"duration": "repeating", "type": "percentage", "basis_points": 1000, "created_at": "2024-06-28T22:01:22.215Z", "modified_at": "2023-10-28T11:28:49.382Z", "id": "", "metadata": {"key": 861617, "key1": ""}, "name": "", "code": "", "starts_at": "2025-06-12T13:13:14.148Z", "ends_at": "2025-10-03T09:51:48.305Z", "max_redemptions": 770360, "redemptions_count": 808721, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 6929.92}, "id": "", "created_at": "2023-03-30T03:01:36.624Z", "modified_at": "2023-02-17T03:01:59.421Z", "trial_interval": null, "trial_interval_count": 449604, "name": "", "description": "yuck cap ah never goose tenant supposing", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": false, "is_archived": true, "organization_id": ""}, {"metadata": {"key": 6929.92}, "id": "", "created_at": "2023-03-30T03:01:36.624Z", "modified_at": "2023-02-17T03:01:59.421Z", "trial_interval": "year", "trial_interval_count": 778295, "name": "", "description": "yuck cap ah never goose tenant supposing", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 449604, "is_recurring": false, "is_archived": true, "organization_id": ""}]} @@ -10993,7 +11561,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2024-10-05T18:19:15.209Z", "modified_at": "2024-01-16T21:16:44.906Z", "id": "", "granted_at": "2026-09-12T06:08:19.548Z", "revoked_at": "2025-07-27T16:14:40.792Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": false, "is_revoked": false, "customer": {"created_at": "2025-01-29T06:11:54.152Z", "modified_at": "2025-10-14T21:25:11.296Z", "id": "", "email": "Vicente.Kirlin@hotmail.com", "email_verified": true, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2026-10-21T22:16:50.607Z", "modified_at": "2024-01-05T08:53:06.816Z", "type": "discord", "description": "blindly forage boo consequently apostrophize because gee like", "selectable": false, "deletable": true, "organization_id": "", "metadata": {"key": 25686}, "organization": {"created_at": "2024-07-23T13:25:35.655Z", "modified_at": "2025-11-21T03:40:07.983Z", "id": "", "name": "", "slug": "", "avatar_url": "https://zealous-privilege.name", "proration_behavior": "invoice", "allow_customer_updates": true}, "properties": {"guild_id": ""}}, "properties": {}}], "pagination": {"total_count": 807142, "max_page": 415643}} + application/json: {"items": [{"created_at": "2024-10-05T18:19:15.209Z", "modified_at": "2024-01-16T21:16:44.906Z", "id": "", "granted_at": "2026-09-12T06:08:19.548Z", "revoked_at": "2025-07-27T16:14:40.792Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": false, "is_revoked": false, "customer": {"created_at": "2025-01-29T06:11:54.152Z", "modified_at": "2025-10-14T21:25:11.296Z", "id": "", "email": "Cortney.Graham56@hotmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2024-04-23T09:44:44.986Z", "modified_at": null, "type": "discord", "description": "blindly forage boo consequently apostrophize because gee like", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {}, "organization": {"created_at": "2024-01-29T03:39:54.661Z", "modified_at": "2024-12-20T14:35:05.300Z", "id": "", "name": "", "slug": "", "avatar_url": "https://slimy-zebra.net", "proration_behavior": "next_period", "allow_customer_updates": true}, "properties": {"guild_id": ""}}, "properties": {}}], "pagination": {"total_count": 807142, "max_page": 415643}} "422": application/json: {} customer_portal:benefit-grants:get: @@ -11003,7 +11571,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-03-15T12:31:38.233Z", "modified_at": "2024-02-13T22:07:31.852Z", "id": "", "granted_at": "2024-01-09T12:49:39.354Z", "revoked_at": "2024-02-23T12:20:05.574Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": true, "is_revoked": true, "customer": {"created_at": "2025-03-28T16:05:13.207Z", "modified_at": "2024-06-09T07:03:07.238Z", "id": "", "email": "Xzavier.Kulas@yahoo.com", "email_verified": false, "name": "", "billing_name": null, "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2023-08-07T17:03:14.237Z", "modified_at": "2025-11-05T17:02:30.549Z", "type": "downloadables", "description": "status coaxingly likewise comestible", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 6941.29, "key1": true, "key2": ""}, "organization": {"created_at": "2025-12-31T12:09:33.011Z", "modified_at": "2024-08-15T16:11:29.574Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://troubled-starboard.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "properties": {"active_files": ["", "", ""]}}, "properties": {}} + application/json: {"created_at": "2023-03-15T12:31:38.233Z", "modified_at": "2024-02-13T22:07:31.852Z", "id": "", "granted_at": "2024-01-09T12:49:39.354Z", "revoked_at": "2024-02-23T12:20:05.574Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": true, "is_revoked": true, "customer": {"created_at": "2025-03-28T16:05:13.207Z", "modified_at": "2024-06-09T07:03:07.238Z", "id": "", "email": "Xzavier.Kulas@yahoo.com", "email_verified": false, "name": "", "billing_name": null, "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2023-08-07T17:03:14.237Z", "modified_at": "2025-11-05T17:02:30.549Z", "type": "license_keys", "description": "status coaxingly likewise comestible", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": 6941.29, "key1": true, "key2": ""}, "organization": {"created_at": "2025-12-31T12:09:33.011Z", "modified_at": "2024-08-15T16:11:29.574Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://troubled-starboard.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "properties": {"prefix": "", "expires": {"ttl": 381856, "timeframe": "month"}, "activations": {"limit": 746050, "enable_customer_admin": true}, "limit_usage": 987838}}, "properties": {}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11017,7 +11585,7 @@ examples: application/json: {"benefit_type": "license_keys"} responses: "200": - application/json: {"created_at": "2025-07-10T10:56:59.187Z", "modified_at": "2024-11-29T22:52:47.998Z", "id": "", "granted_at": "2024-11-21T02:12:57.379Z", "revoked_at": "2024-01-20T03:02:07.139Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": true, "is_revoked": true, "customer": {"created_at": "2025-06-22T09:01:10.015Z", "modified_at": "2025-12-26T04:03:17.755Z", "id": "", "email": "Willow_Roob@hotmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2023-11-27T05:25:19.719Z", "modified_at": "2023-07-22T16:23:00.918Z", "type": "custom", "description": "for lest psst distinct", "selectable": true, "deletable": false, "organization_id": "", "metadata": {}, "organization": {"created_at": "2025-08-20T12:19:54.050Z", "modified_at": "2023-08-23T02:58:50.453Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://determined-curl.info/", "proration_behavior": "invoice", "allow_customer_updates": false}, "properties": {"note": ""}}, "properties": {}} + application/json: {"created_at": "2025-07-10T10:56:59.187Z", "modified_at": "2024-11-29T22:52:47.998Z", "id": "", "granted_at": "2024-11-21T02:12:57.379Z", "revoked_at": "2024-01-20T03:02:07.139Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": true, "is_revoked": true, "customer": {"created_at": "2025-06-22T09:01:10.015Z", "modified_at": "2025-12-26T04:03:17.755Z", "id": "", "email": "Willow_Roob@hotmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2023-11-27T05:25:19.719Z", "modified_at": "2023-07-22T16:23:00.918Z", "type": "custom", "description": "for lest psst distinct", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {}, "organization": {"created_at": "2025-08-20T12:19:54.050Z", "modified_at": "2023-08-23T02:58:50.453Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://determined-curl.info/", "proration_behavior": "invoice", "allow_customer_updates": false}, "properties": {"note": ""}}, "properties": {}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -11058,6 +11626,8 @@ examples: application/json: {"status": "succeeded", "payment_method": {"id": "", "created_at": "2025-12-23T00:32:19.874Z", "modified_at": "2025-02-22T23:44:51.542Z", "processor": "stripe", "customer_id": "", "type": "card", "method_metadata": {"brand": "", "last4": "", "exp_month": 510329, "exp_year": 902331}}} "422": application/json: {} + "400": + application/json: {"error": "PaymentMethodSetupFailed", "detail": ""} customer_portal:customers:delete_payment_method: speakeasy-default-customer-portal:customers:delete-payment-method: parameters: @@ -11185,7 +11755,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2024-05-18T16:54:56.965Z", "status": "refunded", "paid": true, "subtotal_amount": 819161, "discount_amount": 845676, "net_amount": 924720, "tax_amount": 63217, "total_amount": 598982, "applied_balance_amount": 281470, "due_amount": 702832, "refunded_amount": 539673, "refunded_tax_amount": 14405, "currency": "Zambian Kwacha", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2025-09-22T00:37:01.920Z", "modified_at": "2023-05-31T06:38:55.188Z", "trial_interval": "month", "trial_interval_count": 459585, "name": "", "description": "fiercely apud before tinderbox aboard blah affect how spork afford", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 702832, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2025-01-24T20:31:05.561Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-03-11T06:52:22.440Z", "modified_at": "2024-08-14T11:34:08.193Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 137114, "maximum_amount": 429591, "preset_amount": 912957, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2024-06-26T00:10:46.957Z", "type": "discord", "description": "into mortally sizzle candid deliquesce descendant", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}], "organization": {"created_at": "2025-06-04T05:46:13.875Z", "modified_at": "2025-02-04T00:06:48.998Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://similar-hyphenation.org/", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}}}, "subscription": {"created_at": "2024-08-13T08:41:59.340Z", "modified_at": "2023-12-03T21:20:26.944Z", "id": "", "amount": 871599, "currency": "Libyan Dinar", "recurring_interval": "month", "recurring_interval_count": 459585, "status": "unpaid", "current_period_start": "2023-08-19T10:55:51.517Z", "current_period_end": "2024-02-18T12:53:08.743Z", "trial_start": "2025-06-16T19:11:41.518Z", "trial_end": "2025-10-10T11:49:01.641Z", "cancel_at_period_end": false, "canceled_at": "2025-03-18T00:10:37.394Z", "started_at": "2024-03-22T06:31:06.826Z", "ends_at": "2023-04-25T20:41:07.944Z", "ended_at": "2024-01-11T00:16:27.501Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-28T11:43:12.063Z", "modified_at": "2024-08-31T19:05:47.710Z", "id": "", "label": "", "amount": 838116, "tax_amount": 970865, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}, {"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2024-05-18T16:54:56.965Z", "status": "refunded", "paid": true, "subtotal_amount": 819161, "discount_amount": 845676, "net_amount": 924720, "tax_amount": 63217, "total_amount": 598982, "applied_balance_amount": 962124, "due_amount": 459585, "refunded_amount": 539673, "refunded_tax_amount": 14405, "currency": "Zambian Kwacha", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "FR"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2025-09-22T00:37:01.920Z", "modified_at": "2023-05-31T06:38:55.188Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "fiercely apud before tinderbox aboard blah affect how spork afford", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 819161, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-08-12T01:01:18.565Z", "modified_at": "2023-10-16T20:01:02.505Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-01-12T17:10:02.408Z", "modified_at": "2023-08-30T05:17:10.953Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 822806, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2024-06-26T00:10:46.957Z", "type": "discord", "description": "into mortally sizzle candid deliquesce descendant", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}], "organization": {"created_at": "2025-06-04T05:46:13.875Z", "modified_at": "2025-02-04T00:06:48.998Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://similar-hyphenation.org/", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}}}, "subscription": {"created_at": "2024-08-13T08:41:59.340Z", "modified_at": "2023-12-03T21:20:26.944Z", "id": "", "amount": 871599, "currency": "Libyan Dinar", "recurring_interval": "month", "recurring_interval_count": 924720, "status": "unpaid", "current_period_start": "2023-08-19T10:55:51.517Z", "current_period_end": "2024-02-18T12:53:08.743Z", "trial_start": "2024-08-14T11:34:08.193Z", "trial_end": null, "cancel_at_period_end": false, "canceled_at": "2025-03-18T00:10:37.394Z", "started_at": "2024-03-22T06:31:06.826Z", "ends_at": "2023-04-25T20:41:07.944Z", "ended_at": "2024-01-11T00:16:27.501Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-28T11:43:12.063Z", "modified_at": "2024-08-31T19:05:47.710Z", "id": "", "label": "", "amount": 838116, "tax_amount": 970865, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}], "pagination": {"total_count": 217242, "max_page": 911504}} + application/json: {"items": [{"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2024-05-18T16:54:56.965Z", "status": "refunded", "paid": true, "subtotal_amount": 819161, "discount_amount": 845676, "net_amount": 924720, "tax_amount": 63217, "total_amount": 598982, "applied_balance_amount": 281470, "due_amount": 702832, "refunded_amount": 539673, "refunded_tax_amount": 14405, "currency": "Zambian Kwacha", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2025-09-22T00:37:01.920Z", "modified_at": "2023-05-31T06:38:55.188Z", "trial_interval": "month", "trial_interval_count": 459585, "name": "", "description": "fiercely apud before tinderbox aboard blah affect how spork afford", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 702832, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2025-01-24T20:31:05.561Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-03-11T06:52:22.440Z", "modified_at": "2024-08-14T11:34:08.193Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 137114, "maximum_amount": 429591, "preset_amount": 912957, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2024-06-26T00:10:46.957Z", "type": "discord", "description": "into mortally sizzle candid deliquesce descendant", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}], "organization": {"created_at": "2025-06-04T05:46:13.875Z", "modified_at": "2025-02-04T00:06:48.998Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://similar-hyphenation.org/", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}}}, "subscription": {"created_at": "2024-08-13T08:41:59.340Z", "modified_at": "2023-12-03T21:20:26.944Z", "id": "", "amount": 871599, "currency": "Libyan Dinar", "recurring_interval": "month", "recurring_interval_count": 459585, "status": "unpaid", "current_period_start": "2023-08-19T10:55:51.517Z", "current_period_end": "2024-02-18T12:53:08.743Z", "trial_start": "2025-06-16T19:11:41.518Z", "trial_end": "2025-10-10T11:49:01.641Z", "cancel_at_period_end": false, "canceled_at": "2025-03-18T00:10:37.394Z", "started_at": "2024-03-22T06:31:06.826Z", "ends_at": "2023-04-25T20:41:07.944Z", "ended_at": "2024-01-11T00:16:27.501Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-28T11:43:12.063Z", "modified_at": "2024-08-31T19:05:47.710Z", "id": "", "label": "", "amount": 838116, "tax_amount": 970865, "proration": true, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720}, {"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2024-05-18T16:54:56.965Z", "status": "refunded", "paid": true, "subtotal_amount": 819161, "discount_amount": 845676, "net_amount": 924720, "tax_amount": 63217, "total_amount": 598982, "applied_balance_amount": 962124, "due_amount": 459585, "refunded_amount": 539673, "refunded_tax_amount": 14405, "currency": "Zambian Kwacha", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "FR"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2025-09-22T00:37:01.920Z", "modified_at": "2023-05-31T06:38:55.188Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "fiercely apud before tinderbox aboard blah affect how spork afford", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 819161, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-08-12T01:01:18.565Z", "modified_at": "2023-10-16T20:01:02.505Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-01-12T17:10:02.408Z", "modified_at": "2023-08-30T05:17:10.953Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 822806, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2024-06-26T00:10:46.957Z", "type": "discord", "description": "into mortally sizzle candid deliquesce descendant", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}], "organization": {"created_at": "2025-06-04T05:46:13.875Z", "modified_at": "2025-02-04T00:06:48.998Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://similar-hyphenation.org/", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}}}, "subscription": {"created_at": "2024-08-13T08:41:59.340Z", "modified_at": "2023-12-03T21:20:26.944Z", "id": "", "amount": 871599, "currency": "Libyan Dinar", "recurring_interval": "month", "recurring_interval_count": 924720, "status": "unpaid", "current_period_start": "2023-08-19T10:55:51.517Z", "current_period_end": "2024-02-18T12:53:08.743Z", "trial_start": "2024-08-14T11:34:08.193Z", "trial_end": null, "cancel_at_period_end": false, "canceled_at": "2025-03-18T00:10:37.394Z", "started_at": "2024-03-22T06:31:06.826Z", "ends_at": "2023-04-25T20:41:07.944Z", "ended_at": "2024-01-11T00:16:27.501Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-28T11:43:12.063Z", "modified_at": "2024-08-31T19:05:47.710Z", "id": "", "label": "", "amount": 838116, "tax_amount": 970865, "proration": true, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720}], "pagination": {"total_count": 217242, "max_page": 911504}} "422": application/json: {} customer_portal:orders:get: @@ -11195,7 +11765,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2025-11-07T01:29:33.239Z", "modified_at": "2024-05-19T13:54:46.070Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2023-07-18T15:45:42.662Z", "modified_at": "2025-09-21T13:22:43.123Z", "trial_interval": "week", "trial_interval_count": 836532, "name": "", "description": "excluding below instead especially around crowded", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 460383, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-10-01T14:10:31.444Z", "modified_at": "2025-11-12T18:03:36.492Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 953506, "legacy": true}, {"created_at": "2025-11-13T23:04:52.208Z", "modified_at": "2023-07-18T15:45:42.662Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2025-11-28T10:02:29.850Z", "modified_at": "2025-10-31T04:09:20.708Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 887993, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-13T18:57:39.316Z", "modified_at": "2023-04-29T11:32:36.819Z", "type": "meter_credit", "description": "bobble cappelletti slime ah in-joke", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/private/var", "mime_type": "", "size": 597925, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-12-05T16:14:08.598Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-04-10T23:36:40.097Z", "size_readable": "", "public_url": "https://sudden-vicinity.org"}], "organization": {"created_at": "2024-05-25T14:56:03.555Z", "modified_at": "2024-09-13T23:34:30.029Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://tasty-procurement.biz", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "subscription": {"created_at": "2023-11-22T00:35:42.709Z", "modified_at": "2025-01-02T22:15:08.835Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 836532, "status": "incomplete_expired", "current_period_start": "2023-06-07T17:49:09.159Z", "current_period_end": "2025-09-02T13:45:06.535Z", "trial_start": "2025-01-24T05:08:03.541Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2025-11-20T05:04:08.720Z", "started_at": "2024-08-31T06:02:38.009Z", "ends_at": "2024-04-13T05:40:37.441Z", "ended_at": "2024-07-31T04:00:00.849Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}, {"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}, {"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2025-11-07T01:29:33.239Z", "modified_at": "2024-05-19T13:54:46.070Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2023-07-18T15:45:42.662Z", "modified_at": "2025-09-21T13:22:43.123Z", "trial_interval": "week", "trial_interval_count": 836532, "name": "", "description": "excluding below instead especially around crowded", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 460383, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-10-01T14:10:31.444Z", "modified_at": "2025-11-12T18:03:36.492Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 953506, "legacy": true}, {"created_at": "2025-11-13T23:04:52.208Z", "modified_at": "2023-07-18T15:45:42.662Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2025-11-28T10:02:29.850Z", "modified_at": "2025-10-31T04:09:20.708Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 887993, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-13T18:57:39.316Z", "modified_at": "2023-04-29T11:32:36.819Z", "type": "meter_credit", "description": "bobble cappelletti slime ah in-joke", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/private/var", "mime_type": "", "size": 597925, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-12-05T16:14:08.598Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-04-10T23:36:40.097Z", "size_readable": "", "public_url": "https://sudden-vicinity.org"}], "organization": {"created_at": "2024-05-25T14:56:03.555Z", "modified_at": "2024-09-13T23:34:30.029Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://tasty-procurement.biz", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "subscription": {"created_at": "2023-11-22T00:35:42.709Z", "modified_at": "2025-01-02T22:15:08.835Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 836532, "status": "incomplete_expired", "current_period_start": "2023-06-07T17:49:09.159Z", "current_period_end": "2025-09-02T13:45:06.535Z", "trial_start": "2025-01-24T05:08:03.541Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2025-11-20T05:04:08.720Z", "started_at": "2024-08-31T06:02:38.009Z", "ends_at": "2024-04-13T05:40:37.441Z", "ended_at": "2024-07-31T04:00:00.849Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}, {"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}, {"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11233,7 +11803,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2024-09-28T03:20:00.312Z", "id": "", "amount": 31846, "currency": "Pakistan Rupee", "recurring_interval": "month", "recurring_interval_count": 180288, "status": "unpaid", "current_period_start": "2023-11-09T06:12:04.123Z", "current_period_end": "2025-01-25T11:12:42.694Z", "trial_start": "2024-07-18T17:21:46.759Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2023-11-12T13:08:09.571Z", "started_at": "2023-08-04T11:59:00.224Z", "ends_at": "2025-05-27T18:23:00.769Z", "ended_at": "2025-10-28T08:23:28.446Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-01-04T03:39:38.578Z", "modified_at": "2025-05-06T00:46:00.044Z", "trial_interval": "day", "trial_interval_count": 96114, "name": "", "description": "growing opposite tomography telescope quiet why phew", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 1847, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2023-02-04T21:40:45.220Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 944637, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-03-14T21:13:40.961Z", "modified_at": "2023-12-24T01:29:54.279Z", "type": "meter_credit", "description": "huzzah tomorrow duh yum gray cycle of", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var", "mime_type": "", "size": 746159, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-05-29T22:38:24.131Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-04T11:44:37.534Z", "size_readable": "", "public_url": "https://old-calculus.biz/"}], "organization": {"created_at": "2024-02-09T13:11:33.758Z", "modified_at": "2025-12-02T08:22:49.298Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://definitive-toaster.biz", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2024-04-28T23:59:29.324Z", "modified_at": "2023-08-04T11:59:00.224Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": [{"created_at": "2024-01-02T23:41:03.483Z", "modified_at": "2024-07-07T11:53:07.154Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2024-12-27T05:30:39.834Z", "modified_at": "2024-11-06T16:58:02.245Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-02-04T21:40:45.220Z", "modified_at": "2024-04-15T08:10:49.325Z", "id": "", "applies_at": "2026-11-01T07:42:50.677Z", "product_id": "", "seats": 441605}}, {"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2024-09-28T03:20:00.312Z", "id": "", "amount": 31846, "currency": "Pakistan Rupee", "recurring_interval": "month", "recurring_interval_count": 31846, "status": "unpaid", "current_period_start": "2023-11-09T06:12:04.123Z", "current_period_end": "2025-01-25T11:12:42.694Z", "trial_start": "2023-11-09T06:12:04.123Z", "trial_end": "2024-04-28T23:59:29.324Z", "cancel_at_period_end": true, "canceled_at": "2023-11-12T13:08:09.571Z", "started_at": "2023-08-04T11:59:00.224Z", "ends_at": "2025-05-27T18:23:00.769Z", "ended_at": "2025-10-28T08:23:28.446Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-01-04T03:39:38.578Z", "modified_at": "2025-05-06T00:46:00.044Z", "trial_interval": "day", "trial_interval_count": 941013, "name": "", "description": "growing opposite tomography telescope quiet why phew", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 96114, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-05-06T00:46:00.044Z", "modified_at": "2023-10-31T12:02:35.613Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 746007, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-03-14T21:13:40.961Z", "modified_at": "2023-12-24T01:29:54.279Z", "type": "meter_credit", "description": "huzzah tomorrow duh yum gray cycle of", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var", "mime_type": "", "size": 746159, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-05-29T22:38:24.131Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-04T11:44:37.534Z", "size_readable": "", "public_url": "https://old-calculus.biz/"}], "organization": {"created_at": "2024-02-09T13:11:33.758Z", "modified_at": "2025-12-02T08:22:49.298Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://definitive-toaster.biz", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2024-01-12T09:39:36.733Z", "modified_at": "2023-09-02T17:20:24.135Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 655254, "meter_id": "", "meter": {"id": "", "name": ""}}], "meters": [{"created_at": "2024-01-02T23:41:03.483Z", "modified_at": "2024-07-07T11:53:07.154Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2024-12-27T05:30:39.834Z", "modified_at": "2024-11-06T16:58:02.245Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-02-04T21:40:45.220Z", "modified_at": "2024-04-15T08:10:49.325Z", "id": "", "applies_at": "2026-11-01T07:42:50.677Z", "product_id": "", "seats": 441605}}], "pagination": {"total_count": 99404, "max_page": 312046}} + application/json: {"items": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2024-09-28T03:20:00.312Z", "id": "", "amount": 31846, "currency": "Pakistan Rupee", "recurring_interval": "month", "recurring_interval_count": 180288, "status": "unpaid", "current_period_start": "2023-11-09T06:12:04.123Z", "current_period_end": "2025-01-25T11:12:42.694Z", "trial_start": "2024-07-18T17:21:46.759Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2023-11-12T13:08:09.571Z", "started_at": "2023-08-04T11:59:00.224Z", "ends_at": "2025-05-27T18:23:00.769Z", "ended_at": "2025-10-28T08:23:28.446Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-01-04T03:39:38.578Z", "modified_at": "2025-05-06T00:46:00.044Z", "trial_interval": "day", "trial_interval_count": 96114, "name": "", "description": "growing opposite tomography telescope quiet why phew", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 1847, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2023-02-04T21:40:45.220Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 944637, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-03-14T21:13:40.961Z", "modified_at": "2023-12-24T01:29:54.279Z", "type": "meter_credit", "description": "huzzah tomorrow duh yum gray cycle of", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var", "mime_type": "", "size": 746159, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-05-29T22:38:24.131Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-04T11:44:37.534Z", "size_readable": "", "public_url": "https://old-calculus.biz/"}], "organization": {"created_at": "2024-02-09T13:11:33.758Z", "modified_at": "2025-12-02T08:22:49.298Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://definitive-toaster.biz", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2024-04-28T23:59:29.324Z", "modified_at": "2023-08-04T11:59:00.224Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": [{"created_at": "2024-01-02T23:41:03.483Z", "modified_at": "2024-07-07T11:53:07.154Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2024-12-27T05:30:39.834Z", "modified_at": "2024-11-06T16:58:02.245Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-02-04T21:40:45.220Z", "modified_at": "2024-04-15T08:10:49.325Z", "id": "", "applies_at": "2026-11-01T07:42:50.677Z", "product_id": "", "seats": 441605}}, {"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2024-09-28T03:20:00.312Z", "id": "", "amount": 31846, "currency": "Pakistan Rupee", "recurring_interval": "month", "recurring_interval_count": 31846, "status": "unpaid", "current_period_start": "2023-11-09T06:12:04.123Z", "current_period_end": "2025-01-25T11:12:42.694Z", "trial_start": "2023-11-09T06:12:04.123Z", "trial_end": "2024-04-28T23:59:29.324Z", "cancel_at_period_end": true, "canceled_at": "2023-11-12T13:08:09.571Z", "started_at": "2023-08-04T11:59:00.224Z", "ends_at": "2025-05-27T18:23:00.769Z", "ended_at": "2025-10-28T08:23:28.446Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-01-04T03:39:38.578Z", "modified_at": "2025-05-06T00:46:00.044Z", "trial_interval": "day", "trial_interval_count": 941013, "name": "", "description": "growing opposite tomography telescope quiet why phew", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 96114, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-05-06T00:46:00.044Z", "modified_at": "2023-10-31T12:02:35.613Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 746007, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-03-14T21:13:40.961Z", "modified_at": "2023-12-24T01:29:54.279Z", "type": "meter_credit", "description": "huzzah tomorrow duh yum gray cycle of", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var", "mime_type": "", "size": 746159, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-05-29T22:38:24.131Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-04T11:44:37.534Z", "size_readable": "", "public_url": "https://old-calculus.biz/"}], "organization": {"created_at": "2024-02-09T13:11:33.758Z", "modified_at": "2025-12-02T08:22:49.298Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://definitive-toaster.biz", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2024-01-12T09:39:36.733Z", "modified_at": "2023-09-02T17:20:24.135Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 655254, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}], "meters": [{"created_at": "2024-01-02T23:41:03.483Z", "modified_at": "2024-07-07T11:53:07.154Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2024-12-27T05:30:39.834Z", "modified_at": "2024-11-06T16:58:02.245Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-02-04T21:40:45.220Z", "modified_at": "2024-04-15T08:10:49.325Z", "id": "", "applies_at": "2026-11-01T07:42:50.677Z", "product_id": "", "seats": 441605}}], "pagination": {"total_count": 99404, "max_page": 312046}} "422": application/json: {} customer_portal:subscriptions:get: @@ -11243,7 +11813,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-07-12T17:28:38.797Z", "modified_at": "2025-06-29T15:49:22.120Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 175847, "status": "incomplete", "current_period_start": "2025-01-28T04:47:39.807Z", "current_period_end": "2024-12-11T03:15:34.736Z", "trial_start": "2025-06-29T15:49:22.120Z", "trial_end": "2024-11-13T19:04:25.284Z", "cancel_at_period_end": true, "canceled_at": "2025-04-27T11:18:42.852Z", "started_at": "2023-09-11T20:47:05.678Z", "ends_at": "2025-08-05T11:04:05.877Z", "ended_at": "2024-01-29T06:39:34.276Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-12-08T10:29:34.380Z", "modified_at": "2023-01-27T20:11:12.304Z", "trial_interval": "day", "trial_interval_count": 647934, "name": "", "description": "rightfully breastplate pretend because", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 162063, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-06-27T14:55:14.822Z", "modified_at": "2024-06-06T10:00:39.244Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}], "organization": {"created_at": "2023-08-25T19:23:01.014Z", "modified_at": "2023-02-14T08:44:05.506Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://broken-breastplate.net", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "prices": [], "meters": [], "pending_update": {"created_at": "2025-11-13T19:04:25.284Z", "modified_at": "2024-04-27T08:36:55.144Z", "id": "", "applies_at": "2026-01-28T04:47:39.807Z", "product_id": "", "seats": 773241}} + application/json: {"created_at": "2023-07-12T17:28:38.797Z", "modified_at": "2025-06-29T15:49:22.120Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 175847, "status": "incomplete", "current_period_start": "2025-01-28T04:47:39.807Z", "current_period_end": "2024-12-11T03:15:34.736Z", "trial_start": "2025-06-29T15:49:22.120Z", "trial_end": "2024-11-13T19:04:25.284Z", "cancel_at_period_end": true, "canceled_at": "2025-04-27T11:18:42.852Z", "started_at": "2023-09-11T20:47:05.678Z", "ends_at": "2025-08-05T11:04:05.877Z", "ended_at": "2024-01-29T06:39:34.276Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-12-08T10:29:34.380Z", "modified_at": "2023-01-27T20:11:12.304Z", "trial_interval": "day", "trial_interval_count": 647934, "name": "", "description": "rightfully breastplate pretend because", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 162063, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-06-27T14:55:14.822Z", "modified_at": "2024-06-06T10:00:39.244Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}], "organization": {"created_at": "2023-08-25T19:23:01.014Z", "modified_at": "2023-02-14T08:44:05.506Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://broken-breastplate.net", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "prices": [], "meters": [], "pending_update": {"created_at": "2025-11-13T19:04:25.284Z", "modified_at": "2024-04-27T08:36:55.144Z", "id": "", "applies_at": "2026-01-28T04:47:39.807Z", "product_id": "", "seats": 773241}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11257,7 +11827,7 @@ examples: application/json: {} responses: "200": - application/json: {"created_at": "2025-02-02T12:28:03.145Z", "modified_at": "2024-05-05T11:52:58.589Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 762480, "status": "incomplete", "current_period_start": "2024-05-02T00:48:47.943Z", "current_period_end": "2025-04-10T15:02:11.907Z", "trial_start": "2025-02-02T12:28:03.145Z", "trial_end": "2025-08-15T14:46:08.118Z", "cancel_at_period_end": true, "canceled_at": "2025-10-25T22:10:52.328Z", "started_at": "2025-02-06T13:35:55.076Z", "ends_at": "2024-03-16T11:27:11.204Z", "ended_at": "2025-11-12T16:20:13.096Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-10-01T04:09:15.514Z", "modified_at": "2023-05-18T04:03:20.458Z", "trial_interval": "day", "trial_interval_count": 444374, "name": "", "description": "after about shy remark blindly gut surge mysteriously", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 447532, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2024-05-05T11:52:58.589Z", "modified_at": "2023-07-27T15:38:08.165Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-02-06T13:35:55.076Z", "modified_at": "2025-11-12T16:20:13.096Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-06-12T13:50:06.969Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 1755, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-02-20T23:17:32.070Z", "modified_at": "2023-05-11T16:03:14.155Z", "type": "custom", "description": "fleck mmm galvanize afore likely nor honesty on pish nightlife", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-02-20T23:17:32.070Z", "modified_at": "2023-05-11T16:03:14.155Z", "type": "custom", "description": "fleck mmm galvanize afore likely nor honesty on pish nightlife", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 418266, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-24T22:10:55.930Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-06-03T15:23:50.070Z", "size_readable": "", "public_url": "https://kaleidoscopic-sermon.biz/"}], "organization": {"created_at": "2024-03-23T04:42:30.563Z", "modified_at": "2024-03-17T13:09:17.987Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://unique-morning.biz", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": true, "update_plan": true}}}}, "prices": [{"created_at": "2025-08-28T18:56:23.778Z", "modified_at": "2024-06-13T05:57:27.540Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 696642, "maximum_amount": 614418, "preset_amount": 411468, "legacy": true}, {"created_at": "2025-03-23T14:23:14.901Z", "modified_at": "2024-08-02T21:04:48.172Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-02-25T13:28:24.284Z", "modified_at": "2025-02-16T03:06:21.333Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 516343, "maximum_amount": 548914, "preset_amount": 899555, "legacy": true}], "meters": [{"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}, {"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}, {"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2026-11-12T16:20:13.096Z", "modified_at": "2026-10-01T04:09:15.514Z", "id": "", "applies_at": "2024-05-17T04:03:20.458Z", "product_id": "", "seats": 75222}} + application/json: {"created_at": "2025-02-02T12:28:03.145Z", "modified_at": "2024-05-05T11:52:58.589Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 762480, "status": "incomplete", "current_period_start": "2024-05-02T00:48:47.943Z", "current_period_end": "2025-04-10T15:02:11.907Z", "trial_start": "2025-02-02T12:28:03.145Z", "trial_end": "2025-08-15T14:46:08.118Z", "cancel_at_period_end": true, "canceled_at": "2025-10-25T22:10:52.328Z", "started_at": "2025-02-06T13:35:55.076Z", "ends_at": "2024-03-16T11:27:11.204Z", "ended_at": "2025-11-12T16:20:13.096Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-10-01T04:09:15.514Z", "modified_at": "2023-05-18T04:03:20.458Z", "trial_interval": "day", "trial_interval_count": 444374, "name": "", "description": "after about shy remark blindly gut surge mysteriously", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 447532, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2024-05-05T11:52:58.589Z", "modified_at": "2023-07-27T15:38:08.165Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-02-06T13:35:55.076Z", "modified_at": "2025-11-12T16:20:13.096Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-06-12T13:50:06.969Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 1755, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-02-20T23:17:32.070Z", "modified_at": "2023-05-11T16:03:14.155Z", "type": "custom", "description": "fleck mmm galvanize afore likely nor honesty on pish nightlife", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2023-02-20T23:17:32.070Z", "modified_at": "2023-05-11T16:03:14.155Z", "type": "custom", "description": "fleck mmm galvanize afore likely nor honesty on pish nightlife", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 418266, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-24T22:10:55.930Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-06-03T15:23:50.070Z", "size_readable": "", "public_url": "https://kaleidoscopic-sermon.biz/"}], "organization": {"created_at": "2024-03-23T04:42:30.563Z", "modified_at": "2024-03-17T13:09:17.987Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://unique-morning.biz", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": true, "update_plan": true}}}}, "prices": [{"created_at": "2025-08-28T18:56:23.778Z", "modified_at": "2024-06-13T05:57:27.540Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 696642, "maximum_amount": 614418, "preset_amount": 411468, "legacy": true}, {"created_at": "2025-03-23T14:23:14.901Z", "modified_at": "2024-08-02T21:04:48.172Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-02-25T13:28:24.284Z", "modified_at": "2025-02-16T03:06:21.333Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 516343, "maximum_amount": 548914, "preset_amount": 899555, "legacy": true}], "meters": [{"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}, {"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}, {"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2026-11-12T16:20:13.096Z", "modified_at": "2026-10-01T04:09:15.514Z", "id": "", "applies_at": "2024-05-17T04:03:20.458Z", "product_id": "", "seats": 75222}} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -11343,7 +11913,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"metadata": {"key": "", "key1": 905508, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}, {"metadata": {"key": "", "key1": true, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}, {"metadata": {"key": "", "key1": false, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}], "pagination": {"total_count": 842980, "max_page": 318438}} + application/json: {"items": [{"metadata": {"key": "", "key1": 905508, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}, {"metadata": {"key": "", "key1": true, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}, {"metadata": {"key": "", "key1": false, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}], "pagination": {"total_count": 842980, "max_page": 318438}} "422": application/json: {} meters:create: @@ -11352,7 +11922,7 @@ examples: application/json: {"name": "", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"} responses: "201": - application/json: {"metadata": {"key": 587595, "key1": 9139.2, "key2": true}, "created_at": "2023-04-27T08:23:56.205Z", "modified_at": "2023-03-02T06:28:43.846Z", "id": "", "name": "", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""} + application/json: {"metadata": {"key": 587595, "key1": 9139.2, "key2": true}, "created_at": "2023-04-27T08:23:56.205Z", "modified_at": "2023-03-02T06:28:43.846Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""} "422": application/json: {} meters:get: @@ -11362,7 +11932,7 @@ examples: id: "" responses: "200": - application/json: {"metadata": {"key": false, "key1": 930825, "key2": 251182}, "created_at": "2025-09-12T02:04:38.839Z", "modified_at": "2025-01-31T04:21:54.744Z", "id": "", "name": "", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "count"}, "organization_id": ""} + application/json: {"metadata": {"key": false, "key1": 930825, "key2": 251182}, "created_at": "2025-09-12T02:04:38.839Z", "modified_at": "2025-01-31T04:21:54.744Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "count"}, "organization_id": ""} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11376,7 +11946,7 @@ examples: application/json: {} responses: "200": - application/json: {"metadata": {"key": 811491}, "created_at": "2023-07-01T03:38:01.112Z", "modified_at": "2025-02-17T01:42:09.108Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""} + application/json: {"metadata": {"key": 811491}, "created_at": "2023-07-01T03:38:01.112Z", "modified_at": "2025-02-17T01:42:09.108Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11407,7 +11977,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2023-09-26T20:59:43.930Z", "modified_at": "2023-02-06T00:18:45.743Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-19T17:27:25.354Z", "modified_at": "2024-02-06T00:18:45.743Z", "metadata": {"key": 9457.77}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {"key": true, "key1": "", "key2": 807797}, "created_at": "2025-04-01T23:31:31.110Z", "modified_at": "2025-02-17T08:31:59.406Z", "id": "", "name": "", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}], "pagination": {"total_count": 340868, "max_page": 210107}} + application/json: {"items": [{"id": "", "created_at": "2023-09-26T20:59:43.930Z", "modified_at": "2023-02-06T00:18:45.743Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-19T17:27:25.354Z", "modified_at": "2024-02-06T00:18:45.743Z", "metadata": {"key": 9457.77}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {"key": true, "key1": "", "key2": 807797}, "created_at": "2025-04-01T23:31:31.110Z", "modified_at": "2025-02-17T08:31:59.406Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}], "pagination": {"total_count": 340868, "max_page": 210107}} "422": application/json: {} customer_meters:get: @@ -11417,7 +11987,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-09-06T08:13:35.629Z", "modified_at": "2023-09-15T16:58:35.937Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-26T12:35:40.613Z", "modified_at": "2024-11-21T12:36:06.043Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-06-13T05:08:01.775Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {"key": 1949.8, "key1": 217399, "key2": 157.29}, "created_at": "2024-09-14T02:49:06.821Z", "modified_at": "2023-05-23T12:25:17.816Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}} + application/json: {"id": "", "created_at": "2024-09-06T08:13:35.629Z", "modified_at": "2023-09-15T16:58:35.937Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-26T12:35:40.613Z", "modified_at": "2024-11-21T12:36:06.043Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-06-13T05:08:01.775Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {"key": 1949.8, "key1": 217399, "key2": 157.29}, "created_at": "2024-09-14T02:49:06.821Z", "modified_at": "2023-05-23T12:25:17.816Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11455,7 +12025,7 @@ examples: application/json: {"billing_address": {"country": "US"}} responses: "200": - application/json: {"id": "", "created_at": "2023-07-07T02:27:33.933Z", "modified_at": "2025-12-06T08:14:38.290Z", "status": "pending", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-05-10T23:50:32.891Z", "modified_at": "2023-02-18T10:28:10.963Z", "metadata": {"key": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-09-27T12:39:54.419Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 364993, "key1": true, "key2": true}, "id": "", "created_at": "2023-04-12T21:30:23.720Z", "modified_at": "2025-07-30T06:39:42.272Z", "trial_interval": "day", "trial_interval_count": 687169, "name": "", "description": "yippee amid wire knowingly an er reproachfully mechanically who gym", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 241006, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 919384, "type": "fixed", "basis_points": 485397, "created_at": "2023-04-20T01:15:36.927Z", "modified_at": "2025-08-12T14:50:46.554Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-06-20T13:39:02.935Z", "ends_at": "2024-06-17T01:44:44.306Z", "max_redemptions": 991144, "redemptions_count": 882356, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": false}, "created_at": "2025-05-14T12:37:49.790Z", "modified_at": "2023-07-19T20:08:36.520Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 170714, "status": "incomplete", "current_period_start": "2025-06-29T04:23:47.957Z", "current_period_end": "2024-06-02T02:08:37.593Z", "trial_start": "2023-01-29T06:32:22.248Z", "trial_end": "2025-01-26T07:02:53.111Z", "cancel_at_period_end": true, "canceled_at": "2024-06-26T07:14:15.241Z", "started_at": "2025-06-03T07:15:00.193Z", "ends_at": "2023-09-17T15:31:40.614Z", "ended_at": "2024-06-15T15:33:26.067Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2023-07-07T02:27:33.933Z", "modified_at": "2025-12-06T08:14:38.290Z", "status": "pending", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-05-10T23:50:32.891Z", "modified_at": "2023-02-18T10:28:10.963Z", "metadata": {"key": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-09-27T12:39:54.419Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 364993, "key1": true, "key2": true}, "id": "", "created_at": "2023-04-12T21:30:23.720Z", "modified_at": "2025-07-30T06:39:42.272Z", "trial_interval": "day", "trial_interval_count": 687169, "name": "", "description": "yippee amid wire knowingly an er reproachfully mechanically who gym", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 241006, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 919384, "type": "fixed", "basis_points": 485397, "created_at": "2023-04-20T01:15:36.927Z", "modified_at": "2025-08-12T14:50:46.554Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-06-20T13:39:02.935Z", "ends_at": "2024-06-17T01:44:44.306Z", "max_redemptions": 991144, "redemptions_count": 882356, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": false}, "created_at": "2025-05-14T12:37:49.790Z", "modified_at": "2023-07-19T20:08:36.520Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 170714, "status": "incomplete", "current_period_start": "2025-06-29T04:23:47.957Z", "current_period_end": "2024-06-02T02:08:37.593Z", "trial_start": "2023-01-29T06:32:22.248Z", "trial_end": "2025-01-26T07:02:53.111Z", "cancel_at_period_end": true, "canceled_at": "2024-06-26T07:14:15.241Z", "started_at": "2025-06-03T07:15:00.193Z", "ends_at": "2023-09-17T15:31:40.614Z", "ended_at": "2024-06-15T15:33:26.067Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11481,7 +12051,7 @@ examples: application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "locale": "en"} responses: "200": - application/json: {"id": "", "created_at": "2025-08-11T13:37:19.351Z", "modified_at": "2025-01-17T16:36:47.350Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://quiet-longboat.name/", "expires_at": "2024-06-26T17:48:32.882Z", "success_url": "https://flawless-conversation.com/", "return_url": "https://winding-pliers.biz", "embed_origin": "", "amount": 854455, "discount_amount": 294901, "net_amount": 889166, "tax_amount": 922052, "total_amount": 719988, "currency": "Rufiyaa", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 682201, "trial_end": "2023-04-12T18:01:42.534Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": null, "allow_discount_codes": false, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": null, "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "required", "state": "disabled", "city": "disabled", "postal_code": "disabled", "line1": "required", "line2": "required"}, "trial_interval": "month", "trial_interval_count": 495203, "metadata": {"key": 175107, "key1": "", "key2": 598875}, "external_customer_id": "", "products": [{"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": null, "trial_interval_count": 186577, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "visibility": "draft", "recurring_interval": null, "recurring_interval_count": 870044, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-30T19:59:27.996Z", "modified_at": "2023-09-30T23:37:22.091Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2024-06-26T17:48:32.882Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, {"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": "day", "trial_interval_count": 294901, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "visibility": "public", "recurring_interval": null, "recurring_interval_count": 682201, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-09-01T12:37:02.777Z", "modified_at": "2025-10-07T13:38:06.522Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 615287, "legacy": true}, {"created_at": "2024-02-21T06:51:40.935Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 391538, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}], "product": {"id": "", "created_at": "2023-09-02T08:09:15.374Z", "modified_at": "2023-01-08T13:18:17.680Z", "trial_interval": "year", "trial_interval_count": 719988, "name": "", "description": null, "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 92838, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, "product_price": {"created_at": "2024-10-30T23:02:02.655Z", "modified_at": "2024-04-28T13:57:59.390Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 922052, "maximum_amount": 579773, "preset_amount": null, "legacy": true}, "prices": {"key": [], "key1": []}, "discount": null, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}], "customer_metadata": {}} + application/json: {"id": "", "created_at": "2025-08-11T13:37:19.351Z", "modified_at": "2025-01-17T16:36:47.350Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://quiet-longboat.name/", "expires_at": "2024-06-26T17:48:32.882Z", "success_url": "https://flawless-conversation.com/", "return_url": "https://winding-pliers.biz", "embed_origin": "", "amount": 854455, "discount_amount": 294901, "net_amount": 889166, "tax_amount": 922052, "tax_behavior": "exclusive", "total_amount": 719988, "currency": "Rufiyaa", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 682201, "trial_end": "2023-04-12T18:01:42.534Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": null, "allow_discount_codes": false, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": null, "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "required", "state": "disabled", "city": "disabled", "postal_code": "disabled", "line1": "required", "line2": "required"}, "trial_interval": "month", "trial_interval_count": 495203, "metadata": {"key": 175107, "key1": "", "key2": 598875}, "external_customer_id": "", "products": [{"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": null, "trial_interval_count": 186577, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "visibility": "draft", "recurring_interval": null, "recurring_interval_count": 870044, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-30T19:59:27.996Z", "modified_at": "2023-09-30T23:37:22.091Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2024-06-26T17:48:32.882Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, {"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": "day", "trial_interval_count": 294901, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "visibility": "public", "recurring_interval": null, "recurring_interval_count": 682201, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-09-01T12:37:02.777Z", "modified_at": "2025-10-07T13:38:06.522Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 615287, "legacy": true}, {"created_at": "2024-02-21T06:51:40.935Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 391538, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}], "product": {"id": "", "created_at": "2023-09-02T08:09:15.374Z", "modified_at": "2023-01-08T13:18:17.680Z", "trial_interval": "year", "trial_interval_count": 719988, "name": "", "description": null, "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 92838, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, "product_price": {"created_at": "2024-10-30T23:02:02.655Z", "modified_at": "2024-04-28T13:57:59.390Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 922052, "maximum_amount": 579773, "preset_amount": null, "legacy": true}, "prices": {"key": [], "key1": []}, "discount": null, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}], "customer_metadata": {}} "403": application/json: {"error": "AlreadyActiveSubscriptionError", "detail": ""} "404": @@ -11497,7 +12067,7 @@ examples: application/json: {"customer_name": "John Doe", "customer_billing_address": null, "locale": "en", "allow_trial": false} responses: "200": - application/json: {"id": "", "created_at": "2024-07-23T03:29:25.334Z", "modified_at": "2023-09-18T08:32:05.837Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://oddball-final.com", "expires_at": "2024-03-02T01:02:20.912Z", "success_url": "https://illiterate-ownership.com/", "return_url": null, "embed_origin": "", "amount": 566134, "discount_amount": 108102, "net_amount": 304494, "tax_amount": 824826, "total_amount": 528924, "currency": "Comoro Franc", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 192380, "trial_end": "2023-10-31T15:08:35.342Z", "organization_id": "", "product_id": "", "product_price_id": null, "discount_id": "", "allow_discount_codes": true, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "required", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-08-18T21:55:12.162Z", "modified_at": "2024-12-17T22:23:13.690Z", "trial_interval": "month", "trial_interval_count": 138062, "name": "", "description": "instead divert indeed oh phrase fisherman bowling but upon airmail", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-30T20:21:38.608Z", "modified_at": "2023-10-31T15:08:35.342Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 330194, "legacy": true}, {"created_at": "2023-08-03T11:06:01.091Z", "modified_at": "2024-11-28T20:27:45.245Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 566134, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}]}], "product": {"id": "", "created_at": "2024-01-05T10:50:28.777Z", "modified_at": "2024-04-21T11:49:06.390Z", "trial_interval": "day", "trial_interval_count": 636727, "name": "", "description": null, "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 192380, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-16T12:17:31.920Z", "modified_at": "2024-08-02T16:48:24.620Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 67913, "maximum_amount": 437805, "preset_amount": 546487, "legacy": true}, {"created_at": "2024-02-08T00:22:42.494Z", "modified_at": "2025-10-13T00:42:35.938Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 317412, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2025-11-28T20:27:45.245Z", "modified_at": "2026-05-10T04:37:44.115Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 528924, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "percentage", "basis_points": 639439, "id": "", "name": "", "code": null}, "organization": {"created_at": "2023-09-07T11:25:07.070Z", "modified_at": "2023-05-12T10:01:16.059Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://mixed-netsuke.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}]} + application/json: {"id": "", "created_at": "2024-07-23T03:29:25.334Z", "modified_at": "2023-09-18T08:32:05.837Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://oddball-final.com", "expires_at": "2024-03-02T01:02:20.912Z", "success_url": "https://illiterate-ownership.com/", "return_url": null, "embed_origin": "", "amount": 566134, "discount_amount": 108102, "net_amount": 304494, "tax_amount": 824826, "tax_behavior": null, "total_amount": 528924, "currency": "Comoro Franc", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 192380, "trial_end": "2023-10-31T15:08:35.342Z", "organization_id": "", "product_id": "", "product_price_id": null, "discount_id": "", "allow_discount_codes": true, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "required", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-08-18T21:55:12.162Z", "modified_at": "2024-12-17T22:23:13.690Z", "trial_interval": "month", "trial_interval_count": 138062, "name": "", "description": "instead divert indeed oh phrase fisherman bowling but upon airmail", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-30T20:21:38.608Z", "modified_at": "2023-10-31T15:08:35.342Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 330194, "legacy": true}, {"created_at": "2023-08-03T11:06:01.091Z", "modified_at": "2024-11-28T20:27:45.245Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 566134, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}]}], "product": {"id": "", "created_at": "2024-01-05T10:50:28.777Z", "modified_at": "2024-04-21T11:49:06.390Z", "trial_interval": "day", "trial_interval_count": 636727, "name": "", "description": null, "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 192380, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-16T12:17:31.920Z", "modified_at": "2024-08-02T16:48:24.620Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 67913, "maximum_amount": 437805, "preset_amount": 546487, "legacy": true}, {"created_at": "2024-02-08T00:22:42.494Z", "modified_at": "2025-10-13T00:42:35.938Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 317412, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2025-11-28T20:27:45.245Z", "modified_at": "2026-05-10T04:37:44.115Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 528924, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "percentage", "basis_points": 639439, "id": "", "name": "", "code": null}, "organization": {"created_at": "2023-09-07T11:25:07.070Z", "modified_at": "2023-05-12T10:01:16.059Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://mixed-netsuke.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}]} "403": application/json: {"error": "AlreadyActiveSubscriptionError", "detail": ""} "404": @@ -11515,7 +12085,7 @@ examples: application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "locale": "en", "allow_trial": false} responses: "200": - application/json: {"id": "", "created_at": "2023-03-02T01:35:00.551Z", "modified_at": "2024-02-06T20:08:33.394Z", "payment_processor": "stripe", "status": "confirmed", "client_secret": "", "url": "https://earnest-mountain.biz/", "expires_at": "2023-05-03T06:41:51.564Z", "success_url": "https://amazing-airmail.biz", "return_url": "https://tinted-fun.com/", "embed_origin": "", "amount": 340812, "discount_amount": 983591, "net_amount": 119432, "tax_amount": 315526, "total_amount": 280139, "currency": "Lek", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 366642, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "required", "city": "disabled", "postal_code": "optional", "line1": "required", "line2": "required"}, "products": [], "product": {"id": "", "created_at": "2023-12-22T07:23:53.362Z", "modified_at": null, "trial_interval": "month", "trial_interval_count": 111568, "name": "", "description": null, "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 54804, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-29T04:50:02.330Z", "modified_at": "2023-01-09T13:54:39.340Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 111568, "maximum_amount": 27642, "preset_amount": null, "legacy": true}, {"created_at": "2024-01-09T12:43:40.308Z", "modified_at": "2023-05-11T21:32:37.055Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 280139, "legacy": true}, {"created_at": "2024-03-30T19:58:01.924Z", "modified_at": "2023-04-26T10:07:32.939Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 304892, "maximum_amount": 308257, "preset_amount": 774216, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-02-20T06:26:56.148Z", "modified_at": "2024-03-08T22:44:58.041Z", "type": "downloadables", "description": "jovially condense sleepy as porter interior forage which", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}]}, "product_price": {"created_at": "2024-05-02T06:41:51.564Z", "modified_at": "2024-01-31T07:06:36.445Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 983591, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "fixed", "amount": 794922, "currency": "Lilangeni", "amounts": {"eur": 900, "usd": 1000}, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2023-03-10T13:26:15.309Z", "modified_at": "2025-01-22T15:08:25.650Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": null, "proration_behavior": "prorate", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}], "customer_session_token": ""} + application/json: {"id": "", "created_at": "2023-03-02T01:35:00.551Z", "modified_at": "2024-02-06T20:08:33.394Z", "payment_processor": "stripe", "status": "confirmed", "client_secret": "", "url": "https://earnest-mountain.biz/", "expires_at": "2023-05-03T06:41:51.564Z", "success_url": "https://amazing-airmail.biz", "return_url": "https://tinted-fun.com/", "embed_origin": "", "amount": 340812, "discount_amount": 983591, "net_amount": 119432, "tax_amount": 315526, "tax_behavior": "inclusive", "total_amount": 280139, "currency": "Lek", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 366642, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "required", "city": "disabled", "postal_code": "optional", "line1": "required", "line2": "required"}, "products": [], "product": {"id": "", "created_at": "2023-12-22T07:23:53.362Z", "modified_at": null, "trial_interval": "month", "trial_interval_count": 111568, "name": "", "description": null, "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 54804, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-29T04:50:02.330Z", "modified_at": "2023-01-09T13:54:39.340Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 111568, "maximum_amount": 27642, "preset_amount": null, "legacy": true}, {"created_at": "2024-01-09T12:43:40.308Z", "modified_at": "2023-05-11T21:32:37.055Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 280139, "legacy": true}, {"created_at": "2024-03-30T19:58:01.924Z", "modified_at": "2023-04-26T10:07:32.939Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 304892, "maximum_amount": 308257, "preset_amount": 774216, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-02-20T06:26:56.148Z", "modified_at": "2024-03-08T22:44:58.041Z", "type": "downloadables", "description": "jovially condense sleepy as porter interior forage which", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}]}, "product_price": {"created_at": "2024-05-02T06:41:51.564Z", "modified_at": "2024-01-31T07:06:36.445Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 983591, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "fixed", "amount": 794922, "currency": "Lilangeni", "amounts": {"eur": 900, "usd": 1000}, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2023-03-10T13:26:15.309Z", "modified_at": "2025-01-22T15:08:25.650Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": null, "proration_behavior": "prorate", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}], "customer_session_token": ""} "400": application/json: {"error": "PaymentError", "detail": ""} "403": @@ -11535,7 +12105,7 @@ examples: application/json: {"billing_address": {"country": "US"}} responses: "200": - application/json: {"id": "", "created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "status": "paid", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "purchase", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2024-02-03T21:16:03.609Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": 947072, "name": "", "description": "gee present next brief till or", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 817410, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 459195, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 245978, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-02T01:31:39.639Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-27T06:51:48.796Z", "size_readable": "", "public_url": "https://monthly-concentration.com"}], "organization": {"created_at": "2024-05-09T04:05:31.223Z", "modified_at": "2025-07-23T21:23:51.247Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://finished-language.org/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "subscription": {"created_at": "2025-08-10T03:04:21.532Z", "modified_at": "2024-08-23T05:41:16.519Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 947072, "status": "incomplete_expired", "current_period_start": "2024-07-27T23:16:23.597Z", "current_period_end": "2025-01-04T16:08:44.590Z", "trial_start": null, "trial_end": "2025-05-04T04:31:46.399Z", "cancel_at_period_end": true, "canceled_at": "2025-03-10T21:35:49.211Z", "started_at": "2023-10-24T00:47:38.683Z", "ends_at": "2024-08-10T21:46:10.059Z", "ended_at": "2023-10-02T07:02:51.789Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "status": "paid", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "purchase", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2024-02-03T21:16:03.609Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": 947072, "name": "", "description": "gee present next brief till or", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 817410, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 459195, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 245978, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-02T01:31:39.639Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-27T06:51:48.796Z", "size_readable": "", "public_url": "https://monthly-concentration.com"}], "organization": {"created_at": "2024-05-09T04:05:31.223Z", "modified_at": "2025-07-23T21:23:51.247Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://finished-language.org/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "subscription": {"created_at": "2025-08-10T03:04:21.532Z", "modified_at": "2024-08-23T05:41:16.519Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 947072, "status": "incomplete_expired", "current_period_start": "2024-07-27T23:16:23.597Z", "current_period_end": "2025-01-04T16:08:44.590Z", "trial_start": null, "trial_end": "2025-05-04T04:31:46.399Z", "cancel_at_period_end": true, "canceled_at": "2025-03-10T21:35:49.211Z", "started_at": "2023-10-24T00:47:38.683Z", "ends_at": "2024-08-10T21:46:10.059Z", "ended_at": "2023-10-02T07:02:51.789Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11730,6 +12300,8 @@ examples: application/json: {"error": "PaymentAlreadyInProgress", "detail": ""} "422": application/json: {"error": "OrderNotEligibleForRetry", "detail": ""} + "429": + application/json: {"error": "ManualRetryLimitExceeded", "detail": ""} benefit-grants:list: speakeasy-default-benefit-grants:list: parameters: @@ -11739,7 +12311,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2024-08-12T11:30:34.106Z", "modified_at": "2024-09-26T02:26:48.405Z", "id": "", "is_granted": true, "is_revoked": true, "subscription_id": "", "order_id": "", "customer_id": "", "benefit_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-08-20T04:26:19.977Z", "modified_at": "2025-04-19T16:34:47.779Z", "metadata": {"key": ""}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-08-23T14:02:07.707Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit": {"id": "", "created_at": "2024-11-24T19:12:31.430Z", "modified_at": "2023-04-29T21:15:24.343Z", "type": "discord", "description": "foot pro completion nor which worthy geez slimy zany", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": true}, "properties": {"guild_id": "", "role_id": "", "kick_member": false, "guild_token": ""}}, "properties": {}}], "pagination": {"total_count": 61031, "max_page": 387885}} + application/json: {"items": [{"created_at": "2024-08-12T11:30:34.106Z", "modified_at": "2024-09-26T02:26:48.405Z", "id": "", "is_granted": true, "is_revoked": true, "subscription_id": "", "order_id": "", "customer_id": "", "benefit_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-08-20T04:26:19.977Z", "modified_at": "2025-04-19T16:34:47.779Z", "metadata": {"key": ""}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-08-23T14:02:07.707Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit": {"id": "", "created_at": "2024-11-24T19:12:31.430Z", "modified_at": "2023-04-29T21:15:24.343Z", "type": "discord", "description": "foot pro completion nor which worthy geez slimy zany", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": true}, "properties": {"guild_id": "", "role_id": "", "kick_member": false, "guild_token": ""}}, "properties": {}}], "pagination": {"total_count": 61031, "max_page": 387885}} "422": application/json: {} customers:export: @@ -11864,7 +12436,7 @@ examples: application/json: {"product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b"} responses: "201": - application/json: {"created_at": "2024-05-07T09:41:55.474Z", "modified_at": "2024-07-21T03:47:24.582Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 261853, "status": "incomplete", "current_period_start": "2025-05-30T22:14:44.546Z", "current_period_end": "2024-03-11T09:56:01.675Z", "trial_start": null, "trial_end": "2024-06-17T00:10:04.156Z", "cancel_at_period_end": true, "canceled_at": "2024-10-16T05:43:54.436Z", "started_at": "2023-08-13T14:15:39.992Z", "ends_at": "2023-02-26T21:36:33.823Z", "ended_at": null, "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-11T11:37:46.426Z", "modified_at": "2023-08-28T20:40:19.067Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-09T04:32:44.403Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-03-12T12:11:55.173Z", "modified_at": "2025-12-06T22:23:14.254Z", "trial_interval": "week", "trial_interval_count": 71746, "name": "", "description": "uneven lest shocked alongside", "visibility": "private", "recurring_interval": null, "recurring_interval_count": 106391, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-08-08T23:08:58.031Z", "modified_at": "2023-08-16T21:10:10.979Z", "type": "downloadables", "description": "consign ick circle", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": ""}, "properties": {"archived": {"key": false, "key1": true, "key2": false}, "files": ["", "", ""]}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-12-25T03:27:59.537Z", "modified_at": "2025-03-22T12:04:54.293Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 335043, "required": true}]}, "discount": {"duration": "repeating", "duration_in_months": 470978, "type": "percentage", "basis_points": 1000, "created_at": "2023-01-02T12:02:59.434Z", "modified_at": "2024-12-18T23:17:27.575Z", "id": "", "metadata": {"key": 583422}, "name": "", "code": "", "starts_at": "2024-06-09T18:09:09.489Z", "ends_at": "2025-04-22T20:10:26.485Z", "max_redemptions": 345910, "redemptions_count": 235299, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-05T18:43:39.547Z", "modified_at": "2023-03-08T07:36:56.095Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 984500, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-07-21T03:47:24.582Z", "modified_at": "2024-10-13T23:47:40.655Z", "id": "", "applies_at": "2024-05-27T02:50:40.456Z", "product_id": "", "seats": 397275}} + application/json: {"created_at": "2024-05-07T09:41:55.474Z", "modified_at": "2024-07-21T03:47:24.582Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 261853, "status": "incomplete", "current_period_start": "2025-05-30T22:14:44.546Z", "current_period_end": "2024-03-11T09:56:01.675Z", "trial_start": null, "trial_end": "2024-06-17T00:10:04.156Z", "cancel_at_period_end": true, "canceled_at": "2024-10-16T05:43:54.436Z", "started_at": "2023-08-13T14:15:39.992Z", "ends_at": "2023-02-26T21:36:33.823Z", "ended_at": null, "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-11T11:37:46.426Z", "modified_at": "2023-08-28T20:40:19.067Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-09T04:32:44.403Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-03-12T12:11:55.173Z", "modified_at": "2025-12-06T22:23:14.254Z", "trial_interval": "week", "trial_interval_count": 71746, "name": "", "description": "uneven lest shocked alongside", "visibility": "private", "recurring_interval": null, "recurring_interval_count": 106391, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-08-08T23:08:58.031Z", "modified_at": "2023-08-16T21:10:10.979Z", "type": "downloadables", "description": "consign ick circle", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": ""}, "properties": {"archived": {"key": false, "key1": true, "key2": false}, "files": ["", "", ""]}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-12-25T03:27:59.537Z", "modified_at": "2025-03-22T12:04:54.293Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 335043, "required": true}]}, "discount": {"duration": "repeating", "duration_in_months": 470978, "type": "percentage", "basis_points": 1000, "created_at": "2023-01-02T12:02:59.434Z", "modified_at": "2024-12-18T23:17:27.575Z", "id": "", "metadata": {"key": 583422}, "name": "", "code": "", "starts_at": "2024-06-09T18:09:09.489Z", "ends_at": "2025-04-22T20:10:26.485Z", "max_redemptions": 345910, "redemptions_count": 235299, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-05T18:43:39.547Z", "modified_at": "2023-03-08T07:36:56.095Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 984500, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-07-21T03:47:24.582Z", "modified_at": "2024-10-13T23:47:40.655Z", "id": "", "applies_at": "2024-05-27T02:50:40.456Z", "product_id": "", "seats": 397275}} "422": application/json: {} orders:export: @@ -12036,7 +12608,7 @@ examples: members:create_member: speakeasy-default-members:create-member: requestBody: - application/json: {"customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337"} + application/json: {"customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"} responses: "201": application/json: {"id": "", "created_at": "2024-02-05T01:05:59.075Z", "modified_at": "2025-04-04T21:38:58.207Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"} @@ -12249,9 +12821,165 @@ examples: application/json: {"created_at": "2024-01-03T20:53:28.521Z", "modified_at": null, "id": "", "name": "", "metrics": [], "organization_id": ""} "422": application/json: {} + orders:create: + speakeasy-default-orders:create: + requestBody: + application/json: {"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "customer_id": "", "product_id": ""} + responses: + "201": + application/json: {"id": "", "created_at": "2026-07-18T17:44:54.628Z", "modified_at": null, "status": "void", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "purchase", "billing_name": null, "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": null, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-11-29T03:34:26.239Z", "modified_at": "2024-07-12T06:58:01.957Z", "metadata": {"key": 3792.25}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": ""}, "id": "", "created_at": "2026-01-15T20:09:02.162Z", "modified_at": "2024-08-30T12:54:42.214Z", "trial_interval": "year", "trial_interval_count": 699089, "name": "", "description": "resolve pish aha catch", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "forever", "duration_in_months": 656996, "type": "percentage", "amount": 1000, "currency": "usd", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2025-04-17T06:39:47.276Z", "modified_at": "2025-11-02T14:27:57.549Z", "id": "", "metadata": {"key": false}, "name": "", "code": "", "starts_at": "2026-03-17T06:05:44.637Z", "ends_at": null, "max_redemptions": 414158, "redemptions_count": 749098, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2026-04-25T21:43:56.917Z", "modified_at": "2026-06-17T03:54:09.889Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 403525, "status": "unpaid", "current_period_start": "2024-03-21T21:52:16.023Z", "current_period_end": "2026-09-21T14:02:23.888Z", "trial_start": "2025-08-11T16:40:47.152Z", "trial_end": "2025-01-06T10:28:40.440Z", "cancel_at_period_end": true, "canceled_at": "2026-12-27T03:53:58.178Z", "started_at": "2024-07-03T14:46:34.620Z", "ends_at": null, "ended_at": "2024-10-29T12:03:40.812Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} + "422": + application/json: {} + orders:finalize: + speakeasy-default-orders:finalize: + parameters: + path: + id: "" + responses: + "200": + application/json: {"id": "", "created_at": "2025-05-24T20:30:52.486Z", "modified_at": "2026-03-14T23:42:09.699Z", "status": "refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_create", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-03-25T22:40:42.220Z", "modified_at": "2024-03-29T16:00:03.359Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-12-31T05:13:06.739Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 62319}, "id": "", "created_at": "2025-03-11T02:25:51.106Z", "modified_at": "2026-08-31T21:34:30.185Z", "trial_interval": null, "trial_interval_count": 996232, "name": "", "description": "outfox pish as triumphantly what supposing hence frightfully", "visibility": "public", "recurring_interval": "day", "recurring_interval_count": 783393, "is_recurring": false, "is_archived": false, "organization_id": ""}, "discount": {"duration": "forever", "type": "fixed", "basis_points": 1000, "created_at": "2024-01-23T22:12:50.534Z", "modified_at": null, "id": "", "metadata": {"key": true}, "name": "", "code": "", "starts_at": "2025-10-27T16:08:34.656Z", "ends_at": "2024-07-04T05:28:05.146Z", "max_redemptions": null, "redemptions_count": 848910, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": null, "items": [], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} + "402": + application/json: {"error": "PaymentFailed", "detail": ""} + "403": + application/json: {"error": "OrganizationNotReadyForPayments", "detail": ""} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "412": + application/json: {"error": "OrderNotDraft", "detail": ""} + "422": + application/json: {} + orders:receipt: + speakeasy-default-orders:receipt: + parameters: + path: + id: "" + responses: + "200": + application/json: {"url": "https://firm-newsprint.org"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + metrics:export: + speakeasy-default-metrics:export: + parameters: + query: + start_date: "2026-07-17" + end_date: "2024-05-06" + timezone: "UTC" + interval: "year" + organization_id: "1dbfc517-0bbf-4301-9ba8-555ca42b9737" + responses: + "200": + application/json: "" + text/csv: "" + "422": + application/json: {} + customers:list_payment_methods: + speakeasy-default-customers:list-payment-methods: + parameters: + path: + id: "" + query: + page: 1 + limit: 10 + responses: + "200": + application/json: {"items": [], "pagination": {"total_count": 517187, "max_page": 568637}} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + customers:list_payment_methods_external: + speakeasy-default-customers:list-payment-methods-external: + parameters: + path: + external_id: "" + query: + page: 1 + limit: 10 + responses: + "200": + application/json: {"items": [], "pagination": {"total_count": 11891, "max_page": 59510}} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + members:get_member_by_external_id: + speakeasy-default-members:get-member-by-external-id: + parameters: + path: + external_id: "" + responses: + "200": + application/json: {"id": "", "created_at": "2024-09-03T08:09:45.891Z", "modified_at": "2026-09-26T16:55:42.828Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "owner"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + members:delete_member_by_external_id: + speakeasy-default-members:delete-member-by-external-id: + parameters: + path: + external_id: "" + responses: + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + members:update_member_by_external_id: + speakeasy-default-members:update-member-by-external-id: + parameters: + path: + external_id: "" + requestBody: + application/json: {"name": "Jane Doe"} + responses: + "200": + application/json: {"id": "", "created_at": "2025-06-19T05:29:06.843Z", "modified_at": "2026-11-03T19:02:50.647Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + customer_portal:customers:request_email_update: + speakeasy-default-customer-portal:customers:request-email-update: + requestBody: + application/json: {"email": "Tommie_Larkin78@gmail.com"} + responses: + "202": + application/json: "" + "422": + application/json: {} + customer_portal:customers:check_email_update: + speakeasy-default-customer-portal:customers:check-email-update: + parameters: + query: + token: "" + responses: + "422": + application/json: {} + customer_portal:customers:verify_email_update: + speakeasy-default-customer-portal:customers:verify-email-update: + requestBody: + application/json: {"token": ""} + responses: + "200": + application/json: {"token": ""} + customer_portal:orders:receipt: + speakeasy-default-customer-portal:orders:receipt: + parameters: + path: + id: "" + responses: + "200": + application/json: {"url": "https://winding-jet.info"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Php SDK Changes:\n* `polar->customers->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->benefit-grants->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->customer_meters->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->customer_meters->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->organization_access_tokens->update()`: \n * `request.organizationAccessTokenUpdate->scopes[]->enum(metrics:write)` **Added**\n * `response.scopes[]->enum(metrics:write)` **Added** (Breaking ⚠️)\n* `polar->subscriptions->list()`: \n * `request` **Changed**\n * `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->create()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->revoke()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->update()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->oauth2->authorize()`: `response.union(user)->scopes[]->enum(metrics:write)` **Added** (Breaking ⚠️)\n* `polar->benefits->grants()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->customers->create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n* `polar->orders->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->orders->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->orders->update()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->update()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->getActivation()`: `response.licenseKey->customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->validate()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->activate()`: `response.licenseKey->customer` **Changed** (Breaking ⚠️)\n* `polar->organization_access_tokens->create()`: \n * `request->scopes[]->enum(metrics:write)` **Added**\n * `response.organizationAccessToken->scopes[]->enum(metrics:write)` **Added** (Breaking ⚠️)\n* `polar->organization_access_tokens->list()`: `response.items[]->scopes[]->enum(metrics:write)` **Added** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->get()`: `response.union(CustomerBenefitGrantMeterCredit)->customer->email` **Changed** (Breaking ⚠️)\n* `polar->customers->update()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->getExternal()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->updateExternal()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->getState()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->getStateExternal()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->list()`: `response.items[]->union(CustomerBenefitGrantCustom)->customer->email` **Changed** (Breaking ⚠️)\n* `polar->customers->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->update()`: `response.union(CustomerBenefitGrantFeatureFlag)->customer->email` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->customers->get()`: `response.email` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->customers->update()`: `response.email` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->validate()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->activate()`: `response.licenseKey->customer` **Changed** (Breaking ⚠️)\n* `polar->customer-sessions->create()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->events->list()`: `response.union(ListResource_Event_)->items[]->union(SystemEvent)` **Changed** (Breaking ⚠️)\n* `polar->events->get()`: `response.union(SystemEvent)` **Changed** (Breaking ⚠️)\n* `polar->metrics->listDashboards()`: **Added**\n* `polar->metrics->createDashboard()`: **Added**\n* `polar->metrics->updateDashboard()`: **Added**\n* `polar->metrics->deleteDashboard()`: **Added**\n* `polar->metrics->getDashboard()`: **Added**\n" +releaseNotes: "## Php SDK Changes:\n* `polar->orders->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->organizations->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->organizations->update()`: \n * `request.organizationUpdate` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n* `polar->oauth2->authorize()`: `response.union(user)->scopes[]` **Changed** (Breaking ⚠️)\n* `polar->orders->list()`: \n * `request->subscriptionId` **Added**\n * `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->organization_access_tokens->update()`: `response.scopes[]` **Changed** (Breaking ⚠️)\n* `polar->organization_access_tokens->create()`: `response.organizationAccessToken->scopes[]` **Changed** (Breaking ⚠️)\n* `polar->organization_access_tokens->list()`: `response.items[]->scopes[]` **Changed** (Breaking ⚠️)\n* `polar->event-types->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->events->get()`: `response.union(SystemEvent)` **Changed** (Breaking ⚠️)\n* `polar->events->list()`: `response.union(ListResource_Event_)->items[]->union(SystemEvent)` **Changed** (Breaking ⚠️)\n* `polar->customer-seats->assignSeat()`: \n * `request->checkoutId` **Removed** (Breaking ⚠️)\n* `polar->customer_portal->subscriptions->update()`: \n * `request.customerSubscriptionUpdate` **Changed**\n * `response.product` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->subscriptions->cancel()`: `response.product` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->subscriptions->get()`: `response.product` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->subscriptions->list()`: `response.items[]->product` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->organizations->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->orders->update()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->orders->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->orders->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->seats->listClaimedSubscriptions()`: `response.items[]->product` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->update()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->members->createMember()`: \n * `request->role` **Changed** (Breaking ⚠️)\n* `polar->discounts->create()`: `request` **Changed** (Breaking ⚠️)\n* `polar->organizations->create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n* `polar->license_keys->list()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.items[]->customer->defaultPaymentMethodId` **Added**\n* `polar->checkouts->clientConfirm()`: `response` **Changed** (Breaking ⚠️)\n* `polar->checkouts->clientUpdate()`: `response` **Changed** (Breaking ⚠️)\n* `polar->checkouts->clientGet()`: `response` **Changed** (Breaking ⚠️)\n* `polar->orders->update()`: `response` **Changed** (Breaking ⚠️)\n* `polar->license_keys->validate()`: `response.customer->defaultPaymentMethodId` **Added**\n* `polar->subscriptions->revoke()`: `response` **Changed**\n* `polar->products->update()`: \n * `request.productUpdate->prices[]->union(2)->union(fixed)->priceCurrency` **Changed**\n * `response` **Changed**\n* `polar->products->create()`: \n * `request->union(ProductCreateOneTime)->prices[]->union(seat_based)->priceCurrency` **Changed**\n * `response` **Changed**\n* `polar->products->list()`: `response.items[]` **Changed**\n* `polar->products->updateBenefits()`: `response` **Changed**\n* `polar->checkouts->list()`: `response.items[]` **Changed**\n* `polar->checkouts->create()`: \n * `request->currency` **Changed**\n * `response` **Changed**\n* `polar->checkouts->get()`: `response` **Changed**\n* `polar->checkouts->update()`: \n * `request.checkoutUpdate->currency` **Changed**\n * `response` **Changed**\n* `polar->benefit-grants->list()`: `response.items[]` **Changed**\n* `polar->benefits->grants()`: `response.items[]` **Changed**\n* `polar->benefits->update()`: `response` **Changed**\n* `polar->metrics->get()`: `response` **Changed**\n* `polar->benefits->get()`: `response` **Changed**\n* `polar->license_keys->get()`: `response.customer->defaultPaymentMethodId` **Added**\n* `polar->license_keys->update()`: `response.customer->defaultPaymentMethodId` **Added**\n* `polar->license_keys->getActivation()`: `response.licenseKey->customer->defaultPaymentMethodId` **Added**\n* `polar->benefits->create()`: `response` **Changed**\n* `polar->license_keys->activate()`: `response.licenseKey->customer->defaultPaymentMethodId` **Added**\n* `polar->checkout-links->list()`: `response.items[]->products[]` **Changed**\n* `polar->checkout-links->create()`: `response.products[]` **Changed**\n* `polar->checkout-links->get()`: `response.products[]` **Changed**\n* `polar->checkout-links->update()`: `response.products[]` **Changed**\n* `polar->benefits->list()`: `response.items[]` **Changed**\n* `polar->discounts->update()`: \n * `request.discountUpdate->currency` **Changed**\n* `polar->customers->list()`: \n * `request->active` **Added**\n * `response.items[]` **Changed**\n* `polar->customers->create()`: `response` **Changed**\n* `polar->customers->get()`: `response` **Changed**\n* `polar->customers->update()`: `response` **Changed**\n* `polar->customers->getExternal()`: `response` **Changed**\n* `polar->customers->updateExternal()`: `response` **Changed**\n* `polar->customers->getState()`: `response` **Changed**\n* `polar->customers->getStateExternal()`: `response` **Changed**\n* `polar->subscriptions->update()`: \n * `request.subscriptionUpdate` **Changed**\n * `response` **Changed**\n* `polar->products->get()`: `response` **Changed**\n* `polar->subscriptions->get()`: `response` **Changed**\n* `polar->subscriptions->create()`: `response` **Changed**\n* `polar->customer_portal->customers->update()`: \n * `request->defaultPaymentMethodId` **Added**\n* `polar->customer_portal->customers->addPaymentMethod()`: `error.status[400]` **Added**\n* `polar->subscriptions->list()`: `response.items[]` **Changed**\n* `polar->customer_portal->licenseKeys->list()`: `response.items[]->customer->defaultPaymentMethodId` **Added**\n* `polar->customer_portal->licenseKeys->get()`: `response.customer->defaultPaymentMethodId` **Added**\n* `polar->customer_portal->licenseKeys->validate()`: `response.customer->defaultPaymentMethodId` **Added**\n* `polar->customer_portal->licenseKeys->activate()`: `response.licenseKey->customer->defaultPaymentMethodId` **Added**\n* `polar->organizations->list()`: **Removed** (Breaking ⚠️)\n* `polar->customer_portal->orders->receipt()`: **Added**\n* `polar->customer_portal->customers->verifyEmailUpdate()`: **Added**\n* `polar->customer_portal->orders->confirmRetryPayment()`: `error.status[429]` **Added**\n* `polar->customer_portal->customers->checkEmailUpdate()`: **Added**\n* `polar->customer_portal->customers->requestEmailUpdate()`: **Added**\n* `polar->members->updateMemberByExternalId()`: **Added**\n* `polar->members->deleteMemberByExternalId()`: **Added**\n* `polar->members->getMemberByExternalId()`: **Added**\n* `polar->customers->listPaymentMethodsExternal()`: **Added**\n* `polar->customer-sessions->create()`: `response.customer` **Changed**\n* `polar->customers->listPaymentMethods()`: **Added**\n* `polar->metrics->export()`: **Added**\n* `polar->orders->receipt()`: **Added**\n* `polar->meters->list()`: `response.items[]` **Changed**\n* `polar->meters->create()`: \n * `request` **Changed**\n * `response` **Changed**\n* `polar->meters->get()`: `response` **Changed**\n* `polar->meters->update()`: \n * `request.meterUpdate` **Changed**\n * `response` **Changed**\n* `polar->orders->finalize()`: **Added**\n* `polar->orders->create()`: **Added**\n* `polar->organizations->listOrganizations()`: **Added**\n* `polar->customer_meters->list()`: `response.items[]` **Changed**\n* `polar->customer_meters->get()`: `response` **Changed**\n* `polar->payments->list()`: \n * `request->customerId` **Added**\n" generatedFiles: - .gitattributes - USAGE.md diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 6829a3fb..39630fec 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false php: - version: 0.10.0 + version: 0.10.1 additionalDependencies: autoload: {} autoload-dev: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 51506807..7655b7cb 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.761.1 +speakeasyVersion: 1.770.0 sources: Polar-OAS: sourceNamespace: polar-oas - sourceRevisionDigest: sha256:e4cf14ef1457c450131e2b13ae08708a300d8b30c87c64a913a02d02e2bf2e99 - sourceBlobDigest: sha256:d5e55f4c7f96616a3eb731e9d7ba473485b86b6ef897b2fd5cacff504a1b21e9 + sourceRevisionDigest: sha256:c459336f61718785bf64ddb0b26fc3bdc5bcebd1b5d7c313db082765a4b70c23 + sourceBlobDigest: sha256:f606088a9761a28c5a2597a3be6ab6a0318b79d807ebc5f483dfd42e468b0a54 tags: - latest - 0.1.0 @@ -11,10 +11,10 @@ targets: polar: source: Polar-OAS sourceNamespace: polar-oas - sourceRevisionDigest: sha256:e4cf14ef1457c450131e2b13ae08708a300d8b30c87c64a913a02d02e2bf2e99 - sourceBlobDigest: sha256:d5e55f4c7f96616a3eb731e9d7ba473485b86b6ef897b2fd5cacff504a1b21e9 + sourceRevisionDigest: sha256:c459336f61718785bf64ddb0b26fc3bdc5bcebd1b5d7c313db082765a4b70c23 + sourceBlobDigest: sha256:f606088a9761a28c5a2597a3be6ab6a0318b79d807ebc5f483dfd42e468b0a54 codeSamplesNamespace: polar-api-php-code-samples - codeSamplesRevisionDigest: sha256:ca15dae2fae6dadceb36cf8f956d8f2a659edd38fd656faee4cba6b4389e6ddf + codeSamplesRevisionDigest: sha256:4118ee81a17a566cfc352a1fdca29bc4c047fd8d11fdb6a100264502438f29d1 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 248c3658..063d8fc0 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -112,7 +112,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -232,6 +232,9 @@ foreach ($responses as $response) { * [addPaymentMethod](docs/sdks/polarcustomers/README.md#addpaymentmethod) - Add Customer Payment Method * [confirmPaymentMethod](docs/sdks/polarcustomers/README.md#confirmpaymentmethod) - Confirm Customer Payment Method * [deletePaymentMethod](docs/sdks/polarcustomers/README.md#deletepaymentmethod) - Delete Customer Payment Method +* [requestEmailUpdate](docs/sdks/polarcustomers/README.md#requestemailupdate) - Request Email Change +* [checkEmailUpdate](docs/sdks/polarcustomers/README.md#checkemailupdate) - Check Email Change Token +* [verifyEmailUpdate](docs/sdks/polarcustomers/README.md#verifyemailupdate) - Verify Email Change ### [CustomerPortal.Downloadables](docs/sdks/downloadables/README.md) @@ -259,6 +262,7 @@ foreach ($responses as $response) { * [update](docs/sdks/polarorders/README.md#update) - Update Order * [invoice](docs/sdks/polarorders/README.md#invoice) - Get Order Invoice * [generateInvoice](docs/sdks/polarorders/README.md#generateinvoice) - Generate Order Invoice +* [receipt](docs/sdks/polarorders/README.md#receipt) - Get Order Receipt * [getPaymentStatus](docs/sdks/polarorders/README.md#getpaymentstatus) - Get Order Payment Status * [confirmRetryPayment](docs/sdks/polarorders/README.md#confirmretrypayment) - Confirm Retry Payment @@ -312,6 +316,8 @@ foreach ($responses as $response) { * [updateExternal](docs/sdks/customers/README.md#updateexternal) - Update Customer by External ID * [getState](docs/sdks/customers/README.md#getstate) - Get Customer State * [getStateExternal](docs/sdks/customers/README.md#getstateexternal) - Get Customer State by External ID +* [listPaymentMethods](docs/sdks/customers/README.md#listpaymentmethods) - List Customer Payment Methods +* [listPaymentMethodsExternal](docs/sdks/customers/README.md#listpaymentmethodsexternal) - List Customer Payment Methods by External ID ### [Discounts](docs/sdks/discounts/README.md) @@ -363,6 +369,9 @@ foreach ($responses as $response) { * [getMember](docs/sdks/members/README.md#getmember) - Get Member * [deleteMember](docs/sdks/members/README.md#deletemember) - Delete Member * [updateMember](docs/sdks/members/README.md#updatemember) - Update Member +* [getMemberByExternalId](docs/sdks/members/README.md#getmemberbyexternalid) - Get Member by External ID +* [deleteMemberByExternalId](docs/sdks/members/README.md#deletememberbyexternalid) - Delete Member by External ID +* [updateMemberByExternalId](docs/sdks/members/README.md#updatememberbyexternalid) - Update Member by External ID ### [Meters](docs/sdks/meters/README.md) @@ -375,6 +384,7 @@ foreach ($responses as $response) { ### [Metrics](docs/sdks/metrics/README.md) * [get](docs/sdks/metrics/README.md#get) - Get Metrics +* [export](docs/sdks/metrics/README.md#export) - Export Metrics * [limits](docs/sdks/metrics/README.md#limits) - Get Metrics Limits * [listDashboards](docs/sdks/metrics/README.md#listdashboards) - List Metric Dashboards * [createDashboard](docs/sdks/metrics/README.md#createdashboard) - Create Metric Dashboard @@ -400,11 +410,14 @@ foreach ($responses as $response) { ### [Orders](docs/sdks/orders/README.md) * [list](docs/sdks/orders/README.md#list) - List Orders +* [create](docs/sdks/orders/README.md#create) - Create Order * [export](docs/sdks/orders/README.md#export) - Export Orders * [get](docs/sdks/orders/README.md#get) - Get Order * [update](docs/sdks/orders/README.md#update) - Update Order +* [finalize](docs/sdks/orders/README.md#finalize) - Finalize Order * [invoice](docs/sdks/orders/README.md#invoice) - Get Order Invoice * [generateInvoice](docs/sdks/orders/README.md#generateinvoice) - Generate Order Invoice +* [receipt](docs/sdks/orders/README.md#receipt) - Get Order Receipt ### [OrganizationAccessTokens](docs/sdks/organizationaccesstokens/README.md) @@ -415,7 +428,7 @@ foreach ($responses as $response) { ### [Organizations](docs/sdks/organizations/README.md) -* [list](docs/sdks/organizations/README.md#list) - List Organizations +* [listOrganizations](docs/sdks/organizations/README.md#listorganizations) - List Organizations * [create](docs/sdks/organizations/README.md#create) - Create Organization * [get](docs/sdks/organizations/README.md#get) - Get Organization * [update](docs/sdks/organizations/README.md#update) - Update Organization @@ -483,7 +496,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -512,7 +525,7 @@ By default an API error will raise a `Errors\APIException` exception, which has | `$rawResponse` | *?\Psr\Http\Message\ResponseInterface* | The raw HTTP response | | `$body` | *string* | The response content | -When custom error responses are specified for an operation, the SDK may also throw their associated exception. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `list` method throws the following exceptions: +When custom error responses are specified for an operation, the SDK may also throw their associated exception. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `listOrganizations` method throws the following exceptions: | Error Type | Status Code | Content Type | | -------------------------- | ----------- | ---------------- | @@ -536,7 +549,7 @@ $sdk = Polar\Polar::builder() ->build(); try { - $responses = $sdk->organizations->list( + $responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -587,7 +600,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -620,7 +633,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 diff --git a/RELEASES.md b/RELEASES.md index 94d94ab9..1d894a60 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -428,4 +428,14 @@ Based on: ### Generated - [php v0.10.0] . ### Releases -- [Composer v0.10.0] https://packagist.org/packages/polar-sh/sdk#v0.10.0 - . \ No newline at end of file +- [Composer v0.10.0] https://packagist.org/packages/polar-sh/sdk#v0.10.0 - . + +## 2026-06-05 00:51:01 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.770.0 (2.893.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [php v0.10.1] . +### Releases +- [Composer v0.10.1] https://packagist.org/packages/polar-sh/sdk#v0.10.1 - . \ No newline at end of file diff --git a/USAGE.md b/USAGE.md index 5e8264b9..f2939364 100644 --- a/USAGE.md +++ b/USAGE.md @@ -14,7 +14,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 diff --git a/composer.json b/composer.json index d5b75f4f..940ea46d 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "require-dev": { "laravel/pint": "1.29.0", "phpstan/phpstan": "2.1.44", - "phpunit/phpunit": ">=10", + "phpunit/phpunit": "^11.5.50 || ^12.5.8 || >=13.0.0", "roave/security-advisories": "dev-latest", "orchestra/testbench": ">=9.6" }, diff --git a/docs/Models/Components/AnnualRecurringRevenue.md b/docs/Models/Components/AnnualRecurringRevenue.md new file mode 100644 index 00000000..b557ac00 --- /dev/null +++ b/docs/Models/Components/AnnualRecurringRevenue.md @@ -0,0 +1,23 @@ +# AnnualRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/AverageSeatsPerCustomer.md b/docs/Models/Components/AverageSeatsPerCustomer.md new file mode 100644 index 00000000..a42a709d --- /dev/null +++ b/docs/Models/Components/AverageSeatsPerCustomer.md @@ -0,0 +1,23 @@ +# AverageSeatsPerCustomer + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/BalanceCreditOrderMetadata.md b/docs/Models/Components/BalanceCreditOrderMetadata.md index ec8cf5b1..fce3c128 100644 --- a/docs/Models/Components/BalanceCreditOrderMetadata.md +++ b/docs/Models/Components/BalanceCreditOrderMetadata.md @@ -13,4 +13,5 @@ | `taxAmount` | *int* | :heavy_check_mark: | N/A | | `taxState` | *?string* | :heavy_minus_sign: | N/A | | `taxCountry` | *?string* | :heavy_minus_sign: | N/A | -| `fee` | *int* | :heavy_check_mark: | N/A | \ No newline at end of file +| `fee` | *int* | :heavy_check_mark: | N/A | +| `exchangeRate` | *?float* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitCustom.md b/docs/Models/Components/BenefitCustom.md index 100eb7ba..853e00c2 100644 --- a/docs/Models/Components/BenefitCustom.md +++ b/docs/Models/Components/BenefitCustom.md @@ -16,6 +16,7 @@ Use it to grant any kind of benefit that doesn't fit in the other types. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitCustomProperties](../../Models/Components/BenefitCustomProperties.md) | :heavy_check_mark: | Properties for a benefit of type `custom`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitCustomSubscriber.md b/docs/Models/Components/BenefitCustomSubscriber.md index 52c78ee8..c74ca5aa 100644 --- a/docs/Models/Components/BenefitCustomSubscriber.md +++ b/docs/Models/Components/BenefitCustomSubscriber.md @@ -12,6 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | diff --git a/docs/Models/Components/BenefitDiscord.md b/docs/Models/Components/BenefitDiscord.md index a926033f..95618ae3 100644 --- a/docs/Models/Components/BenefitDiscord.md +++ b/docs/Models/Components/BenefitDiscord.md @@ -16,6 +16,7 @@ Use it to automatically invite your backers to a Discord server. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitDiscordProperties](../../Models/Components/BenefitDiscordProperties.md) | :heavy_check_mark: | Properties for a benefit of type `discord`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitDiscordSubscriber.md b/docs/Models/Components/BenefitDiscordSubscriber.md index bcb7c585..470f2a8a 100644 --- a/docs/Models/Components/BenefitDiscordSubscriber.md +++ b/docs/Models/Components/BenefitDiscordSubscriber.md @@ -12,6 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | diff --git a/docs/Models/Components/BenefitDownloadables.md b/docs/Models/Components/BenefitDownloadables.md index 7533ea9c..1435e105 100644 --- a/docs/Models/Components/BenefitDownloadables.md +++ b/docs/Models/Components/BenefitDownloadables.md @@ -12,6 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitDownloadablesProperties](../../Models/Components/BenefitDownloadablesProperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitDownloadablesSubscriber.md b/docs/Models/Components/BenefitDownloadablesSubscriber.md index 7f30ec2f..771f7e36 100644 --- a/docs/Models/Components/BenefitDownloadablesSubscriber.md +++ b/docs/Models/Components/BenefitDownloadablesSubscriber.md @@ -12,6 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | diff --git a/docs/Models/Components/BenefitFeatureFlag.md b/docs/Models/Components/BenefitFeatureFlag.md index 59841582..4af97725 100644 --- a/docs/Models/Components/BenefitFeatureFlag.md +++ b/docs/Models/Components/BenefitFeatureFlag.md @@ -17,6 +17,7 @@ that can be queried via the API and webhooks. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitFeatureFlagProperties](../../Models/Components/BenefitFeatureFlagProperties.md) | :heavy_check_mark: | Properties for a benefit of type `feature_flag`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitFeatureFlagSubscriber.md b/docs/Models/Components/BenefitFeatureFlagSubscriber.md index ed8c8cbd..61ed46bf 100644 --- a/docs/Models/Components/BenefitFeatureFlagSubscriber.md +++ b/docs/Models/Components/BenefitFeatureFlagSubscriber.md @@ -12,6 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | diff --git a/docs/Models/Components/BenefitGitHubRepository.md b/docs/Models/Components/BenefitGitHubRepository.md index ea6a9f93..c039ee6f 100644 --- a/docs/Models/Components/BenefitGitHubRepository.md +++ b/docs/Models/Components/BenefitGitHubRepository.md @@ -16,6 +16,7 @@ Use it to automatically invite your backers to a private GitHub repository. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitGitHubRepositoryProperties](../../Models/Components/BenefitGitHubRepositoryProperties.md) | :heavy_check_mark: | Properties for a benefit of type `github_repository`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitGitHubRepositorySubscriber.md b/docs/Models/Components/BenefitGitHubRepositorySubscriber.md index f3662dd6..97638b91 100644 --- a/docs/Models/Components/BenefitGitHubRepositorySubscriber.md +++ b/docs/Models/Components/BenefitGitHubRepositorySubscriber.md @@ -12,6 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | diff --git a/docs/Models/Components/BenefitLicenseKeys.md b/docs/Models/Components/BenefitLicenseKeys.md index ef448939..09bb0d6a 100644 --- a/docs/Models/Components/BenefitLicenseKeys.md +++ b/docs/Models/Components/BenefitLicenseKeys.md @@ -12,6 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitLicenseKeysProperties](../../Models/Components/BenefitLicenseKeysProperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitLicenseKeysSubscriber.md b/docs/Models/Components/BenefitLicenseKeysSubscriber.md index 2647a490..af515586 100644 --- a/docs/Models/Components/BenefitLicenseKeysSubscriber.md +++ b/docs/Models/Components/BenefitLicenseKeysSubscriber.md @@ -12,6 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | diff --git a/docs/Models/Components/BenefitMeterCredit.md b/docs/Models/Components/BenefitMeterCredit.md index 424c8f65..33052d31 100644 --- a/docs/Models/Components/BenefitMeterCredit.md +++ b/docs/Models/Components/BenefitMeterCredit.md @@ -16,6 +16,7 @@ Use it to grant a number of units on a specific meter. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitMeterCreditProperties](../../Models/Components/BenefitMeterCreditProperties.md) | :heavy_check_mark: | Properties for a benefit of type `meter_unit`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitMeterCreditSubscriber.md b/docs/Models/Components/BenefitMeterCreditSubscriber.md index 50013c03..bd631d4a 100644 --- a/docs/Models/Components/BenefitMeterCreditSubscriber.md +++ b/docs/Models/Components/BenefitMeterCreditSubscriber.md @@ -12,6 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | diff --git a/docs/Models/Components/BenefitPublic.md b/docs/Models/Components/BenefitPublic.md index 06ef5997..5267830b 100644 --- a/docs/Models/Components/BenefitPublic.md +++ b/docs/Models/Components/BenefitPublic.md @@ -12,4 +12,5 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | \ No newline at end of file diff --git a/docs/Models/Components/Checkout.md b/docs/Models/Components/Checkout.md index 7650fb92..3454feed 100644 --- a/docs/Models/Components/Checkout.md +++ b/docs/Models/Components/Checkout.md @@ -26,6 +26,7 @@ Checkout session data retrieved using an access token. | `discountAmount` | *int* | :heavy_check_mark: | Discount amount in cents. | | `netAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts but before taxes. | | `taxAmount` | *int* | :heavy_check_mark: | Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it. | +| `taxBehavior` | [Components\TaxBehavior](../../Models/Components/TaxBehavior.md) | :heavy_check_mark: | Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. | | `totalAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts and taxes. | | `currency` | *string* | :heavy_check_mark: | Currency code of the checkout session. | | `allowTrial` | *bool* | :heavy_check_mark: | Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. | diff --git a/docs/Models/Components/CheckoutPublic.md b/docs/Models/Components/CheckoutPublic.md index 32c79c39..c2be25db 100644 --- a/docs/Models/Components/CheckoutPublic.md +++ b/docs/Models/Components/CheckoutPublic.md @@ -26,6 +26,7 @@ Checkout session data retrieved using the client secret. | `discountAmount` | *int* | :heavy_check_mark: | Discount amount in cents. | | `netAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts but before taxes. | | `taxAmount` | *int* | :heavy_check_mark: | Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it. | +| `taxBehavior` | [Components\TaxBehavior](../../Models/Components/TaxBehavior.md) | :heavy_check_mark: | Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. | | `totalAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts and taxes. | | `currency` | *string* | :heavy_check_mark: | Currency code of the checkout session. | | `allowTrial` | *bool* | :heavy_check_mark: | Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. | diff --git a/docs/Models/Components/CheckoutPublicConfirmed.md b/docs/Models/Components/CheckoutPublicConfirmed.md index 8642f4c4..6ca01108 100644 --- a/docs/Models/Components/CheckoutPublicConfirmed.md +++ b/docs/Models/Components/CheckoutPublicConfirmed.md @@ -29,6 +29,7 @@ right after the checkout. | `discountAmount` | *int* | :heavy_check_mark: | Discount amount in cents. | | `netAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts but before taxes. | | `taxAmount` | *int* | :heavy_check_mark: | Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it. | +| `taxBehavior` | [Components\TaxBehavior](../../Models/Components/TaxBehavior.md) | :heavy_check_mark: | Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. | | `totalAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts and taxes. | | `currency` | *string* | :heavy_check_mark: | Currency code of the checkout session. | | `allowTrial` | *bool* | :heavy_check_mark: | Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. | diff --git a/docs/Models/Components/ChurnedSeatCustomers.md b/docs/Models/Components/ChurnedSeatCustomers.md new file mode 100644 index 00000000..aeb8e16b --- /dev/null +++ b/docs/Models/Components/ChurnedSeatCustomers.md @@ -0,0 +1,23 @@ +# ChurnedSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/CommittedAnnualRecurringRevenue.md b/docs/Models/Components/CommittedAnnualRecurringRevenue.md new file mode 100644 index 00000000..79320e57 --- /dev/null +++ b/docs/Models/Components/CommittedAnnualRecurringRevenue.md @@ -0,0 +1,23 @@ +# CommittedAnnualRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/CustomerEmailUpdateRequest.md b/docs/Models/Components/CustomerEmailUpdateRequest.md new file mode 100644 index 00000000..9d09dcc8 --- /dev/null +++ b/docs/Models/Components/CustomerEmailUpdateRequest.md @@ -0,0 +1,8 @@ +# CustomerEmailUpdateRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `email` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerEmailUpdateVerifyRequest.md b/docs/Models/Components/CustomerEmailUpdateVerifyRequest.md new file mode 100644 index 00000000..c80ba0ab --- /dev/null +++ b/docs/Models/Components/CustomerEmailUpdateVerifyRequest.md @@ -0,0 +1,8 @@ +# CustomerEmailUpdateVerifyRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerEmailUpdateVerifyResponse.md b/docs/Models/Components/CustomerEmailUpdateVerifyResponse.md new file mode 100644 index 00000000..6f849205 --- /dev/null +++ b/docs/Models/Components/CustomerEmailUpdateVerifyResponse.md @@ -0,0 +1,8 @@ +# CustomerEmailUpdateVerifyResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerIndividual.md b/docs/Models/Components/CustomerIndividual.md index a76c3345..9c400f86 100644 --- a/docs/Models/Components/CustomerIndividual.md +++ b/docs/Models/Components/CustomerIndividual.md @@ -20,5 +20,6 @@ A customer in an organization. | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/CustomerIndividualTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/CustomerOrder.md b/docs/Models/Components/CustomerOrder.md index 50800a55..36a6768f 100644 --- a/docs/Models/Components/CustomerOrder.md +++ b/docs/Models/Components/CustomerOrder.md @@ -23,8 +23,9 @@ | `billingReason` | [Components\OrderBillingReason](../../Models/Components/OrderBillingReason.md) | :heavy_check_mark: | N/A | | | `billingName` | *string* | :heavy_check_mark: | The name of the customer that should appear on the invoice. | | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | -| `invoiceNumber` | *string* | :heavy_check_mark: | The invoice number associated with this order. | | +| `invoiceNumber` | *string* | :heavy_check_mark: | The invoice number associated with this order. `null` while the order is in `draft` status; assigned at finalize. | | | `isInvoiceGenerated` | *bool* | :heavy_check_mark: | Whether an invoice has been generated for this order. | | +| `receiptNumber` | *string* | :heavy_check_mark: | The receipt number for this order. Set once the order is paid for organizations with receipts enabled. When set, a downloadable receipt PDF can be obtained via the receipt endpoint. | | | `seats` | *?int* | :heavy_minus_sign: | Number of seats purchased (for seat-based one-time orders). | | | `customerId` | *string* | :heavy_check_mark: | N/A | | | `productId` | *string* | :heavy_check_mark: | N/A | | @@ -35,4 +36,6 @@ | `subscription` | [Components\CustomerOrderSubscription](../../Models/Components/CustomerOrderSubscription.md) | :heavy_check_mark: | N/A | | | `items` | array<[Components\OrderItemSchema](../../Models/Components/OrderItemSchema.md)> | :heavy_check_mark: | Line items composing the order. | | | `description` | *string* | :heavy_check_mark: | A summary description of the order. | Pro Plan | -| `nextPaymentAttemptAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | When the next payment retry is scheduled | | \ No newline at end of file +| `nextPaymentAttemptAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | When the next payment retry is scheduled | | +| `refundableAmount` | *int* | :heavy_check_mark: | Amount in cents that can still be refunded (net, before taxes). Accounts for any applied customer balance and previous refunds. | 9000 | +| `refundableTaxAmount` | *int* | :heavy_check_mark: | Sales tax in cents that would be refunded if the full refundable amount is refunded. | 720 | \ No newline at end of file diff --git a/docs/Models/Components/CustomerOrderReceipt.md b/docs/Models/Components/CustomerOrderReceipt.md new file mode 100644 index 00000000..ed39035a --- /dev/null +++ b/docs/Models/Components/CustomerOrderReceipt.md @@ -0,0 +1,10 @@ +# CustomerOrderReceipt + +Order's receipt data. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------- | --------------------------- | --------------------------- | --------------------------- | +| `url` | *string* | :heavy_check_mark: | The URL to the receipt PDF. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPaymentMethodCard.md b/docs/Models/Components/CustomerPaymentMethodCard.md new file mode 100644 index 00000000..19eddf7b --- /dev/null +++ b/docs/Models/Components/CustomerPaymentMethodCard.md @@ -0,0 +1,15 @@ +# CustomerPaymentMethodCard + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `processor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | +| `customerId` | *string* | :heavy_check_mark: | N/A | | +| `type` | *string* | :heavy_check_mark: | N/A | | +| `methodMetadata` | [Components\PaymentMethodCardMetadata](../../Models/Components/PaymentMethodCardMetadata.md) | :heavy_check_mark: | N/A | | +| `isDefault` | *bool* | :heavy_check_mark: | Whether this payment method is the customer's default payment method. | true | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPaymentMethodGeneric.md b/docs/Models/Components/CustomerPaymentMethodGeneric.md new file mode 100644 index 00000000..9d51cc13 --- /dev/null +++ b/docs/Models/Components/CustomerPaymentMethodGeneric.md @@ -0,0 +1,14 @@ +# CustomerPaymentMethodGeneric + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `processor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | +| `customerId` | *string* | :heavy_check_mark: | N/A | | +| `type` | *string* | :heavy_check_mark: | N/A | | +| `isDefault` | *bool* | :heavy_check_mark: | Whether this payment method is the customer's default payment method. | false | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPortalCustomerSettings.md b/docs/Models/Components/CustomerPortalCustomerSettings.md new file mode 100644 index 00000000..f645619b --- /dev/null +++ b/docs/Models/Components/CustomerPortalCustomerSettings.md @@ -0,0 +1,8 @@ +# CustomerPortalCustomerSettings + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `allowEmailChange` | *?bool* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPortalCustomerUpdate.md b/docs/Models/Components/CustomerPortalCustomerUpdate.md index ce0e5ca3..223870bc 100644 --- a/docs/Models/Components/CustomerPortalCustomerUpdate.md +++ b/docs/Models/Components/CustomerPortalCustomerUpdate.md @@ -7,4 +7,5 @@ | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `billingName` | *?string* | :heavy_minus_sign: | N/A | | `billingAddress` | [?Components\AddressInput](../../Models/Components/AddressInput.md) | :heavy_minus_sign: | N/A | -| `taxId` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `taxId` | *?string* | :heavy_minus_sign: | N/A | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerSeatAssign.md b/docs/Models/Components/CustomerSeatAssign.md new file mode 100644 index 00000000..09affa14 --- /dev/null +++ b/docs/Models/Components/CustomerSeatAssign.md @@ -0,0 +1,17 @@ +# CustomerSeatAssign + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `subscriptionId` | *?string* | :heavy_minus_sign: | Subscription ID. Required if neither order_id nor checkout_id is provided. | +| `orderId` | *?string* | :heavy_minus_sign: | Order ID for one-time purchases. Required if subscription_id is not provided. | +| `email` | *?string* | :heavy_minus_sign: | Email of the customer to assign the seat to | +| `externalCustomerId` | *?string* | :heavy_minus_sign: | External customer ID for the seat assignment | +| `customerId` | *?string* | :heavy_minus_sign: | Customer ID for the seat assignment | +| `externalMemberId` | *?string* | :heavy_minus_sign: | External member ID for the seat assignment. Can be used alone (lookup existing member) or with email (create/validate member). | +| `memberId` | *?string* | :heavy_minus_sign: | Member ID for the seat assignment. | +| `metadata` | array | :heavy_minus_sign: | Additional metadata for the seat (max 10 keys, 1KB total) | +| `immediateClaim` | *?bool* | :heavy_minus_sign: | If true, the seat will be immediately claimed without sending an invitation email. API-only feature. | +| `checkoutId` | *?string* | :heavy_minus_sign: | Checkout ID. Resolves to the subscription or order produced by the checkout. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerStateIndividual.md b/docs/Models/Components/CustomerStateIndividual.md index ef7aca85..28408dcb 100644 --- a/docs/Models/Components/CustomerStateIndividual.md +++ b/docs/Models/Components/CustomerStateIndividual.md @@ -24,6 +24,7 @@ A customer along with additional state information: | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/CustomerStateIndividualTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `activeSubscriptions` | array<[Components\CustomerStateSubscription](../../Models/Components/CustomerStateSubscription.md)> | :heavy_check_mark: | The customer's active subscriptions. | | | `grantedBenefits` | array<[Components\CustomerStateBenefitGrant](../../Models/Components/CustomerStateBenefitGrant.md)> | :heavy_check_mark: | The customer's active benefit grants. | | diff --git a/docs/Models/Components/CustomerStateTeam.md b/docs/Models/Components/CustomerStateTeam.md index 18c99a92..8fc4c600 100644 --- a/docs/Models/Components/CustomerStateTeam.md +++ b/docs/Models/Components/CustomerStateTeam.md @@ -24,6 +24,7 @@ A team customer along with additional state information: | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/CustomerStateTeamTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `activeSubscriptions` | array<[Components\CustomerStateSubscription](../../Models/Components/CustomerStateSubscription.md)> | :heavy_check_mark: | The customer's active subscriptions. | | | `grantedBenefits` | array<[Components\CustomerStateBenefitGrant](../../Models/Components/CustomerStateBenefitGrant.md)> | :heavy_check_mark: | The customer's active benefit grants. | | diff --git a/docs/Models/Components/CustomerSubscriptionUpdate.md b/docs/Models/Components/CustomerSubscriptionUpdate.md index 2d983492..059cc9e4 100644 --- a/docs/Models/Components/CustomerSubscriptionUpdate.md +++ b/docs/Models/Components/CustomerSubscriptionUpdate.md @@ -30,3 +30,12 @@ Components\CustomerSubscriptionUpdateSeats $value = /* values here */ Components\CustomerSubscriptionCancel $value = /* values here */ ``` +### `Components\CustomerSubscriptionUpdateClear` + +```php +/** +* @var \Polar\Models\Components\CustomerSubscriptionUpdateClear +*/ +Components\CustomerSubscriptionUpdateClear $value = /* values here */ +``` + diff --git a/docs/Models/Components/CustomerSubscriptionUpdateClear.md b/docs/Models/Components/CustomerSubscriptionUpdateClear.md new file mode 100644 index 00000000..e9bf9992 --- /dev/null +++ b/docs/Models/Components/CustomerSubscriptionUpdateClear.md @@ -0,0 +1,8 @@ +# CustomerSubscriptionUpdateClear + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `pendingUpdate` | *mixed* | :heavy_check_mark: | Clear the pending subscription update. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerTeam.md b/docs/Models/Components/CustomerTeam.md index 3936d369..f62484bb 100644 --- a/docs/Models/Components/CustomerTeam.md +++ b/docs/Models/Components/CustomerTeam.md @@ -20,5 +20,6 @@ A team customer in an organization. | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/CustomerTeamTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/DiscountCreate.md b/docs/Models/Components/DiscountCreate.md index 8b859ee2..c4015693 100644 --- a/docs/Models/Components/DiscountCreate.md +++ b/docs/Models/Components/DiscountCreate.md @@ -3,39 +3,21 @@ ## Supported Types -### `Components\DiscountFixedOnceForeverDurationCreate` +### `Components\DiscountFixedCreate` ```php /** -* @var \Polar\Models\Components\DiscountFixedOnceForeverDurationCreate +* @var \Polar\Models\Components\DiscountFixedCreate */ -Components\DiscountFixedOnceForeverDurationCreate $value = /* values here */ +Components\DiscountFixedCreate $value = /* values here */ ``` -### `Components\DiscountFixedRepeatDurationCreate` +### `Components\DiscountPercentageCreate` ```php /** -* @var \Polar\Models\Components\DiscountFixedRepeatDurationCreate +* @var \Polar\Models\Components\DiscountPercentageCreate */ -Components\DiscountFixedRepeatDurationCreate $value = /* values here */ -``` - -### `Components\DiscountPercentageOnceForeverDurationCreate` - -```php -/** -* @var \Polar\Models\Components\DiscountPercentageOnceForeverDurationCreate -*/ -Components\DiscountPercentageOnceForeverDurationCreate $value = /* values here */ -``` - -### `Components\DiscountPercentageRepeatDurationCreate` - -```php -/** -* @var \Polar\Models\Components\DiscountPercentageRepeatDurationCreate -*/ -Components\DiscountPercentageRepeatDurationCreate $value = /* values here */ +Components\DiscountPercentageCreate $value = /* values here */ ``` diff --git a/docs/Models/Components/DiscountFixedRepeatDurationCreate.md b/docs/Models/Components/DiscountFixedCreate.md similarity index 96% rename from docs/Models/Components/DiscountFixedRepeatDurationCreate.md rename to docs/Models/Components/DiscountFixedCreate.md index d0f0cd17..44e59ea3 100644 --- a/docs/Models/Components/DiscountFixedRepeatDurationCreate.md +++ b/docs/Models/Components/DiscountFixedCreate.md @@ -1,24 +1,23 @@ -# DiscountFixedRepeatDurationCreate +# DiscountFixedCreate -Schema to create a fixed amount discount that is applied on every invoice -for a certain number of months. +Schema to create a fixed amount discount. ## Fields | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | -| `durationInMonths` | *int* | :heavy_check_mark: | Number of months the discount should be applied.

For this to work on yearly pricing, you should multiply this by 12.
For example, to apply the discount for 2 years, set this to 24. | | -| `type` | [Components\DiscountType](../../Models/Components/DiscountType.md) | :heavy_check_mark: | N/A | | -| ~~`amount`~~ | *?int* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | -| ~~`currency`~~ | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | -| `amounts` | array | :heavy_minus_sign: | N/A | | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | | `name` | *string* | :heavy_check_mark: | Name of the discount. Will be displayed to the customer when the discount is applied. | | | `code` | *?string* | :heavy_minus_sign: | Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. | | | `startsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is redeemable. | | | `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is no longer redeemable. | | | `maxRedemptions` | *?int* | :heavy_minus_sign: | Optional maximum number of times the discount can be redeemed. | | | `products` | array<*string*> | :heavy_minus_sign: | N/A | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file +| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `type` | *?string* | :heavy_minus_sign: | N/A | | +| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | +| `durationInMonths` | *?int* | :heavy_minus_sign: | Number of months the discount should be applied.

Required when `duration` is `repeating`. Must be omitted otherwise.

For this to work on yearly pricing, you should multiply this by 12.
For example, to apply the discount for 2 years, set this to 24. | | +| ~~`amount`~~ | *?int* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| ~~`currency`~~ | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| `amounts` | array | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DiscountFixedRepeatDurationCreateMetadata.md b/docs/Models/Components/DiscountFixedCreateMetadata.md similarity index 88% rename from docs/Models/Components/DiscountFixedRepeatDurationCreateMetadata.md rename to docs/Models/Components/DiscountFixedCreateMetadata.md index 9cebea9f..abedf2ed 100644 --- a/docs/Models/Components/DiscountFixedRepeatDurationCreateMetadata.md +++ b/docs/Models/Components/DiscountFixedCreateMetadata.md @@ -1,4 +1,4 @@ -# DiscountFixedRepeatDurationCreateMetadata +# DiscountFixedCreateMetadata ## Supported Types diff --git a/docs/Models/Components/DiscountFixedOnceForeverDurationCreate.md b/docs/Models/Components/DiscountFixedOnceForeverDurationCreate.md deleted file mode 100644 index 284d41b0..00000000 --- a/docs/Models/Components/DiscountFixedOnceForeverDurationCreate.md +++ /dev/null @@ -1,22 +0,0 @@ -# DiscountFixedOnceForeverDurationCreate - -Schema to create a fixed amount discount that is applied once or forever. - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | -| `type` | [Components\DiscountType](../../Models/Components/DiscountType.md) | :heavy_check_mark: | N/A | | -| ~~`amount`~~ | *?int* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | -| ~~`currency`~~ | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | -| `amounts` | array | :heavy_minus_sign: | N/A | | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | -| `name` | *string* | :heavy_check_mark: | Name of the discount. Will be displayed to the customer when the discount is applied. | | -| `code` | *?string* | :heavy_minus_sign: | Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. | | -| `startsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is redeemable. | | -| `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is no longer redeemable. | | -| `maxRedemptions` | *?int* | :heavy_minus_sign: | Optional maximum number of times the discount can be redeemed. | | -| `products` | array<*string*> | :heavy_minus_sign: | N/A | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file diff --git a/docs/Models/Components/DiscountPercentageRepeatDurationCreate.md b/docs/Models/Components/DiscountPercentageCreate.md similarity index 95% rename from docs/Models/Components/DiscountPercentageRepeatDurationCreate.md rename to docs/Models/Components/DiscountPercentageCreate.md index 10892047..55fc9167 100644 --- a/docs/Models/Components/DiscountPercentageRepeatDurationCreate.md +++ b/docs/Models/Components/DiscountPercentageCreate.md @@ -1,22 +1,21 @@ -# DiscountPercentageRepeatDurationCreate +# DiscountPercentageCreate -Schema to create a percentage discount that is applied on every invoice -for a certain number of months. +Schema to create a percentage discount. ## Fields | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | -| `durationInMonths` | *int* | :heavy_check_mark: | Number of months the discount should be applied.

For this to work on yearly pricing, you should multiply this by 12.
For example, to apply the discount for 2 years, set this to 24. | | -| `type` | [Components\DiscountType](../../Models/Components/DiscountType.md) | :heavy_check_mark: | N/A | | -| `basisPoints` | *int* | :heavy_check_mark: | Discount percentage in basis points.

A basis point is 1/100th of a percent.
For example, to create a 25.5% discount, set this to 2550. | | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | | `name` | *string* | :heavy_check_mark: | Name of the discount. Will be displayed to the customer when the discount is applied. | | | `code` | *?string* | :heavy_minus_sign: | Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. | | | `startsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is redeemable. | | | `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is no longer redeemable. | | | `maxRedemptions` | *?int* | :heavy_minus_sign: | Optional maximum number of times the discount can be redeemed. | | | `products` | array<*string*> | :heavy_minus_sign: | N/A | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file +| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `type` | *?string* | :heavy_minus_sign: | N/A | | +| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | +| `durationInMonths` | *?int* | :heavy_minus_sign: | Number of months the discount should be applied.

Required when `duration` is `repeating`. Must be omitted otherwise.

For this to work on yearly pricing, you should multiply this by 12.
For example, to apply the discount for 2 years, set this to 24. | | +| `basisPoints` | *int* | :heavy_check_mark: | Discount percentage in basis points.

A basis point is 1/100th of a percent.
For example, to create a 25.5% discount, set this to 2550. | | \ No newline at end of file diff --git a/docs/Models/Components/DiscountFixedOnceForeverDurationCreateMetadata.md b/docs/Models/Components/DiscountPercentageCreateMetadata.md similarity index 87% rename from docs/Models/Components/DiscountFixedOnceForeverDurationCreateMetadata.md rename to docs/Models/Components/DiscountPercentageCreateMetadata.md index 80c88641..0d3a8a73 100644 --- a/docs/Models/Components/DiscountFixedOnceForeverDurationCreateMetadata.md +++ b/docs/Models/Components/DiscountPercentageCreateMetadata.md @@ -1,4 +1,4 @@ -# DiscountFixedOnceForeverDurationCreateMetadata +# DiscountPercentageCreateMetadata ## Supported Types diff --git a/docs/Models/Components/Event.md b/docs/Models/Components/Event.md index bea6190b..2c70200f 100644 --- a/docs/Models/Components/Event.md +++ b/docs/Models/Components/Event.md @@ -3,13 +3,13 @@ ## Supported Types -### `Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent` +### `Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionPastDueEvent|Components\SubscriptionReactivatedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\SubscriptionUpdateClearedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent` ```php /** -* @var \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent +* @var \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent */ -Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent $value = /* values here */ +Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionPastDueEvent|Components\SubscriptionReactivatedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\SubscriptionUpdateClearedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent $value = /* values here */ ``` ### `Components\UserEvent` diff --git a/docs/Models/Components/EventTypeWithStats.md b/docs/Models/Components/EventTypeWithStats.md index c819381f..a343d3de 100644 --- a/docs/Models/Components/EventTypeWithStats.md +++ b/docs/Models/Components/EventTypeWithStats.md @@ -3,16 +3,16 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `name` | *string* | :heavy_check_mark: | The name of the event type. | -| `label` | *string* | :heavy_check_mark: | The label for the event type. | -| `labelPropertySelector` | *?string* | :heavy_minus_sign: | Property path to extract dynamic label from event metadata. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event type. | -| `source` | [Components\EventSource](../../Models/Components/EventSource.md) | :heavy_check_mark: | N/A | -| `occurrences` | *int* | :heavy_check_mark: | Number of times the event has occurred. | -| `firstSeen` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The first time the event occurred. | -| `lastSeen` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The last time the event occurred. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `id` | *?string* | :heavy_minus_sign: | The ID of the event type. Null for system event types. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Creation timestamp of the event type. Null for system event types. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Last modification timestamp of the event type. Null for system event types. | +| `name` | *string* | :heavy_check_mark: | The name of the event type. | +| `label` | *string* | :heavy_check_mark: | The label for the event type. | +| `labelPropertySelector` | *?string* | :heavy_minus_sign: | Property path to extract dynamic label from event metadata. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event type. | +| `source` | [Components\EventSource](../../Models/Components/EventSource.md) | :heavy_check_mark: | N/A | +| `occurrences` | *int* | :heavy_check_mark: | Number of times the event has occurred. | +| `firstSeen` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The first time the event occurred. | +| `lastSeen` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The last time the event occurred. | \ No newline at end of file diff --git a/docs/Models/Components/LegacyRecurringProductPriceCustom.md b/docs/Models/Components/LegacyRecurringProductPriceCustom.md index 014bbad1..147901b1 100644 --- a/docs/Models/Components/LegacyRecurringProductPriceCustom.md +++ b/docs/Models/Components/LegacyRecurringProductPriceCustom.md @@ -7,20 +7,20 @@ A pay-what-you-want recurring price for a product, i.e. a subscription. ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the price. | -| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | -| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | -| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | -| `type` | *string* | :heavy_check_mark: | The type of the price. | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | -| `minimumAmount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. | -| `maximumAmount` | *int* | :heavy_check_mark: | The maximum amount the customer can pay. | -| `presetAmount` | *int* | :heavy_check_mark: | The initial amount shown to the customer. | -| `legacy` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `id` | *string* | :heavy_check_mark: | The ID of the price. | +| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | +| `amountType` | *string* | :heavy_check_mark: | N/A | +| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | +| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | +| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | +| `type` | *string* | :heavy_check_mark: | The type of the price. | +| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | +| `minimumAmount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. | +| `maximumAmount` | *int* | :heavy_check_mark: | The maximum amount the customer can pay. | +| `presetAmount` | *int* | :heavy_check_mark: | The initial amount shown to the customer. | +| `legacy` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/LicenseKeyCustomer.md b/docs/Models/Components/LicenseKeyCustomer.md index 9da4291e..66e67e51 100644 --- a/docs/Models/Components/LicenseKeyCustomer.md +++ b/docs/Models/Components/LicenseKeyCustomer.md @@ -18,5 +18,6 @@ | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/LicenseKeyCustomerTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/ListResourceEvent.md b/docs/Models/Components/ListResourceEvent.md index 0d3aa49f..024590eb 100644 --- a/docs/Models/Components/ListResourceEvent.md +++ b/docs/Models/Components/ListResourceEvent.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `items` | array<[Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent](../../Models/Components/Event.md)> | :heavy_check_mark: | N/A | -| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `items` | array<[Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionPastDueEvent\|Components\SubscriptionReactivatedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\SubscriptionUpdateClearedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent](../../Models/Components/Event.md)> | :heavy_check_mark: | N/A | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/ListResourcePaymentMethod.md b/docs/Models/Components/ListResourcePaymentMethod.md new file mode 100644 index 00000000..7c24c857 --- /dev/null +++ b/docs/Models/Components/ListResourcePaymentMethod.md @@ -0,0 +1,9 @@ +# ListResourcePaymentMethod + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `items` | array<[Components\CustomerPaymentMethodCard\|Components\CustomerPaymentMethodGeneric](../../Models/Components/PaymentMethod.md)> | :heavy_check_mark: | N/A | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/ListResourceWithCursorPaginationEvent.md b/docs/Models/Components/ListResourceWithCursorPaginationEvent.md index 1d7a6035..925d5bdb 100644 --- a/docs/Models/Components/ListResourceWithCursorPaginationEvent.md +++ b/docs/Models/Components/ListResourceWithCursorPaginationEvent.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `items` | array<[Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent](../../Models/Components/Event.md)> | :heavy_check_mark: | N/A | -| `pagination` | [Components\CursorPagination](../../Models/Components/CursorPagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `items` | array<[Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionPastDueEvent\|Components\SubscriptionReactivatedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\SubscriptionUpdateClearedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent](../../Models/Components/Event.md)> | :heavy_check_mark: | N/A | +| `pagination` | [Components\CursorPagination](../../Models/Components/CursorPagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/MemberCreate.md b/docs/Models/Components/MemberCreate.md index 067be42d..3664c5bb 100644 --- a/docs/Models/Components/MemberCreate.md +++ b/docs/Models/Components/MemberCreate.md @@ -5,10 +5,10 @@ Schema for creating a new member. ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `customerId` | *string* | :heavy_check_mark: | The ID of the customer this member belongs to. | | -| `email` | *string* | :heavy_check_mark: | The email address of the member. | member@example.com | -| `name` | *?string* | :heavy_minus_sign: | N/A | Jane Doe | -| `externalId` | *?string* | :heavy_minus_sign: | The ID of the member in your system. This must be unique within the customer. | usr_1337 | -| `role` | [?Components\MemberRole](../../Models/Components/MemberRole.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `customerId` | *string* | :heavy_check_mark: | The ID of the customer this member belongs to. | | +| `email` | *string* | :heavy_check_mark: | The email address of the member. | member@example.com | +| `name` | *?string* | :heavy_minus_sign: | N/A | Jane Doe | +| `externalId` | *?string* | :heavy_minus_sign: | The ID of the member in your system. This must be unique within the customer. | usr_1337 | +| `role` | [?Components\Role](../../Models/Components/Role.md) | :heavy_minus_sign: | The role of the member within the customer. To assign or transfer ownership, use the member update endpoint. | member | \ No newline at end of file diff --git a/docs/Models/Components/Meter.md b/docs/Models/Components/Meter.md index 9b5067df..9ac3b11c 100644 --- a/docs/Models/Components/Meter.md +++ b/docs/Models/Components/Meter.md @@ -10,6 +10,9 @@ | `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | `id` | *string* | :heavy_check_mark: | The ID of the object. | | `name` | *string* | :heavy_check_mark: | The name of the meter. Will be shown on customer's invoices and usage. | +| `unit` | [Components\MeterUnit](../../Models/Components/MeterUnit.md) | :heavy_check_mark: | N/A | +| `customLabel` | *?string* | :heavy_minus_sign: | The label for the custom unit. | +| `customMultiplier` | *?int* | :heavy_minus_sign: | The multiplier to convert from base unit to display scale. | | `filter` | [Components\Filter](../../Models/Components/Filter.md) | :heavy_check_mark: | N/A | | `aggregation` | [Components\CountAggregation\|Components\PropertyAggregation\|Components\UniqueAggregation](../../Models/Components/MeterAggregation.md) | :heavy_check_mark: | The aggregation to apply on the filtered events to calculate the meter. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the meter. | diff --git a/docs/Models/Components/MeterCreate.md b/docs/Models/Components/MeterCreate.md index d07e658a..75ab938a 100644 --- a/docs/Models/Components/MeterCreate.md +++ b/docs/Models/Components/MeterCreate.md @@ -7,6 +7,9 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | | `name` | *string* | :heavy_check_mark: | The name of the meter. Will be shown on customer's invoices and usage. | | +| `unit` | [?Components\MeterUnit](../../Models/Components/MeterUnit.md) | :heavy_minus_sign: | N/A | | +| `customLabel` | *?string* | :heavy_minus_sign: | The label for the custom unit, e.g. 'request'. Required when unit is 'custom'. | | +| `customMultiplier` | *?int* | :heavy_minus_sign: | The multiplier to convert from the base unit to display scale, e.g. 1000 to display per 1000 units. Defaults to 1 when not provided. | | | `filter` | [Components\Filter](../../Models/Components/Filter.md) | :heavy_check_mark: | N/A | | | `aggregation` | [Components\CountAggregation\|Components\PropertyAggregation\|Components\UniqueAggregation](../../Models/Components/MeterCreateAggregation.md) | :heavy_check_mark: | The aggregation to apply on the filtered events to calculate the meter. | | | `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the meter. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file diff --git a/docs/Models/Components/MeterUnit.md b/docs/Models/Components/MeterUnit.md new file mode 100644 index 00000000..721b7e3c --- /dev/null +++ b/docs/Models/Components/MeterUnit.md @@ -0,0 +1,10 @@ +# MeterUnit + + +## Values + +| Name | Value | +| -------- | -------- | +| `Scalar` | scalar | +| `Token` | token | +| `Custom` | custom | \ No newline at end of file diff --git a/docs/Models/Components/MeterUpdate.md b/docs/Models/Components/MeterUpdate.md index 71f7b6ea..3b1a4182 100644 --- a/docs/Models/Components/MeterUpdate.md +++ b/docs/Models/Components/MeterUpdate.md @@ -7,6 +7,9 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | `name` | *?string* | :heavy_minus_sign: | The name of the meter. Will be shown on customer's invoices and usage. | +| `unit` | [?Components\MeterUnit](../../Models/Components/MeterUnit.md) | :heavy_minus_sign: | The unit of the meter. | +| `customLabel` | *?string* | :heavy_minus_sign: | The label for the custom unit. Required when unit is 'custom'. | +| `customMultiplier` | *?int* | :heavy_minus_sign: | The multiplier to convert from base unit to display scale. Required when unit is 'custom'. | | `filter` | [?Components\Filter](../../Models/Components/Filter.md) | :heavy_minus_sign: | The filter to apply on events that'll be used to calculate the meter. | | `aggregation` | [Components\CountAggregation\|Components\PropertyAggregation\|Components\UniqueAggregation\|null](../../Models/Components/Aggregation.md) | :heavy_minus_sign: | The aggregation to apply on the filtered events to calculate the meter. | | `isArchived` | *?bool* | :heavy_minus_sign: | Whether the meter is archived. Archived meters are no longer used for billing. | \ No newline at end of file diff --git a/docs/Models/Components/MetricPeriod.md b/docs/Models/Components/MetricPeriod.md index 89fc5ef3..a78f8abd 100644 --- a/docs/Models/Components/MetricPeriod.md +++ b/docs/Models/Components/MetricPeriod.md @@ -3,49 +3,61 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp of this period data. | -| `activeSubscriptions` | [int\|float\|null](../../Models/Components/ActiveSubscriptions.md) | :heavy_minus_sign: | N/A | -| `committedSubscriptions` | [int\|float\|null](../../Models/Components/CommittedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `monthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | -| `committedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/CommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | -| `averageRevenuePerUser` | [int\|float\|null](../../Models/Components/AverageRevenuePerUser.md) | :heavy_minus_sign: | N/A | -| `checkouts` | [int\|float\|null](../../Models/Components/Checkouts.md) | :heavy_minus_sign: | N/A | -| `succeededCheckouts` | [int\|float\|null](../../Models/Components/SucceededCheckouts.md) | :heavy_minus_sign: | N/A | -| `churnedSubscriptions` | [int\|float\|null](../../Models/Components/ChurnedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `churnRate` | [int\|float\|null](../../Models/Components/ChurnRate.md) | :heavy_minus_sign: | N/A | -| `orders` | [int\|float\|null](../../Models/Components/Orders.md) | :heavy_minus_sign: | N/A | -| `revenue` | [int\|float\|null](../../Models/Components/Revenue.md) | :heavy_minus_sign: | N/A | -| `netRevenue` | [int\|float\|null](../../Models/Components/NetRevenue.md) | :heavy_minus_sign: | N/A | -| `cumulativeRevenue` | [int\|float\|null](../../Models/Components/CumulativeRevenue.md) | :heavy_minus_sign: | N/A | -| `netCumulativeRevenue` | [int\|float\|null](../../Models/Components/NetCumulativeRevenue.md) | :heavy_minus_sign: | N/A | -| `costs` | [int\|float\|null](../../Models/Components/Costs.md) | :heavy_minus_sign: | N/A | -| `cumulativeCosts` | [int\|float\|null](../../Models/Components/CumulativeCosts.md) | :heavy_minus_sign: | N/A | -| `averageOrderValue` | [int\|float\|null](../../Models/Components/AverageOrderValue.md) | :heavy_minus_sign: | N/A | -| `netAverageOrderValue` | [int\|float\|null](../../Models/Components/NetAverageOrderValue.md) | :heavy_minus_sign: | N/A | -| `costPerUser` | [int\|float\|null](../../Models/Components/CostPerUser.md) | :heavy_minus_sign: | N/A | -| `activeUserByEvent` | [int\|float\|null](../../Models/Components/ActiveUserByEvent.md) | :heavy_minus_sign: | N/A | -| `oneTimeProducts` | [int\|float\|null](../../Models/Components/OneTimeProducts.md) | :heavy_minus_sign: | N/A | -| `oneTimeProductsRevenue` | [int\|float\|null](../../Models/Components/OneTimeProductsRevenue.md) | :heavy_minus_sign: | N/A | -| `oneTimeProductsNetRevenue` | [int\|float\|null](../../Models/Components/OneTimeProductsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `newSubscriptions` | [int\|float\|null](../../Models/Components/NewSubscriptions.md) | :heavy_minus_sign: | N/A | -| `newSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/NewSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | -| `newSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/NewSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptions` | [int\|float\|null](../../Models/Components/RenewedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/RenewedSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/RenewedSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptions` | [int\|float\|null](../../Models/Components/CanceledSubscriptions.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsCustomerService` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsCustomerService.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsLowQuality` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsLowQuality.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsMissingFeatures` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsMissingFeatures.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsSwitchedService` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsSwitchedService.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsTooComplex` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsTooComplex.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsTooExpensive` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsTooExpensive.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsUnused` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsUnused.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsOther` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsOther.md) | :heavy_minus_sign: | N/A | -| `checkoutsConversion` | [int\|float\|null](../../Models/Components/CheckoutsConversion.md) | :heavy_minus_sign: | N/A | -| `ltv` | [int\|float\|null](../../Models/Components/Ltv.md) | :heavy_minus_sign: | N/A | -| `grossMargin` | [int\|float\|null](../../Models/Components/GrossMargin.md) | :heavy_minus_sign: | N/A | -| `grossMarginPercentage` | [int\|float\|null](../../Models/Components/GrossMarginPercentage.md) | :heavy_minus_sign: | N/A | -| `cashflow` | [int\|float\|null](../../Models/Components/Cashflow.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp of this period data. | +| `activeSubscriptions` | [int\|float\|null](../../Models/Components/ActiveSubscriptions.md) | :heavy_minus_sign: | N/A | +| `committedSubscriptions` | [int\|float\|null](../../Models/Components/CommittedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `monthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `trialMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/TrialMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `committedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/CommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `trialCommittedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/TrialCommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `averageRevenuePerUser` | [int\|float\|null](../../Models/Components/AverageRevenuePerUser.md) | :heavy_minus_sign: | N/A | +| `checkouts` | [int\|float\|null](../../Models/Components/Checkouts.md) | :heavy_minus_sign: | N/A | +| `succeededCheckouts` | [int\|float\|null](../../Models/Components/SucceededCheckouts.md) | :heavy_minus_sign: | N/A | +| `churnedSubscriptions` | [int\|float\|null](../../Models/Components/ChurnedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `churnRate` | [int\|float\|null](../../Models/Components/ChurnRate.md) | :heavy_minus_sign: | N/A | +| `seatsTotal` | [int\|float\|null](../../Models/Components/SeatsTotal.md) | :heavy_minus_sign: | N/A | +| `seatsClaimed` | [int\|float\|null](../../Models/Components/SeatsClaimed.md) | :heavy_minus_sign: | N/A | +| `seatsPending` | [int\|float\|null](../../Models/Components/SeatsPending.md) | :heavy_minus_sign: | N/A | +| `seatCustomers` | [int\|float\|null](../../Models/Components/SeatCustomers.md) | :heavy_minus_sign: | N/A | +| `newSeatCustomers` | [int\|float\|null](../../Models/Components/NewSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `churnedSeatCustomers` | [int\|float\|null](../../Models/Components/ChurnedSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `orders` | [int\|float\|null](../../Models/Components/Orders.md) | :heavy_minus_sign: | N/A | +| `revenue` | [int\|float\|null](../../Models/Components/Revenue.md) | :heavy_minus_sign: | N/A | +| `netRevenue` | [int\|float\|null](../../Models/Components/NetRevenue.md) | :heavy_minus_sign: | N/A | +| `cumulativeRevenue` | [int\|float\|null](../../Models/Components/CumulativeRevenue.md) | :heavy_minus_sign: | N/A | +| `netCumulativeRevenue` | [int\|float\|null](../../Models/Components/NetCumulativeRevenue.md) | :heavy_minus_sign: | N/A | +| `costs` | [int\|float\|null](../../Models/Components/Costs.md) | :heavy_minus_sign: | N/A | +| `cumulativeCosts` | [int\|float\|null](../../Models/Components/CumulativeCosts.md) | :heavy_minus_sign: | N/A | +| `averageOrderValue` | [int\|float\|null](../../Models/Components/AverageOrderValue.md) | :heavy_minus_sign: | N/A | +| `netAverageOrderValue` | [int\|float\|null](../../Models/Components/NetAverageOrderValue.md) | :heavy_minus_sign: | N/A | +| `costPerUser` | [int\|float\|null](../../Models/Components/CostPerUser.md) | :heavy_minus_sign: | N/A | +| `activeUserByEvent` | [int\|float\|null](../../Models/Components/ActiveUserByEvent.md) | :heavy_minus_sign: | N/A | +| `oneTimeProducts` | [int\|float\|null](../../Models/Components/OneTimeProducts.md) | :heavy_minus_sign: | N/A | +| `oneTimeProductsRevenue` | [int\|float\|null](../../Models/Components/OneTimeProductsRevenue.md) | :heavy_minus_sign: | N/A | +| `oneTimeProductsNetRevenue` | [int\|float\|null](../../Models/Components/OneTimeProductsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `newSubscriptions` | [int\|float\|null](../../Models/Components/NewSubscriptions.md) | :heavy_minus_sign: | N/A | +| `newSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/NewSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | +| `newSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/NewSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptions` | [int\|float\|null](../../Models/Components/RenewedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/RenewedSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/RenewedSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptions` | [int\|float\|null](../../Models/Components/CanceledSubscriptions.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsCustomerService` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsCustomerService.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsLowQuality` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsLowQuality.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsMissingFeatures` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsMissingFeatures.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsSwitchedService` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsSwitchedService.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsTooComplex` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsTooComplex.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsTooExpensive` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsTooExpensive.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsUnused` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsUnused.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsOther` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsOther.md) | :heavy_minus_sign: | N/A | +| `annualRecurringRevenue` | [int\|float\|null](../../Models/Components/AnnualRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `committedAnnualRecurringRevenue` | [int\|float\|null](../../Models/Components/CommittedAnnualRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `checkoutsConversion` | [int\|float\|null](../../Models/Components/CheckoutsConversion.md) | :heavy_minus_sign: | N/A | +| `ltv` | [int\|float\|null](../../Models/Components/Ltv.md) | :heavy_minus_sign: | N/A | +| `grossMargin` | [int\|float\|null](../../Models/Components/GrossMargin.md) | :heavy_minus_sign: | N/A | +| `grossMarginPercentage` | [int\|float\|null](../../Models/Components/GrossMarginPercentage.md) | :heavy_minus_sign: | N/A | +| `cashflow` | [int\|float\|null](../../Models/Components/Cashflow.md) | :heavy_minus_sign: | N/A | +| `averageSeatsPerCustomer` | [int\|float\|null](../../Models/Components/AverageSeatsPerCustomer.md) | :heavy_minus_sign: | N/A | +| `seatUtilizationRate` | [int\|float\|null](../../Models/Components/SeatUtilizationRate.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/Metrics.md b/docs/Models/Components/Metrics.md index 4fd65c97..35b0ddc3 100644 --- a/docs/Models/Components/Metrics.md +++ b/docs/Models/Components/Metrics.md @@ -8,12 +8,20 @@ | `activeSubscriptions` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `committedSubscriptions` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `monthlyRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `trialMonthlyRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `committedMonthlyRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `trialCommittedMonthlyRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `averageRevenuePerUser` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `checkouts` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `succeededCheckouts` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `churnedSubscriptions` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `churnRate` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatsTotal` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatsClaimed` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatsPending` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatCustomers` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `newSeatCustomers` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `churnedSeatCustomers` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `orders` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `revenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `netRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | @@ -43,8 +51,12 @@ | `canceledSubscriptionsTooExpensive` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `canceledSubscriptionsUnused` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `canceledSubscriptionsOther` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `annualRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `committedAnnualRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `checkoutsConversion` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `ltv` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `grossMargin` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `grossMarginPercentage` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | -| `cashflow` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `cashflow` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `averageSeatsPerCustomer` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatUtilizationRate` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/MetricsTotals.md b/docs/Models/Components/MetricsTotals.md index 1845e88b..94b5b9a8 100644 --- a/docs/Models/Components/MetricsTotals.md +++ b/docs/Models/Components/MetricsTotals.md @@ -3,48 +3,60 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `activeSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsActiveSubscriptions.md) | :heavy_minus_sign: | N/A | -| `committedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `monthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | -| `committedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | -| `averageRevenuePerUser` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageRevenuePerUser.md) | :heavy_minus_sign: | N/A | -| `checkouts` | [int\|float\|null](../../Models/Components/MetricsTotalsCheckouts.md) | :heavy_minus_sign: | N/A | -| `succeededCheckouts` | [int\|float\|null](../../Models/Components/MetricsTotalsSucceededCheckouts.md) | :heavy_minus_sign: | N/A | -| `churnedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `churnRate` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnRate.md) | :heavy_minus_sign: | N/A | -| `orders` | [int\|float\|null](../../Models/Components/MetricsTotalsOrders.md) | :heavy_minus_sign: | N/A | -| `revenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRevenue.md) | :heavy_minus_sign: | N/A | -| `netRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `cumulativeRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCumulativeRevenue.md) | :heavy_minus_sign: | N/A | -| `netCumulativeRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetCumulativeRevenue.md) | :heavy_minus_sign: | N/A | -| `costs` | [int\|float\|null](../../Models/Components/MetricsTotalsCosts.md) | :heavy_minus_sign: | N/A | -| `cumulativeCosts` | [int\|float\|null](../../Models/Components/MetricsTotalsCumulativeCosts.md) | :heavy_minus_sign: | N/A | -| `averageOrderValue` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageOrderValue.md) | :heavy_minus_sign: | N/A | -| `netAverageOrderValue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetAverageOrderValue.md) | :heavy_minus_sign: | N/A | -| `costPerUser` | [int\|float\|null](../../Models/Components/MetricsTotalsCostPerUser.md) | :heavy_minus_sign: | N/A | -| `activeUserByEvent` | [int\|float\|null](../../Models/Components/MetricsTotalsActiveUserByEvent.md) | :heavy_minus_sign: | N/A | -| `oneTimeProducts` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProducts.md) | :heavy_minus_sign: | N/A | -| `oneTimeProductsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProductsRevenue.md) | :heavy_minus_sign: | N/A | -| `oneTimeProductsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProductsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `newSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptions.md) | :heavy_minus_sign: | N/A | -| `newSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | -| `newSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptions.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsCustomerService` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsCustomerService.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsLowQuality` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsLowQuality.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsMissingFeatures` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsMissingFeatures.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsSwitchedService` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsSwitchedService.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsTooComplex` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsTooComplex.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsTooExpensive` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsTooExpensive.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsUnused` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsUnused.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsOther` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsOther.md) | :heavy_minus_sign: | N/A | -| `checkoutsConversion` | [int\|float\|null](../../Models/Components/MetricsTotalsCheckoutsConversion.md) | :heavy_minus_sign: | N/A | -| `ltv` | [int\|float\|null](../../Models/Components/MetricsTotalsLtv.md) | :heavy_minus_sign: | N/A | -| `grossMargin` | [int\|float\|null](../../Models/Components/MetricsTotalsGrossMargin.md) | :heavy_minus_sign: | N/A | -| `grossMarginPercentage` | [int\|float\|null](../../Models/Components/MetricsTotalsGrossMarginPercentage.md) | :heavy_minus_sign: | N/A | -| `cashflow` | [int\|float\|null](../../Models/Components/MetricsTotalsCashflow.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `activeSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsActiveSubscriptions.md) | :heavy_minus_sign: | N/A | +| `committedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `monthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `trialMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `committedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `trialCommittedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `averageRevenuePerUser` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageRevenuePerUser.md) | :heavy_minus_sign: | N/A | +| `checkouts` | [int\|float\|null](../../Models/Components/MetricsTotalsCheckouts.md) | :heavy_minus_sign: | N/A | +| `succeededCheckouts` | [int\|float\|null](../../Models/Components/MetricsTotalsSucceededCheckouts.md) | :heavy_minus_sign: | N/A | +| `churnedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `churnRate` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnRate.md) | :heavy_minus_sign: | N/A | +| `seatsTotal` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatsTotal.md) | :heavy_minus_sign: | N/A | +| `seatsClaimed` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatsClaimed.md) | :heavy_minus_sign: | N/A | +| `seatsPending` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatsPending.md) | :heavy_minus_sign: | N/A | +| `seatCustomers` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `newSeatCustomers` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `churnedSeatCustomers` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnedSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `orders` | [int\|float\|null](../../Models/Components/MetricsTotalsOrders.md) | :heavy_minus_sign: | N/A | +| `revenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRevenue.md) | :heavy_minus_sign: | N/A | +| `netRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `cumulativeRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCumulativeRevenue.md) | :heavy_minus_sign: | N/A | +| `netCumulativeRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetCumulativeRevenue.md) | :heavy_minus_sign: | N/A | +| `costs` | [int\|float\|null](../../Models/Components/MetricsTotalsCosts.md) | :heavy_minus_sign: | N/A | +| `cumulativeCosts` | [int\|float\|null](../../Models/Components/MetricsTotalsCumulativeCosts.md) | :heavy_minus_sign: | N/A | +| `averageOrderValue` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageOrderValue.md) | :heavy_minus_sign: | N/A | +| `netAverageOrderValue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetAverageOrderValue.md) | :heavy_minus_sign: | N/A | +| `costPerUser` | [int\|float\|null](../../Models/Components/MetricsTotalsCostPerUser.md) | :heavy_minus_sign: | N/A | +| `activeUserByEvent` | [int\|float\|null](../../Models/Components/MetricsTotalsActiveUserByEvent.md) | :heavy_minus_sign: | N/A | +| `oneTimeProducts` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProducts.md) | :heavy_minus_sign: | N/A | +| `oneTimeProductsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProductsRevenue.md) | :heavy_minus_sign: | N/A | +| `oneTimeProductsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProductsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `newSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptions.md) | :heavy_minus_sign: | N/A | +| `newSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | +| `newSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptions.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsCustomerService` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsCustomerService.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsLowQuality` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsLowQuality.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsMissingFeatures` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsMissingFeatures.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsSwitchedService` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsSwitchedService.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsTooComplex` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsTooComplex.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsTooExpensive` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsTooExpensive.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsUnused` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsUnused.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsOther` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsOther.md) | :heavy_minus_sign: | N/A | +| `annualRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsAnnualRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `committedAnnualRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `checkoutsConversion` | [int\|float\|null](../../Models/Components/MetricsTotalsCheckoutsConversion.md) | :heavy_minus_sign: | N/A | +| `ltv` | [int\|float\|null](../../Models/Components/MetricsTotalsLtv.md) | :heavy_minus_sign: | N/A | +| `grossMargin` | [int\|float\|null](../../Models/Components/MetricsTotalsGrossMargin.md) | :heavy_minus_sign: | N/A | +| `grossMarginPercentage` | [int\|float\|null](../../Models/Components/MetricsTotalsGrossMarginPercentage.md) | :heavy_minus_sign: | N/A | +| `cashflow` | [int\|float\|null](../../Models/Components/MetricsTotalsCashflow.md) | :heavy_minus_sign: | N/A | +| `averageSeatsPerCustomer` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageSeatsPerCustomer.md) | :heavy_minus_sign: | N/A | +| `seatUtilizationRate` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatUtilizationRate.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/MetricsTotalsAnnualRecurringRevenue.md b/docs/Models/Components/MetricsTotalsAnnualRecurringRevenue.md new file mode 100644 index 00000000..57e70302 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsAnnualRecurringRevenue.md @@ -0,0 +1,23 @@ +# MetricsTotalsAnnualRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsAverageSeatsPerCustomer.md b/docs/Models/Components/MetricsTotalsAverageSeatsPerCustomer.md new file mode 100644 index 00000000..f4920456 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsAverageSeatsPerCustomer.md @@ -0,0 +1,23 @@ +# MetricsTotalsAverageSeatsPerCustomer + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsChurnedSeatCustomers.md b/docs/Models/Components/MetricsTotalsChurnedSeatCustomers.md new file mode 100644 index 00000000..c52d0e8b --- /dev/null +++ b/docs/Models/Components/MetricsTotalsChurnedSeatCustomers.md @@ -0,0 +1,23 @@ +# MetricsTotalsChurnedSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md b/docs/Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md new file mode 100644 index 00000000..a49dc7af --- /dev/null +++ b/docs/Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md @@ -0,0 +1,23 @@ +# MetricsTotalsCommittedAnnualRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsNewSeatCustomers.md b/docs/Models/Components/MetricsTotalsNewSeatCustomers.md new file mode 100644 index 00000000..d3625222 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsNewSeatCustomers.md @@ -0,0 +1,23 @@ +# MetricsTotalsNewSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatCustomers.md b/docs/Models/Components/MetricsTotalsSeatCustomers.md new file mode 100644 index 00000000..de70edcc --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatCustomers.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatUtilizationRate.md b/docs/Models/Components/MetricsTotalsSeatUtilizationRate.md new file mode 100644 index 00000000..a55b5674 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatUtilizationRate.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatUtilizationRate + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatsClaimed.md b/docs/Models/Components/MetricsTotalsSeatsClaimed.md new file mode 100644 index 00000000..fab67a71 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatsClaimed.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatsClaimed + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatsPending.md b/docs/Models/Components/MetricsTotalsSeatsPending.md new file mode 100644 index 00000000..30c23fa4 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatsPending.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatsPending + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatsTotal.md b/docs/Models/Components/MetricsTotalsSeatsTotal.md new file mode 100644 index 00000000..4b6748b7 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatsTotal.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatsTotal + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md b/docs/Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md new file mode 100644 index 00000000..3b7519a6 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md @@ -0,0 +1,23 @@ +# MetricsTotalsTrialCommittedMonthlyRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md b/docs/Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md new file mode 100644 index 00000000..85c27db2 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md @@ -0,0 +1,23 @@ +# MetricsTotalsTrialMonthlyRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/NewSeatCustomers.md b/docs/Models/Components/NewSeatCustomers.md new file mode 100644 index 00000000..b6b2b0aa --- /dev/null +++ b/docs/Models/Components/NewSeatCustomers.md @@ -0,0 +1,23 @@ +# NewSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/Order.md b/docs/Models/Components/Order.md index 25eef8df..96e8107d 100644 --- a/docs/Models/Components/Order.md +++ b/docs/Models/Components/Order.md @@ -23,8 +23,9 @@ | `billingReason` | [Components\OrderBillingReason](../../Models/Components/OrderBillingReason.md) | :heavy_check_mark: | N/A | | | `billingName` | *string* | :heavy_check_mark: | The name of the customer that should appear on the invoice. | | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | -| `invoiceNumber` | *string* | :heavy_check_mark: | The invoice number associated with this order. | | +| `invoiceNumber` | *string* | :heavy_check_mark: | The invoice number associated with this order. `null` while the order is in `draft` status; assigned at finalize. | | | `isInvoiceGenerated` | *bool* | :heavy_check_mark: | Whether an invoice has been generated for this order. | | +| `receiptNumber` | *string* | :heavy_check_mark: | The receipt number for this order. Set once the order is paid for organizations with receipts enabled. When set, a downloadable receipt PDF can be obtained via the receipt endpoint. | | | `seats` | *?int* | :heavy_minus_sign: | Number of seats purchased (for seat-based one-time orders). | | | `customerId` | *string* | :heavy_check_mark: | N/A | | | `productId` | *string* | :heavy_check_mark: | N/A | | @@ -40,4 +41,6 @@ | `discount` | [Components\DiscountFixedOnceForeverDurationBase\|Components\DiscountFixedRepeatDurationBase\|Components\DiscountPercentageOnceForeverDurationBase\|Components\DiscountPercentageRepeatDurationBase](../../Models/Components/OrderDiscount.md) | :heavy_check_mark: | N/A | | | `subscription` | [Components\OrderSubscription](../../Models/Components/OrderSubscription.md) | :heavy_check_mark: | N/A | | | `items` | array<[Components\OrderItemSchema](../../Models/Components/OrderItemSchema.md)> | :heavy_check_mark: | Line items composing the order. | | -| `description` | *string* | :heavy_check_mark: | A summary description of the order. | Pro Plan | \ No newline at end of file +| `description` | *string* | :heavy_check_mark: | A summary description of the order. | Pro Plan | +| `refundableAmount` | *int* | :heavy_check_mark: | Amount in cents that can still be refunded (net, before taxes). Accounts for any applied customer balance and previous refunds. | 9000 | +| `refundableTaxAmount` | *int* | :heavy_check_mark: | Sales tax in cents that would be refunded if the full refundable amount is refunded. | 720 | \ No newline at end of file diff --git a/docs/Models/Components/DiscountPercentageOnceForeverDurationCreate.md b/docs/Models/Components/OrderCreate.md similarity index 65% rename from docs/Models/Components/DiscountPercentageOnceForeverDurationCreate.md rename to docs/Models/Components/OrderCreate.md index a9bc79e9..8143873b 100644 --- a/docs/Models/Components/DiscountPercentageOnceForeverDurationCreate.md +++ b/docs/Models/Components/OrderCreate.md @@ -1,20 +1,17 @@ -# DiscountPercentageOnceForeverDurationCreate +# OrderCreate -Schema to create a percentage discount that is applied once or forever. +Schema to create a draft order for an off-session charge. ## Fields | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | -| `type` | [Components\DiscountType](../../Models/Components/DiscountType.md) | :heavy_check_mark: | N/A | | -| `basisPoints` | *int* | :heavy_check_mark: | Discount percentage in basis points.

A basis point is 1/100th of a percent.
For example, to create a 25.5% discount, set this to 2550. | | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | -| `name` | *string* | :heavy_check_mark: | Name of the discount. Will be displayed to the customer when the discount is applied. | | -| `code` | *?string* | :heavy_minus_sign: | Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. | | -| `startsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is redeemable. | | -| `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is no longer redeemable. | | -| `maxRedemptions` | *?int* | :heavy_minus_sign: | Optional maximum number of times the discount can be redeemed. | | -| `products` | array<*string*> | :heavy_minus_sign: | N/A | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file +| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | +| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization the order belongs to. **Required unless you use an organization token.** The customer and product must belong to this organization. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | The ID of the customer the order is for. Must belong to the order's organization. | | +| `productId` | *string* | :heavy_check_mark: | The ID of the one-time product to charge for. Must belong to the order's organization. Only fixed-price and free products are supported. | | +| `currency` | *?string* | :heavy_minus_sign: | The currency to charge in (ISO 4217, lowercase, e.g. `usd`). Defaults to the organization's default currency; specify it to force a different one, or when the product isn't priced in the organization's default currency. | | +| `amount` | *?int* | :heavy_minus_sign: | A custom amount to charge, in the smallest currency unit. Overrides the product's price; defaults to the product's configured price (0 for free products). A positive amount must be at least the currency's minimum. | | +| `description` | *?string* | :heavy_minus_sign: | A custom description for the order's line item, shown on the invoice and receipt (e.g. `5,000 tokens`). Defaults to the product name. | | \ No newline at end of file diff --git a/docs/Models/Components/DiscountPercentageOnceForeverDurationCreateMetadata.md b/docs/Models/Components/OrderCreateCustomFieldData.md similarity index 70% rename from docs/Models/Components/DiscountPercentageOnceForeverDurationCreateMetadata.md rename to docs/Models/Components/OrderCreateCustomFieldData.md index f41e2bd0..26d60750 100644 --- a/docs/Models/Components/DiscountPercentageOnceForeverDurationCreateMetadata.md +++ b/docs/Models/Components/OrderCreateCustomFieldData.md @@ -1,4 +1,4 @@ -# DiscountPercentageOnceForeverDurationCreateMetadata +# OrderCreateCustomFieldData ## Supported Types @@ -21,21 +21,21 @@ string $value = /* values here */ int $value = /* values here */ ``` -### `float` +### `bool` ```php /** -* @var float +* @var bool */ -float $value = /* values here */ +bool $value = /* values here */ ``` -### `bool` +### `\DateTime` ```php /** -* @var bool +* @var \DateTime */ -bool $value = /* values here */ +\DateTime $value = /* values here */ ``` diff --git a/docs/Models/Components/DiscountPercentageRepeatDurationCreateMetadata.md b/docs/Models/Components/OrderCreateMetadata.md similarity index 87% rename from docs/Models/Components/DiscountPercentageRepeatDurationCreateMetadata.md rename to docs/Models/Components/OrderCreateMetadata.md index c3bfcb1b..3248775d 100644 --- a/docs/Models/Components/DiscountPercentageRepeatDurationCreateMetadata.md +++ b/docs/Models/Components/OrderCreateMetadata.md @@ -1,4 +1,4 @@ -# DiscountPercentageRepeatDurationCreateMetadata +# OrderCreateMetadata ## Supported Types diff --git a/docs/Models/Components/OrderCustomer.md b/docs/Models/Components/OrderCustomer.md index 3ffeaa11..54e3f36c 100644 --- a/docs/Models/Components/OrderCustomer.md +++ b/docs/Models/Components/OrderCustomer.md @@ -18,5 +18,6 @@ | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/OrderCustomerTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/OrderFinalize.md b/docs/Models/Components/OrderFinalize.md new file mode 100644 index 00000000..ebbabb88 --- /dev/null +++ b/docs/Models/Components/OrderFinalize.md @@ -0,0 +1,10 @@ +# OrderFinalize + +Schema to finalize a draft order and trigger an off-session charge. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `paymentMethodId` | *?string* | :heavy_minus_sign: | ID of the payment method to charge. Must belong to the order's customer. Falls back to the customer's default payment method when unset. | \ No newline at end of file diff --git a/docs/Models/Components/OrderReceipt.md b/docs/Models/Components/OrderReceipt.md new file mode 100644 index 00000000..26a2564e --- /dev/null +++ b/docs/Models/Components/OrderReceipt.md @@ -0,0 +1,10 @@ +# OrderReceipt + +Order's receipt data. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------- | --------------------------- | --------------------------- | --------------------------- | +| `url` | *string* | :heavy_check_mark: | The URL to the receipt PDF. | \ No newline at end of file diff --git a/docs/Models/Components/OrderStatus.md b/docs/Models/Components/OrderStatus.md index 25ad2217..fae69ae1 100644 --- a/docs/Models/Components/OrderStatus.md +++ b/docs/Models/Components/OrderStatus.md @@ -5,6 +5,7 @@ | Name | Value | | ------------------- | ------------------- | +| `Draft` | draft | | `Pending` | pending | | `Paid` | paid | | `Refunded` | refunded | diff --git a/docs/Models/Components/Organization.md b/docs/Models/Components/Organization.md index 2426731d..72f743b0 100644 --- a/docs/Models/Components/Organization.md +++ b/docs/Models/Components/Organization.md @@ -25,4 +25,7 @@ | `notificationSettings` | [Components\OrganizationNotificationSettings](../../Models/Components/OrganizationNotificationSettings.md) | :heavy_check_mark: | N/A | | `customerEmailSettings` | [Components\OrganizationCustomerEmailSettings](../../Models/Components/OrganizationCustomerEmailSettings.md) | :heavy_check_mark: | N/A | | `customerPortalSettings` | [Components\OrganizationCustomerPortalSettings](../../Models/Components/OrganizationCustomerPortalSettings.md) | :heavy_check_mark: | N/A | -| `country` | [?Components\CountryAlpha2](../../Models/Components/CountryAlpha2.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | \ No newline at end of file +| `country` | [?Components\CountryAlpha2](../../Models/Components/CountryAlpha2.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | +| `accountId` | *string* | :heavy_check_mark: | ID of the transactions account. | +| `payoutAccountId` | *string* | :heavy_check_mark: | ID of the payout account. | +| `capabilities` | [Components\OrganizationCapabilities](../../Models/Components/OrganizationCapabilities.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationCapabilities.md b/docs/Models/Components/OrganizationCapabilities.md new file mode 100644 index 00000000..7bf1bdb7 --- /dev/null +++ b/docs/Models/Components/OrganizationCapabilities.md @@ -0,0 +1,13 @@ +# OrganizationCapabilities + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `checkoutPayments` | *bool* | :heavy_check_mark: | Whether the organization can accept new checkout payments. | +| `subscriptionRenewals` | *bool* | :heavy_check_mark: | Whether the organization can process subscription renewals. | +| `payouts` | *bool* | :heavy_check_mark: | Whether the organization can withdraw its balance. | +| `refunds` | *bool* | :heavy_check_mark: | Whether the organization can issue refunds. | +| `apiAccess` | *bool* | :heavy_check_mark: | Whether the organization can access the API. | +| `dashboardAccess` | *bool* | :heavy_check_mark: | Whether the organization can access the dashboard. | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationCustomerPortalSettings.md b/docs/Models/Components/OrganizationCustomerPortalSettings.md index 65f06a86..86fd5cbc 100644 --- a/docs/Models/Components/OrganizationCustomerPortalSettings.md +++ b/docs/Models/Components/OrganizationCustomerPortalSettings.md @@ -6,4 +6,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | | `usage` | [Components\CustomerPortalUsageSettings](../../Models/Components/CustomerPortalUsageSettings.md) | :heavy_check_mark: | N/A | -| `subscription` | [Components\CustomerPortalSubscriptionSettings](../../Models/Components/CustomerPortalSubscriptionSettings.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `subscription` | [Components\CustomerPortalSubscriptionSettings](../../Models/Components/CustomerPortalSubscriptionSettings.md) | :heavy_check_mark: | N/A | +| `customer` | [?Components\CustomerPortalCustomerSettings](../../Models/Components/CustomerPortalCustomerSettings.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationFeatureSettings.md b/docs/Models/Components/OrganizationFeatureSettings.md index a1501731..2bd9d150 100644 --- a/docs/Models/Components/OrganizationFeatureSettings.md +++ b/docs/Models/Components/OrganizationFeatureSettings.md @@ -3,14 +3,15 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `issueFundingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has issue funding enabled | -| `seatBasedPricingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has seat-based pricing enabled | -| `revopsEnabled` | *?bool* | :heavy_minus_sign: | If this organization has RevOps enabled | -| `walletsEnabled` | *?bool* | :heavy_minus_sign: | If this organization has Wallets enabled | -| `memberModelEnabled` | *?bool* | :heavy_minus_sign: | If this organization has the Member model enabled | -| `tinybirdRead` | *?bool* | :heavy_minus_sign: | If this organization reads from Tinybird | -| `tinybirdCompare` | *?bool* | :heavy_minus_sign: | If this organization compares Tinybird results with database | -| `checkoutLocalizationEnabled` | *?bool* | :heavy_minus_sign: | If this organization has checkout localization enabled | -| `overviewMetrics` | array<*string*> | :heavy_minus_sign: | Ordered list of metric slugs shown on the dashboard overview. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `issueFundingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has issue funding enabled | +| `seatBasedPricingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has seat-based pricing enabled | +| `walletsEnabled` | *?bool* | :heavy_minus_sign: | If this organization has Wallets enabled | +| `memberModelEnabled` | *?bool* | :heavy_minus_sign: | If this organization has the Member model enabled | +| `checkoutLocalizationEnabled` | *?bool* | :heavy_minus_sign: | If this organization has checkout localization enabled | +| `accountReviewV2Enabled` | *?bool* | :heavy_minus_sign: | If this organization sees the new account review checklist UI. | +| `overviewMetrics` | array<*string*> | :heavy_minus_sign: | Ordered list of metric slugs shown on the dashboard overview. | +| `resetProrationBehaviorEnabled` | *?bool* | :heavy_minus_sign: | If this organization has access to reset proration behavior. | +| `offSessionChargesEnabled` | *?bool* | :heavy_minus_sign: | If this organization can create and finalize draft orders via the API (off-session charges against a saved payment method). | +| `billingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has billing enabled | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationStatus.md b/docs/Models/Components/OrganizationStatus.md index 20e9730a..44e752e2 100644 --- a/docs/Models/Components/OrganizationStatus.md +++ b/docs/Models/Components/OrganizationStatus.md @@ -3,11 +3,12 @@ ## Values -| Name | Value | -| ------------------- | ------------------- | -| `Created` | created | -| `OnboardingStarted` | onboarding_started | -| `InitialReview` | initial_review | -| `OngoingReview` | ongoing_review | -| `Denied` | denied | -| `Active` | active | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `Created` | created | +| `Review` | review | +| `Snoozed` | snoozed | +| `Denied` | denied | +| `Active` | active | +| `Blocked` | blocked | +| `Offboarding` | offboarding | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationSubscriptionSettings.md b/docs/Models/Components/OrganizationSubscriptionSettings.md index ecb5636f..81de9a58 100644 --- a/docs/Models/Components/OrganizationSubscriptionSettings.md +++ b/docs/Models/Components/OrganizationSubscriptionSettings.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `allowMultipleSubscriptions` | *bool* | :heavy_check_mark: | N/A | -| `allowCustomerUpdates` | *bool* | :heavy_check_mark: | N/A | -| `prorationBehavior` | [Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_check_mark: | N/A | -| `benefitRevocationGracePeriod` | *int* | :heavy_check_mark: | N/A | -| `preventTrialAbuse` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `allowMultipleSubscriptions` | *bool* | :heavy_check_mark: | N/A | +| `prorationBehavior` | [Components\PublicSubscriptionProrationBehavior](../../Models/Components/PublicSubscriptionProrationBehavior.md) | :heavy_check_mark: | N/A | +| `benefitRevocationGracePeriod` | *int* | :heavy_check_mark: | N/A | +| `preventTrialAbuse` | *bool* | :heavy_check_mark: | N/A | +| `allowCustomerUpdates` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/PaymentMethod.md b/docs/Models/Components/PaymentMethod.md new file mode 100644 index 00000000..ab5a21e1 --- /dev/null +++ b/docs/Models/Components/PaymentMethod.md @@ -0,0 +1,23 @@ +# PaymentMethod + + +## Supported Types + +### `Components\CustomerPaymentMethodCard` + +```php +/** +* @var \Polar\Models\Components\CustomerPaymentMethodCard +*/ +Components\CustomerPaymentMethodCard $value = /* values here */ +``` + +### `Components\CustomerPaymentMethodGeneric` + +```php +/** +* @var \Polar\Models\Components\CustomerPaymentMethodGeneric +*/ +Components\CustomerPaymentMethodGeneric $value = /* values here */ +``` + diff --git a/docs/Models/Components/PresentmentCurrency.md b/docs/Models/Components/PresentmentCurrency.md index 2df6f4ea..b7c0edaf 100644 --- a/docs/Models/Components/PresentmentCurrency.md +++ b/docs/Models/Components/PresentmentCurrency.md @@ -6,38 +6,128 @@ | Name | Value | | ----- | ----- | | `Aed` | aed | +| `All` | all | +| `Amd` | amd | +| `Aoa` | aoa | | `Ars` | ars | | `Aud` | aud | +| `Awg` | awg | +| `Azn` | azn | +| `Bam` | bam | +| `Bbd` | bbd | +| `Bdt` | bdt | +| `Bif` | bif | +| `Bmd` | bmd | +| `Bnd` | bnd | +| `Bob` | bob | | `Brl` | brl | +| `Bsd` | bsd | +| `Bwp` | bwp | +| `Bzd` | bzd | | `Cad` | cad | +| `Cdf` | cdf | | `Chf` | chf | | `Clp` | clp | | `Cny` | cny | | `Cop` | cop | +| `Crc` | crc | +| `Cve` | cve | | `Czk` | czk | +| `Djf` | djf | | `Dkk` | dkk | +| `Dop` | dop | +| `Dzd` | dzd | +| `Egp` | egp | +| `Etb` | etb | | `Eur` | eur | +| `Fjd` | fjd | +| `Fkp` | fkp | | `Gbp` | gbp | +| `Gel` | gel | +| `Gip` | gip | +| `Gmd` | gmd | +| `Gnf` | gnf | +| `Gtq` | gtq | +| `Gyd` | gyd | | `Hkd` | hkd | +| `Hnl` | hnl | +| `Htg` | htg | | `Huf` | huf | | `Idr` | idr | | `Ils` | ils | | `Inr` | inr | +| `Isk` | isk | +| `Jmd` | jmd | | `Jpy` | jpy | +| `Kes` | kes | +| `Kgs` | kgs | +| `Khr` | khr | +| `Kmf` | kmf | | `Krw` | krw | +| `Kyd` | kyd | +| `Kzt` | kzt | +| `Lak` | lak | +| `Lkr` | lkr | +| `Lrd` | lrd | +| `Lsl` | lsl | +| `Mad` | mad | +| `Mdl` | mdl | +| `Mga` | mga | +| `Mkd` | mkd | +| `Mnt` | mnt | +| `Mop` | mop | +| `Mur` | mur | +| `Mvr` | mvr | +| `Mwk` | mwk | | `Mxn` | mxn | | `Myr` | myr | +| `Mzn` | mzn | +| `Nad` | nad | +| `Ngn` | ngn | +| `Nio` | nio | | `Nok` | nok | +| `Npr` | npr | | `Nzd` | nzd | +| `Pab` | pab | | `Pen` | pen | +| `Pgk` | pgk | | `Php` | php | +| `Pkr` | pkr | | `Pln` | pln | +| `Pyg` | pyg | +| `Qar` | qar | | `Ron` | ron | +| `Rsd` | rsd | +| `Rwf` | rwf | | `Sar` | sar | +| `Sbd` | sbd | +| `Scr` | scr | | `Sek` | sek | | `Sgd` | sgd | +| `Shp` | shp | +| `Sos` | sos | +| `Srd` | srd | +| `Szl` | szl | | `Thb` | thb | +| `Tjs` | tjs | +| `Top` | top | | `Try` | try | +| `Ttd` | ttd | | `Twd` | twd | +| `Tzs` | tzs | +| `Uah` | uah | +| `Ugx` | ugx | | `Usd` | usd | -| `Zar` | zar | \ No newline at end of file +| `Uyu` | uyu | +| `Uzs` | uzs | +| `Vnd` | vnd | +| `Vuv` | vuv | +| `Wst` | wst | +| `Xaf` | xaf | +| `Xcd` | xcd | +| `Xcg` | xcg | +| `Xof` | xof | +| `Xpf` | xpf | +| `Yer` | yer | +| `Zar` | zar | +| `Zmw` | zmw | \ No newline at end of file diff --git a/docs/Models/Components/ProductPriceCustom.md b/docs/Models/Components/ProductPriceCustom.md index 68fb659a..1168e320 100644 --- a/docs/Models/Components/ProductPriceCustom.md +++ b/docs/Models/Components/ProductPriceCustom.md @@ -5,17 +5,17 @@ A pay-what-you-want price for a product. ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the price. | -| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | -| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | -| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | -| `minimumAmount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. | -| `maximumAmount` | *int* | :heavy_check_mark: | The maximum amount the customer can pay. | -| `presetAmount` | *int* | :heavy_check_mark: | The initial amount shown to the customer. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `id` | *string* | :heavy_check_mark: | The ID of the price. | +| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | +| `amountType` | *string* | :heavy_check_mark: | N/A | +| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | +| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | +| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | +| `minimumAmount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. | +| `maximumAmount` | *int* | :heavy_check_mark: | The maximum amount the customer can pay. | +| `presetAmount` | *int* | :heavy_check_mark: | The initial amount shown to the customer. | \ No newline at end of file diff --git a/docs/Models/Components/ProductPriceCustomCreate.md b/docs/Models/Components/ProductPriceCustomCreate.md index e0dbad06..cbad22a0 100644 --- a/docs/Models/Components/ProductPriceCustomCreate.md +++ b/docs/Models/Components/ProductPriceCustomCreate.md @@ -5,11 +5,11 @@ Schema to create a pay-what-you-want price. ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | -| `taxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | -| `minimumAmount` | *?int* | :heavy_minus_sign: | The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value between 1-49, it will be rejected. Defaults to 50 cents. | -| `maximumAmount` | *?int* | :heavy_minus_sign: | The maximum amount the customer can pay. | -| `presetAmount` | *?int* | :heavy_minus_sign: | The initial amount shown to the customer. If 0, the customer will see $0 as the default. Values between 1-49 are rejected. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `amountType` | *string* | :heavy_check_mark: | N/A | +| `priceCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | +| `taxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | +| `minimumAmount` | *?int* | :heavy_minus_sign: | The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value below the minimum price amount for the currency, it will be rejected. Defaults to the minimum price amount for the currency. Minimum per currency:
- USD: 0.5
- AED: 2
- ALL: 50
- AMD: 200
- AOA: 500
- ARS: 750
- AUD: 0.7
- AWG: 1
- AZN: 1
- BAM: 1
- BBD: 2
- BDT: 70
- BIF: 2,000
- BMD: 1
- BND: 1
- BOB: 5
- BRL: 2.5
- BSD: 1
- BWP: 10
- BZD: 2
- CAD: 0.7
- CDF: 2,000
- CHF: 0.5
- CLP: 500
- CNY: 5
- COP: 2,000
- CRC: 300
- CVE: 50
- CZK: 15
- DJF: 100
- DKK: 3.2
- DOP: 40
- DZD: 70
- EGP: 30
- ETB: 80
- EUR: 0.5
- FJD: 2
- FKP: 1
- GBP: 0.4
- GEL: 2
- GNF: 5,000
- GIP: 1
- GMD: 40
- GTQ: 5
- GYD: 200
- HKD: 4
- HNL: 20
- HTG: 70
- HUF: 175
- IDR: 9,000
- ILS: 1.5
- INR: 60
- ISK: 70
- JMD: 80
- JPY: 80
- KES: 70
- KGS: 50
- KHR: 3,000
- KMF: 500
- KRW: 800
- KYD: 1
- KZT: 300
- LAK: 20,000
- LKR: 200
- LRD: 100
- LSL: 10
- MAD: 5
- MDL: 10
- MGA: 3,000
- MKD: 50
- MNT: 2,000
- MOP: 5
- MUR: 50
- MVR: 8
- MXN: 9
- MWK: 1,000
- MYR: 2
- MZN: 50
- NAD: 10
- NGN: 700
- NIO: 20
- NOK: 5
- NPR: 80
- NZD: 0.9
- PAB: 1
- PEN: 2
- PGK: 3
- PHP: 35
- PKR: 200
- PLN: 2
- PYG: 4,000
- QAR: 2
- RON: 2.5
- RSD: 60
- RWF: 1,000
- SAR: 2
- SBD: 4
- SCR: 8
- SEK: 5
- SGD: 0.7
- SHP: 1
- SOS: 500
- SRD: 20
- SZL: 10
- THB: 20
- TJS: 5
- TOP: 2
- TRY: 30
- TTD: 4
- TWD: 20
- TZS: 2,000
- UAH: 30
- UGX: 2,000
- UYU: 20
- UZS: 7,000
- VND: 20,000
- VUV: 100
- WST: 2
- XAF: 500
- XCD: 2
- XCG: 1
- XOF: 500
- XPF: 100
- YER: 200
- ZAR: 9
- ZMW: 10
- Other currencies: 50 minor units | +| `maximumAmount` | *?int* | :heavy_minus_sign: | The maximum amount the customer can pay. Maximum per currency:
- USD: 999,999.99
- EUR: 999,999.99
- GBP: 999,999.99
- ARS: 1,400,000
- CDF: 2,800,000
- COP: 4,000,000
- IDR: 16,000,000
- KHR: 4,000,000
- LAK: 21,000,000
- MNT: 3,500,000
- MWK: 1,750,000
- NGN: 1,550,000
- TZS: 2,500,000
- UGX: 3,700,000
- UZS: 12,500,000
- Other currencies: 99,999,999 minor units | +| `presetAmount` | *?int* | :heavy_minus_sign: | The initial amount shown to the customer. If 0, the customer will see $0 as the default. If set to a value below the minimum price amount for the currency, it will be rejected.Minimum per currency:
- USD: 0.5
- AED: 2
- ALL: 50
- AMD: 200
- AOA: 500
- ARS: 750
- AUD: 0.7
- AWG: 1
- AZN: 1
- BAM: 1
- BBD: 2
- BDT: 70
- BIF: 2,000
- BMD: 1
- BND: 1
- BOB: 5
- BRL: 2.5
- BSD: 1
- BWP: 10
- BZD: 2
- CAD: 0.7
- CDF: 2,000
- CHF: 0.5
- CLP: 500
- CNY: 5
- COP: 2,000
- CRC: 300
- CVE: 50
- CZK: 15
- DJF: 100
- DKK: 3.2
- DOP: 40
- DZD: 70
- EGP: 30
- ETB: 80
- EUR: 0.5
- FJD: 2
- FKP: 1
- GBP: 0.4
- GEL: 2
- GNF: 5,000
- GIP: 1
- GMD: 40
- GTQ: 5
- GYD: 200
- HKD: 4
- HNL: 20
- HTG: 70
- HUF: 175
- IDR: 9,000
- ILS: 1.5
- INR: 60
- ISK: 70
- JMD: 80
- JPY: 80
- KES: 70
- KGS: 50
- KHR: 3,000
- KMF: 500
- KRW: 800
- KYD: 1
- KZT: 300
- LAK: 20,000
- LKR: 200
- LRD: 100
- LSL: 10
- MAD: 5
- MDL: 10
- MGA: 3,000
- MKD: 50
- MNT: 2,000
- MOP: 5
- MUR: 50
- MVR: 8
- MXN: 9
- MWK: 1,000
- MYR: 2
- MZN: 50
- NAD: 10
- NGN: 700
- NIO: 20
- NOK: 5
- NPR: 80
- NZD: 0.9
- PAB: 1
- PEN: 2
- PGK: 3
- PHP: 35
- PKR: 200
- PLN: 2
- PYG: 4,000
- QAR: 2
- RON: 2.5
- RSD: 60
- RWF: 1,000
- SAR: 2
- SBD: 4
- SCR: 8
- SEK: 5
- SGD: 0.7
- SHP: 1
- SOS: 500
- SRD: 20
- SZL: 10
- THB: 20
- TJS: 5
- TOP: 2
- TRY: 30
- TTD: 4
- TWD: 20
- TZS: 2,000
- UAH: 30
- UGX: 2,000
- UYU: 20
- UZS: 7,000
- VND: 20,000
- VUV: 100
- WST: 2
- XAF: 500
- XCD: 2
- XCG: 1
- XOF: 500
- XPF: 100
- YER: 200
- ZAR: 9
- ZMW: 10
- Other currencies: 50 minor units | \ No newline at end of file diff --git a/docs/Models/Components/ProductPriceFixedCreate.md b/docs/Models/Components/ProductPriceFixedCreate.md index a64ae0b4..995d3658 100644 --- a/docs/Models/Components/ProductPriceFixedCreate.md +++ b/docs/Models/Components/ProductPriceFixedCreate.md @@ -5,9 +5,9 @@ Schema to create a fixed price. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | -| `taxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | -| `priceAmount` | *int* | :heavy_check_mark: | The price in cents.
Minimum amounts per currency:
- USD: $0.50
- AED: AED2.00
- ARS: ARS0.50
- AUD: A$0.50
- BRL: R$0.50
- CAD: CA$0.50
- CHF: CHF0.50
- COP: COP0.50
- CZK: CZK15.00
- DKK: DKK2.50
- EUR: €0.50
- GBP: £0.30
- HKD: HK$4.00
- HUF: HUF175.00
- IDR: IDR0.50
- ILS: ₪0.50
- INR: ₹60.00
- JPY: ¥50
- KRW: ₩50
- MXN: MX$0.10
- MYR: MYR2.00
- NOK: NOK3.00
- NZD: NZ$0.50
- PHP: ₱0.50
- PLN: PLN2.00
- RON: RON2.00
- RUB: RUB0.50
- SEK: SEK3.00
- SGD: SGD0.50
- THB: THB0.10
- ZAR: ZAR0.50 | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `amountType` | *string* | :heavy_check_mark: | N/A | +| `priceCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | +| `taxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | +| `priceAmount` | *int* | :heavy_check_mark: | The price in cents.
Minimum amounts per currency:
- USD: 0.5
- AED: 2
- ALL: 50
- AMD: 200
- AOA: 500
- ARS: 750
- AUD: 0.7
- AWG: 1
- AZN: 1
- BAM: 1
- BBD: 2
- BDT: 70
- BIF: 2,000
- BMD: 1
- BND: 1
- BOB: 5
- BRL: 2.5
- BSD: 1
- BWP: 10
- BZD: 2
- CAD: 0.7
- CDF: 2,000
- CHF: 0.5
- CLP: 500
- CNY: 5
- COP: 2,000
- CRC: 300
- CVE: 50
- CZK: 15
- DJF: 100
- DKK: 3.2
- DOP: 40
- DZD: 70
- EGP: 30
- ETB: 80
- EUR: 0.5
- FJD: 2
- FKP: 1
- GBP: 0.4
- GEL: 2
- GNF: 5,000
- GIP: 1
- GMD: 40
- GTQ: 5
- GYD: 200
- HKD: 4
- HNL: 20
- HTG: 70
- HUF: 175
- IDR: 9,000
- ILS: 1.5
- INR: 60
- ISK: 70
- JMD: 80
- JPY: 80
- KES: 70
- KGS: 50
- KHR: 3,000
- KMF: 500
- KRW: 800
- KYD: 1
- KZT: 300
- LAK: 20,000
- LKR: 200
- LRD: 100
- LSL: 10
- MAD: 5
- MDL: 10
- MGA: 3,000
- MKD: 50
- MNT: 2,000
- MOP: 5
- MUR: 50
- MVR: 8
- MXN: 9
- MWK: 1,000
- MYR: 2
- MZN: 50
- NAD: 10
- NGN: 700
- NIO: 20
- NOK: 5
- NPR: 80
- NZD: 0.9
- PAB: 1
- PEN: 2
- PGK: 3
- PHP: 35
- PKR: 200
- PLN: 2
- PYG: 4,000
- QAR: 2
- RON: 2.5
- RSD: 60
- RWF: 1,000
- SAR: 2
- SBD: 4
- SCR: 8
- SEK: 5
- SGD: 0.7
- SHP: 1
- SOS: 500
- SRD: 20
- SZL: 10
- THB: 20
- TJS: 5
- TOP: 2
- TRY: 30
- TTD: 4
- TWD: 20
- TZS: 2,000
- UAH: 30
- UGX: 2,000
- UYU: 20
- UZS: 7,000
- VND: 20,000
- VUV: 100
- WST: 2
- XAF: 500
- XCD: 2
- XCG: 1
- XOF: 500
- XPF: 100
- YER: 200
- ZAR: 9
- ZMW: 10
- Other currencies: 50 minor units | \ No newline at end of file diff --git a/docs/Models/Components/ProductPriceMeter.md b/docs/Models/Components/ProductPriceMeter.md index 57bd5eb2..639fc9e1 100644 --- a/docs/Models/Components/ProductPriceMeter.md +++ b/docs/Models/Components/ProductPriceMeter.md @@ -5,7 +5,10 @@ A meter associated to a metered price. ## Fields -| Field | Type | Required | Description | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `name` | *string* | :heavy_check_mark: | The name of the meter. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `name` | *string* | :heavy_check_mark: | The name of the meter. | +| `unit` | [Components\MeterUnit](../../Models/Components/MeterUnit.md) | :heavy_check_mark: | N/A | +| `customLabel` | *?string* | :heavy_minus_sign: | The label for the custom unit. | +| `customMultiplier` | *?int* | :heavy_minus_sign: | The multiplier to convert from base unit to display scale. | \ No newline at end of file diff --git a/docs/Models/Components/PublicSubscriptionProrationBehavior.md b/docs/Models/Components/PublicSubscriptionProrationBehavior.md new file mode 100644 index 00000000..c0a1d27c --- /dev/null +++ b/docs/Models/Components/PublicSubscriptionProrationBehavior.md @@ -0,0 +1,10 @@ +# PublicSubscriptionProrationBehavior + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Invoice` | invoice | +| `Prorate` | prorate | +| `NextPeriod` | next_period | \ No newline at end of file diff --git a/docs/Models/Components/Role.md b/docs/Models/Components/Role.md new file mode 100644 index 00000000..0d9375ba --- /dev/null +++ b/docs/Models/Components/Role.md @@ -0,0 +1,11 @@ +# Role + +The role of the member within the customer. To assign or transfer ownership, use the member update endpoint. + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `Member` | member | +| `BillingManager` | billing_manager | \ No newline at end of file diff --git a/docs/Models/Components/Scope.md b/docs/Models/Components/Scope.md index 9a4e9c58..d8a6b364 100644 --- a/docs/Models/Components/Scope.md +++ b/docs/Models/Components/Scope.md @@ -10,8 +10,6 @@ | `Email` | email | | `UserRead` | user:read | | `UserWrite` | user:write | -| `WebRead` | web:read | -| `WebWrite` | web:write | | `OrganizationsRead` | organizations:read | | `OrganizationsWrite` | organizations:write | | `CustomFieldsRead` | custom_fields:read | diff --git a/docs/Models/Components/SeatAssign.md b/docs/Models/Components/SeatAssign.md index 174b4ec6..02b785ea 100644 --- a/docs/Models/Components/SeatAssign.md +++ b/docs/Models/Components/SeatAssign.md @@ -5,9 +5,8 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| `subscriptionId` | *?string* | :heavy_minus_sign: | Subscription ID. Required if checkout_id and order_id are not provided. | -| `checkoutId` | *?string* | :heavy_minus_sign: | Checkout ID. Used to look up subscription or order from the checkout page. | -| `orderId` | *?string* | :heavy_minus_sign: | Order ID for one-time purchases. Required if subscription_id and checkout_id are not provided. | +| `subscriptionId` | *?string* | :heavy_minus_sign: | Subscription ID. Required if neither order_id nor checkout_id is provided. | +| `orderId` | *?string* | :heavy_minus_sign: | Order ID for one-time purchases. Required if subscription_id is not provided. | | `email` | *?string* | :heavy_minus_sign: | Email of the customer to assign the seat to | | `externalCustomerId` | *?string* | :heavy_minus_sign: | External customer ID for the seat assignment | | `customerId` | *?string* | :heavy_minus_sign: | Customer ID for the seat assignment | diff --git a/docs/Models/Components/SeatCustomers.md b/docs/Models/Components/SeatCustomers.md new file mode 100644 index 00000000..770acdd1 --- /dev/null +++ b/docs/Models/Components/SeatCustomers.md @@ -0,0 +1,23 @@ +# SeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/SeatUtilizationRate.md b/docs/Models/Components/SeatUtilizationRate.md new file mode 100644 index 00000000..61108d5d --- /dev/null +++ b/docs/Models/Components/SeatUtilizationRate.md @@ -0,0 +1,23 @@ +# SeatUtilizationRate + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/SeatsClaimed.md b/docs/Models/Components/SeatsClaimed.md new file mode 100644 index 00000000..85ffa25d --- /dev/null +++ b/docs/Models/Components/SeatsClaimed.md @@ -0,0 +1,23 @@ +# SeatsClaimed + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/SeatsPending.md b/docs/Models/Components/SeatsPending.md new file mode 100644 index 00000000..544c59d4 --- /dev/null +++ b/docs/Models/Components/SeatsPending.md @@ -0,0 +1,23 @@ +# SeatsPending + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/SeatsTotal.md b/docs/Models/Components/SeatsTotal.md new file mode 100644 index 00000000..0b1937c1 --- /dev/null +++ b/docs/Models/Components/SeatsTotal.md @@ -0,0 +1,23 @@ +# SeatsTotal + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/SubscriptionCustomer.md b/docs/Models/Components/SubscriptionCustomer.md index 3bb37afb..89f6663e 100644 --- a/docs/Models/Components/SubscriptionCustomer.md +++ b/docs/Models/Components/SubscriptionCustomer.md @@ -18,5 +18,6 @@ | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/TaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionPastDueEvent.md b/docs/Models/Components/SubscriptionPastDueEvent.md new file mode 100644 index 00000000..3cf876e4 --- /dev/null +++ b/docs/Models/Components/SubscriptionPastDueEvent.md @@ -0,0 +1,23 @@ +# SubscriptionPastDueEvent + +An event created by Polar when a subscription becomes past due. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionPastDueMetadata](../../Models/Components/SubscriptionPastDueMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionPastDueMetadata.md b/docs/Models/Components/SubscriptionPastDueMetadata.md new file mode 100644 index 00000000..bc14728b --- /dev/null +++ b/docs/Models/Components/SubscriptionPastDueMetadata.md @@ -0,0 +1,14 @@ +# SubscriptionPastDueMetadata + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | +| `productId` | *?string* | :heavy_minus_sign: | N/A | +| `pastDueAt` | *string* | :heavy_check_mark: | N/A | +| `amount` | *?int* | :heavy_minus_sign: | N/A | +| `currency` | *?string* | :heavy_minus_sign: | N/A | +| `recurringInterval` | *?string* | :heavy_minus_sign: | N/A | +| `recurringIntervalCount` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionProrationBehavior.md b/docs/Models/Components/SubscriptionProrationBehavior.md index 4b028b37..e58aee32 100644 --- a/docs/Models/Components/SubscriptionProrationBehavior.md +++ b/docs/Models/Components/SubscriptionProrationBehavior.md @@ -7,4 +7,5 @@ | ------------ | ------------ | | `Invoice` | invoice | | `Prorate` | prorate | -| `NextPeriod` | next_period | \ No newline at end of file +| `NextPeriod` | next_period | +| `Reset` | reset | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionReactivatedEvent.md b/docs/Models/Components/SubscriptionReactivatedEvent.md new file mode 100644 index 00000000..927e7f12 --- /dev/null +++ b/docs/Models/Components/SubscriptionReactivatedEvent.md @@ -0,0 +1,23 @@ +# SubscriptionReactivatedEvent + +An event created by Polar when a past due subscription is recovered. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionReactivatedMetadata](../../Models/Components/SubscriptionReactivatedMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionReactivatedMetadata.md b/docs/Models/Components/SubscriptionReactivatedMetadata.md new file mode 100644 index 00000000..dec9dcf6 --- /dev/null +++ b/docs/Models/Components/SubscriptionReactivatedMetadata.md @@ -0,0 +1,13 @@ +# SubscriptionReactivatedMetadata + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | +| `productId` | *?string* | :heavy_minus_sign: | N/A | +| `amount` | *?int* | :heavy_minus_sign: | N/A | +| `currency` | *?string* | :heavy_minus_sign: | N/A | +| `recurringInterval` | *?string* | :heavy_minus_sign: | N/A | +| `recurringIntervalCount` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdate.md b/docs/Models/Components/SubscriptionUpdate.md index 01951d7b..64feb939 100644 --- a/docs/Models/Components/SubscriptionUpdate.md +++ b/docs/Models/Components/SubscriptionUpdate.md @@ -66,3 +66,12 @@ Components\SubscriptionCancel $value = /* values here */ Components\SubscriptionRevoke $value = /* values here */ ``` +### `Components\SubscriptionUpdateClear` + +```php +/** +* @var \Polar\Models\Components\SubscriptionUpdateClear +*/ +Components\SubscriptionUpdateClear $value = /* values here */ +``` + diff --git a/docs/Models/Components/SubscriptionUpdateBillingPeriod.md b/docs/Models/Components/SubscriptionUpdateBillingPeriod.md index 3bc92c9b..e5e5cbf1 100644 --- a/docs/Models/Components/SubscriptionUpdateBillingPeriod.md +++ b/docs/Models/Components/SubscriptionUpdateBillingPeriod.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `currentBillingPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Set a new date for the end of the current billing period. The subscription will renew on this date. Needs to be later than the current value.

It is not possible to update the current billing period on a canceled subscription. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `currentBillingPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Set a new date for the end of the current billing period. The subscription will renew on this date. The new date can be earlier or later than the current period end, as long as it's in the future.

It is not possible to update the current billing period on a canceled subscription. | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdateClear.md b/docs/Models/Components/SubscriptionUpdateClear.md new file mode 100644 index 00000000..460bc8e3 --- /dev/null +++ b/docs/Models/Components/SubscriptionUpdateClear.md @@ -0,0 +1,8 @@ +# SubscriptionUpdateClear + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `pendingUpdate` | *mixed* | :heavy_check_mark: | Clear the pending subscription update. Set to null to remove scheduled changes. | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdateClearedEvent.md b/docs/Models/Components/SubscriptionUpdateClearedEvent.md new file mode 100644 index 00000000..43ca38ec --- /dev/null +++ b/docs/Models/Components/SubscriptionUpdateClearedEvent.md @@ -0,0 +1,23 @@ +# SubscriptionUpdateClearedEvent + +An event created by Polar when a pending subscription update is cleared without being applied. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionUpdateClearedMetadata](../../Models/Components/SubscriptionUpdateClearedMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedTrialMetadata.md b/docs/Models/Components/SubscriptionUpdateClearedMetadata.md similarity index 69% rename from docs/Models/Components/SubscriptionUpdatedTrialMetadata.md rename to docs/Models/Components/SubscriptionUpdateClearedMetadata.md index e9d62aa6..8a1463b1 100644 --- a/docs/Models/Components/SubscriptionUpdatedTrialMetadata.md +++ b/docs/Models/Components/SubscriptionUpdateClearedMetadata.md @@ -1,9 +1,8 @@ -# SubscriptionUpdatedTrialMetadata +# SubscriptionUpdateClearedMetadata ## Fields | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `trialEnd` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedEvent.md b/docs/Models/Components/SubscriptionUpdatedEvent.md index e688651a..cd0f1594 100644 --- a/docs/Models/Components/SubscriptionUpdatedEvent.md +++ b/docs/Models/Components/SubscriptionUpdatedEvent.md @@ -5,19 +5,19 @@ An event created by Polar when a subscription is updated. ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | -| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | -| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | -| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | -| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | -| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | -| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | -| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | -| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | -| `name` | *string* | :heavy_check_mark: | The name of the event. | | -| `metadata` | [Components\SubscriptionUpdatedProductMetadata\|Components\SubscriptionUpdatedDiscountMetadata\|Components\SubscriptionUpdatedTrialMetadata\|Components\SubscriptionUpdatedSeatsMetadata\|Components\SubscriptionUpdatedBillingPeriodMetadata](../../Models/Components/SubscriptionUpdatedEventMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionUpdatedMetadata](../../Models/Components/SubscriptionUpdatedMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedEventMetadata.md b/docs/Models/Components/SubscriptionUpdatedEventMetadata.md deleted file mode 100644 index 698a8265..00000000 --- a/docs/Models/Components/SubscriptionUpdatedEventMetadata.md +++ /dev/null @@ -1,50 +0,0 @@ -# SubscriptionUpdatedEventMetadata - - -## Supported Types - -### `Components\SubscriptionUpdatedProductMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedProductMetadata -*/ -Components\SubscriptionUpdatedProductMetadata $value = /* values here */ -``` - -### `Components\SubscriptionUpdatedDiscountMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedDiscountMetadata -*/ -Components\SubscriptionUpdatedDiscountMetadata $value = /* values here */ -``` - -### `Components\SubscriptionUpdatedTrialMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedTrialMetadata -*/ -Components\SubscriptionUpdatedTrialMetadata $value = /* values here */ -``` - -### `Components\SubscriptionUpdatedSeatsMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedSeatsMetadata -*/ -Components\SubscriptionUpdatedSeatsMetadata $value = /* values here */ -``` - -### `Components\SubscriptionUpdatedBillingPeriodMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedBillingPeriodMetadata -*/ -Components\SubscriptionUpdatedBillingPeriodMetadata $value = /* values here */ -``` - diff --git a/docs/Models/Components/SubscriptionUpdatedMetadata.md b/docs/Models/Components/SubscriptionUpdatedMetadata.md new file mode 100644 index 00000000..c87a8308 --- /dev/null +++ b/docs/Models/Components/SubscriptionUpdatedMetadata.md @@ -0,0 +1,14 @@ +# SubscriptionUpdatedMetadata + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `productId` | *?string* | :heavy_minus_sign: | N/A | +| `prorationBehavior` | [?Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_minus_sign: | N/A | +| `discountId` | *?string* | :heavy_minus_sign: | N/A | +| `trialEnd` | *?string* | :heavy_minus_sign: | N/A | +| `seats` | *?int* | :heavy_minus_sign: | N/A | +| `billingPeriodEnd` | *?string* | :heavy_minus_sign: | N/A | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedProductMetadata.md b/docs/Models/Components/SubscriptionUpdatedProductMetadata.md deleted file mode 100644 index be85979d..00000000 --- a/docs/Models/Components/SubscriptionUpdatedProductMetadata.md +++ /dev/null @@ -1,10 +0,0 @@ -# SubscriptionUpdatedProductMetadata - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `productId` | *string* | :heavy_check_mark: | N/A | -| `prorationBehavior` | [Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedSeatsMetadata.md b/docs/Models/Components/SubscriptionUpdatedSeatsMetadata.md deleted file mode 100644 index 64726a20..00000000 --- a/docs/Models/Components/SubscriptionUpdatedSeatsMetadata.md +++ /dev/null @@ -1,10 +0,0 @@ -# SubscriptionUpdatedSeatsMetadata - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `seats` | *int* | :heavy_check_mark: | N/A | -| `prorationBehavior` | [Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SystemEvent.md b/docs/Models/Components/SystemEvent.md index 7bc5cd72..1f965547 100644 --- a/docs/Models/Components/SystemEvent.md +++ b/docs/Models/Components/SystemEvent.md @@ -210,6 +210,15 @@ Components\SubscriptionCreatedEvent $value = /* values here */ Components\SubscriptionCycledEvent $value = /* values here */ ``` +### `Components\SubscriptionPastDueEvent` + +```php +/** +* @var \Polar\Models\Components\SubscriptionPastDueEvent +*/ +Components\SubscriptionPastDueEvent $value = /* values here */ +``` + ### `Components\SubscriptionProductUpdatedEvent` ```php @@ -219,6 +228,15 @@ Components\SubscriptionCycledEvent $value = /* values here */ Components\SubscriptionProductUpdatedEvent $value = /* values here */ ``` +### `Components\SubscriptionReactivatedEvent` + +```php +/** +* @var \Polar\Models\Components\SubscriptionReactivatedEvent +*/ +Components\SubscriptionReactivatedEvent $value = /* values here */ +``` + ### `Components\SubscriptionRevokedEvent` ```php @@ -246,6 +264,15 @@ Components\SubscriptionSeatsUpdatedEvent $value = /* values here */ Components\SubscriptionUncanceledEvent $value = /* values here */ ``` +### `Components\SubscriptionUpdateClearedEvent` + +```php +/** +* @var \Polar\Models\Components\SubscriptionUpdateClearedEvent +*/ +Components\SubscriptionUpdateClearedEvent $value = /* values here */ +``` + ### `Components\SubscriptionUpdatedEvent` ```php diff --git a/docs/Models/Components/TaxBehavior.md b/docs/Models/Components/TaxBehavior.md new file mode 100644 index 00000000..973b5ad9 --- /dev/null +++ b/docs/Models/Components/TaxBehavior.md @@ -0,0 +1,9 @@ +# TaxBehavior + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Inclusive` | inclusive | +| `Exclusive` | exclusive | \ No newline at end of file diff --git a/docs/Models/Components/TrialCommittedMonthlyRecurringRevenue.md b/docs/Models/Components/TrialCommittedMonthlyRecurringRevenue.md new file mode 100644 index 00000000..8986e62f --- /dev/null +++ b/docs/Models/Components/TrialCommittedMonthlyRecurringRevenue.md @@ -0,0 +1,23 @@ +# TrialCommittedMonthlyRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/TrialMonthlyRecurringRevenue.md b/docs/Models/Components/TrialMonthlyRecurringRevenue.md new file mode 100644 index 00000000..1f040cde --- /dev/null +++ b/docs/Models/Components/TrialMonthlyRecurringRevenue.md @@ -0,0 +1,23 @@ +# TrialMonthlyRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Errors/ManualRetryLimitExceeded.md b/docs/Models/Errors/ManualRetryLimitExceeded.md new file mode 100644 index 00000000..da9fba43 --- /dev/null +++ b/docs/Models/Errors/ManualRetryLimitExceeded.md @@ -0,0 +1,9 @@ +# ManualRetryLimitExceeded + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | ManualRetryLimitExceeded | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/OffSessionChargesNotEnabled.md b/docs/Models/Errors/OffSessionChargesNotEnabled.md new file mode 100644 index 00000000..a5ef9226 --- /dev/null +++ b/docs/Models/Errors/OffSessionChargesNotEnabled.md @@ -0,0 +1,10 @@ +# OffSessionChargesNotEnabled + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | OffSessionChargesNotEnabled | +| `detail` | *string* | :heavy_check_mark: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/OrderNotDraft.md b/docs/Models/Errors/OrderNotDraft.md new file mode 100644 index 00000000..ed70c62b --- /dev/null +++ b/docs/Models/Errors/OrderNotDraft.md @@ -0,0 +1,9 @@ +# OrderNotDraft + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | OrderNotDraft | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/OrdersFinalizeResponse402OrdersFinalize.md b/docs/Models/Errors/OrdersFinalizeResponse402OrdersFinalize.md new file mode 100644 index 00000000..76388a08 --- /dev/null +++ b/docs/Models/Errors/OrdersFinalizeResponse402OrdersFinalize.md @@ -0,0 +1,25 @@ +# OrdersFinalizeResponse402OrdersFinalize + +The charge failed, or requires customer authentication (e.g. a 3DS challenge) that can't be completed off-session. + + +## Supported Types + +### `Errors\PaymentFailed1` + +```php +/** +* @var \Polar\Models\Errors\PaymentFailed1 +*/ +Errors\PaymentFailed1 $value = /* values here */ +``` + +### `Errors\PaymentActionRequired` + +```php +/** +* @var \Polar\Models\Errors\PaymentActionRequired +*/ +Errors\PaymentActionRequired $value = /* values here */ +``` + diff --git a/docs/Models/Errors/OrdersFinalizeResponse403OrdersFinalize.md b/docs/Models/Errors/OrdersFinalizeResponse403OrdersFinalize.md new file mode 100644 index 00000000..36820073 --- /dev/null +++ b/docs/Models/Errors/OrdersFinalizeResponse403OrdersFinalize.md @@ -0,0 +1,25 @@ +# OrdersFinalizeResponse403OrdersFinalize + +Off-session charges are not enabled for this organization, or its account can't currently accept payments. + + +## Supported Types + +### `Errors\OffSessionChargesNotEnabled` + +```php +/** +* @var \Polar\Models\Errors\OffSessionChargesNotEnabled +*/ +Errors\OffSessionChargesNotEnabled $value = /* values here */ +``` + +### `Errors\OrganizationNotReadyForPayments` + +```php +/** +* @var \Polar\Models\Errors\OrganizationNotReadyForPayments +*/ +Errors\OrganizationNotReadyForPayments $value = /* values here */ +``` + diff --git a/docs/Models/Errors/OrganizationNotReadyForPayments.md b/docs/Models/Errors/OrganizationNotReadyForPayments.md new file mode 100644 index 00000000..62b00a78 --- /dev/null +++ b/docs/Models/Errors/OrganizationNotReadyForPayments.md @@ -0,0 +1,10 @@ +# OrganizationNotReadyForPayments + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | OrganizationNotReadyForPayments | +| `detail` | *string* | :heavy_check_mark: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/PaymentActionRequired.md b/docs/Models/Errors/PaymentActionRequired.md new file mode 100644 index 00000000..3683e130 --- /dev/null +++ b/docs/Models/Errors/PaymentActionRequired.md @@ -0,0 +1,10 @@ +# PaymentActionRequired + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | PaymentActionRequired | +| `detail` | *string* | :heavy_check_mark: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/PaymentFailed1.md b/docs/Models/Errors/PaymentFailed1.md new file mode 100644 index 00000000..67d80326 --- /dev/null +++ b/docs/Models/Errors/PaymentFailed1.md @@ -0,0 +1,10 @@ +# PaymentFailed1 + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | PaymentFailed | +| `detail` | *string* | :heavy_check_mark: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/PaymentMethodSetupFailed.md b/docs/Models/Errors/PaymentMethodSetupFailed.md new file mode 100644 index 00000000..d1ad042c --- /dev/null +++ b/docs/Models/Errors/PaymentMethodSetupFailed.md @@ -0,0 +1,9 @@ +# PaymentMethodSetupFailed + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | PaymentMethodSetupFailed | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md b/docs/Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md new file mode 100644 index 00000000..b6377654 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md @@ -0,0 +1,25 @@ +# CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter + +Filter by subscription ID. + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md b/docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md index 9d10b50f..eb3ed8ff 100644 --- a/docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md +++ b/docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md @@ -10,7 +10,7 @@ | `benefitId` | [string\|array\|null](../../Models/Operations/CustomerPortalBenefitGrantsListQueryParamBenefitIDFilter.md) | :heavy_minus_sign: | Filter by benefit ID. | | `checkoutId` | [string\|array\|null](../../Models/Operations/QueryParamCheckoutIDFilter.md) | :heavy_minus_sign: | Filter by checkout ID. | | `orderId` | [string\|array\|null](../../Models/Operations/CustomerPortalBenefitGrantsListQueryParamOrderIDFilter.md) | :heavy_minus_sign: | Filter by order ID. | -| `subscriptionId` | [string\|array\|null](../../Models/Operations/QueryParamSubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | +| `subscriptionId` | [string\|array\|null](../../Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | | `memberId` | [string\|array\|null](../../Models/Operations/QueryParamMemberIDFilter.md) | :heavy_minus_sign: | Filter by member ID. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | diff --git a/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.md b/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.md new file mode 100644 index 00000000..65cd3200 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.md @@ -0,0 +1,8 @@ +# CustomerPortalCustomersCheckEmailUpdateRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md b/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md new file mode 100644 index 00000000..c6d25e39 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md @@ -0,0 +1,10 @@ +# CustomerPortalCustomersCheckEmailUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md b/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md new file mode 100644 index 00000000..b9daead8 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md @@ -0,0 +1,11 @@ +# CustomerPortalCustomersRequestEmailUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `any` | *mixed* | :heavy_minus_sign: | Verification email sent. | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.md b/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md similarity index 55% rename from docs/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.md rename to docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md index ff53ba9b..59c356e0 100644 --- a/docs/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.md +++ b/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md @@ -1,9 +1,9 @@ -# SubscriptionUpdatedBillingPeriodMetadata +# CustomerPortalCustomersRequestEmailUpdateSecurity ## Fields | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `billingPeriodEnd` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| `customerSession` | *?string* | :heavy_minus_sign: | N/A | +| `memberSession` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md b/docs/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md new file mode 100644 index 00000000..fc229166 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md @@ -0,0 +1,11 @@ +# CustomerPortalCustomersVerifyEmailUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `customerEmailUpdateVerifyResponse` | [?Components\CustomerEmailUpdateVerifyResponse](../../Models/Components/CustomerEmailUpdateVerifyResponse.md) | :heavy_minus_sign: | Email updated successfully. Returns a new session token. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalOrdersReceiptRequest.md b/docs/Models/Operations/CustomerPortalOrdersReceiptRequest.md new file mode 100644 index 00000000..ddd22970 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalOrdersReceiptRequest.md @@ -0,0 +1,8 @@ +# CustomerPortalOrdersReceiptRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The order ID. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalOrdersReceiptResponse.md b/docs/Models/Operations/CustomerPortalOrdersReceiptResponse.md new file mode 100644 index 00000000..a679c6cb --- /dev/null +++ b/docs/Models/Operations/CustomerPortalOrdersReceiptResponse.md @@ -0,0 +1,11 @@ +# CustomerPortalOrdersReceiptResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `customerOrderReceipt` | [?Components\CustomerOrderReceipt](../../Models/Components/CustomerOrderReceipt.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedDiscountMetadata.md b/docs/Models/Operations/CustomerPortalOrdersReceiptSecurity.md similarity index 57% rename from docs/Models/Components/SubscriptionUpdatedDiscountMetadata.md rename to docs/Models/Operations/CustomerPortalOrdersReceiptSecurity.md index 957e29e4..8c027ab8 100644 --- a/docs/Models/Components/SubscriptionUpdatedDiscountMetadata.md +++ b/docs/Models/Operations/CustomerPortalOrdersReceiptSecurity.md @@ -1,9 +1,9 @@ -# SubscriptionUpdatedDiscountMetadata +# CustomerPortalOrdersReceiptSecurity ## Fields | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `discountId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| `customerSession` | *?string* | :heavy_minus_sign: | N/A | +| `memberSession` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md b/docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md index 413be930..9f223532 100644 --- a/docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md +++ b/docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The subscription ID. | -| `customerSubscriptionUpdate` | [Components\CustomerSubscriptionUpdateProduct\|Components\CustomerSubscriptionUpdateSeats\|Components\CustomerSubscriptionCancel](../../Models/Components/CustomerSubscriptionUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The subscription ID. | +| `customerSubscriptionUpdate` | [Components\CustomerSubscriptionUpdateProduct\|Components\CustomerSubscriptionUpdateSeats\|Components\CustomerSubscriptionCancel\|Components\CustomerSubscriptionUpdateClear](../../Models/Components/CustomerSubscriptionUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListPaymentMethodsExternalRequest.md b/docs/Models/Operations/CustomersListPaymentMethodsExternalRequest.md new file mode 100644 index 00000000..6573a235 --- /dev/null +++ b/docs/Models/Operations/CustomersListPaymentMethodsExternalRequest.md @@ -0,0 +1,10 @@ +# CustomersListPaymentMethodsExternalRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | +| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListPaymentMethodsExternalResponse.md b/docs/Models/Operations/CustomersListPaymentMethodsExternalResponse.md new file mode 100644 index 00000000..d73e3789 --- /dev/null +++ b/docs/Models/Operations/CustomersListPaymentMethodsExternalResponse.md @@ -0,0 +1,11 @@ +# CustomersListPaymentMethodsExternalResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `listResourcePaymentMethod` | [?Components\ListResourcePaymentMethod](../../Models/Components/ListResourcePaymentMethod.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListPaymentMethodsRequest.md b/docs/Models/Operations/CustomersListPaymentMethodsRequest.md new file mode 100644 index 00000000..2b13bec6 --- /dev/null +++ b/docs/Models/Operations/CustomersListPaymentMethodsRequest.md @@ -0,0 +1,10 @@ +# CustomersListPaymentMethodsRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | +| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListPaymentMethodsResponse.md b/docs/Models/Operations/CustomersListPaymentMethodsResponse.md new file mode 100644 index 00000000..cae0ca88 --- /dev/null +++ b/docs/Models/Operations/CustomersListPaymentMethodsResponse.md @@ -0,0 +1,11 @@ +# CustomersListPaymentMethodsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `listResourcePaymentMethod` | [?Components\ListResourcePaymentMethod](../../Models/Components/ListResourcePaymentMethod.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListRequest.md b/docs/Models/Operations/CustomersListRequest.md index 767302fc..e3ea996b 100644 --- a/docs/Models/Operations/CustomersListRequest.md +++ b/docs/Models/Operations/CustomersListRequest.md @@ -8,6 +8,7 @@ | `organizationId` | [string\|array\|null](../../Models/Operations/CustomersListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | | `email` | *?string* | :heavy_minus_sign: | Filter by exact email. | | `query` | *?string* | :heavy_minus_sign: | Filter by name, email, or external ID. | +| `active` | *?bool* | :heavy_minus_sign: | Filter by active customers, i.e. customers with at least one trialing, active or past_due subscription. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | | `sorting` | array<[Components\CustomerSortProperty](../../Models/Components/CustomerSortProperty.md)> | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | diff --git a/docs/Models/Operations/EventsGetResponse.md b/docs/Models/Operations/EventsGetResponse.md index 30165a98..b0f3c155 100644 --- a/docs/Models/Operations/EventsGetResponse.md +++ b/docs/Models/Operations/EventsGetResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `event` | [Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent\|null](../../Models/Components/Event.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `event` | [Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionPastDueEvent\|Components\SubscriptionReactivatedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\SubscriptionUpdateClearedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent\|null](../../Models/Components/Event.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/LicenseKeyStatusFilter.md b/docs/Models/Operations/LicenseKeyStatusFilter.md new file mode 100644 index 00000000..e737d6e3 --- /dev/null +++ b/docs/Models/Operations/LicenseKeyStatusFilter.md @@ -0,0 +1,25 @@ +# LicenseKeyStatusFilter + +Filter by license key status. + + +## Supported Types + +### `Components\LicenseKeyStatus` + +```php +/** +* @var \Polar\Models\Components\LicenseKeyStatus +*/ +Components\LicenseKeyStatus $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array<\Polar\Models\Components\LicenseKeyStatus> +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/LicenseKeysListRequest.md b/docs/Models/Operations/LicenseKeysListRequest.md index 0b5afc7a..cdbb7f20 100644 --- a/docs/Models/Operations/LicenseKeysListRequest.md +++ b/docs/Models/Operations/LicenseKeysListRequest.md @@ -7,5 +7,6 @@ | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | | `organizationId` | [string\|array\|null](../../Models/Operations/LicenseKeysListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | | `benefitId` | [string\|array\|null](../../Models/Operations/QueryParamBenefitIDFilter.md) | :heavy_minus_sign: | Filter by benefit ID. | +| `status` | [Components\LicenseKeyStatus\|array\|null](../../Models/Operations/LicenseKeyStatusFilter.md) | :heavy_minus_sign: | Filter by license key status. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | \ No newline at end of file diff --git a/docs/Models/Operations/MembersDeleteMemberByExternalIdRequest.md b/docs/Models/Operations/MembersDeleteMemberByExternalIdRequest.md new file mode 100644 index 00000000..1fe8fcb5 --- /dev/null +++ b/docs/Models/Operations/MembersDeleteMemberByExternalIdRequest.md @@ -0,0 +1,10 @@ +# MembersDeleteMemberByExternalIdRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The member external ID. | +| `customerId` | *?string* | :heavy_minus_sign: | The customer ID. | +| `externalCustomerId` | *?string* | :heavy_minus_sign: | The customer external ID. | \ No newline at end of file diff --git a/docs/Models/Operations/MembersDeleteMemberByExternalIdResponse.md b/docs/Models/Operations/MembersDeleteMemberByExternalIdResponse.md new file mode 100644 index 00000000..7fac15ba --- /dev/null +++ b/docs/Models/Operations/MembersDeleteMemberByExternalIdResponse.md @@ -0,0 +1,10 @@ +# MembersDeleteMemberByExternalIdResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Operations/MembersGetMemberByExternalIdRequest.md b/docs/Models/Operations/MembersGetMemberByExternalIdRequest.md new file mode 100644 index 00000000..d1d9cabd --- /dev/null +++ b/docs/Models/Operations/MembersGetMemberByExternalIdRequest.md @@ -0,0 +1,10 @@ +# MembersGetMemberByExternalIdRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The member external ID. | +| `customerId` | *?string* | :heavy_minus_sign: | The customer ID. | +| `externalCustomerId` | *?string* | :heavy_minus_sign: | The customer external ID. | \ No newline at end of file diff --git a/docs/Models/Operations/MembersGetMemberByExternalIdResponse.md b/docs/Models/Operations/MembersGetMemberByExternalIdResponse.md new file mode 100644 index 00000000..5cd20945 --- /dev/null +++ b/docs/Models/Operations/MembersGetMemberByExternalIdResponse.md @@ -0,0 +1,11 @@ +# MembersGetMemberByExternalIdResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `member` | [?Components\Member](../../Models/Components/Member.md) | :heavy_minus_sign: | Member retrieved. | \ No newline at end of file diff --git a/docs/Models/Operations/MembersUpdateMemberByExternalIdRequest.md b/docs/Models/Operations/MembersUpdateMemberByExternalIdRequest.md new file mode 100644 index 00000000..7f97db5b --- /dev/null +++ b/docs/Models/Operations/MembersUpdateMemberByExternalIdRequest.md @@ -0,0 +1,11 @@ +# MembersUpdateMemberByExternalIdRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `externalId` | *string* | :heavy_check_mark: | The member external ID. | +| `customerId` | *?string* | :heavy_minus_sign: | The customer ID. | +| `externalCustomerId` | *?string* | :heavy_minus_sign: | The customer external ID. | +| `memberUpdate` | [Components\MemberUpdate](../../Models/Components/MemberUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/MembersUpdateMemberByExternalIdResponse.md b/docs/Models/Operations/MembersUpdateMemberByExternalIdResponse.md new file mode 100644 index 00000000..9ddfa654 --- /dev/null +++ b/docs/Models/Operations/MembersUpdateMemberByExternalIdResponse.md @@ -0,0 +1,11 @@ +# MembersUpdateMemberByExternalIdResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `member` | [?Components\Member](../../Models/Components/Member.md) | :heavy_minus_sign: | Member updated. | \ No newline at end of file diff --git a/docs/Models/Operations/MetricsExportQueryParamCustomerIDFilter.md b/docs/Models/Operations/MetricsExportQueryParamCustomerIDFilter.md new file mode 100644 index 00000000..94ff9113 --- /dev/null +++ b/docs/Models/Operations/MetricsExportQueryParamCustomerIDFilter.md @@ -0,0 +1,25 @@ +# MetricsExportQueryParamCustomerIDFilter + +Filter by customer ID. + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md b/docs/Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md new file mode 100644 index 00000000..1fa5477b --- /dev/null +++ b/docs/Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md @@ -0,0 +1,25 @@ +# MetricsExportQueryParamOrganizationIDFilter + +Filter by organization ID. + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md b/docs/Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md new file mode 100644 index 00000000..3ec745f8 --- /dev/null +++ b/docs/Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md @@ -0,0 +1,25 @@ +# MetricsExportQueryParamProductBillingTypeFilter + +Filter by billing type. `recurring` will filter data corresponding to subscriptions creations or renewals. `one_time` will filter data corresponding to one-time purchases. + + +## Supported Types + +### `Components\ProductBillingType` + +```php +/** +* @var \Polar\Models\Components\ProductBillingType +*/ +Components\ProductBillingType $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array<\Polar\Models\Components\ProductBillingType> +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/MetricsExportQueryParamProductIDFilter.md b/docs/Models/Operations/MetricsExportQueryParamProductIDFilter.md new file mode 100644 index 00000000..91143682 --- /dev/null +++ b/docs/Models/Operations/MetricsExportQueryParamProductIDFilter.md @@ -0,0 +1,25 @@ +# MetricsExportQueryParamProductIDFilter + +Filter by product ID. + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/MetricsExportRequest.md b/docs/Models/Operations/MetricsExportRequest.md new file mode 100644 index 00000000..ec16354a --- /dev/null +++ b/docs/Models/Operations/MetricsExportRequest.md @@ -0,0 +1,16 @@ +# MetricsExportRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `startDate` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Start date. | +| `endDate` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | End date. | +| `timezone` | *?string* | :heavy_minus_sign: | Timezone to use for the timestamps. Default is UTC. | +| `interval` | [Components\TimeInterval](../../Models/Components/TimeInterval.md) | :heavy_check_mark: | Interval between two timestamps. | +| `organizationId` | [string\|array\|null](../../Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | +| `productId` | [string\|array\|null](../../Models/Operations/MetricsExportQueryParamProductIDFilter.md) | :heavy_minus_sign: | Filter by product ID. | +| `billingType` | [Components\ProductBillingType\|array\|null](../../Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md) | :heavy_minus_sign: | Filter by billing type. `recurring` will filter data corresponding to subscriptions creations or renewals. `one_time` will filter data corresponding to one-time purchases. | +| `customerId` | [string\|array\|null](../../Models/Operations/MetricsExportQueryParamCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | +| `metrics` | array<*string*> | :heavy_minus_sign: | List of metric slugs to include in the export. If not provided, all metrics are exported. | \ No newline at end of file diff --git a/docs/Models/Operations/MetricsExportResponse.md b/docs/Models/Operations/MetricsExportResponse.md new file mode 100644 index 00000000..d10bea4e --- /dev/null +++ b/docs/Models/Operations/MetricsExportResponse.md @@ -0,0 +1,12 @@ +# MetricsExportResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `any` | *mixed* | :heavy_minus_sign: | Successful Response | +| `res` | *?string* | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersCreateResponse.md b/docs/Models/Operations/OrdersCreateResponse.md new file mode 100644 index 00000000..91d769fb --- /dev/null +++ b/docs/Models/Operations/OrdersCreateResponse.md @@ -0,0 +1,11 @@ +# OrdersCreateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `order` | [?Components\Order](../../Models/Components/Order.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersFinalizeRequest.md b/docs/Models/Operations/OrdersFinalizeRequest.md new file mode 100644 index 00000000..93d1004f --- /dev/null +++ b/docs/Models/Operations/OrdersFinalizeRequest.md @@ -0,0 +1,9 @@ +# OrdersFinalizeRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The order ID. | +| `orderFinalize` | [?Components\OrderFinalize](../../Models/Components/OrderFinalize.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersFinalizeResponse.md b/docs/Models/Operations/OrdersFinalizeResponse.md new file mode 100644 index 00000000..b316dd2b --- /dev/null +++ b/docs/Models/Operations/OrdersFinalizeResponse.md @@ -0,0 +1,11 @@ +# OrdersFinalizeResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `order` | [?Components\Order](../../Models/Components/Order.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersListRequest.md b/docs/Models/Operations/OrdersListRequest.md index 8a954c08..b2516113 100644 --- a/docs/Models/Operations/OrdersListRequest.md +++ b/docs/Models/Operations/OrdersListRequest.md @@ -12,6 +12,7 @@ | `customerId` | [string\|array\|null](../../Models/Operations/OrdersListQueryParamCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `externalCustomerId` | [string\|array\|null](../../Models/Operations/OrdersListQueryParamExternalCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer external ID. | | `checkoutId` | [string\|array\|null](../../Models/Operations/CheckoutIDFilter.md) | :heavy_minus_sign: | Filter by checkout ID. | +| `subscriptionId` | [string\|array\|null](../../Models/Operations/SubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | | `sorting` | array<[Components\OrderSortProperty](../../Models/Components/OrderSortProperty.md)> | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | diff --git a/docs/Models/Operations/OrdersReceiptRequest.md b/docs/Models/Operations/OrdersReceiptRequest.md new file mode 100644 index 00000000..06ccad09 --- /dev/null +++ b/docs/Models/Operations/OrdersReceiptRequest.md @@ -0,0 +1,8 @@ +# OrdersReceiptRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The order ID. | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersReceiptResponse.md b/docs/Models/Operations/OrdersReceiptResponse.md new file mode 100644 index 00000000..d5a31f4a --- /dev/null +++ b/docs/Models/Operations/OrdersReceiptResponse.md @@ -0,0 +1,11 @@ +# OrdersReceiptResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `orderReceipt` | [?Components\OrderReceipt](../../Models/Components/OrderReceipt.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/PaymentsListQueryParamCustomerIDFilter.md b/docs/Models/Operations/PaymentsListQueryParamCustomerIDFilter.md new file mode 100644 index 00000000..910d043d --- /dev/null +++ b/docs/Models/Operations/PaymentsListQueryParamCustomerIDFilter.md @@ -0,0 +1,25 @@ +# PaymentsListQueryParamCustomerIDFilter + +Filter by customer ID. + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/PaymentsListRequest.md b/docs/Models/Operations/PaymentsListRequest.md index e4cfd01a..708d4098 100644 --- a/docs/Models/Operations/PaymentsListRequest.md +++ b/docs/Models/Operations/PaymentsListRequest.md @@ -8,6 +8,7 @@ | `organizationId` | [string\|array\|null](../../Models/Operations/PaymentsListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | | `checkoutId` | [string\|array\|null](../../Models/Operations/PaymentsListQueryParamCheckoutIDFilter.md) | :heavy_minus_sign: | Filter by checkout ID. | | `orderId` | [string\|array\|null](../../Models/Operations/PaymentsListQueryParamOrderIDFilter.md) | :heavy_minus_sign: | Filter by order ID. | +| `customerId` | [string\|array\|null](../../Models/Operations/PaymentsListQueryParamCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `status` | [Components\PaymentStatus\|array\|null](../../Models/Operations/PaymentsListQueryParamStatusFilter.md) | :heavy_minus_sign: | Filter by payment status. | | `method` | [string\|array\|null](../../Models/Operations/MethodFilter.md) | :heavy_minus_sign: | Filter by payment method. | | `customerEmail` | [string\|array\|null](../../Models/Operations/CustomerEmailFilter.md) | :heavy_minus_sign: | Filter by customer email. | diff --git a/docs/Models/Operations/RefundsListRequest.md b/docs/Models/Operations/RefundsListRequest.md index e6549399..3d15d34e 100644 --- a/docs/Models/Operations/RefundsListRequest.md +++ b/docs/Models/Operations/RefundsListRequest.md @@ -8,7 +8,7 @@ | `id` | [string\|array\|null](../../Models/Operations/RefundIDFilter.md) | :heavy_minus_sign: | Filter by refund ID. | | `organizationId` | [string\|array\|null](../../Models/Operations/RefundsListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | | `orderId` | [string\|array\|null](../../Models/Operations/OrderIDFilter.md) | :heavy_minus_sign: | Filter by order ID. | -| `subscriptionId` | [string\|array\|null](../../Models/Operations/SubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | +| `subscriptionId` | [string\|array\|null](../../Models/Operations/QueryParamSubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | | `customerId` | [string\|array\|null](../../Models/Operations/RefundsListQueryParamCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `externalCustomerId` | [string\|array\|null](../../Models/Operations/RefundsListQueryParamExternalCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer external ID. | | `succeeded` | *?bool* | :heavy_minus_sign: | Filter by `succeeded`. | diff --git a/docs/Models/Operations/SubscriptionsUpdateRequest.md b/docs/Models/Operations/SubscriptionsUpdateRequest.md index 49919620..b86c7429 100644 --- a/docs/Models/Operations/SubscriptionsUpdateRequest.md +++ b/docs/Models/Operations/SubscriptionsUpdateRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The subscription ID. | -| `subscriptionUpdate` | [Components\SubscriptionUpdateProduct\|Components\SubscriptionUpdateDiscount\|Components\SubscriptionUpdateTrial\|Components\SubscriptionUpdateSeats\|Components\SubscriptionUpdateBillingPeriod\|Components\SubscriptionCancel\|Components\SubscriptionRevoke](../../Models/Components/SubscriptionUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The subscription ID. | +| `subscriptionUpdate` | [Components\SubscriptionUpdateProduct\|Components\SubscriptionUpdateDiscount\|Components\SubscriptionUpdateTrial\|Components\SubscriptionUpdateSeats\|Components\SubscriptionUpdateBillingPeriod\|Components\SubscriptionCancel\|Components\SubscriptionRevoke\|Components\SubscriptionUpdateClear](../../Models/Components/SubscriptionUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/sdks/benefitgrants/README.md b/docs/sdks/benefitgrants/README.md index c59ba7ec..ab9338f1 100644 --- a/docs/sdks/benefitgrants/README.md +++ b/docs/sdks/benefitgrants/README.md @@ -8,7 +8,7 @@ ## list -List benefit grants across all benefits for the authenticated organization. +List benefit grants across all benefits accessible to the authenticated subject. **Scopes**: `benefits:read` `benefits:write` diff --git a/docs/sdks/customers/README.md b/docs/sdks/customers/README.md index 6eb76788..873aa8d9 100644 --- a/docs/sdks/customers/README.md +++ b/docs/sdks/customers/README.md @@ -15,6 +15,8 @@ * [updateExternal](#updateexternal) - Update Customer by External ID * [getState](#getstate) - Get Customer State * [getStateExternal](#getstateexternal) - Get Customer State by External ID +* [listPaymentMethods](#listpaymentmethods) - List Customer Payment Methods +* [listPaymentMethodsExternal](#listpaymentmethodsexternal) - List Customer Payment Methods by External ID ## list @@ -648,6 +650,124 @@ if ($response->customerState !== null) { ### Errors +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## listPaymentMethods + +Get saved payment methods of a customer. + +**Scopes**: `customers:read` `customers:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->customers->listPaymentMethods( + id: '', + page: 1, + limit: 10 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | +| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | + +### Response + +**[?Operations\CustomersListPaymentMethodsResponse](../../Models/Operations/CustomersListPaymentMethodsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## listPaymentMethodsExternal + +Get saved payment methods of a customer by external ID. + +**Scopes**: `customers:read` `customers:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->customers->listPaymentMethodsExternal( + externalId: '', + page: 1, + limit: 10 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | +| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | + +### Response + +**[?Operations\CustomersListPaymentMethodsExternalResponse](../../Models/Operations/CustomersListPaymentMethodsExternalResponse.md)** + +### Errors + | Error Type | Status Code | Content Type | | -------------------------- | -------------------------- | -------------------------- | | Errors\ResourceNotFound | 404 | application/json | diff --git a/docs/sdks/discounts/README.md b/docs/sdks/discounts/README.md index 645b42dd..69eed0d8 100644 --- a/docs/sdks/discounts/README.md +++ b/docs/sdks/discounts/README.md @@ -89,12 +89,10 @@ $sdk = Polar\Polar::builder() ) ->build(); -$request = new Components\DiscountPercentageOnceForeverDurationCreate( - duration: Components\DiscountDuration::Once, - type: Components\DiscountType::Fixed, - basisPoints: 449604, +$request = new Components\DiscountFixedCreate( name: '', organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737', + duration: Components\DiscountDuration::Once, ); $response = $sdk->discounts->create( @@ -108,9 +106,9 @@ if ($response->discount !== null) { ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `$request` | [Components\DiscountFixedOnceForeverDurationCreate\|Components\DiscountFixedRepeatDurationCreate\|Components\DiscountPercentageOnceForeverDurationCreate\|Components\DiscountPercentageRepeatDurationCreate](../../Models/Components/DiscountCreate.md) | :heavy_check_mark: | The request object to use for the request. | +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `$request` | [Components\DiscountFixedCreate\|Components\DiscountPercentageCreate](../../Models/Components/DiscountCreate.md) | :heavy_check_mark: | The request object to use for the request. | ### Response diff --git a/docs/sdks/eventtypes/README.md b/docs/sdks/eventtypes/README.md index ec9aaacc..589f4d18 100644 --- a/docs/sdks/eventtypes/README.md +++ b/docs/sdks/eventtypes/README.md @@ -67,6 +67,8 @@ foreach ($responses as $response) { Update an event type's label. +**Scopes**: `events:write` + ### Example Usage diff --git a/docs/sdks/licensekeys/README.md b/docs/sdks/licensekeys/README.md index b8f20eba..d19e499a 100644 --- a/docs/sdks/licensekeys/README.md +++ b/docs/sdks/licensekeys/README.md @@ -27,6 +27,7 @@ declare(strict_types=1); require 'vendor/autoload.php'; use Polar; +use Polar\Models\Operations; $sdk = Polar\Polar::builder() ->setSecurity( @@ -34,13 +35,12 @@ $sdk = Polar\Polar::builder() ) ->build(); - - -$responses = $sdk->licenseKeys->list( +$request = new Operations\LicenseKeysListRequest( organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737', - page: 1, - limit: 10 +); +$responses = $sdk->licenseKeys->list( + request: $request ); @@ -53,12 +53,9 @@ foreach ($responses as $response) { ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `organizationId` | [string\|array\|null](../../Models/Operations/LicenseKeysListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | -| `benefitId` | [string\|array\|null](../../Models/Operations/QueryParamBenefitIDFilter.md) | :heavy_minus_sign: | Filter by benefit ID. | -| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | -| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `$request` | [Operations\LicenseKeysListRequest](../../Models/Operations/LicenseKeysListRequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response diff --git a/docs/sdks/members/README.md b/docs/sdks/members/README.md index d2c4c618..5d6f4dd2 100644 --- a/docs/sdks/members/README.md +++ b/docs/sdks/members/README.md @@ -9,6 +9,9 @@ * [getMember](#getmember) - Get Member * [deleteMember](#deletemember) - Delete Member * [updateMember](#updatemember) - Update Member +* [getMemberByExternalId](#getmemberbyexternalid) - Get Member by External ID +* [deleteMemberByExternalId](#deletememberbyexternalid) - Delete Member by External ID +* [updateMemberByExternalId](#updatememberbyexternalid) - Update Member by External ID ## listMembers @@ -284,6 +287,171 @@ if ($response->member !== null) { ### Errors +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## getMemberByExternalId + +Get a member by external ID. One of customer_id or external_customer_id must be specified. + +**Scopes**: `members:read` `members:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->members->getMemberByExternalId( + externalId: '' +); + +if ($response->member !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The member external ID. | +| `customerId` | *?string* | :heavy_minus_sign: | The customer ID. | +| `externalCustomerId` | *?string* | :heavy_minus_sign: | The customer external ID. | + +### Response + +**[?Operations\MembersGetMemberByExternalIdResponse](../../Models/Operations/MembersGetMemberByExternalIdResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## deleteMemberByExternalId + +Delete a member by external ID. One of customer_id or external_customer_id must be specified. + +**Scopes**: `members:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->members->deleteMemberByExternalId( + externalId: '' +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The member external ID. | +| `customerId` | *?string* | :heavy_minus_sign: | The customer ID. | +| `externalCustomerId` | *?string* | :heavy_minus_sign: | The customer external ID. | + +### Response + +**[?Operations\MembersDeleteMemberByExternalIdResponse](../../Models/Operations/MembersDeleteMemberByExternalIdResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## updateMemberByExternalId + +Update a member by external ID. One of customer_id or external_customer_id must be specified. + +**Scopes**: `members:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + +$memberUpdate = new Components\MemberUpdate( + name: 'Jane Doe', +); + +$response = $sdk->members->updateMemberByExternalId( + externalId: '', + memberUpdate: $memberUpdate + +); + +if ($response->member !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `externalId` | *string* | :heavy_check_mark: | The member external ID. | +| `memberUpdate` | [Components\MemberUpdate](../../Models/Components/MemberUpdate.md) | :heavy_check_mark: | N/A | +| `customerId` | *?string* | :heavy_minus_sign: | The customer ID. | +| `externalCustomerId` | *?string* | :heavy_minus_sign: | The customer external ID. | + +### Response + +**[?Operations\MembersUpdateMemberByExternalIdResponse](../../Models/Operations/MembersUpdateMemberByExternalIdResponse.md)** + +### Errors + | Error Type | Status Code | Content Type | | -------------------------- | -------------------------- | -------------------------- | | Errors\ResourceNotFound | 404 | application/json | diff --git a/docs/sdks/metrics/README.md b/docs/sdks/metrics/README.md index 13250890..28a76b66 100644 --- a/docs/sdks/metrics/README.md +++ b/docs/sdks/metrics/README.md @@ -5,6 +5,7 @@ ### Available Operations * [get](#get) - Get Metrics +* [export](#export) - Export Metrics * [limits](#limits) - Get Metrics Limits * [listDashboards](#listdashboards) - List Metric Dashboards * [createDashboard](#createdashboard) - Create Metric Dashboard @@ -72,6 +73,64 @@ if ($response->metricsResponse !== null) { | Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | +## export + +Export metrics as a CSV file. + +**Scopes**: `metrics:read` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Brick\DateTime\LocalDate; +use Polar; +use Polar\Models\Components; +use Polar\Models\Operations; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\MetricsExportRequest( + startDate: LocalDate::parse('2026-07-17'), + endDate: LocalDate::parse('2024-05-06'), + interval: Components\TimeInterval::Year, + organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737', +); + +$response = $sdk->metrics->export( + request: $request +); + +if ($response->any !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `$request` | [Operations\MetricsExportRequest](../../Models/Operations/MetricsExportRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\MetricsExportResponse](../../Models/Operations/MetricsExportResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + ## limits Get the interval limits for the metrics endpoint. diff --git a/docs/sdks/orders/README.md b/docs/sdks/orders/README.md index 1eb34806..794095bb 100644 --- a/docs/sdks/orders/README.md +++ b/docs/sdks/orders/README.md @@ -5,11 +5,14 @@ ### Available Operations * [list](#list) - List Orders +* [create](#create) - Create Order * [export](#export) - Export Orders * [get](#get) - Get Order * [update](#update) - Update Order +* [finalize](#finalize) - Finalize Order * [invoice](#invoice) - Get Order Invoice * [generateInvoice](#generateinvoice) - Generate Order Invoice +* [receipt](#receipt) - Get Order Receipt ## list @@ -67,6 +70,65 @@ foreach ($responses as $response) { | Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | +## create + +Create a draft order for an off-session charge against a saved payment +method. The order is created with `status=draft` and no invoice number; +call `POST /v1/orders/{id}/finalize` to attempt the charge. + +The organization must have the `off_session_charges_enabled` feature flag. + +**Scopes**: `orders:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Components\OrderCreate( + organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737', + customerId: '', + productId: '', +); + +$response = $sdk->orders->create( + request: $request +); + +if ($response->order !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `$request` | [Components\OrderCreate](../../Models/Components/OrderCreate.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\OrdersCreateResponse](../../Models/Operations/OrdersCreateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + ## export Export orders as a CSV file. @@ -228,6 +290,71 @@ if ($response->order !== null) { | Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | +## finalize + +Finalize a draft order and synchronously attempt an off-session charge. + +On success, the order transitions to `paid` and benefit grants fire +before the response returns. On failure (decline, missing payment method, +SCA challenge), the order stays in `draft` and a 4xx error is returned. + +The request fails with 412 if the order is not in `draft` status. + +**Scopes**: `orders:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->orders->finalize( + id: '', + orderFinalize: $orderFinalize + +); + +if ($response->order !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The order ID. | +| `orderFinalize` | [?Components\OrderFinalize](../../Models/Components/OrderFinalize.md) | :heavy_minus_sign: | N/A | + +### Response + +**[?Operations\OrdersFinalizeResponse](../../Models/Operations/OrdersFinalizeResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | +| Errors\PaymentFailed1 | 402 | application/json | +| Errors\PaymentActionRequired | 402 | application/json | +| Errors\OffSessionChargesNotEnabled | 403 | application/json | +| Errors\OrganizationNotReadyForPayments | 403 | application/json | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\OrderNotDraft | 412 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + ## invoice Get an order's invoice data. @@ -328,4 +455,55 @@ if ($response->any !== null) { | ----------------------------------- | ----------------------------------- | ----------------------------------- | | Errors\MissingInvoiceBillingDetails | 422 | application/json | | Errors\NotPaidOrder | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\APIException | 4XX, 5XX | \*/\* | + +## receipt + +Get a presigned URL to download an order's receipt PDF. + +**Scopes**: `orders:read` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->orders->receipt( + id: '' +); + +if ($response->orderReceipt !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The order ID. | + +### Response + +**[?Operations\OrdersReceiptResponse](../../Models/Operations/OrdersReceiptResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/organizations/README.md b/docs/sdks/organizations/README.md index 8a307418..f4b194e0 100644 --- a/docs/sdks/organizations/README.md +++ b/docs/sdks/organizations/README.md @@ -4,12 +4,12 @@ ### Available Operations -* [list](#list) - List Organizations +* [listOrganizations](#listorganizations) - List Organizations * [create](#create) - Create Organization * [get](#get) - Get Organization * [update](#update) - Update Organization -## list +## listOrganizations List organizations. @@ -33,7 +33,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 diff --git a/docs/sdks/polarcustomers/README.md b/docs/sdks/polarcustomers/README.md index bea001fa..9bd39444 100644 --- a/docs/sdks/polarcustomers/README.md +++ b/docs/sdks/polarcustomers/README.md @@ -10,6 +10,9 @@ * [addPaymentMethod](#addpaymentmethod) - Add Customer Payment Method * [confirmPaymentMethod](#confirmpaymentmethod) - Confirm Customer Payment Method * [deletePaymentMethod](#deletepaymentmethod) - Delete Customer Payment Method +* [requestEmailUpdate](#requestemailupdate) - Request Email Change +* [checkEmailUpdate](#checkemailupdate) - Check Email Change Token +* [verifyEmailUpdate](#verifyemailupdate) - Verify Email Change ## get @@ -221,10 +224,11 @@ if ($response->customerPaymentMethodCreateResponse !== null) { ### Errors -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------------------- | ------------------------------- | ------------------------------- | +| Errors\PaymentMethodSetupFailed | 400 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | ## confirmPaymentMethod @@ -332,4 +336,147 @@ if ($response->statusCode === 200) { | Errors\PaymentMethodInUseByActiveSubscription | 400 | application/json | | Errors\ResourceNotFound | 404 | application/json | | Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\APIException | 4XX, 5XX | \*/\* | + +## requestEmailUpdate + +Request an email change for the authenticated customer. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; +use Polar\Models\Operations; + +$sdk = Polar\Polar::builder()->build(); + +$request = new Components\CustomerEmailUpdateRequest( + email: 'Tommie_Larkin78@gmail.com', +); +$requestSecurity = new Operations\CustomerPortalCustomersRequestEmailUpdateSecurity( + customerSession: '', +); + +$response = $sdk->customerPortal->customers->requestEmailUpdate( + request: $request, + security: $requestSecurity +); + +if ($response->any !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `$request` | [Components\CustomerEmailUpdateRequest](../../Models/Components/CustomerEmailUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `security` | [Operations\CustomerPortalCustomersRequestEmailUpdateSecurity](../../Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | + +### Response + +**[?Operations\CustomerPortalCustomersRequestEmailUpdateResponse](../../Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## checkEmailUpdate + +Check if an email change verification token is still valid. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder()->build(); + + + +$response = $sdk->customerPortal->customers->checkEmailUpdate( + token: '' +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *string* | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\CustomerPortalCustomersCheckEmailUpdateResponse](../../Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## verifyEmailUpdate + +Verify an email change using the token from the verification email. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; + +$sdk = Polar\Polar::builder()->build(); + +$request = new Components\CustomerEmailUpdateVerifyRequest( + token: '', +); + +$response = $sdk->customerPortal->customers->verifyEmailUpdate( + request: $request +); + +if ($response->customerEmailUpdateVerifyResponse !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `$request` | [Components\CustomerEmailUpdateVerifyRequest](../../Models/Components/CustomerEmailUpdateVerifyRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\CustomerPortalCustomersVerifyEmailUpdateResponse](../../Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------- | ------------------- | ------------------- | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/polarorders/README.md b/docs/sdks/polarorders/README.md index effce1f8..9627ac1c 100644 --- a/docs/sdks/polarorders/README.md +++ b/docs/sdks/polarorders/README.md @@ -9,6 +9,7 @@ * [update](#update) - Update Order * [invoice](#invoice) - Get Order Invoice * [generateInvoice](#generateinvoice) - Generate Order Invoice +* [receipt](#receipt) - Get Order Receipt * [getPaymentStatus](#getpaymentstatus) - Get Order Payment Status * [confirmRetryPayment](#confirmretrypayment) - Confirm Retry Payment @@ -280,6 +281,58 @@ if ($response->any !== null) { | Errors\NotPaidOrder | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | +## receipt + +Get a presigned URL to download an order's receipt PDF. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Operations; + +$sdk = Polar\Polar::builder()->build(); + + +$requestSecurity = new Operations\CustomerPortalOrdersReceiptSecurity( + customerSession: '', +); + +$response = $sdk->customerPortal->orders->receipt( + security: $requestSecurity, + id: '' + +); + +if ($response->customerOrderReceipt !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `security` | [Operations\CustomerPortalOrdersReceiptSecurity](../../Models/Operations/CustomerPortalOrdersReceiptSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | +| `id` | *string* | :heavy_check_mark: | The order ID. | + +### Response + +**[?Operations\CustomerPortalOrdersReceiptResponse](../../Models/Operations/CustomerPortalOrdersReceiptResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + ## getPaymentStatus Get the current payment status for an order. @@ -386,4 +439,5 @@ if ($response->customerOrderPaymentConfirmation !== null) { | Errors\ResourceNotFound | 404 | application/json | | Errors\PaymentAlreadyInProgress | 409 | application/json | | Errors\OrderNotEligibleForRetry | 422 | application/json | +| Errors\ManualRetryLimitExceeded | 429 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/polarsubscriptions/README.md b/docs/sdks/polarsubscriptions/README.md index 36f8c5ad..39d61d3d 100644 --- a/docs/sdks/polarsubscriptions/README.md +++ b/docs/sdks/polarsubscriptions/README.md @@ -208,11 +208,11 @@ if ($response->customerSubscription !== null) { ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `security` | [Operations\CustomerPortalSubscriptionsUpdateSecurity](../../Models/Operations/CustomerPortalSubscriptionsUpdateSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | -| `id` | *string* | :heavy_check_mark: | The subscription ID. | -| `customerSubscriptionUpdate` | [Components\CustomerSubscriptionUpdateProduct\|Components\CustomerSubscriptionUpdateSeats\|Components\CustomerSubscriptionCancel](../../Models/Components/CustomerSubscriptionUpdate.md) | :heavy_check_mark: | N/A | +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `security` | [Operations\CustomerPortalSubscriptionsUpdateSecurity](../../Models/Operations/CustomerPortalSubscriptionsUpdateSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | +| `id` | *string* | :heavy_check_mark: | The subscription ID. | +| `customerSubscriptionUpdate` | [Components\CustomerSubscriptionUpdateProduct\|Components\CustomerSubscriptionUpdateSeats\|Components\CustomerSubscriptionCancel\|Components\CustomerSubscriptionUpdateClear](../../Models/Components/CustomerSubscriptionUpdate.md) | :heavy_check_mark: | N/A | ### Response diff --git a/docs/sdks/seats/README.md b/docs/sdks/seats/README.md index 956b19f1..5c632d9f 100644 --- a/docs/sdks/seats/README.md +++ b/docs/sdks/seats/README.md @@ -80,7 +80,7 @@ use Polar\Models\Operations; $sdk = Polar\Polar::builder()->build(); -$request = new Components\SeatAssign(); +$request = new Components\CustomerSeatAssign(); $requestSecurity = new Operations\CustomerPortalSeatsAssignSeatSecurity( customerSession: '', ); @@ -99,7 +99,7 @@ if ($response->customerSeat !== null) { | Parameter | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `$request` | [Components\SeatAssign](../../Models/Components/SeatAssign.md) | :heavy_check_mark: | The request object to use for the request. | +| `$request` | [Components\CustomerSeatAssign](../../Models/Components/CustomerSeatAssign.md) | :heavy_check_mark: | The request object to use for the request. | | `security` | [Operations\CustomerPortalSeatsAssignSeatSecurity](../../Models/Operations/CustomerPortalSeatsAssignSeatSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | ### Response diff --git a/docs/sdks/subscriptions/README.md b/docs/sdks/subscriptions/README.md index 697cd3eb..d96b85a6 100644 --- a/docs/sdks/subscriptions/README.md +++ b/docs/sdks/subscriptions/README.md @@ -320,10 +320,10 @@ if ($response->subscription !== null) { ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The subscription ID. | -| `subscriptionUpdate` | [Components\SubscriptionUpdateProduct\|Components\SubscriptionUpdateDiscount\|Components\SubscriptionUpdateTrial\|Components\SubscriptionUpdateSeats\|Components\SubscriptionUpdateBillingPeriod\|Components\SubscriptionCancel\|Components\SubscriptionRevoke](../../Models/Components/SubscriptionUpdate.md) | :heavy_check_mark: | N/A | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The subscription ID. | +| `subscriptionUpdate` | [Components\SubscriptionUpdateProduct\|Components\SubscriptionUpdateDiscount\|Components\SubscriptionUpdateTrial\|Components\SubscriptionUpdateSeats\|Components\SubscriptionUpdateBillingPeriod\|Components\SubscriptionCancel\|Components\SubscriptionRevoke\|Components\SubscriptionUpdateClear](../../Models/Components/SubscriptionUpdate.md) | :heavy_check_mark: | N/A | ### Response diff --git a/src/BenefitGrants.php b/src/BenefitGrants.php index 16e42f4d..142ad192 100644 --- a/src/BenefitGrants.php +++ b/src/BenefitGrants.php @@ -47,7 +47,7 @@ public function getUrl(string $baseUrl, array $urlVariables): string /** * List Benefit Grants * - * List benefit grants across all benefits for the authenticated organization. + * List benefit grants across all benefits accessible to the authenticated subject. * * **Scopes**: `benefits:read` `benefits:write` * @@ -79,11 +79,12 @@ private function listIndividual(?Operations\BenefitGrantsListRequest $request = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -163,7 +164,7 @@ private function listIndividual(?Operations\BenefitGrantsListRequest $request = /** * List Benefit Grants * - * List benefit grants across all benefits for the authenticated organization. + * List benefit grants across all benefits accessible to the authenticated subject. * * **Scopes**: `benefits:read` `benefits:write` * diff --git a/src/Benefits.php b/src/Benefits.php index 8c584d57..c108fb99 100644 --- a/src/Benefits.php +++ b/src/Benefits.php @@ -82,11 +82,12 @@ public function create(Components\BenefitCustomCreate|Components\BenefitDiscordC } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -163,11 +164,12 @@ public function delete(string $id, ?Options $options = null): Operations\Benefit } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -253,11 +255,12 @@ public function get(string $id, ?Options $options = null): Operations\BenefitsGe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -343,11 +346,12 @@ private function grantsIndividual(Operations\BenefitsGrantsRequest $request, ?Op } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -491,11 +495,12 @@ private function listIndividual(?Operations\BenefitsListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -636,11 +641,12 @@ public function update(Components\BenefitCustomUpdate|Components\BenefitDiscordU } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CheckoutLinks.php b/src/CheckoutLinks.php index 551bc52a..79feba7c 100644 --- a/src/CheckoutLinks.php +++ b/src/CheckoutLinks.php @@ -82,11 +82,12 @@ public function create(Components\CheckoutLinkCreateProductPrice|Components\Chec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function delete(string $id, ?Options $options = null): Operations\Checkou } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -238,11 +240,12 @@ public function get(string $id, ?Options $options = null): Operations\CheckoutLi } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -326,11 +329,12 @@ private function listIndividual(?Operations\CheckoutLinksListRequest $request = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -467,11 +471,12 @@ public function update(Components\CheckoutLinkUpdate $checkoutLinkUpdate, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Checkouts.php b/src/Checkouts.php index 9976d01b..bde2a796 100644 --- a/src/Checkouts.php +++ b/src/Checkouts.php @@ -87,11 +87,12 @@ public function clientConfirm(Components\CheckoutConfirmStripe $checkoutConfirmS } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '403', '404', '410', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -206,11 +207,12 @@ public function clientGet(string $clientSecret, ?Options $options = null): Opera } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '410', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -310,11 +312,12 @@ public function clientUpdate(Components\CheckoutUpdatePublic $checkoutUpdatePubl } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '410', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -422,11 +425,12 @@ public function create(Components\CheckoutCreate $request, ?Options $options = n } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -499,11 +503,12 @@ public function get(string $id, ?Options $options = null): Operations\CheckoutsG } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -587,11 +592,12 @@ private function listIndividual(?Operations\CheckoutsListRequest $request = null } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -732,11 +738,12 @@ public function update(Components\CheckoutUpdate $checkoutUpdate, string $id, ?O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Clients.php b/src/Clients.php index d344e303..399ad4f4 100644 --- a/src/Clients.php +++ b/src/Clients.php @@ -80,11 +80,12 @@ public function create(Components\OAuth2ClientConfiguration $request, ?Options $ } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -155,11 +156,12 @@ public function delete(string $clientId, ?Options $options = null): Operations\O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -230,11 +232,12 @@ public function get(string $clientId, ?Options $options = null): Operations\Oaut } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -312,11 +315,12 @@ public function update(Components\OAuth2ClientConfigurationUpdate $oAuth2ClientC } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomFields.php b/src/CustomFields.php index 60533f8b..74fc541e 100644 --- a/src/CustomFields.php +++ b/src/CustomFields.php @@ -82,11 +82,12 @@ public function create(Components\CustomFieldCreateText|Components\CustomFieldCr } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function delete(string $id, ?Options $options = null): Operations\CustomF } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -238,11 +240,12 @@ public function get(string $id, ?Options $options = null): Operations\CustomFiel } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -326,11 +329,12 @@ private function listIndividual(?Operations\CustomFieldsListRequest $request = n } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -468,11 +472,12 @@ public function update(Components\CustomFieldUpdateText|Components\CustomFieldUp } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomerMeters.php b/src/CustomerMeters.php index 39521967..6d28879d 100644 --- a/src/CustomerMeters.php +++ b/src/CustomerMeters.php @@ -79,11 +79,12 @@ public function get(string $id, ?Options $options = null): Operations\CustomerMe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -167,11 +168,12 @@ private function listIndividual(?Operations\CustomerMetersListRequest $request = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomerSeats.php b/src/CustomerSeats.php index 10e3692f..b26c9242 100644 --- a/src/CustomerSeats.php +++ b/src/CustomerSeats.php @@ -80,11 +80,12 @@ public function assignSeat(Components\SeatAssign $request, ?Options $options = n } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -155,11 +156,12 @@ public function claimSeat(Components\SeatClaim $request, ?Options $options = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '403', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -228,11 +230,12 @@ public function getClaimInfo(string $invitationToken, ?Options $options = null): } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -308,11 +311,12 @@ public function listSeats(?string $subscriptionId = null, ?string $orderId = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -383,11 +387,12 @@ public function resendInvitation(string $seatId, ?Options $options = null): Oper } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -458,11 +463,12 @@ public function revokeSeat(string $seatId, ?Options $options = null): Operations } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomerSession.php b/src/CustomerSession.php index b5fab2ae..a2aa5a35 100644 --- a/src/CustomerSession.php +++ b/src/CustomerSession.php @@ -82,11 +82,12 @@ public function getAuthenticatedUser(Operations\CustomerPortalCustomerSessionGet } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -151,11 +152,12 @@ public function introspect(Operations\CustomerPortalCustomerSessionIntrospectSec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomerSessions.php b/src/CustomerSessions.php index bb848b42..cc4dd8a9 100644 --- a/src/CustomerSessions.php +++ b/src/CustomerSessions.php @@ -85,11 +85,12 @@ public function create(Components\CustomerSessionCustomerIDCreate|Components\Cus } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Customers.php b/src/Customers.php index 1dd2f497..9aa57bc1 100644 --- a/src/Customers.php +++ b/src/Customers.php @@ -82,11 +82,12 @@ public function create(Components\CustomerIndividualCreate|Components\CustomerTe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -178,11 +179,12 @@ public function delete(string $id, ?bool $anonymize = null, ?Options $options = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -266,11 +268,12 @@ public function deleteExternal(string $externalId, ?bool $anonymize = null, ?Opt } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -348,11 +351,12 @@ public function export(string|array|null $organizationId = null, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -435,11 +439,12 @@ public function get(string $id, ?Options $options = null): Operations\CustomersG } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -523,11 +528,12 @@ public function getExternal(string $externalId, ?Options $options = null): Opera } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -617,11 +623,12 @@ public function getState(string $id, ?Options $options = null): Operations\Custo } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -711,11 +718,12 @@ public function getStateExternal(string $externalId, ?Options $options = null): } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -799,11 +807,12 @@ private function listIndividual(?Operations\CustomersListRequest $request = null } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -848,6 +857,7 @@ private function listIndividual(?Operations\CustomersListRequest $request = null organizationId: $request != null ? $request->organizationId : null, email: $request != null ? $request->email : null, query: $request != null ? $request->query : null, + active: $request != null ? $request->active : null, page: $nextPage, limit: $request != null ? $request->limit : null, sorting: $request != null ? $request->sorting : null, @@ -900,6 +910,308 @@ public function list(?Operations\CustomersListRequest $request = null, ?Options } } + /** + * List Customer Payment Methods + * + * Get saved payment methods of a customer. + * + * **Scopes**: `customers:read` `customers:write` + * + * @param string $id + * @param ?int $page + * @param ?int $limit + * @return \Polar\Models\Operations\CustomersListPaymentMethodsResponse + * @throws \Polar\Models\Errors\APIException + */ + private function listPaymentMethodsIndividual(string $id, ?int $page = null, ?int $limit = null, ?Options $options = null): Operations\CustomersListPaymentMethodsResponse + { + $request = new Operations\CustomersListPaymentMethodsRequest( + id: $id, + page: $page, + limit: $limit, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/{id}/payment-methods', Operations\CustomersListPaymentMethodsRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\CustomersListPaymentMethodsRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:list_payment_methods', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\ListResourcePaymentMethod', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersListPaymentMethodsResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + listResourcePaymentMethod: $obj); + $sdk = $this; + + $response->next = function () use ($sdk, $request, $responseData): ?Operations\CustomersListPaymentMethodsResponse { + $page = $request != null ? $request->page : 0; + $nextPage = $page + 1; + $jsonObject = new \JsonPath\JsonObject($responseData); + $numPages = $jsonObject->get('$.pagination.max_page'); + if ($numPages == null || $numPages[0] <= $page) { + return null; + } + if (! $responseData) { + return null; + } + $jsonObject = new \JsonPath\JsonObject($responseData); + $results = $jsonObject->get('$.items'); + + if (is_array($results)) { + $results = $results[0]; + } + if (count($results) === 0) { + return null; + } + $limit = $request != null ? $request->limit : 0; + if (count($results) < $limit) { + return null; + } + + return $sdk->listPaymentMethodsIndividual( + id: $request != null ? $request->id : '', + page: $nextPage, + limit: $request != null ? $request->limit : null, + ); + }; + + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** + * List Customer Payment Methods + * + * Get saved payment methods of a customer. + * + * **Scopes**: `customers:read` `customers:write` + * + * @param string $id + * @param ?int $page + * @param ?int $limit + * @return \Generator<\Polar\Models\Operations\CustomersListPaymentMethodsResponse> + * @throws \Polar\Models\Errors\APIException + */ + public function listPaymentMethods(string $id, ?int $page = null, ?int $limit = null, ?Options $options = null): \Generator + { + $res = $this->listPaymentMethodsIndividual($id, $page, $limit, $options); + while ($res !== null) { + yield $res; + $res = $res->next($res); + } + } + + /** + * List Customer Payment Methods by External ID + * + * Get saved payment methods of a customer by external ID. + * + * **Scopes**: `customers:read` `customers:write` + * + * @param string $externalId + * @param ?int $page + * @param ?int $limit + * @return \Polar\Models\Operations\CustomersListPaymentMethodsExternalResponse + * @throws \Polar\Models\Errors\APIException + */ + private function listPaymentMethodsExternalIndividual(string $externalId, ?int $page = null, ?int $limit = null, ?Options $options = null): Operations\CustomersListPaymentMethodsExternalResponse + { + $request = new Operations\CustomersListPaymentMethodsExternalRequest( + externalId: $externalId, + page: $page, + limit: $limit, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/external/{external_id}/payment-methods', Operations\CustomersListPaymentMethodsExternalRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\CustomersListPaymentMethodsExternalRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:list_payment_methods_external', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\ListResourcePaymentMethod', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersListPaymentMethodsExternalResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + listResourcePaymentMethod: $obj); + $sdk = $this; + + $response->next = function () use ($sdk, $request, $responseData): ?Operations\CustomersListPaymentMethodsExternalResponse { + $page = $request != null ? $request->page : 0; + $nextPage = $page + 1; + $jsonObject = new \JsonPath\JsonObject($responseData); + $numPages = $jsonObject->get('$.pagination.max_page'); + if ($numPages == null || $numPages[0] <= $page) { + return null; + } + if (! $responseData) { + return null; + } + $jsonObject = new \JsonPath\JsonObject($responseData); + $results = $jsonObject->get('$.items'); + + if (is_array($results)) { + $results = $results[0]; + } + if (count($results) === 0) { + return null; + } + $limit = $request != null ? $request->limit : 0; + if (count($results) < $limit) { + return null; + } + + return $sdk->listPaymentMethodsExternalIndividual( + externalId: $request != null ? $request->externalId : '', + page: $nextPage, + limit: $request != null ? $request->limit : null, + ); + }; + + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** + * List Customer Payment Methods by External ID + * + * Get saved payment methods of a customer by external ID. + * + * **Scopes**: `customers:read` `customers:write` + * + * @param string $externalId + * @param ?int $page + * @param ?int $limit + * @return \Generator<\Polar\Models\Operations\CustomersListPaymentMethodsExternalResponse> + * @throws \Polar\Models\Errors\APIException + */ + public function listPaymentMethodsExternal(string $externalId, ?int $page = null, ?int $limit = null, ?Options $options = null): \Generator + { + $res = $this->listPaymentMethodsExternalIndividual($externalId, $page, $limit, $options); + while ($res !== null) { + yield $res; + $res = $res->next($res); + } + } + /** * Update Customer * @@ -942,11 +1254,12 @@ public function update(Components\CustomerUpdate $customerUpdate, string $id, ?O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -1037,11 +1350,12 @@ public function updateExternal(Components\CustomerUpdateExternalID $customerUpda } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Discounts.php b/src/Discounts.php index 87414a0a..ea817113 100644 --- a/src/Discounts.php +++ b/src/Discounts.php @@ -52,11 +52,11 @@ public function getUrl(string $baseUrl, array $urlVariables): string * * **Scopes**: `discounts:write` * - * @param \Polar\Models\Components\DiscountFixedOnceForeverDurationCreate|\Polar\Models\Components\DiscountFixedRepeatDurationCreate|\Polar\Models\Components\DiscountPercentageOnceForeverDurationCreate|\Polar\Models\Components\DiscountPercentageRepeatDurationCreate $request + * @param \Polar\Models\Components\DiscountFixedCreate|\Polar\Models\Components\DiscountPercentageCreate $request * @return \Polar\Models\Operations\DiscountsCreateResponse * @throws \Polar\Models\Errors\APIException */ - public function create(Components\DiscountFixedOnceForeverDurationCreate|Components\DiscountFixedRepeatDurationCreate|Components\DiscountPercentageOnceForeverDurationCreate|Components\DiscountPercentageRepeatDurationCreate $request, ?Options $options = null): Operations\DiscountsCreateResponse + public function create(Components\DiscountFixedCreate|Components\DiscountPercentageCreate $request, ?Options $options = null): Operations\DiscountsCreateResponse { $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); $url = Utils\Utils::generateUrl($baseUrl, '/v1/discounts/'); @@ -82,11 +82,12 @@ public function create(Components\DiscountFixedOnceForeverDurationCreate|Compone } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function delete(string $id, ?Options $options = null): Operations\Discoun } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -238,11 +240,12 @@ public function get(string $id, ?Options $options = null): Operations\DiscountsG } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -326,11 +329,12 @@ private function listIndividual(?Operations\DiscountsListRequest $request = null } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -467,11 +471,12 @@ public function update(Components\DiscountUpdate $discountUpdate, string $id, ?O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Disputes.php b/src/Disputes.php index d305b3a7..e70351f9 100644 --- a/src/Disputes.php +++ b/src/Disputes.php @@ -79,11 +79,12 @@ public function get(string $id, ?Options $options = null): Operations\DisputesGe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -167,11 +168,12 @@ private function listIndividual(?Operations\DisputesListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Downloadables.php b/src/Downloadables.php index f28040ab..2723e189 100644 --- a/src/Downloadables.php +++ b/src/Downloadables.php @@ -91,11 +91,12 @@ private function listIndividual(Operations\CustomerPortalDownloadablesListSecuri } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/EventTypes.php b/src/EventTypes.php index 3aacf24f..557c50ec 100644 --- a/src/EventTypes.php +++ b/src/EventTypes.php @@ -80,11 +80,12 @@ private function listIndividual(?Operations\EventTypesListRequest $request = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -189,6 +190,8 @@ public function list(?Operations\EventTypesListRequest $request = null, ?Options * * Update an event type's label. * + * **Scopes**: `events:write` + * * @param \Polar\Models\Components\EventTypeUpdate $eventTypeUpdate * @param string $id * @return \Polar\Models\Operations\EventTypesUpdateResponse @@ -224,11 +227,12 @@ public function update(Components\EventTypeUpdate $eventTypeUpdate, string $id, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Events.php b/src/Events.php index c365b07a..741916d5 100644 --- a/src/Events.php +++ b/src/Events.php @@ -80,18 +80,19 @@ public function get(string $id, ?Options $options = null): Operations\EventsGetR } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $response = new Operations\EventsGetResponse( statusCode: $statusCode, contentType: $contentType, @@ -170,11 +171,12 @@ public function ingest(Components\EventsIngest $request, ?Options $options = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -247,11 +249,12 @@ public function list(?Operations\EventsListRequest $request = null, ?Options $op } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -324,11 +327,12 @@ private function listNamesIndividual(?Operations\EventsListNamesRequest $request } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Files.php b/src/Files.php index 0e38b892..0f8d7a08 100644 --- a/src/Files.php +++ b/src/Files.php @@ -82,11 +82,12 @@ public function create(Components\DownloadableFileCreate|Components\ProductMedia } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function delete(string $id, ?Options $options = null): Operations\FilesDe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -258,11 +260,12 @@ private function listIndividual(string|array|null $organizationId = null, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -399,11 +402,12 @@ public function update(Components\FilePatch $filePatch, string $id, ?Options $op } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -505,11 +509,12 @@ public function uploaded(Components\FileUploadCompleted $fileUploadCompleted, st } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/LicenseKeys.php b/src/LicenseKeys.php index c68c6d8e..dfa116ac 100644 --- a/src/LicenseKeys.php +++ b/src/LicenseKeys.php @@ -82,11 +82,12 @@ public function activate(Components\LicenseKeyActivate $request, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -183,11 +184,12 @@ public function deactivate(Components\LicenseKeyDeactivate $request, ?Options $o } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -262,11 +264,12 @@ public function get(string $id, ?Options $options = null): Operations\LicenseKey } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -363,11 +366,12 @@ public function getActivation(string $id, string $activationId, ?Options $option } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -434,21 +438,12 @@ public function getActivation(string $id, string $activationId, ?Options $option * * **Scopes**: `license_keys:read` `license_keys:write` * - * @param string|array|null $organizationId - * @param string|array|null $benefitId - * @param ?int $page - * @param ?int $limit + * @param ?\Polar\Models\Operations\LicenseKeysListRequest $request * @return \Polar\Models\Operations\LicenseKeysListResponse * @throws \Polar\Models\Errors\APIException */ - private function listIndividual(string|array|null $organizationId = null, string|array|null $benefitId = null, ?int $page = null, ?int $limit = null, ?Options $options = null): Operations\LicenseKeysListResponse + private function listIndividual(?Operations\LicenseKeysListRequest $request = null, ?Options $options = null): Operations\LicenseKeysListResponse { - $request = new Operations\LicenseKeysListRequest( - organizationId: $organizationId, - benefitId: $benefitId, - page: $page, - limit: $limit, - ); $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); $url = Utils\Utils::generateUrl($baseUrl, '/v1/license-keys/'); $urlOverride = null; @@ -471,11 +466,12 @@ private function listIndividual(string|array|null $organizationId = null, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -516,10 +512,13 @@ private function listIndividual(string|array|null $organizationId = null, string } return $sdk->listIndividual( - organizationId: $request != null ? $request->organizationId : null, - benefitId: $request != null ? $request->benefitId : null, - page: $nextPage, - limit: $request != null ? $request->limit : null, + request: new Operations\LicenseKeysListRequest( + organizationId: $request != null ? $request->organizationId : null, + benefitId: $request != null ? $request->benefitId : null, + status: $request != null ? $request->status : null, + page: $nextPage, + limit: $request != null ? $request->limit : null, + ), ); }; @@ -576,16 +575,13 @@ private function listIndividual(string|array|null $organizationId = null, string * * **Scopes**: `license_keys:read` `license_keys:write` * - * @param string|array|null $organizationId - * @param string|array|null $benefitId - * @param ?int $page - * @param ?int $limit + * @param ?\Polar\Models\Operations\LicenseKeysListRequest $request * @return \Generator<\Polar\Models\Operations\LicenseKeysListResponse> * @throws \Polar\Models\Errors\APIException */ - public function list(string|array|null $organizationId = null, string|array|null $benefitId = null, ?int $page = null, ?int $limit = null, ?Options $options = null): \Generator + public function list(?Operations\LicenseKeysListRequest $request = null, ?Options $options = null): \Generator { - $res = $this->listIndividual($organizationId, $benefitId, $page, $limit, $options); + $res = $this->listIndividual($request, $options); while ($res !== null) { yield $res; $res = $res->next($res); @@ -634,11 +630,12 @@ public function update(Components\LicenseKeyUpdate $licenseKeyUpdate, string $id } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -735,11 +732,12 @@ public function validate(Components\LicenseKeyValidate $request, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Members.php b/src/Members.php index 86e9010e..00064797 100644 --- a/src/Members.php +++ b/src/Members.php @@ -85,11 +85,12 @@ public function createMember(Components\MemberCreate $request, ?Options $options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -175,11 +176,12 @@ public function deleteMember(string $id, ?Options $options = null): Operations\M } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -219,6 +221,93 @@ public function deleteMember(string $id, ?Options $options = null): Operations\M } } + /** + * Delete Member by External ID + * + * Delete a member by external ID. One of customer_id or external_customer_id must be specified. + * + * **Scopes**: `members:write` + * + * @param string $externalId + * @param ?string $customerId + * @param ?string $externalCustomerId + * @return \Polar\Models\Operations\MembersDeleteMemberByExternalIdResponse + * @throws \Polar\Models\Errors\APIException + */ + public function deleteMemberByExternalId(string $externalId, ?string $customerId = null, ?string $externalCustomerId = null, ?Options $options = null): Operations\MembersDeleteMemberByExternalIdResponse + { + $request = new Operations\MembersDeleteMemberByExternalIdRequest( + externalId: $externalId, + customerId: $customerId, + externalCustomerId: $externalCustomerId, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/members/external/{external_id}', Operations\MembersDeleteMemberByExternalIdRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\MembersDeleteMemberByExternalIdRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('DELETE', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'members:delete_member_by_external_id', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\MembersDeleteMemberByExternalIdResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Get Member * @@ -256,11 +345,12 @@ public function getMember(string $id, ?Options $options = null): Operations\Memb } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -309,6 +399,102 @@ public function getMember(string $id, ?Options $options = null): Operations\Memb } } + /** + * Get Member by External ID + * + * Get a member by external ID. One of customer_id or external_customer_id must be specified. + * + * **Scopes**: `members:read` `members:write` + * + * @param string $externalId + * @param ?string $customerId + * @param ?string $externalCustomerId + * @return \Polar\Models\Operations\MembersGetMemberByExternalIdResponse + * @throws \Polar\Models\Errors\APIException + */ + public function getMemberByExternalId(string $externalId, ?string $customerId = null, ?string $externalCustomerId = null, ?Options $options = null): Operations\MembersGetMemberByExternalIdResponse + { + $request = new Operations\MembersGetMemberByExternalIdRequest( + externalId: $externalId, + customerId: $customerId, + externalCustomerId: $externalCustomerId, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/members/external/{external_id}', Operations\MembersGetMemberByExternalIdRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\MembersGetMemberByExternalIdRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'members:get_member_by_external_id', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\MembersGetMemberByExternalIdResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + member: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * List Members * @@ -344,11 +530,12 @@ private function listMembersIndividual(?Operations\MembersListMembersRequest $re } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -489,11 +676,12 @@ public function updateMember(Components\MemberUpdate $memberUpdate, string $id, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -542,4 +730,107 @@ public function updateMember(Components\MemberUpdate $memberUpdate, string $id, } } + /** + * Update Member by External ID + * + * Update a member by external ID. One of customer_id or external_customer_id must be specified. + * + * **Scopes**: `members:write` + * + * @param \Polar\Models\Components\MemberUpdate $memberUpdate + * @param string $externalId + * @param ?string $customerId + * @param ?string $externalCustomerId + * @return \Polar\Models\Operations\MembersUpdateMemberByExternalIdResponse + * @throws \Polar\Models\Errors\APIException + */ + public function updateMemberByExternalId(Components\MemberUpdate $memberUpdate, string $externalId, ?string $customerId = null, ?string $externalCustomerId = null, ?Options $options = null): Operations\MembersUpdateMemberByExternalIdResponse + { + $request = new Operations\MembersUpdateMemberByExternalIdRequest( + externalId: $externalId, + memberUpdate: $memberUpdate, + customerId: $customerId, + externalCustomerId: $externalCustomerId, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/members/external/{external_id}', Operations\MembersUpdateMemberByExternalIdRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'memberUpdate', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + + $qp = Utils\Utils::getQueryParams(Operations\MembersUpdateMemberByExternalIdRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('PATCH', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'members:update_member_by_external_id', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\MembersUpdateMemberByExternalIdResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + member: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + } \ No newline at end of file diff --git a/src/Meters.php b/src/Meters.php index 142395a6..ff2e6057 100644 --- a/src/Meters.php +++ b/src/Meters.php @@ -82,11 +82,12 @@ public function create(Components\MeterCreate $request, ?Options $options = null } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function get(string $id, ?Options $options = null): Operations\MetersGetR } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -247,11 +249,12 @@ private function listIndividual(?Operations\MetersListRequest $request = null, ? } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -383,11 +386,12 @@ public function quantities(Operations\MetersQuantitiesRequest $request, ?Options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -478,11 +482,12 @@ public function update(Components\MeterUpdate $meterUpdate, string $id, ?Options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Metrics.php b/src/Metrics.php index 15b60f88..3858a9e7 100644 --- a/src/Metrics.php +++ b/src/Metrics.php @@ -82,11 +82,12 @@ public function createDashboard(Components\MetricDashboardCreate $request, ?Opti } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function deleteDashboard(string $id, ?Options $options = null): Operation } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -192,6 +194,94 @@ public function deleteDashboard(string $id, ?Options $options = null): Operation } } + /** + * Export Metrics + * + * Export metrics as a CSV file. + * + * **Scopes**: `metrics:read` + * + * @param \Polar\Models\Operations\MetricsExportRequest $request + * @return \Polar\Models\Operations\MetricsExportResponse + * @throws \Polar\Models\Errors\APIException + */ + public function export(Operations\MetricsExportRequest $request, ?Options $options = null): Operations\MetricsExportResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/metrics/export'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\MetricsExportRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json;q=1, text/csv;q=0'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'metrics:export', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, 'mixed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\MetricsExportResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + any: $obj); + + return $response; + } elseif (Utils\Utils::matchContentType($contentType, 'text/csv')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $obj = $httpResponse->getBody()->getContents(); + + return new Operations\MetricsExportResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + res: $obj); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Get Metrics * @@ -229,11 +319,12 @@ public function get(Operations\MetricsGetRequest $request, ?Options $options = n } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -306,11 +397,12 @@ public function getDashboard(string $id, ?Options $options = null): Operations\M } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -379,11 +471,12 @@ public function limits(?Options $options = null): Operations\MetricsLimitsRespon } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -448,11 +541,12 @@ public function listDashboards(string|array|null $organizationId = null, ?Option } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -532,11 +626,12 @@ public function updateDashboard(Components\MetricDashboardUpdate $metricDashboar } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Models/Components/BalanceCreditOrderMetadata.php b/src/Models/Components/BalanceCreditOrderMetadata.php index 0e937aaf..b1a23acc 100644 --- a/src/Models/Components/BalanceCreditOrderMetadata.php +++ b/src/Models/Components/BalanceCreditOrderMetadata.php @@ -62,6 +62,14 @@ class BalanceCreditOrderMetadata #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $subscriptionId = null; + /** + * + * @var ?float $exchangeRate + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('exchange_rate')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?float $exchangeRate = null; + /** * * @var ?string $taxState @@ -86,11 +94,12 @@ class BalanceCreditOrderMetadata * @param int $fee * @param ?string $productId * @param ?string $subscriptionId + * @param ?float $exchangeRate * @param ?string $taxState * @param ?string $taxCountry * @phpstan-pure */ - public function __construct(string $orderId, int $amount, string $currency, int $taxAmount, int $fee, ?string $productId = null, ?string $subscriptionId = null, ?string $taxState = null, ?string $taxCountry = null) + public function __construct(string $orderId, int $amount, string $currency, int $taxAmount, int $fee, ?string $productId = null, ?string $subscriptionId = null, ?float $exchangeRate = null, ?string $taxState = null, ?string $taxCountry = null) { $this->orderId = $orderId; $this->amount = $amount; @@ -99,6 +108,7 @@ public function __construct(string $orderId, int $amount, string $currency, int $this->fee = $fee; $this->productId = $productId; $this->subscriptionId = $subscriptionId; + $this->exchangeRate = $exchangeRate; $this->taxState = $taxState; $this->taxCountry = $taxCountry; } diff --git a/src/Models/Components/BenefitCustom.php b/src/Models/Components/BenefitCustom.php index 8b2c3f09..bf5d29a7 100644 --- a/src/Models/Components/BenefitCustom.php +++ b/src/Models/Components/BenefitCustom.php @@ -57,6 +57,14 @@ class BenefitCustom #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -105,19 +113,21 @@ class BenefitCustom * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitCustomProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitCustomProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'custom') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitCustomProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'custom') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->properties = $properties; diff --git a/src/Models/Components/BenefitCustomSubscriber.php b/src/Models/Components/BenefitCustomSubscriber.php index 587c50d9..5d51cce4 100644 --- a/src/Models/Components/BenefitCustomSubscriber.php +++ b/src/Models/Components/BenefitCustomSubscriber.php @@ -51,6 +51,14 @@ class BenefitCustomSubscriber #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -107,6 +115,7 @@ class BenefitCustomSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization @@ -114,13 +123,14 @@ class BenefitCustomSubscriber * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitCustomSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'custom') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitCustomSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'custom') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->organization = $organization; diff --git a/src/Models/Components/BenefitDiscord.php b/src/Models/Components/BenefitDiscord.php index e601d0dc..74e27a75 100644 --- a/src/Models/Components/BenefitDiscord.php +++ b/src/Models/Components/BenefitDiscord.php @@ -57,6 +57,14 @@ class BenefitDiscord #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -105,19 +113,21 @@ class BenefitDiscord * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitDiscordProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitDiscordProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'discord') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitDiscordProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'discord') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->properties = $properties; diff --git a/src/Models/Components/BenefitDiscordSubscriber.php b/src/Models/Components/BenefitDiscordSubscriber.php index 3777aff7..99379985 100644 --- a/src/Models/Components/BenefitDiscordSubscriber.php +++ b/src/Models/Components/BenefitDiscordSubscriber.php @@ -51,6 +51,14 @@ class BenefitDiscordSubscriber #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -107,6 +115,7 @@ class BenefitDiscordSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization @@ -114,13 +123,14 @@ class BenefitDiscordSubscriber * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitDiscordSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'discord') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitDiscordSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'discord') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->organization = $organization; diff --git a/src/Models/Components/BenefitDownloadables.php b/src/Models/Components/BenefitDownloadables.php index b4d00320..c5cf364c 100644 --- a/src/Models/Components/BenefitDownloadables.php +++ b/src/Models/Components/BenefitDownloadables.php @@ -51,6 +51,14 @@ class BenefitDownloadables #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -98,19 +106,21 @@ class BenefitDownloadables * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitDownloadablesProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitDownloadablesProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'downloadables') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitDownloadablesProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'downloadables') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->properties = $properties; diff --git a/src/Models/Components/BenefitDownloadablesSubscriber.php b/src/Models/Components/BenefitDownloadablesSubscriber.php index dbe989ba..4022a302 100644 --- a/src/Models/Components/BenefitDownloadablesSubscriber.php +++ b/src/Models/Components/BenefitDownloadablesSubscriber.php @@ -51,6 +51,14 @@ class BenefitDownloadablesSubscriber #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -106,6 +114,7 @@ class BenefitDownloadablesSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization @@ -113,13 +122,14 @@ class BenefitDownloadablesSubscriber * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitDownloadablesSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'downloadables') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitDownloadablesSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'downloadables') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->organization = $organization; diff --git a/src/Models/Components/BenefitFeatureFlag.php b/src/Models/Components/BenefitFeatureFlag.php index a6db979c..5502a2aa 100644 --- a/src/Models/Components/BenefitFeatureFlag.php +++ b/src/Models/Components/BenefitFeatureFlag.php @@ -58,6 +58,14 @@ class BenefitFeatureFlag #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -106,19 +114,21 @@ class BenefitFeatureFlag * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitFeatureFlagProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitFeatureFlagProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'feature_flag') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitFeatureFlagProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'feature_flag') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->properties = $properties; diff --git a/src/Models/Components/BenefitFeatureFlagSubscriber.php b/src/Models/Components/BenefitFeatureFlagSubscriber.php index d10336e5..38d64237 100644 --- a/src/Models/Components/BenefitFeatureFlagSubscriber.php +++ b/src/Models/Components/BenefitFeatureFlagSubscriber.php @@ -51,6 +51,14 @@ class BenefitFeatureFlagSubscriber #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -107,6 +115,7 @@ class BenefitFeatureFlagSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization @@ -114,13 +123,14 @@ class BenefitFeatureFlagSubscriber * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitFeatureFlagSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'feature_flag') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitFeatureFlagSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'feature_flag') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->organization = $organization; diff --git a/src/Models/Components/BenefitGitHubRepository.php b/src/Models/Components/BenefitGitHubRepository.php index 117625c0..62209b94 100644 --- a/src/Models/Components/BenefitGitHubRepository.php +++ b/src/Models/Components/BenefitGitHubRepository.php @@ -57,6 +57,14 @@ class BenefitGitHubRepository #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -105,19 +113,21 @@ class BenefitGitHubRepository * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitGitHubRepositoryProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitGitHubRepositoryProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'github_repository') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitGitHubRepositoryProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'github_repository') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->properties = $properties; diff --git a/src/Models/Components/BenefitGitHubRepositorySubscriber.php b/src/Models/Components/BenefitGitHubRepositorySubscriber.php index e925b877..bc75403e 100644 --- a/src/Models/Components/BenefitGitHubRepositorySubscriber.php +++ b/src/Models/Components/BenefitGitHubRepositorySubscriber.php @@ -51,6 +51,14 @@ class BenefitGitHubRepositorySubscriber #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -107,6 +115,7 @@ class BenefitGitHubRepositorySubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization @@ -114,13 +123,14 @@ class BenefitGitHubRepositorySubscriber * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitGitHubRepositorySubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'github_repository') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitGitHubRepositorySubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'github_repository') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->organization = $organization; diff --git a/src/Models/Components/BenefitLicenseKeys.php b/src/Models/Components/BenefitLicenseKeys.php index a2f8305b..a5263525 100644 --- a/src/Models/Components/BenefitLicenseKeys.php +++ b/src/Models/Components/BenefitLicenseKeys.php @@ -51,6 +51,14 @@ class BenefitLicenseKeys #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -98,19 +106,21 @@ class BenefitLicenseKeys * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitLicenseKeysProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitLicenseKeysProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'license_keys') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitLicenseKeysProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'license_keys') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->properties = $properties; diff --git a/src/Models/Components/BenefitLicenseKeysSubscriber.php b/src/Models/Components/BenefitLicenseKeysSubscriber.php index 139a6227..d7caffe3 100644 --- a/src/Models/Components/BenefitLicenseKeysSubscriber.php +++ b/src/Models/Components/BenefitLicenseKeysSubscriber.php @@ -51,6 +51,14 @@ class BenefitLicenseKeysSubscriber #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -106,6 +114,7 @@ class BenefitLicenseKeysSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization @@ -113,13 +122,14 @@ class BenefitLicenseKeysSubscriber * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitLicenseKeysSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'license_keys') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitLicenseKeysSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'license_keys') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->organization = $organization; diff --git a/src/Models/Components/BenefitMeterCredit.php b/src/Models/Components/BenefitMeterCredit.php index a52e4e07..1406aa79 100644 --- a/src/Models/Components/BenefitMeterCredit.php +++ b/src/Models/Components/BenefitMeterCredit.php @@ -57,6 +57,14 @@ class BenefitMeterCredit #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -105,19 +113,21 @@ class BenefitMeterCredit * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitMeterCreditProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitMeterCreditProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'meter_credit') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitMeterCreditProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'meter_credit') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->properties = $properties; diff --git a/src/Models/Components/BenefitMeterCreditSubscriber.php b/src/Models/Components/BenefitMeterCreditSubscriber.php index ddfd71b8..a1920dc8 100644 --- a/src/Models/Components/BenefitMeterCreditSubscriber.php +++ b/src/Models/Components/BenefitMeterCreditSubscriber.php @@ -51,6 +51,14 @@ class BenefitMeterCreditSubscriber #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -107,6 +115,7 @@ class BenefitMeterCreditSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization @@ -114,13 +123,14 @@ class BenefitMeterCreditSubscriber * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitMeterCreditSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'meter_credit') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitMeterCreditSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'meter_credit') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; $this->organization = $organization; diff --git a/src/Models/Components/BenefitPublic.php b/src/Models/Components/BenefitPublic.php index 45c704a1..06400b11 100644 --- a/src/Models/Components/BenefitPublic.php +++ b/src/Models/Components/BenefitPublic.php @@ -59,6 +59,14 @@ class BenefitPublic #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -82,11 +90,12 @@ class BenefitPublic * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, BenefitType $type, string $description, bool $selectable, bool $deletable, string $organizationId, ?\DateTime $modifiedAt = null) + public function __construct(string $id, \DateTime $createdAt, BenefitType $type, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, ?\DateTime $modifiedAt = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -94,6 +103,7 @@ public function __construct(string $id, \DateTime $createdAt, BenefitType $type, $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->modifiedAt = $modifiedAt; } diff --git a/src/Models/Components/Checkout.php b/src/Models/Components/Checkout.php index cb1f2626..7a77d25f 100644 --- a/src/Models/Components/Checkout.php +++ b/src/Models/Components/Checkout.php @@ -274,6 +274,15 @@ class Checkout #[\Speakeasy\Serializer\Annotation\SerializedName('tax_amount')] public ?int $taxAmount; + /** + * Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. + * + * @var ?\Polar\Models\Components\TaxBehavior $taxBehavior + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('tax_behavior')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\TaxBehavior|null')] + public ?TaxBehavior $taxBehavior; + /** * Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. * @@ -529,6 +538,7 @@ class Checkout * @param ?string $returnUrl * @param ?string $embedOrigin * @param ?int $taxAmount + * @param ?\Polar\Models\Components\TaxBehavior $taxBehavior * @param ?bool $allowTrial * @param ?\Polar\Models\Components\TrialInterval $activeTrialInterval * @param ?int $activeTrialIntervalCount @@ -558,7 +568,7 @@ class Checkout * @param ?string $locale * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, CheckoutStatus $status, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $metadata, array $products, array $customerMetadata, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $externalCustomerId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?string $subscriptionId = null, ?array $attachedCustomFields = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, CheckoutStatus $status, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $metadata, array $products, array $customerMetadata, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?TaxBehavior $taxBehavior = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $externalCustomerId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?string $subscriptionId = null, ?array $attachedCustomFields = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -592,6 +602,7 @@ public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $ $this->returnUrl = $returnUrl; $this->embedOrigin = $embedOrigin; $this->taxAmount = $taxAmount; + $this->taxBehavior = $taxBehavior; $this->allowTrial = $allowTrial; $this->activeTrialInterval = $activeTrialInterval; $this->activeTrialIntervalCount = $activeTrialIntervalCount; diff --git a/src/Models/Components/CheckoutPublic.php b/src/Models/Components/CheckoutPublic.php index 57207a92..d46217b8 100644 --- a/src/Models/Components/CheckoutPublic.php +++ b/src/Models/Components/CheckoutPublic.php @@ -264,6 +264,15 @@ class CheckoutPublic #[\Speakeasy\Serializer\Annotation\SerializedName('tax_amount')] public ?int $taxAmount; + /** + * Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. + * + * @var ?\Polar\Models\Components\TaxBehavior $taxBehavior + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('tax_behavior')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\TaxBehavior|null')] + public ?TaxBehavior $taxBehavior; + /** * Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. * @@ -486,6 +495,7 @@ class CheckoutPublic * @param ?string $returnUrl * @param ?string $embedOrigin * @param ?int $taxAmount + * @param ?\Polar\Models\Components\TaxBehavior $taxBehavior * @param ?bool $allowTrial * @param ?\Polar\Models\Components\TrialInterval $activeTrialInterval * @param ?int $activeTrialIntervalCount @@ -511,7 +521,7 @@ class CheckoutPublic * @param ?string $locale * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, CheckoutStatus $status, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $products, CheckoutOrganization $organization, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?array $attachedCustomFields = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, CheckoutStatus $status, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $products, CheckoutOrganization $organization, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?TaxBehavior $taxBehavior = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?array $attachedCustomFields = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -544,6 +554,7 @@ public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $ $this->returnUrl = $returnUrl; $this->embedOrigin = $embedOrigin; $this->taxAmount = $taxAmount; + $this->taxBehavior = $taxBehavior; $this->allowTrial = $allowTrial; $this->activeTrialInterval = $activeTrialInterval; $this->activeTrialIntervalCount = $activeTrialIntervalCount; diff --git a/src/Models/Components/CheckoutPublicConfirmed.php b/src/Models/Components/CheckoutPublicConfirmed.php index 31e8ab70..bbb42a06 100644 --- a/src/Models/Components/CheckoutPublicConfirmed.php +++ b/src/Models/Components/CheckoutPublicConfirmed.php @@ -262,6 +262,15 @@ class CheckoutPublicConfirmed #[\Speakeasy\Serializer\Annotation\SerializedName('tax_amount')] public ?int $taxAmount; + /** + * Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. + * + * @var ?\Polar\Models\Components\TaxBehavior $taxBehavior + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('tax_behavior')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\TaxBehavior|null')] + public ?TaxBehavior $taxBehavior; + /** * Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. * @@ -498,6 +507,7 @@ class CheckoutPublicConfirmed * @param ?string $returnUrl * @param ?string $embedOrigin * @param ?int $taxAmount + * @param ?\Polar\Models\Components\TaxBehavior $taxBehavior * @param ?bool $allowTrial * @param ?\Polar\Models\Components\TrialInterval $activeTrialInterval * @param ?int $activeTrialIntervalCount @@ -524,7 +534,7 @@ class CheckoutPublicConfirmed * @param ?string $locale * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $products, CheckoutOrganization $organization, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?array $attachedCustomFields = null, ?string $customerSessionToken = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null, string $status = 'confirmed') + public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $products, CheckoutOrganization $organization, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?TaxBehavior $taxBehavior = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?array $attachedCustomFields = null, ?string $customerSessionToken = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null, string $status = 'confirmed') { $this->id = $id; $this->createdAt = $createdAt; @@ -556,6 +566,7 @@ public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $ $this->returnUrl = $returnUrl; $this->embedOrigin = $embedOrigin; $this->taxAmount = $taxAmount; + $this->taxBehavior = $taxBehavior; $this->allowTrial = $allowTrial; $this->activeTrialInterval = $activeTrialInterval; $this->activeTrialIntervalCount = $activeTrialIntervalCount; diff --git a/src/Models/Components/CustomerEmailUpdateRequest.php b/src/Models/Components/CustomerEmailUpdateRequest.php new file mode 100644 index 00000000..e9eab803 --- /dev/null +++ b/src/Models/Components/CustomerEmailUpdateRequest.php @@ -0,0 +1,29 @@ +email = $email; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerEmailUpdateVerifyRequest.php b/src/Models/Components/CustomerEmailUpdateVerifyRequest.php new file mode 100644 index 00000000..d5bed7b4 --- /dev/null +++ b/src/Models/Components/CustomerEmailUpdateVerifyRequest.php @@ -0,0 +1,29 @@ +token = $token; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerEmailUpdateVerifyResponse.php b/src/Models/Components/CustomerEmailUpdateVerifyResponse.php new file mode 100644 index 00000000..9e94a575 --- /dev/null +++ b/src/Models/Components/CustomerEmailUpdateVerifyResponse.php @@ -0,0 +1,29 @@ +token = $token; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerIndividual.php b/src/Models/Components/CustomerIndividual.php index 0cb4be0d..6ccc7a7e 100644 --- a/src/Models/Components/CustomerIndividual.php +++ b/src/Models/Components/CustomerIndividual.php @@ -126,6 +126,15 @@ class CustomerIndividual #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * The type of customer. * @@ -150,9 +159,10 @@ class CustomerIndividual * @param ?\DateTime $deletedAt * @param ?string $externalId * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, string $email, bool $emailVerified, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $locale = null, string $type = 'individual') + public function __construct(string $id, \DateTime $createdAt, array $metadata, string $email, bool $emailVerified, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $locale = null, ?string $defaultPaymentMethodId = null, string $type = 'individual') { $this->id = $id; $this->createdAt = $createdAt; @@ -168,6 +178,7 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, s $this->deletedAt = $deletedAt; $this->externalId = $externalId; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerOrder.php b/src/Models/Components/CustomerOrder.php index a96fde47..9637a0f6 100644 --- a/src/Models/Components/CustomerOrder.php +++ b/src/Models/Components/CustomerOrder.php @@ -130,14 +130,6 @@ class CustomerOrder #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrderBillingReason')] public OrderBillingReason $billingReason; - /** - * The invoice number associated with this order. - * - * @var string $invoiceNumber - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('invoice_number')] - public string $invoiceNumber; - /** * Whether an invoice has been generated for this order. * @@ -170,6 +162,22 @@ class CustomerOrder #[\Speakeasy\Serializer\Annotation\SerializedName('description')] public string $description; + /** + * Amount in cents that can still be refunded (net, before taxes). Accounts for any applied customer balance and previous refunds. + * + * @var int $refundableAmount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('refundable_amount')] + public int $refundableAmount; + + /** + * Sales tax in cents that would be refunded if the full refundable amount is refunded. + * + * @var int $refundableTaxAmount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('refundable_tax_amount')] + public int $refundableTaxAmount; + /** * Last modification timestamp of the object. * @@ -194,6 +202,22 @@ class CustomerOrder #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Address|null')] public ?Address $billingAddress; + /** + * The invoice number associated with this order. `null` while the order is in `draft` status; assigned at finalize. + * + * @var ?string $invoiceNumber + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('invoice_number')] + public ?string $invoiceNumber; + + /** + * The receipt number for this order. Set once the order is paid for organizations with receipts enabled. When set, a downloadable receipt PDF can be obtained via the receipt endpoint. + * + * @var ?string $receiptNumber + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('receipt_number')] + public ?string $receiptNumber; + /** * * @var ?string $productId @@ -272,14 +296,17 @@ class CustomerOrder * @param int $refundedTaxAmount * @param string $currency * @param \Polar\Models\Components\OrderBillingReason $billingReason - * @param string $invoiceNumber * @param bool $isInvoiceGenerated * @param string $customerId * @param array<\Polar\Models\Components\OrderItemSchema> $items * @param string $description + * @param int $refundableAmount + * @param int $refundableTaxAmount * @param ?\DateTime $modifiedAt * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress + * @param ?string $invoiceNumber + * @param ?string $receiptNumber * @param ?string $productId * @param ?string $discountId * @param ?string $subscriptionId @@ -290,7 +317,7 @@ class CustomerOrder * @param ?\DateTime $nextPaymentAttemptAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, OrderStatus $status, bool $paid, int $subtotalAmount, int $discountAmount, int $netAmount, int $taxAmount, int $totalAmount, int $appliedBalanceAmount, int $dueAmount, int $refundedAmount, int $refundedTaxAmount, string $currency, OrderBillingReason $billingReason, string $invoiceNumber, bool $isInvoiceGenerated, string $customerId, array $items, string $description, ?\DateTime $modifiedAt = null, ?string $billingName = null, ?Address $billingAddress = null, ?string $productId = null, ?string $discountId = null, ?string $subscriptionId = null, ?string $checkoutId = null, ?CustomerOrderProduct $product = null, ?CustomerOrderSubscription $subscription = null, ?int $seats = null, ?\DateTime $nextPaymentAttemptAt = null) + public function __construct(string $id, \DateTime $createdAt, OrderStatus $status, bool $paid, int $subtotalAmount, int $discountAmount, int $netAmount, int $taxAmount, int $totalAmount, int $appliedBalanceAmount, int $dueAmount, int $refundedAmount, int $refundedTaxAmount, string $currency, OrderBillingReason $billingReason, bool $isInvoiceGenerated, string $customerId, array $items, string $description, int $refundableAmount, int $refundableTaxAmount, ?\DateTime $modifiedAt = null, ?string $billingName = null, ?Address $billingAddress = null, ?string $invoiceNumber = null, ?string $receiptNumber = null, ?string $productId = null, ?string $discountId = null, ?string $subscriptionId = null, ?string $checkoutId = null, ?CustomerOrderProduct $product = null, ?CustomerOrderSubscription $subscription = null, ?int $seats = null, ?\DateTime $nextPaymentAttemptAt = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -307,14 +334,17 @@ public function __construct(string $id, \DateTime $createdAt, OrderStatus $statu $this->refundedTaxAmount = $refundedTaxAmount; $this->currency = $currency; $this->billingReason = $billingReason; - $this->invoiceNumber = $invoiceNumber; $this->isInvoiceGenerated = $isInvoiceGenerated; $this->customerId = $customerId; $this->items = $items; $this->description = $description; + $this->refundableAmount = $refundableAmount; + $this->refundableTaxAmount = $refundableTaxAmount; $this->modifiedAt = $modifiedAt; $this->billingName = $billingName; $this->billingAddress = $billingAddress; + $this->invoiceNumber = $invoiceNumber; + $this->receiptNumber = $receiptNumber; $this->productId = $productId; $this->discountId = $discountId; $this->subscriptionId = $subscriptionId; diff --git a/src/Models/Components/CustomerOrderReceipt.php b/src/Models/Components/CustomerOrderReceipt.php new file mode 100644 index 00000000..954d067b --- /dev/null +++ b/src/Models/Components/CustomerOrderReceipt.php @@ -0,0 +1,31 @@ +url = $url; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerPaymentMethodCard.php b/src/Models/Components/CustomerPaymentMethodCard.php new file mode 100644 index 00000000..0be415ea --- /dev/null +++ b/src/Models/Components/CustomerPaymentMethodCard.php @@ -0,0 +1,98 @@ +id = $id; + $this->createdAt = $createdAt; + $this->processor = $processor; + $this->customerId = $customerId; + $this->methodMetadata = $methodMetadata; + $this->isDefault = $isDefault; + $this->modifiedAt = $modifiedAt; + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerPaymentMethodGeneric.php b/src/Models/Components/CustomerPaymentMethodGeneric.php new file mode 100644 index 00000000..9ed6fc4f --- /dev/null +++ b/src/Models/Components/CustomerPaymentMethodGeneric.php @@ -0,0 +1,88 @@ +id = $id; + $this->createdAt = $createdAt; + $this->processor = $processor; + $this->customerId = $customerId; + $this->type = $type; + $this->isDefault = $isDefault; + $this->modifiedAt = $modifiedAt; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerPortalCustomerSettings.php b/src/Models/Components/CustomerPortalCustomerSettings.php new file mode 100644 index 00000000..5e7c8b36 --- /dev/null +++ b/src/Models/Components/CustomerPortalCustomerSettings.php @@ -0,0 +1,30 @@ +allowEmailChange = $allowEmailChange; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerPortalCustomerUpdate.php b/src/Models/Components/CustomerPortalCustomerUpdate.php index ba027375..a4d388f6 100644 --- a/src/Models/Components/CustomerPortalCustomerUpdate.php +++ b/src/Models/Components/CustomerPortalCustomerUpdate.php @@ -36,16 +36,26 @@ class CustomerPortalCustomerUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $taxId = null; + /** + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * @param ?string $billingName * @param ?\Polar\Models\Components\AddressInput $billingAddress * @param ?string $taxId + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(?string $billingName = null, ?AddressInput $billingAddress = null, ?string $taxId = null) + public function __construct(?string $billingName = null, ?AddressInput $billingAddress = null, ?string $taxId = null, ?string $defaultPaymentMethodId = null) { $this->billingName = $billingName; $this->billingAddress = $billingAddress; $this->taxId = $taxId; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerSeatAssign.php b/src/Models/Components/CustomerSeatAssign.php new file mode 100644 index 00000000..07620d52 --- /dev/null +++ b/src/Models/Components/CustomerSeatAssign.php @@ -0,0 +1,131 @@ + $metadata + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $metadata = null; + + /** + * Checkout ID. Resolves to the subscription or order produced by the checkout. + * + * @var ?string $checkoutId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('checkout_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $checkoutId = null; + + /** + * If true, the seat will be immediately claimed without sending an invitation email. API-only feature. + * + * @var ?bool $immediateClaim + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('immediate_claim')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $immediateClaim = null; + + /** + * @param ?bool $immediateClaim + * @param ?string $subscriptionId + * @param ?string $orderId + * @param ?string $email + * @param ?string $externalCustomerId + * @param ?string $customerId + * @param ?string $externalMemberId + * @param ?string $memberId + * @param ?array $metadata + * @param ?string $checkoutId + * @phpstan-pure + */ + public function __construct(?string $subscriptionId = null, ?string $orderId = null, ?string $email = null, ?string $externalCustomerId = null, ?string $customerId = null, ?string $externalMemberId = null, ?string $memberId = null, ?array $metadata = null, ?string $checkoutId = null, ?bool $immediateClaim = false) + { + $this->subscriptionId = $subscriptionId; + $this->orderId = $orderId; + $this->email = $email; + $this->externalCustomerId = $externalCustomerId; + $this->customerId = $customerId; + $this->externalMemberId = $externalMemberId; + $this->memberId = $memberId; + $this->metadata = $metadata; + $this->checkoutId = $checkoutId; + $this->immediateClaim = $immediateClaim; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerStateIndividual.php b/src/Models/Components/CustomerStateIndividual.php index e4048870..b260ce4a 100644 --- a/src/Models/Components/CustomerStateIndividual.php +++ b/src/Models/Components/CustomerStateIndividual.php @@ -160,6 +160,15 @@ class CustomerStateIndividual #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * The type of customer. * @@ -187,9 +196,10 @@ class CustomerStateIndividual * @param ?\DateTime $deletedAt * @param ?string $externalId * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, string $email, bool $emailVerified, string $organizationId, array $activeSubscriptions, array $grantedBenefits, array $activeMeters, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $locale = null, string $type = 'individual') + public function __construct(string $id, \DateTime $createdAt, array $metadata, string $email, bool $emailVerified, string $organizationId, array $activeSubscriptions, array $grantedBenefits, array $activeMeters, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $locale = null, ?string $defaultPaymentMethodId = null, string $type = 'individual') { $this->id = $id; $this->createdAt = $createdAt; @@ -208,6 +218,7 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, s $this->deletedAt = $deletedAt; $this->externalId = $externalId; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerStateTeam.php b/src/Models/Components/CustomerStateTeam.php index a59c25e3..bda8729e 100644 --- a/src/Models/Components/CustomerStateTeam.php +++ b/src/Models/Components/CustomerStateTeam.php @@ -161,6 +161,15 @@ class CustomerStateTeam #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * The type of customer. Team customers can have multiple members. * @@ -188,9 +197,10 @@ class CustomerStateTeam * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, string $organizationId, array $activeSubscriptions, array $grantedBenefits, array $activeMeters, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, string $type = 'team') + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, string $organizationId, array $activeSubscriptions, array $grantedBenefits, array $activeMeters, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null, string $type = 'team') { $this->id = $id; $this->createdAt = $createdAt; @@ -209,6 +219,7 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, b $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerSubscriptionUpdateClear.php b/src/Models/Components/CustomerSubscriptionUpdateClear.php new file mode 100644 index 00000000..92d32ce7 --- /dev/null +++ b/src/Models/Components/CustomerSubscriptionUpdateClear.php @@ -0,0 +1,31 @@ +pendingUpdate = $pendingUpdate; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerTeam.php b/src/Models/Components/CustomerTeam.php index fa0713a7..25bdbe1f 100644 --- a/src/Models/Components/CustomerTeam.php +++ b/src/Models/Components/CustomerTeam.php @@ -127,6 +127,15 @@ class CustomerTeam #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * The type of customer. Team customers can have multiple members. * @@ -151,9 +160,10 @@ class CustomerTeam * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, string $type = 'team') + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null, string $type = 'team') { $this->id = $id; $this->createdAt = $createdAt; @@ -169,6 +179,7 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, b $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/DiscountFixedRepeatDurationCreate.php b/src/Models/Components/DiscountFixedCreate.php similarity index 86% rename from src/Models/Components/DiscountFixedRepeatDurationCreate.php rename to src/Models/Components/DiscountFixedCreate.php index dc8939a6..b0e31038 100644 --- a/src/Models/Components/DiscountFixedRepeatDurationCreate.php +++ b/src/Models/Components/DiscountFixedCreate.php @@ -9,41 +9,9 @@ namespace Polar\Models\Components; -/** - * DiscountFixedRepeatDurationCreate - Schema to create a fixed amount discount that is applied on every invoice - * - * for a certain number of months. - */ -class DiscountFixedRepeatDurationCreate +/** DiscountFixedCreate - Schema to create a fixed amount discount. */ +class DiscountFixedCreate { - /** - * - * @var \Polar\Models\Components\DiscountDuration $duration - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('duration')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountDuration')] - public DiscountDuration $duration; - - /** - * Number of months the discount should be applied. - * - * - * For this to work on yearly pricing, you should multiply this by 12. - * For example, to apply the discount for 2 years, set this to 24. - * - * @var int $durationInMonths - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('duration_in_months')] - public int $durationInMonths; - - /** - * - * @var \Polar\Models\Components\DiscountType $type - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('type')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountType')] - public DiscountType $type; - /** * Name of the discount. Will be displayed to the customer when the discount is applied. * @@ -52,6 +20,14 @@ class DiscountFixedRepeatDurationCreate #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public string $name; + /** + * + * @var \Polar\Models\Components\DiscountDuration $duration + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('duration')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountDuration')] + public DiscountDuration $duration; + /** * Key-value object allowing you to store additional information. * @@ -73,35 +49,6 @@ class DiscountFixedRepeatDurationCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?array $metadata = null; - /** - * - * @var ?int $amount - * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('amount')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $amount = null; - - /** - * - * @var ?\Polar\Models\Components\PresentmentCurrency $currency - * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PresentmentCurrency|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?PresentmentCurrency $currency = null; - - /** - * $amounts - * - * @var ?array $amounts - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('amounts')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $amounts = null; - /** * Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. * @@ -158,37 +105,89 @@ class DiscountFixedRepeatDurationCreate public ?string $organizationId = null; /** - * @param \Polar\Models\Components\DiscountDuration $duration - * @param int $durationInMonths - * @param \Polar\Models\Components\DiscountType $type + * Number of months the discount should be applied. + * + * + * Required when `duration` is `repeating`. Must be omitted otherwise. + * + * For this to work on yearly pricing, you should multiply this by 12. + * For example, to apply the discount for 2 years, set this to 24. + * + * @var ?int $durationInMonths + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('duration_in_months')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $durationInMonths = null; + + /** + * + * @var ?int $amount + * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('amount')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $amount = null; + + /** + * + * @var ?\Polar\Models\Components\PresentmentCurrency $currency + * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PresentmentCurrency|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?PresentmentCurrency $currency = null; + + /** + * $amounts + * + * @var ?array $amounts + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('amounts')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $amounts = null; + + /** + * + * @var ?string $type + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('type')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $type = null; + + /** * @param string $name + * @param \Polar\Models\Components\DiscountDuration $duration * @param ?array $metadata - * @param ?int $amount - * @param ?\Polar\Models\Components\PresentmentCurrency $currency - * @param ?array $amounts + * @param ?string $type * @param ?string $code * @param ?\DateTime $startsAt * @param ?\DateTime $endsAt * @param ?int $maxRedemptions * @param ?array $products * @param ?string $organizationId + * @param ?int $durationInMonths + * @param ?int $amount + * @param ?\Polar\Models\Components\PresentmentCurrency $currency + * @param ?array $amounts * @phpstan-pure */ - public function __construct(DiscountDuration $duration, int $durationInMonths, DiscountType $type, string $name, ?array $metadata = null, ?int $amount = null, ?PresentmentCurrency $currency = null, ?array $amounts = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null) + public function __construct(string $name, DiscountDuration $duration, ?array $metadata = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null, ?int $durationInMonths = null, ?int $amount = null, ?PresentmentCurrency $currency = null, ?array $amounts = null, ?string $type = 'fixed') { - $this->duration = $duration; - $this->durationInMonths = $durationInMonths; - $this->type = $type; $this->name = $name; + $this->duration = $duration; $this->metadata = $metadata; - $this->amount = $amount; - $this->currency = $currency; - $this->amounts = $amounts; $this->code = $code; $this->startsAt = $startsAt; $this->endsAt = $endsAt; $this->maxRedemptions = $maxRedemptions; $this->products = $products; $this->organizationId = $organizationId; + $this->durationInMonths = $durationInMonths; + $this->amount = $amount; + $this->currency = $currency; + $this->amounts = $amounts; + $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/DiscountFixedOnceForeverDurationCreate.php b/src/Models/Components/DiscountFixedOnceForeverDurationCreate.php deleted file mode 100644 index b149f17e..00000000 --- a/src/Models/Components/DiscountFixedOnceForeverDurationCreate.php +++ /dev/null @@ -1,176 +0,0 @@ - $metadata - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $metadata = null; - - /** - * - * @var ?int $amount - * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('amount')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $amount = null; - - /** - * - * @var ?\Polar\Models\Components\PresentmentCurrency $currency - * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PresentmentCurrency|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?PresentmentCurrency $currency = null; - - /** - * $amounts - * - * @var ?array $amounts - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('amounts')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $amounts = null; - - /** - * Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. - * - * @var ?string $code - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('code')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $code = null; - - /** - * Optional timestamp after which the discount is redeemable. - * - * @var ?\DateTime $startsAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('starts_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $startsAt = null; - - /** - * Optional timestamp after which the discount is no longer redeemable. - * - * @var ?\DateTime $endsAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('ends_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $endsAt = null; - - /** - * Optional maximum number of times the discount can be redeemed. - * - * @var ?int $maxRedemptions - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('max_redemptions')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $maxRedemptions = null; - - /** - * $products - * - * @var ?array $products - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('products')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $products = null; - - /** - * The ID of the organization owning the discount. **Required unless you use an organization token.** - * - * @var ?string $organizationId - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $organizationId = null; - - /** - * @param \Polar\Models\Components\DiscountDuration $duration - * @param \Polar\Models\Components\DiscountType $type - * @param string $name - * @param ?array $metadata - * @param ?int $amount - * @param ?\Polar\Models\Components\PresentmentCurrency $currency - * @param ?array $amounts - * @param ?string $code - * @param ?\DateTime $startsAt - * @param ?\DateTime $endsAt - * @param ?int $maxRedemptions - * @param ?array $products - * @param ?string $organizationId - * @phpstan-pure - */ - public function __construct(DiscountDuration $duration, DiscountType $type, string $name, ?array $metadata = null, ?int $amount = null, ?PresentmentCurrency $currency = null, ?array $amounts = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null) - { - $this->duration = $duration; - $this->type = $type; - $this->name = $name; - $this->metadata = $metadata; - $this->amount = $amount; - $this->currency = $currency; - $this->amounts = $amounts; - $this->code = $code; - $this->startsAt = $startsAt; - $this->endsAt = $endsAt; - $this->maxRedemptions = $maxRedemptions; - $this->products = $products; - $this->organizationId = $organizationId; - } -} \ No newline at end of file diff --git a/src/Models/Components/DiscountPercentageRepeatDurationCreate.php b/src/Models/Components/DiscountPercentageCreate.php similarity index 85% rename from src/Models/Components/DiscountPercentageRepeatDurationCreate.php rename to src/Models/Components/DiscountPercentageCreate.php index e9b559cf..f767a6ce 100644 --- a/src/Models/Components/DiscountPercentageRepeatDurationCreate.php +++ b/src/Models/Components/DiscountPercentageCreate.php @@ -9,40 +9,24 @@ namespace Polar\Models\Components; -/** - * DiscountPercentageRepeatDurationCreate - Schema to create a percentage discount that is applied on every invoice - * - * for a certain number of months. - */ -class DiscountPercentageRepeatDurationCreate +/** DiscountPercentageCreate - Schema to create a percentage discount. */ +class DiscountPercentageCreate { /** + * Name of the discount. Will be displayed to the customer when the discount is applied. * - * @var \Polar\Models\Components\DiscountDuration $duration - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('duration')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountDuration')] - public DiscountDuration $duration; - - /** - * Number of months the discount should be applied. - * - * - * For this to work on yearly pricing, you should multiply this by 12. - * For example, to apply the discount for 2 years, set this to 24. - * - * @var int $durationInMonths + * @var string $name */ - #[\Speakeasy\Serializer\Annotation\SerializedName('duration_in_months')] - public int $durationInMonths; + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; /** * - * @var \Polar\Models\Components\DiscountType $type + * @var \Polar\Models\Components\DiscountDuration $duration */ - #[\Speakeasy\Serializer\Annotation\SerializedName('type')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountType')] - public DiscountType $type; + #[\Speakeasy\Serializer\Annotation\SerializedName('duration')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountDuration')] + public DiscountDuration $duration; /** * Discount percentage in basis points. @@ -56,14 +40,6 @@ class DiscountPercentageRepeatDurationCreate #[\Speakeasy\Serializer\Annotation\SerializedName('basis_points')] public int $basisPoints; - /** - * Name of the discount. Will be displayed to the customer when the discount is applied. - * - * @var string $name - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('name')] - public string $name; - /** * Key-value object allowing you to store additional information. * @@ -141,27 +117,48 @@ class DiscountPercentageRepeatDurationCreate public ?string $organizationId = null; /** + * Number of months the discount should be applied. + * + * + * Required when `duration` is `repeating`. Must be omitted otherwise. + * + * For this to work on yearly pricing, you should multiply this by 12. + * For example, to apply the discount for 2 years, set this to 24. + * + * @var ?int $durationInMonths + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('duration_in_months')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $durationInMonths = null; + + /** + * + * @var ?string $type + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('type')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $type = null; + + /** + * @param string $name * @param \Polar\Models\Components\DiscountDuration $duration - * @param int $durationInMonths - * @param \Polar\Models\Components\DiscountType $type * @param int $basisPoints - * @param string $name * @param ?array $metadata + * @param ?string $type * @param ?string $code * @param ?\DateTime $startsAt * @param ?\DateTime $endsAt * @param ?int $maxRedemptions * @param ?array $products * @param ?string $organizationId + * @param ?int $durationInMonths * @phpstan-pure */ - public function __construct(DiscountDuration $duration, int $durationInMonths, DiscountType $type, int $basisPoints, string $name, ?array $metadata = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null) + public function __construct(string $name, DiscountDuration $duration, int $basisPoints, ?array $metadata = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null, ?int $durationInMonths = null, ?string $type = 'percentage') { + $this->name = $name; $this->duration = $duration; - $this->durationInMonths = $durationInMonths; - $this->type = $type; $this->basisPoints = $basisPoints; - $this->name = $name; $this->metadata = $metadata; $this->code = $code; $this->startsAt = $startsAt; @@ -169,5 +166,7 @@ public function __construct(DiscountDuration $duration, int $durationInMonths, D $this->maxRedemptions = $maxRedemptions; $this->products = $products; $this->organizationId = $organizationId; + $this->durationInMonths = $durationInMonths; + $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/DiscountPercentageOnceForeverDurationCreate.php b/src/Models/Components/DiscountPercentageOnceForeverDurationCreate.php deleted file mode 100644 index d8aff5ca..00000000 --- a/src/Models/Components/DiscountPercentageOnceForeverDurationCreate.php +++ /dev/null @@ -1,155 +0,0 @@ - $metadata - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $metadata = null; - - /** - * Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. - * - * @var ?string $code - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('code')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $code = null; - - /** - * Optional timestamp after which the discount is redeemable. - * - * @var ?\DateTime $startsAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('starts_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $startsAt = null; - - /** - * Optional timestamp after which the discount is no longer redeemable. - * - * @var ?\DateTime $endsAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('ends_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $endsAt = null; - - /** - * Optional maximum number of times the discount can be redeemed. - * - * @var ?int $maxRedemptions - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('max_redemptions')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $maxRedemptions = null; - - /** - * $products - * - * @var ?array $products - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('products')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $products = null; - - /** - * The ID of the organization owning the discount. **Required unless you use an organization token.** - * - * @var ?string $organizationId - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $organizationId = null; - - /** - * @param \Polar\Models\Components\DiscountDuration $duration - * @param \Polar\Models\Components\DiscountType $type - * @param int $basisPoints - * @param string $name - * @param ?array $metadata - * @param ?string $code - * @param ?\DateTime $startsAt - * @param ?\DateTime $endsAt - * @param ?int $maxRedemptions - * @param ?array $products - * @param ?string $organizationId - * @phpstan-pure - */ - public function __construct(DiscountDuration $duration, DiscountType $type, int $basisPoints, string $name, ?array $metadata = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null) - { - $this->duration = $duration; - $this->type = $type; - $this->basisPoints = $basisPoints; - $this->name = $name; - $this->metadata = $metadata; - $this->code = $code; - $this->startsAt = $startsAt; - $this->endsAt = $endsAt; - $this->maxRedemptions = $maxRedemptions; - $this->products = $products; - $this->organizationId = $organizationId; - } -} \ No newline at end of file diff --git a/src/Models/Components/EventTypeWithStats.php b/src/Models/Components/EventTypeWithStats.php index 665e7897..f6fbedd8 100644 --- a/src/Models/Components/EventTypeWithStats.php +++ b/src/Models/Components/EventTypeWithStats.php @@ -11,22 +11,6 @@ class EventTypeWithStats { - /** - * Creation timestamp of the object. - * - * @var \DateTime $createdAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('created_at')] - public \DateTime $createdAt; - - /** - * The ID of the object. - * - * @var string $id - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - public string $id; - /** * The name of the event type. * @@ -84,12 +68,31 @@ class EventTypeWithStats public \DateTime $lastSeen; /** - * Last modification timestamp of the object. + * The ID of the event type. Null for system event types. + * + * @var ?string $id + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $id = null; + + /** + * Creation timestamp of the event type. Null for system event types. + * + * @var ?\DateTime $createdAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('created_at')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $createdAt = null; + + /** + * Last modification timestamp of the event type. Null for system event types. * * @var ?\DateTime $modifiedAt */ #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] - public ?\DateTime $modifiedAt; + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $modifiedAt = null; /** * Property path to extract dynamic label from event metadata. @@ -101,8 +104,6 @@ class EventTypeWithStats public ?string $labelPropertySelector = null; /** - * @param \DateTime $createdAt - * @param string $id * @param string $name * @param string $label * @param string $organizationId @@ -110,14 +111,14 @@ class EventTypeWithStats * @param int $occurrences * @param \DateTime $firstSeen * @param \DateTime $lastSeen + * @param ?string $id + * @param ?\DateTime $createdAt * @param ?\DateTime $modifiedAt * @param ?string $labelPropertySelector * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, string $name, string $label, string $organizationId, EventSource $source, int $occurrences, \DateTime $firstSeen, \DateTime $lastSeen, ?\DateTime $modifiedAt = null, ?string $labelPropertySelector = null) + public function __construct(string $name, string $label, string $organizationId, EventSource $source, int $occurrences, \DateTime $firstSeen, \DateTime $lastSeen, ?string $id = null, ?\DateTime $createdAt = null, ?\DateTime $modifiedAt = null, ?string $labelPropertySelector = null) { - $this->createdAt = $createdAt; - $this->id = $id; $this->name = $name; $this->label = $label; $this->organizationId = $organizationId; @@ -125,6 +126,8 @@ public function __construct(\DateTime $createdAt, string $id, string $name, stri $this->occurrences = $occurrences; $this->firstSeen = $firstSeen; $this->lastSeen = $lastSeen; + $this->id = $id; + $this->createdAt = $createdAt; $this->modifiedAt = $modifiedAt; $this->labelPropertySelector = $labelPropertySelector; } diff --git a/src/Models/Components/LegacyRecurringProductPriceCustom.php b/src/Models/Components/LegacyRecurringProductPriceCustom.php index 49c8e2dc..194385e2 100644 --- a/src/Models/Components/LegacyRecurringProductPriceCustom.php +++ b/src/Models/Components/LegacyRecurringProductPriceCustom.php @@ -74,7 +74,7 @@ class LegacyRecurringProductPriceCustom public SubscriptionRecurringInterval $recurringInterval; /** - * The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. + * The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. * * @var int $minimumAmount */ diff --git a/src/Models/Components/LicenseKeyCustomer.php b/src/Models/Components/LicenseKeyCustomer.php index 2dfcef7e..d6023c9d 100644 --- a/src/Models/Components/LicenseKeyCustomer.php +++ b/src/Models/Components/LicenseKeyCustomer.php @@ -134,6 +134,15 @@ class LicenseKeyCustomer #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * @param string $id * @param \DateTime $createdAt @@ -150,9 +159,10 @@ class LicenseKeyCustomer * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -169,5 +179,6 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, b $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; } } \ No newline at end of file diff --git a/src/Models/Components/ListResourceEvent.php b/src/Models/Components/ListResourceEvent.php index 1b4115fb..6c3ac664 100644 --- a/src/Models/Components/ListResourceEvent.php +++ b/src/Models/Components/ListResourceEvent.php @@ -14,10 +14,10 @@ class ListResourceEvent /** * $items * - * @var array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items + * @var array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items */ #[\Speakeasy\Serializer\Annotation\SerializedName('items')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent>')] public array $items; /** @@ -29,7 +29,7 @@ class ListResourceEvent public Pagination $pagination; /** - * @param array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items + * @param array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items * @param \Polar\Models\Components\Pagination $pagination * @phpstan-pure */ diff --git a/src/Models/Components/ListResourcePaymentMethod.php b/src/Models/Components/ListResourcePaymentMethod.php new file mode 100644 index 00000000..ebb98d15 --- /dev/null +++ b/src/Models/Components/ListResourcePaymentMethod.php @@ -0,0 +1,41 @@ + $items + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('items')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\CustomerPaymentMethodCard|\Polar\Models\Components\CustomerPaymentMethodGeneric>')] + public array $items; + + /** + * + * @var \Polar\Models\Components\Pagination $pagination + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('pagination')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Pagination')] + public Pagination $pagination; + + /** + * @param array<\Polar\Models\Components\CustomerPaymentMethodCard|\Polar\Models\Components\CustomerPaymentMethodGeneric> $items + * @param \Polar\Models\Components\Pagination $pagination + * @phpstan-pure + */ + public function __construct(array $items, Pagination $pagination) + { + $this->items = $items; + $this->pagination = $pagination; + } +} \ No newline at end of file diff --git a/src/Models/Components/ListResourceWithCursorPaginationEvent.php b/src/Models/Components/ListResourceWithCursorPaginationEvent.php index 19c14002..5110e0ad 100644 --- a/src/Models/Components/ListResourceWithCursorPaginationEvent.php +++ b/src/Models/Components/ListResourceWithCursorPaginationEvent.php @@ -14,10 +14,10 @@ class ListResourceWithCursorPaginationEvent /** * $items * - * @var array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items + * @var array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items */ #[\Speakeasy\Serializer\Annotation\SerializedName('items')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent>')] public array $items; /** @@ -29,7 +29,7 @@ class ListResourceWithCursorPaginationEvent public CursorPagination $pagination; /** - * @param array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items + * @param array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items * @param \Polar\Models\Components\CursorPagination $pagination * @phpstan-pure */ diff --git a/src/Models/Components/MemberCreate.php b/src/Models/Components/MemberCreate.php index a1b17f7b..2a78b048 100644 --- a/src/Models/Components/MemberCreate.php +++ b/src/Models/Components/MemberCreate.php @@ -28,15 +28,6 @@ class MemberCreate #[\Speakeasy\Serializer\Annotation\SerializedName('email')] public string $email; - /** - * - * @var ?\Polar\Models\Components\MemberRole $role - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('role')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\MemberRole|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?MemberRole $role = null; - /** * * @var ?string $name @@ -54,20 +45,30 @@ class MemberCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $externalId = null; + /** + * The role of the member within the customer. To assign or transfer ownership, use the member update endpoint. + * + * @var ?\Polar\Models\Components\Role $role + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('role')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Role|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Role $role = null; + /** * @param string $customerId * @param string $email - * @param ?\Polar\Models\Components\MemberRole $role + * @param ?\Polar\Models\Components\Role $role * @param ?string $name * @param ?string $externalId * @phpstan-pure */ - public function __construct(string $customerId, string $email, ?MemberRole $role = null, ?string $name = null, ?string $externalId = null) + public function __construct(string $customerId, string $email, ?string $name = null, ?string $externalId = null, ?Role $role = Role::Member) { $this->customerId = $customerId; $this->email = $email; - $this->role = $role; $this->name = $name; $this->externalId = $externalId; + $this->role = $role; } } \ No newline at end of file diff --git a/src/Models/Components/Meter.php b/src/Models/Components/Meter.php index dac33c72..70134400 100644 --- a/src/Models/Components/Meter.php +++ b/src/Models/Components/Meter.php @@ -44,6 +44,14 @@ class Meter #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public string $name; + /** + * + * @var \Polar\Models\Components\MeterUnit $unit + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('unit')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\MeterUnit')] + public MeterUnit $unit; + /** * * @var \Polar\Models\Components\Filter $filter @@ -78,6 +86,24 @@ class Meter #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] public ?\DateTime $modifiedAt; + /** + * The label for the custom unit. + * + * @var ?string $customLabel + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_label')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $customLabel = null; + + /** + * The multiplier to convert from base unit to display scale. + * + * @var ?int $customMultiplier + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_multiplier')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $customMultiplier = null; + /** * Whether the meter is archived and the time it was archived. * @@ -92,23 +118,29 @@ class Meter * @param \DateTime $createdAt * @param string $id * @param string $name + * @param \Polar\Models\Components\MeterUnit $unit * @param \Polar\Models\Components\Filter $filter * @param \Polar\Models\Components\CountAggregation|\Polar\Models\Components\PropertyAggregation|\Polar\Models\Components\UniqueAggregation $aggregation * @param string $organizationId * @param ?\DateTime $modifiedAt + * @param ?string $customLabel + * @param ?int $customMultiplier * @param ?\DateTime $archivedAt * @phpstan-pure */ - public function __construct(array $metadata, \DateTime $createdAt, string $id, string $name, Filter $filter, CountAggregation|PropertyAggregation|UniqueAggregation $aggregation, string $organizationId, ?\DateTime $modifiedAt = null, ?\DateTime $archivedAt = null) + public function __construct(array $metadata, \DateTime $createdAt, string $id, string $name, MeterUnit $unit, Filter $filter, CountAggregation|PropertyAggregation|UniqueAggregation $aggregation, string $organizationId, ?\DateTime $modifiedAt = null, ?string $customLabel = null, ?int $customMultiplier = null, ?\DateTime $archivedAt = null) { $this->metadata = $metadata; $this->createdAt = $createdAt; $this->id = $id; $this->name = $name; + $this->unit = $unit; $this->filter = $filter; $this->aggregation = $aggregation; $this->organizationId = $organizationId; $this->modifiedAt = $modifiedAt; + $this->customLabel = $customLabel; + $this->customMultiplier = $customMultiplier; $this->archivedAt = $archivedAt; } } \ No newline at end of file diff --git a/src/Models/Components/MeterCreate.php b/src/Models/Components/MeterCreate.php index 7cf61917..d95fb5fa 100644 --- a/src/Models/Components/MeterCreate.php +++ b/src/Models/Components/MeterCreate.php @@ -58,6 +58,33 @@ class MeterCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?array $metadata = null; + /** + * + * @var ?\Polar\Models\Components\MeterUnit $unit + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('unit')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\MeterUnit|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?MeterUnit $unit = null; + + /** + * The label for the custom unit, e.g. 'request'. Required when unit is 'custom'. + * + * @var ?string $customLabel + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_label')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $customLabel = null; + + /** + * The multiplier to convert from the base unit to display scale, e.g. 1000 to display per 1000 units. Defaults to 1 when not provided. + * + * @var ?int $customMultiplier + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_multiplier')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $customMultiplier = null; + /** * The ID of the organization owning the meter. **Required unless you use an organization token.** * @@ -72,15 +99,21 @@ class MeterCreate * @param \Polar\Models\Components\Filter $filter * @param \Polar\Models\Components\CountAggregation|\Polar\Models\Components\PropertyAggregation|\Polar\Models\Components\UniqueAggregation $aggregation * @param ?array $metadata + * @param ?\Polar\Models\Components\MeterUnit $unit + * @param ?string $customLabel + * @param ?int $customMultiplier * @param ?string $organizationId * @phpstan-pure */ - public function __construct(string $name, Filter $filter, CountAggregation|PropertyAggregation|UniqueAggregation $aggregation, ?array $metadata = null, ?string $organizationId = null) + public function __construct(string $name, Filter $filter, CountAggregation|PropertyAggregation|UniqueAggregation $aggregation, ?array $metadata = null, ?MeterUnit $unit = null, ?string $customLabel = null, ?int $customMultiplier = null, ?string $organizationId = null) { $this->name = $name; $this->filter = $filter; $this->aggregation = $aggregation; $this->metadata = $metadata; + $this->unit = $unit; + $this->customLabel = $customLabel; + $this->customMultiplier = $customMultiplier; $this->organizationId = $organizationId; } } \ No newline at end of file diff --git a/src/Models/Components/MeterUnit.php b/src/Models/Components/MeterUnit.php new file mode 100644 index 00000000..8dfa7314 --- /dev/null +++ b/src/Models/Components/MeterUnit.php @@ -0,0 +1,17 @@ + $metadata * @param ?string $name + * @param ?\Polar\Models\Components\MeterUnit $unit + * @param ?string $customLabel + * @param ?int $customMultiplier * @param ?\Polar\Models\Components\Filter $filter * @param \Polar\Models\Components\CountAggregation|\Polar\Models\Components\PropertyAggregation|\Polar\Models\Components\UniqueAggregation|null $aggregation * @param ?bool $isArchived * @phpstan-pure */ - public function __construct(?array $metadata = null, ?string $name = null, ?Filter $filter = null, CountAggregation|PropertyAggregation|UniqueAggregation|null $aggregation = null, ?bool $isArchived = null) + public function __construct(?array $metadata = null, ?string $name = null, ?MeterUnit $unit = null, ?string $customLabel = null, ?int $customMultiplier = null, ?Filter $filter = null, CountAggregation|PropertyAggregation|UniqueAggregation|null $aggregation = null, ?bool $isArchived = null) { $this->metadata = $metadata; $this->name = $name; + $this->unit = $unit; + $this->customLabel = $customLabel; + $this->customMultiplier = $customMultiplier; $this->filter = $filter; $this->aggregation = $aggregation; $this->isArchived = $isArchived; diff --git a/src/Models/Components/MetricPeriod.php b/src/Models/Components/MetricPeriod.php index 2a4d9b4f..4459dfa3 100644 --- a/src/Models/Components/MetricPeriod.php +++ b/src/Models/Components/MetricPeriod.php @@ -46,6 +46,15 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $monthlyRecurringRevenue = null; + /** + * + * @var int|float|null $trialMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $trialMonthlyRecurringRevenue = null; + /** * * @var int|float|null $committedMonthlyRecurringRevenue @@ -55,6 +64,15 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $committedMonthlyRecurringRevenue = null; + /** + * + * @var int|float|null $trialCommittedMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_committed_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $trialCommittedMonthlyRecurringRevenue = null; + /** * * @var int|float|null $averageRevenuePerUser @@ -100,6 +118,60 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $churnRate = null; + /** + * + * @var int|float|null $seatsTotal + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_total')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsTotal = null; + + /** + * + * @var int|float|null $seatsClaimed + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_claimed')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsClaimed = null; + + /** + * + * @var int|float|null $seatsPending + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_pending')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsPending = null; + + /** + * + * @var int|float|null $seatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatCustomers = null; + + /** + * + * @var int|float|null $newSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('new_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $newSeatCustomers = null; + + /** + * + * @var int|float|null $churnedSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('churned_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $churnedSeatCustomers = null; + /** * * @var int|float|null $orders @@ -361,6 +433,24 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $canceledSubscriptionsOther = null; + /** + * + * @var int|float|null $annualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $annualRecurringRevenue = null; + + /** + * + * @var int|float|null $committedAnnualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('committed_annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $committedAnnualRecurringRevenue = null; + /** * * @var int|float|null $checkoutsConversion @@ -406,17 +496,43 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $cashflow = null; + /** + * + * @var int|float|null $averageSeatsPerCustomer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('average_seats_per_customer')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $averageSeatsPerCustomer = null; + + /** + * + * @var int|float|null $seatUtilizationRate + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_utilization_rate')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatUtilizationRate = null; + /** * @param \DateTime $timestamp * @param int|float|null $activeSubscriptions * @param int|float|null $committedSubscriptions * @param int|float|null $monthlyRecurringRevenue + * @param int|float|null $trialMonthlyRecurringRevenue * @param int|float|null $committedMonthlyRecurringRevenue + * @param int|float|null $trialCommittedMonthlyRecurringRevenue * @param int|float|null $averageRevenuePerUser * @param int|float|null $checkouts * @param int|float|null $succeededCheckouts * @param int|float|null $churnedSubscriptions * @param int|float|null $churnRate + * @param int|float|null $seatsTotal + * @param int|float|null $seatsClaimed + * @param int|float|null $seatsPending + * @param int|float|null $seatCustomers + * @param int|float|null $newSeatCustomers + * @param int|float|null $churnedSeatCustomers * @param int|float|null $orders * @param int|float|null $revenue * @param int|float|null $netRevenue @@ -446,25 +562,37 @@ class MetricPeriod * @param int|float|null $canceledSubscriptionsTooExpensive * @param int|float|null $canceledSubscriptionsUnused * @param int|float|null $canceledSubscriptionsOther + * @param int|float|null $annualRecurringRevenue + * @param int|float|null $committedAnnualRecurringRevenue * @param int|float|null $checkoutsConversion * @param int|float|null $ltv * @param int|float|null $grossMargin * @param int|float|null $grossMarginPercentage * @param int|float|null $cashflow + * @param int|float|null $averageSeatsPerCustomer + * @param int|float|null $seatUtilizationRate * @phpstan-pure */ - public function __construct(\DateTime $timestamp, int|float|null $activeSubscriptions = null, int|float|null $committedSubscriptions = null, int|float|null $monthlyRecurringRevenue = null, int|float|null $committedMonthlyRecurringRevenue = null, int|float|null $averageRevenuePerUser = null, int|float|null $checkouts = null, int|float|null $succeededCheckouts = null, int|float|null $churnedSubscriptions = null, int|float|null $churnRate = null, int|float|null $orders = null, int|float|null $revenue = null, int|float|null $netRevenue = null, int|float|null $cumulativeRevenue = null, int|float|null $netCumulativeRevenue = null, int|float|null $costs = null, int|float|null $cumulativeCosts = null, int|float|null $averageOrderValue = null, int|float|null $netAverageOrderValue = null, int|float|null $costPerUser = null, int|float|null $activeUserByEvent = null, int|float|null $oneTimeProducts = null, int|float|null $oneTimeProductsRevenue = null, int|float|null $oneTimeProductsNetRevenue = null, int|float|null $newSubscriptions = null, int|float|null $newSubscriptionsRevenue = null, int|float|null $newSubscriptionsNetRevenue = null, int|float|null $renewedSubscriptions = null, int|float|null $renewedSubscriptionsRevenue = null, int|float|null $renewedSubscriptionsNetRevenue = null, int|float|null $canceledSubscriptions = null, int|float|null $canceledSubscriptionsCustomerService = null, int|float|null $canceledSubscriptionsLowQuality = null, int|float|null $canceledSubscriptionsMissingFeatures = null, int|float|null $canceledSubscriptionsSwitchedService = null, int|float|null $canceledSubscriptionsTooComplex = null, int|float|null $canceledSubscriptionsTooExpensive = null, int|float|null $canceledSubscriptionsUnused = null, int|float|null $canceledSubscriptionsOther = null, int|float|null $checkoutsConversion = null, int|float|null $ltv = null, int|float|null $grossMargin = null, int|float|null $grossMarginPercentage = null, int|float|null $cashflow = null) + public function __construct(\DateTime $timestamp, int|float|null $activeSubscriptions = null, int|float|null $committedSubscriptions = null, int|float|null $monthlyRecurringRevenue = null, int|float|null $trialMonthlyRecurringRevenue = null, int|float|null $committedMonthlyRecurringRevenue = null, int|float|null $trialCommittedMonthlyRecurringRevenue = null, int|float|null $averageRevenuePerUser = null, int|float|null $checkouts = null, int|float|null $succeededCheckouts = null, int|float|null $churnedSubscriptions = null, int|float|null $churnRate = null, int|float|null $seatsTotal = null, int|float|null $seatsClaimed = null, int|float|null $seatsPending = null, int|float|null $seatCustomers = null, int|float|null $newSeatCustomers = null, int|float|null $churnedSeatCustomers = null, int|float|null $orders = null, int|float|null $revenue = null, int|float|null $netRevenue = null, int|float|null $cumulativeRevenue = null, int|float|null $netCumulativeRevenue = null, int|float|null $costs = null, int|float|null $cumulativeCosts = null, int|float|null $averageOrderValue = null, int|float|null $netAverageOrderValue = null, int|float|null $costPerUser = null, int|float|null $activeUserByEvent = null, int|float|null $oneTimeProducts = null, int|float|null $oneTimeProductsRevenue = null, int|float|null $oneTimeProductsNetRevenue = null, int|float|null $newSubscriptions = null, int|float|null $newSubscriptionsRevenue = null, int|float|null $newSubscriptionsNetRevenue = null, int|float|null $renewedSubscriptions = null, int|float|null $renewedSubscriptionsRevenue = null, int|float|null $renewedSubscriptionsNetRevenue = null, int|float|null $canceledSubscriptions = null, int|float|null $canceledSubscriptionsCustomerService = null, int|float|null $canceledSubscriptionsLowQuality = null, int|float|null $canceledSubscriptionsMissingFeatures = null, int|float|null $canceledSubscriptionsSwitchedService = null, int|float|null $canceledSubscriptionsTooComplex = null, int|float|null $canceledSubscriptionsTooExpensive = null, int|float|null $canceledSubscriptionsUnused = null, int|float|null $canceledSubscriptionsOther = null, int|float|null $annualRecurringRevenue = null, int|float|null $committedAnnualRecurringRevenue = null, int|float|null $checkoutsConversion = null, int|float|null $ltv = null, int|float|null $grossMargin = null, int|float|null $grossMarginPercentage = null, int|float|null $cashflow = null, int|float|null $averageSeatsPerCustomer = null, int|float|null $seatUtilizationRate = null) { $this->timestamp = $timestamp; $this->activeSubscriptions = $activeSubscriptions; $this->committedSubscriptions = $committedSubscriptions; $this->monthlyRecurringRevenue = $monthlyRecurringRevenue; + $this->trialMonthlyRecurringRevenue = $trialMonthlyRecurringRevenue; $this->committedMonthlyRecurringRevenue = $committedMonthlyRecurringRevenue; + $this->trialCommittedMonthlyRecurringRevenue = $trialCommittedMonthlyRecurringRevenue; $this->averageRevenuePerUser = $averageRevenuePerUser; $this->checkouts = $checkouts; $this->succeededCheckouts = $succeededCheckouts; $this->churnedSubscriptions = $churnedSubscriptions; $this->churnRate = $churnRate; + $this->seatsTotal = $seatsTotal; + $this->seatsClaimed = $seatsClaimed; + $this->seatsPending = $seatsPending; + $this->seatCustomers = $seatCustomers; + $this->newSeatCustomers = $newSeatCustomers; + $this->churnedSeatCustomers = $churnedSeatCustomers; $this->orders = $orders; $this->revenue = $revenue; $this->netRevenue = $netRevenue; @@ -494,10 +622,14 @@ public function __construct(\DateTime $timestamp, int|float|null $activeSubscrip $this->canceledSubscriptionsTooExpensive = $canceledSubscriptionsTooExpensive; $this->canceledSubscriptionsUnused = $canceledSubscriptionsUnused; $this->canceledSubscriptionsOther = $canceledSubscriptionsOther; + $this->annualRecurringRevenue = $annualRecurringRevenue; + $this->committedAnnualRecurringRevenue = $committedAnnualRecurringRevenue; $this->checkoutsConversion = $checkoutsConversion; $this->ltv = $ltv; $this->grossMargin = $grossMargin; $this->grossMarginPercentage = $grossMarginPercentage; $this->cashflow = $cashflow; + $this->averageSeatsPerCustomer = $averageSeatsPerCustomer; + $this->seatUtilizationRate = $seatUtilizationRate; } } \ No newline at end of file diff --git a/src/Models/Components/Metrics.php b/src/Models/Components/Metrics.php index 478a4ddf..47abd588 100644 --- a/src/Models/Components/Metrics.php +++ b/src/Models/Components/Metrics.php @@ -38,6 +38,15 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $monthlyRecurringRevenue = null; + /** + * + * @var ?\Polar\Models\Components\Metric $trialMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $trialMonthlyRecurringRevenue = null; + /** * * @var ?\Polar\Models\Components\Metric $committedMonthlyRecurringRevenue @@ -47,6 +56,15 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $committedMonthlyRecurringRevenue = null; + /** + * + * @var ?\Polar\Models\Components\Metric $trialCommittedMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_committed_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $trialCommittedMonthlyRecurringRevenue = null; + /** * * @var ?\Polar\Models\Components\Metric $averageRevenuePerUser @@ -92,6 +110,60 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $churnRate = null; + /** + * + * @var ?\Polar\Models\Components\Metric $seatsTotal + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_total')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatsTotal = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $seatsClaimed + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_claimed')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatsClaimed = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $seatsPending + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_pending')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatsPending = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $seatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatCustomers = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $newSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('new_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $newSeatCustomers = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $churnedSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('churned_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $churnedSeatCustomers = null; + /** * * @var ?\Polar\Models\Components\Metric $orders @@ -353,6 +425,24 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $canceledSubscriptionsOther = null; + /** + * + * @var ?\Polar\Models\Components\Metric $annualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $annualRecurringRevenue = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $committedAnnualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('committed_annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $committedAnnualRecurringRevenue = null; + /** * * @var ?\Polar\Models\Components\Metric $checkoutsConversion @@ -398,16 +488,42 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $cashflow = null; + /** + * + * @var ?\Polar\Models\Components\Metric $averageSeatsPerCustomer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('average_seats_per_customer')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $averageSeatsPerCustomer = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $seatUtilizationRate + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_utilization_rate')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatUtilizationRate = null; + /** * @param ?\Polar\Models\Components\Metric $activeSubscriptions * @param ?\Polar\Models\Components\Metric $committedSubscriptions * @param ?\Polar\Models\Components\Metric $monthlyRecurringRevenue + * @param ?\Polar\Models\Components\Metric $trialMonthlyRecurringRevenue * @param ?\Polar\Models\Components\Metric $committedMonthlyRecurringRevenue + * @param ?\Polar\Models\Components\Metric $trialCommittedMonthlyRecurringRevenue * @param ?\Polar\Models\Components\Metric $averageRevenuePerUser * @param ?\Polar\Models\Components\Metric $checkouts * @param ?\Polar\Models\Components\Metric $succeededCheckouts * @param ?\Polar\Models\Components\Metric $churnedSubscriptions * @param ?\Polar\Models\Components\Metric $churnRate + * @param ?\Polar\Models\Components\Metric $seatsTotal + * @param ?\Polar\Models\Components\Metric $seatsClaimed + * @param ?\Polar\Models\Components\Metric $seatsPending + * @param ?\Polar\Models\Components\Metric $seatCustomers + * @param ?\Polar\Models\Components\Metric $newSeatCustomers + * @param ?\Polar\Models\Components\Metric $churnedSeatCustomers * @param ?\Polar\Models\Components\Metric $orders * @param ?\Polar\Models\Components\Metric $revenue * @param ?\Polar\Models\Components\Metric $netRevenue @@ -437,24 +553,36 @@ class Metrics * @param ?\Polar\Models\Components\Metric $canceledSubscriptionsTooExpensive * @param ?\Polar\Models\Components\Metric $canceledSubscriptionsUnused * @param ?\Polar\Models\Components\Metric $canceledSubscriptionsOther + * @param ?\Polar\Models\Components\Metric $annualRecurringRevenue + * @param ?\Polar\Models\Components\Metric $committedAnnualRecurringRevenue * @param ?\Polar\Models\Components\Metric $checkoutsConversion * @param ?\Polar\Models\Components\Metric $ltv * @param ?\Polar\Models\Components\Metric $grossMargin * @param ?\Polar\Models\Components\Metric $grossMarginPercentage * @param ?\Polar\Models\Components\Metric $cashflow + * @param ?\Polar\Models\Components\Metric $averageSeatsPerCustomer + * @param ?\Polar\Models\Components\Metric $seatUtilizationRate * @phpstan-pure */ - public function __construct(?Metric $activeSubscriptions = null, ?Metric $committedSubscriptions = null, ?Metric $monthlyRecurringRevenue = null, ?Metric $committedMonthlyRecurringRevenue = null, ?Metric $averageRevenuePerUser = null, ?Metric $checkouts = null, ?Metric $succeededCheckouts = null, ?Metric $churnedSubscriptions = null, ?Metric $churnRate = null, ?Metric $orders = null, ?Metric $revenue = null, ?Metric $netRevenue = null, ?Metric $cumulativeRevenue = null, ?Metric $netCumulativeRevenue = null, ?Metric $costs = null, ?Metric $cumulativeCosts = null, ?Metric $averageOrderValue = null, ?Metric $netAverageOrderValue = null, ?Metric $costPerUser = null, ?Metric $activeUserByEvent = null, ?Metric $oneTimeProducts = null, ?Metric $oneTimeProductsRevenue = null, ?Metric $oneTimeProductsNetRevenue = null, ?Metric $newSubscriptions = null, ?Metric $newSubscriptionsRevenue = null, ?Metric $newSubscriptionsNetRevenue = null, ?Metric $renewedSubscriptions = null, ?Metric $renewedSubscriptionsRevenue = null, ?Metric $renewedSubscriptionsNetRevenue = null, ?Metric $canceledSubscriptions = null, ?Metric $canceledSubscriptionsCustomerService = null, ?Metric $canceledSubscriptionsLowQuality = null, ?Metric $canceledSubscriptionsMissingFeatures = null, ?Metric $canceledSubscriptionsSwitchedService = null, ?Metric $canceledSubscriptionsTooComplex = null, ?Metric $canceledSubscriptionsTooExpensive = null, ?Metric $canceledSubscriptionsUnused = null, ?Metric $canceledSubscriptionsOther = null, ?Metric $checkoutsConversion = null, ?Metric $ltv = null, ?Metric $grossMargin = null, ?Metric $grossMarginPercentage = null, ?Metric $cashflow = null) + public function __construct(?Metric $activeSubscriptions = null, ?Metric $committedSubscriptions = null, ?Metric $monthlyRecurringRevenue = null, ?Metric $trialMonthlyRecurringRevenue = null, ?Metric $committedMonthlyRecurringRevenue = null, ?Metric $trialCommittedMonthlyRecurringRevenue = null, ?Metric $averageRevenuePerUser = null, ?Metric $checkouts = null, ?Metric $succeededCheckouts = null, ?Metric $churnedSubscriptions = null, ?Metric $churnRate = null, ?Metric $seatsTotal = null, ?Metric $seatsClaimed = null, ?Metric $seatsPending = null, ?Metric $seatCustomers = null, ?Metric $newSeatCustomers = null, ?Metric $churnedSeatCustomers = null, ?Metric $orders = null, ?Metric $revenue = null, ?Metric $netRevenue = null, ?Metric $cumulativeRevenue = null, ?Metric $netCumulativeRevenue = null, ?Metric $costs = null, ?Metric $cumulativeCosts = null, ?Metric $averageOrderValue = null, ?Metric $netAverageOrderValue = null, ?Metric $costPerUser = null, ?Metric $activeUserByEvent = null, ?Metric $oneTimeProducts = null, ?Metric $oneTimeProductsRevenue = null, ?Metric $oneTimeProductsNetRevenue = null, ?Metric $newSubscriptions = null, ?Metric $newSubscriptionsRevenue = null, ?Metric $newSubscriptionsNetRevenue = null, ?Metric $renewedSubscriptions = null, ?Metric $renewedSubscriptionsRevenue = null, ?Metric $renewedSubscriptionsNetRevenue = null, ?Metric $canceledSubscriptions = null, ?Metric $canceledSubscriptionsCustomerService = null, ?Metric $canceledSubscriptionsLowQuality = null, ?Metric $canceledSubscriptionsMissingFeatures = null, ?Metric $canceledSubscriptionsSwitchedService = null, ?Metric $canceledSubscriptionsTooComplex = null, ?Metric $canceledSubscriptionsTooExpensive = null, ?Metric $canceledSubscriptionsUnused = null, ?Metric $canceledSubscriptionsOther = null, ?Metric $annualRecurringRevenue = null, ?Metric $committedAnnualRecurringRevenue = null, ?Metric $checkoutsConversion = null, ?Metric $ltv = null, ?Metric $grossMargin = null, ?Metric $grossMarginPercentage = null, ?Metric $cashflow = null, ?Metric $averageSeatsPerCustomer = null, ?Metric $seatUtilizationRate = null) { $this->activeSubscriptions = $activeSubscriptions; $this->committedSubscriptions = $committedSubscriptions; $this->monthlyRecurringRevenue = $monthlyRecurringRevenue; + $this->trialMonthlyRecurringRevenue = $trialMonthlyRecurringRevenue; $this->committedMonthlyRecurringRevenue = $committedMonthlyRecurringRevenue; + $this->trialCommittedMonthlyRecurringRevenue = $trialCommittedMonthlyRecurringRevenue; $this->averageRevenuePerUser = $averageRevenuePerUser; $this->checkouts = $checkouts; $this->succeededCheckouts = $succeededCheckouts; $this->churnedSubscriptions = $churnedSubscriptions; $this->churnRate = $churnRate; + $this->seatsTotal = $seatsTotal; + $this->seatsClaimed = $seatsClaimed; + $this->seatsPending = $seatsPending; + $this->seatCustomers = $seatCustomers; + $this->newSeatCustomers = $newSeatCustomers; + $this->churnedSeatCustomers = $churnedSeatCustomers; $this->orders = $orders; $this->revenue = $revenue; $this->netRevenue = $netRevenue; @@ -484,10 +612,14 @@ public function __construct(?Metric $activeSubscriptions = null, ?Metric $commit $this->canceledSubscriptionsTooExpensive = $canceledSubscriptionsTooExpensive; $this->canceledSubscriptionsUnused = $canceledSubscriptionsUnused; $this->canceledSubscriptionsOther = $canceledSubscriptionsOther; + $this->annualRecurringRevenue = $annualRecurringRevenue; + $this->committedAnnualRecurringRevenue = $committedAnnualRecurringRevenue; $this->checkoutsConversion = $checkoutsConversion; $this->ltv = $ltv; $this->grossMargin = $grossMargin; $this->grossMarginPercentage = $grossMarginPercentage; $this->cashflow = $cashflow; + $this->averageSeatsPerCustomer = $averageSeatsPerCustomer; + $this->seatUtilizationRate = $seatUtilizationRate; } } \ No newline at end of file diff --git a/src/Models/Components/MetricsTotals.php b/src/Models/Components/MetricsTotals.php index 64b6f9f1..ab45eca2 100644 --- a/src/Models/Components/MetricsTotals.php +++ b/src/Models/Components/MetricsTotals.php @@ -38,6 +38,15 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $monthlyRecurringRevenue = null; + /** + * + * @var int|float|null $trialMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $trialMonthlyRecurringRevenue = null; + /** * * @var int|float|null $committedMonthlyRecurringRevenue @@ -47,6 +56,15 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $committedMonthlyRecurringRevenue = null; + /** + * + * @var int|float|null $trialCommittedMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_committed_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $trialCommittedMonthlyRecurringRevenue = null; + /** * * @var int|float|null $averageRevenuePerUser @@ -92,6 +110,60 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $churnRate = null; + /** + * + * @var int|float|null $seatsTotal + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_total')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsTotal = null; + + /** + * + * @var int|float|null $seatsClaimed + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_claimed')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsClaimed = null; + + /** + * + * @var int|float|null $seatsPending + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_pending')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsPending = null; + + /** + * + * @var int|float|null $seatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatCustomers = null; + + /** + * + * @var int|float|null $newSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('new_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $newSeatCustomers = null; + + /** + * + * @var int|float|null $churnedSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('churned_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $churnedSeatCustomers = null; + /** * * @var int|float|null $orders @@ -353,6 +425,24 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $canceledSubscriptionsOther = null; + /** + * + * @var int|float|null $annualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $annualRecurringRevenue = null; + + /** + * + * @var int|float|null $committedAnnualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('committed_annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $committedAnnualRecurringRevenue = null; + /** * * @var int|float|null $checkoutsConversion @@ -398,16 +488,42 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $cashflow = null; + /** + * + * @var int|float|null $averageSeatsPerCustomer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('average_seats_per_customer')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $averageSeatsPerCustomer = null; + + /** + * + * @var int|float|null $seatUtilizationRate + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_utilization_rate')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatUtilizationRate = null; + /** * @param int|float|null $activeSubscriptions * @param int|float|null $committedSubscriptions * @param int|float|null $monthlyRecurringRevenue + * @param int|float|null $trialMonthlyRecurringRevenue * @param int|float|null $committedMonthlyRecurringRevenue + * @param int|float|null $trialCommittedMonthlyRecurringRevenue * @param int|float|null $averageRevenuePerUser * @param int|float|null $checkouts * @param int|float|null $succeededCheckouts * @param int|float|null $churnedSubscriptions * @param int|float|null $churnRate + * @param int|float|null $seatsTotal + * @param int|float|null $seatsClaimed + * @param int|float|null $seatsPending + * @param int|float|null $seatCustomers + * @param int|float|null $newSeatCustomers + * @param int|float|null $churnedSeatCustomers * @param int|float|null $orders * @param int|float|null $revenue * @param int|float|null $netRevenue @@ -437,24 +553,36 @@ class MetricsTotals * @param int|float|null $canceledSubscriptionsTooExpensive * @param int|float|null $canceledSubscriptionsUnused * @param int|float|null $canceledSubscriptionsOther + * @param int|float|null $annualRecurringRevenue + * @param int|float|null $committedAnnualRecurringRevenue * @param int|float|null $checkoutsConversion * @param int|float|null $ltv * @param int|float|null $grossMargin * @param int|float|null $grossMarginPercentage * @param int|float|null $cashflow + * @param int|float|null $averageSeatsPerCustomer + * @param int|float|null $seatUtilizationRate * @phpstan-pure */ - public function __construct(int|float|null $activeSubscriptions = null, int|float|null $committedSubscriptions = null, int|float|null $monthlyRecurringRevenue = null, int|float|null $committedMonthlyRecurringRevenue = null, int|float|null $averageRevenuePerUser = null, int|float|null $checkouts = null, int|float|null $succeededCheckouts = null, int|float|null $churnedSubscriptions = null, int|float|null $churnRate = null, int|float|null $orders = null, int|float|null $revenue = null, int|float|null $netRevenue = null, int|float|null $cumulativeRevenue = null, int|float|null $netCumulativeRevenue = null, int|float|null $costs = null, int|float|null $cumulativeCosts = null, int|float|null $averageOrderValue = null, int|float|null $netAverageOrderValue = null, int|float|null $costPerUser = null, int|float|null $activeUserByEvent = null, int|float|null $oneTimeProducts = null, int|float|null $oneTimeProductsRevenue = null, int|float|null $oneTimeProductsNetRevenue = null, int|float|null $newSubscriptions = null, int|float|null $newSubscriptionsRevenue = null, int|float|null $newSubscriptionsNetRevenue = null, int|float|null $renewedSubscriptions = null, int|float|null $renewedSubscriptionsRevenue = null, int|float|null $renewedSubscriptionsNetRevenue = null, int|float|null $canceledSubscriptions = null, int|float|null $canceledSubscriptionsCustomerService = null, int|float|null $canceledSubscriptionsLowQuality = null, int|float|null $canceledSubscriptionsMissingFeatures = null, int|float|null $canceledSubscriptionsSwitchedService = null, int|float|null $canceledSubscriptionsTooComplex = null, int|float|null $canceledSubscriptionsTooExpensive = null, int|float|null $canceledSubscriptionsUnused = null, int|float|null $canceledSubscriptionsOther = null, int|float|null $checkoutsConversion = null, int|float|null $ltv = null, int|float|null $grossMargin = null, int|float|null $grossMarginPercentage = null, int|float|null $cashflow = null) + public function __construct(int|float|null $activeSubscriptions = null, int|float|null $committedSubscriptions = null, int|float|null $monthlyRecurringRevenue = null, int|float|null $trialMonthlyRecurringRevenue = null, int|float|null $committedMonthlyRecurringRevenue = null, int|float|null $trialCommittedMonthlyRecurringRevenue = null, int|float|null $averageRevenuePerUser = null, int|float|null $checkouts = null, int|float|null $succeededCheckouts = null, int|float|null $churnedSubscriptions = null, int|float|null $churnRate = null, int|float|null $seatsTotal = null, int|float|null $seatsClaimed = null, int|float|null $seatsPending = null, int|float|null $seatCustomers = null, int|float|null $newSeatCustomers = null, int|float|null $churnedSeatCustomers = null, int|float|null $orders = null, int|float|null $revenue = null, int|float|null $netRevenue = null, int|float|null $cumulativeRevenue = null, int|float|null $netCumulativeRevenue = null, int|float|null $costs = null, int|float|null $cumulativeCosts = null, int|float|null $averageOrderValue = null, int|float|null $netAverageOrderValue = null, int|float|null $costPerUser = null, int|float|null $activeUserByEvent = null, int|float|null $oneTimeProducts = null, int|float|null $oneTimeProductsRevenue = null, int|float|null $oneTimeProductsNetRevenue = null, int|float|null $newSubscriptions = null, int|float|null $newSubscriptionsRevenue = null, int|float|null $newSubscriptionsNetRevenue = null, int|float|null $renewedSubscriptions = null, int|float|null $renewedSubscriptionsRevenue = null, int|float|null $renewedSubscriptionsNetRevenue = null, int|float|null $canceledSubscriptions = null, int|float|null $canceledSubscriptionsCustomerService = null, int|float|null $canceledSubscriptionsLowQuality = null, int|float|null $canceledSubscriptionsMissingFeatures = null, int|float|null $canceledSubscriptionsSwitchedService = null, int|float|null $canceledSubscriptionsTooComplex = null, int|float|null $canceledSubscriptionsTooExpensive = null, int|float|null $canceledSubscriptionsUnused = null, int|float|null $canceledSubscriptionsOther = null, int|float|null $annualRecurringRevenue = null, int|float|null $committedAnnualRecurringRevenue = null, int|float|null $checkoutsConversion = null, int|float|null $ltv = null, int|float|null $grossMargin = null, int|float|null $grossMarginPercentage = null, int|float|null $cashflow = null, int|float|null $averageSeatsPerCustomer = null, int|float|null $seatUtilizationRate = null) { $this->activeSubscriptions = $activeSubscriptions; $this->committedSubscriptions = $committedSubscriptions; $this->monthlyRecurringRevenue = $monthlyRecurringRevenue; + $this->trialMonthlyRecurringRevenue = $trialMonthlyRecurringRevenue; $this->committedMonthlyRecurringRevenue = $committedMonthlyRecurringRevenue; + $this->trialCommittedMonthlyRecurringRevenue = $trialCommittedMonthlyRecurringRevenue; $this->averageRevenuePerUser = $averageRevenuePerUser; $this->checkouts = $checkouts; $this->succeededCheckouts = $succeededCheckouts; $this->churnedSubscriptions = $churnedSubscriptions; $this->churnRate = $churnRate; + $this->seatsTotal = $seatsTotal; + $this->seatsClaimed = $seatsClaimed; + $this->seatsPending = $seatsPending; + $this->seatCustomers = $seatCustomers; + $this->newSeatCustomers = $newSeatCustomers; + $this->churnedSeatCustomers = $churnedSeatCustomers; $this->orders = $orders; $this->revenue = $revenue; $this->netRevenue = $netRevenue; @@ -484,10 +612,14 @@ public function __construct(int|float|null $activeSubscriptions = null, int|floa $this->canceledSubscriptionsTooExpensive = $canceledSubscriptionsTooExpensive; $this->canceledSubscriptionsUnused = $canceledSubscriptionsUnused; $this->canceledSubscriptionsOther = $canceledSubscriptionsOther; + $this->annualRecurringRevenue = $annualRecurringRevenue; + $this->committedAnnualRecurringRevenue = $committedAnnualRecurringRevenue; $this->checkoutsConversion = $checkoutsConversion; $this->ltv = $ltv; $this->grossMargin = $grossMargin; $this->grossMarginPercentage = $grossMarginPercentage; $this->cashflow = $cashflow; + $this->averageSeatsPerCustomer = $averageSeatsPerCustomer; + $this->seatUtilizationRate = $seatUtilizationRate; } } \ No newline at end of file diff --git a/src/Models/Components/Order.php b/src/Models/Components/Order.php index df3eb981..a9bebaec 100644 --- a/src/Models/Components/Order.php +++ b/src/Models/Components/Order.php @@ -130,14 +130,6 @@ class Order #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrderBillingReason')] public OrderBillingReason $billingReason; - /** - * The invoice number associated with this order. - * - * @var string $invoiceNumber - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('invoice_number')] - public string $invoiceNumber; - /** * Whether an invoice has been generated for this order. * @@ -195,6 +187,22 @@ class Order #[\Speakeasy\Serializer\Annotation\SerializedName('description')] public string $description; + /** + * Amount in cents that can still be refunded (net, before taxes). Accounts for any applied customer balance and previous refunds. + * + * @var int $refundableAmount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('refundable_amount')] + public int $refundableAmount; + + /** + * Sales tax in cents that would be refunded if the full refundable amount is refunded. + * + * @var int $refundableTaxAmount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('refundable_tax_amount')] + public int $refundableTaxAmount; + /** * Last modification timestamp of the object. * @@ -219,6 +227,22 @@ class Order #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Address|null')] public ?Address $billingAddress; + /** + * The invoice number associated with this order. `null` while the order is in `draft` status; assigned at finalize. + * + * @var ?string $invoiceNumber + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('invoice_number')] + public ?string $invoiceNumber; + + /** + * The receipt number for this order. Set once the order is paid for organizations with receipts enabled. When set, a downloadable receipt PDF can be obtained via the receipt endpoint. + * + * @var ?string $receiptNumber + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('receipt_number')] + public ?string $receiptNumber; + /** * * @var ?string $productId @@ -314,7 +338,6 @@ class Order * @param int $refundedTaxAmount * @param string $currency * @param \Polar\Models\Components\OrderBillingReason $billingReason - * @param string $invoiceNumber * @param bool $isInvoiceGenerated * @param string $customerId * @param array $metadata @@ -322,9 +345,13 @@ class Order * @param \Polar\Models\Components\OrderCustomer $customer * @param array<\Polar\Models\Components\OrderItemSchema> $items * @param string $description + * @param int $refundableAmount + * @param int $refundableTaxAmount * @param ?\DateTime $modifiedAt * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress + * @param ?string $invoiceNumber + * @param ?string $receiptNumber * @param ?string $productId * @param ?string $discountId * @param ?string $subscriptionId @@ -337,7 +364,7 @@ class Order * @param ?int $seats * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, OrderStatus $status, bool $paid, int $subtotalAmount, int $discountAmount, int $netAmount, int $taxAmount, int $totalAmount, int $appliedBalanceAmount, int $dueAmount, int $refundedAmount, int $refundedTaxAmount, string $currency, OrderBillingReason $billingReason, string $invoiceNumber, bool $isInvoiceGenerated, string $customerId, array $metadata, int $platformFeeAmount, OrderCustomer $customer, array $items, string $description, ?\DateTime $modifiedAt = null, ?string $billingName = null, ?Address $billingAddress = null, ?string $productId = null, ?string $discountId = null, ?string $subscriptionId = null, ?string $checkoutId = null, ?array $customFieldData = null, ?string $platformFeeCurrency = null, ?OrderProduct $product = null, DiscountFixedOnceForeverDurationBase|DiscountFixedRepeatDurationBase|DiscountPercentageOnceForeverDurationBase|DiscountPercentageRepeatDurationBase|null $discount = null, ?OrderSubscription $subscription = null, ?int $seats = null) + public function __construct(string $id, \DateTime $createdAt, OrderStatus $status, bool $paid, int $subtotalAmount, int $discountAmount, int $netAmount, int $taxAmount, int $totalAmount, int $appliedBalanceAmount, int $dueAmount, int $refundedAmount, int $refundedTaxAmount, string $currency, OrderBillingReason $billingReason, bool $isInvoiceGenerated, string $customerId, array $metadata, int $platformFeeAmount, OrderCustomer $customer, array $items, string $description, int $refundableAmount, int $refundableTaxAmount, ?\DateTime $modifiedAt = null, ?string $billingName = null, ?Address $billingAddress = null, ?string $invoiceNumber = null, ?string $receiptNumber = null, ?string $productId = null, ?string $discountId = null, ?string $subscriptionId = null, ?string $checkoutId = null, ?array $customFieldData = null, ?string $platformFeeCurrency = null, ?OrderProduct $product = null, DiscountFixedOnceForeverDurationBase|DiscountFixedRepeatDurationBase|DiscountPercentageOnceForeverDurationBase|DiscountPercentageRepeatDurationBase|null $discount = null, ?OrderSubscription $subscription = null, ?int $seats = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -354,7 +381,6 @@ public function __construct(string $id, \DateTime $createdAt, OrderStatus $statu $this->refundedTaxAmount = $refundedTaxAmount; $this->currency = $currency; $this->billingReason = $billingReason; - $this->invoiceNumber = $invoiceNumber; $this->isInvoiceGenerated = $isInvoiceGenerated; $this->customerId = $customerId; $this->metadata = $metadata; @@ -362,9 +388,13 @@ public function __construct(string $id, \DateTime $createdAt, OrderStatus $statu $this->customer = $customer; $this->items = $items; $this->description = $description; + $this->refundableAmount = $refundableAmount; + $this->refundableTaxAmount = $refundableTaxAmount; $this->modifiedAt = $modifiedAt; $this->billingName = $billingName; $this->billingAddress = $billingAddress; + $this->invoiceNumber = $invoiceNumber; + $this->receiptNumber = $receiptNumber; $this->productId = $productId; $this->discountId = $discountId; $this->subscriptionId = $subscriptionId; diff --git a/src/Models/Components/OrderCreate.php b/src/Models/Components/OrderCreate.php new file mode 100644 index 00000000..23c24f45 --- /dev/null +++ b/src/Models/Components/OrderCreate.php @@ -0,0 +1,120 @@ + $customFieldData + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_field_data')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $customFieldData = null; + + /** + * Key-value object allowing you to store additional information. + * + * + * The key must be a string with a maximum length of **40 characters**. + * The value must be either: + * + * * A string with a maximum length of **500 characters** + * * An integer + * * A floating-point number + * * A boolean + * + * You can store up to **50 key-value pairs**. + * + * @var ?array $metadata + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $metadata = null; + + /** + * The ID of the organization the order belongs to. **Required unless you use an organization token.** The customer and product must belong to this organization. + * + * @var ?string $organizationId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $organizationId = null; + + /** + * The currency to charge in (ISO 4217, lowercase, e.g. `usd`). Defaults to the organization's default currency; specify it to force a different one, or when the product isn't priced in the organization's default currency. + * + * @var ?string $currency + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $currency = null; + + /** + * A custom amount to charge, in the smallest currency unit. Overrides the product's price; defaults to the product's configured price (0 for free products). A positive amount must be at least the currency's minimum. + * + * @var ?int $amount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('amount')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $amount = null; + + /** + * A custom description for the order's line item, shown on the invoice and receipt (e.g. `5,000 tokens`). Defaults to the product name. + * + * @var ?string $description + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('description')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $description = null; + + /** + * @param string $customerId + * @param string $productId + * @param ?array $customFieldData + * @param ?array $metadata + * @param ?string $organizationId + * @param ?string $currency + * @param ?int $amount + * @param ?string $description + * @phpstan-pure + */ + public function __construct(string $customerId, string $productId, ?array $customFieldData = null, ?array $metadata = null, ?string $organizationId = null, ?string $currency = null, ?int $amount = null, ?string $description = null) + { + $this->customerId = $customerId; + $this->productId = $productId; + $this->customFieldData = $customFieldData; + $this->metadata = $metadata; + $this->organizationId = $organizationId; + $this->currency = $currency; + $this->amount = $amount; + $this->description = $description; + } +} \ No newline at end of file diff --git a/src/Models/Components/OrderCustomer.php b/src/Models/Components/OrderCustomer.php index cb65958d..5c03bc41 100644 --- a/src/Models/Components/OrderCustomer.php +++ b/src/Models/Components/OrderCustomer.php @@ -134,6 +134,15 @@ class OrderCustomer #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * @param string $id * @param \DateTime $createdAt @@ -150,9 +159,10 @@ class OrderCustomer * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -169,5 +179,6 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, b $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; } } \ No newline at end of file diff --git a/src/Models/Components/OrderFinalize.php b/src/Models/Components/OrderFinalize.php new file mode 100644 index 00000000..1d62896c --- /dev/null +++ b/src/Models/Components/OrderFinalize.php @@ -0,0 +1,32 @@ +paymentMethodId = $paymentMethodId; + } +} \ No newline at end of file diff --git a/src/Models/Components/OrderReceipt.php b/src/Models/Components/OrderReceipt.php new file mode 100644 index 00000000..89a37c05 --- /dev/null +++ b/src/Models/Components/OrderReceipt.php @@ -0,0 +1,31 @@ +url = $url; + } +} \ No newline at end of file diff --git a/src/Models/Components/OrderStatus.php b/src/Models/Components/OrderStatus.php index 2fc4d4dd..cfdce38c 100644 --- a/src/Models/Components/OrderStatus.php +++ b/src/Models/Components/OrderStatus.php @@ -11,6 +11,7 @@ enum OrderStatus: string { + case Draft = 'draft'; case Pending = 'pending'; case Paid = 'paid'; case Refunded = 'refunded'; diff --git a/src/Models/Components/Organization.php b/src/Models/Components/Organization.php index d0cf461e..83204965 100644 --- a/src/Models/Components/Organization.php +++ b/src/Models/Components/Organization.php @@ -124,6 +124,14 @@ class Organization #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationCustomerPortalSettings')] public OrganizationCustomerPortalSettings $customerPortalSettings; + /** + * + * @var \Polar\Models\Components\OrganizationCapabilities $capabilities + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('capabilities')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationCapabilities')] + public OrganizationCapabilities $capabilities; + /** * Last modification timestamp of the object. * @@ -173,6 +181,22 @@ class Organization #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationFeatureSettings|null')] public ?OrganizationFeatureSettings $featureSettings; + /** + * ID of the transactions account. + * + * @var ?string $accountId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('account_id')] + public ?string $accountId; + + /** + * ID of the payout account. + * + * @var ?string $payoutAccountId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('payout_account_id')] + public ?string $payoutAccountId; + /** * Two-letter country code (ISO 3166-1 alpha-2). * @@ -198,16 +222,19 @@ class Organization * @param \Polar\Models\Components\OrganizationNotificationSettings $notificationSettings * @param \Polar\Models\Components\OrganizationCustomerEmailSettings $customerEmailSettings * @param \Polar\Models\Components\OrganizationCustomerPortalSettings $customerPortalSettings + * @param \Polar\Models\Components\OrganizationCapabilities $capabilities * @param ?\DateTime $modifiedAt * @param ?string $avatarUrl * @param ?string $email * @param ?string $website * @param ?\DateTime $detailsSubmittedAt * @param ?\Polar\Models\Components\OrganizationFeatureSettings $featureSettings + * @param ?string $accountId + * @param ?string $payoutAccountId * @param ?\Polar\Models\Components\CountryAlpha2 $country * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, string $name, string $slug, SubscriptionProrationBehavior $prorationBehavior, bool $allowCustomerUpdates, array $socials, OrganizationStatus $status, string $defaultPresentmentCurrency, TaxBehaviorOption $defaultTaxBehavior, OrganizationSubscriptionSettings $subscriptionSettings, OrganizationNotificationSettings $notificationSettings, OrganizationCustomerEmailSettings $customerEmailSettings, OrganizationCustomerPortalSettings $customerPortalSettings, ?\DateTime $modifiedAt = null, ?string $avatarUrl = null, ?string $email = null, ?string $website = null, ?\DateTime $detailsSubmittedAt = null, ?OrganizationFeatureSettings $featureSettings = null, ?CountryAlpha2 $country = null) + public function __construct(\DateTime $createdAt, string $id, string $name, string $slug, SubscriptionProrationBehavior $prorationBehavior, bool $allowCustomerUpdates, array $socials, OrganizationStatus $status, string $defaultPresentmentCurrency, TaxBehaviorOption $defaultTaxBehavior, OrganizationSubscriptionSettings $subscriptionSettings, OrganizationNotificationSettings $notificationSettings, OrganizationCustomerEmailSettings $customerEmailSettings, OrganizationCustomerPortalSettings $customerPortalSettings, OrganizationCapabilities $capabilities, ?\DateTime $modifiedAt = null, ?string $avatarUrl = null, ?string $email = null, ?string $website = null, ?\DateTime $detailsSubmittedAt = null, ?OrganizationFeatureSettings $featureSettings = null, ?string $accountId = null, ?string $payoutAccountId = null, ?CountryAlpha2 $country = null) { $this->createdAt = $createdAt; $this->id = $id; @@ -223,12 +250,15 @@ public function __construct(\DateTime $createdAt, string $id, string $name, stri $this->notificationSettings = $notificationSettings; $this->customerEmailSettings = $customerEmailSettings; $this->customerPortalSettings = $customerPortalSettings; + $this->capabilities = $capabilities; $this->modifiedAt = $modifiedAt; $this->avatarUrl = $avatarUrl; $this->email = $email; $this->website = $website; $this->detailsSubmittedAt = $detailsSubmittedAt; $this->featureSettings = $featureSettings; + $this->accountId = $accountId; + $this->payoutAccountId = $payoutAccountId; $this->country = $country; } } \ No newline at end of file diff --git a/src/Models/Components/OrganizationCapabilities.php b/src/Models/Components/OrganizationCapabilities.php new file mode 100644 index 00000000..99badaeb --- /dev/null +++ b/src/Models/Components/OrganizationCapabilities.php @@ -0,0 +1,80 @@ +checkoutPayments = $checkoutPayments; + $this->subscriptionRenewals = $subscriptionRenewals; + $this->payouts = $payouts; + $this->refunds = $refunds; + $this->apiAccess = $apiAccess; + $this->dashboardAccess = $dashboardAccess; + } +} \ No newline at end of file diff --git a/src/Models/Components/OrganizationCustomerPortalSettings.php b/src/Models/Components/OrganizationCustomerPortalSettings.php index eb962cc6..60130efe 100644 --- a/src/Models/Components/OrganizationCustomerPortalSettings.php +++ b/src/Models/Components/OrganizationCustomerPortalSettings.php @@ -27,14 +27,25 @@ class OrganizationCustomerPortalSettings #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\CustomerPortalSubscriptionSettings')] public CustomerPortalSubscriptionSettings $subscription; + /** + * + * @var ?\Polar\Models\Components\CustomerPortalCustomerSettings $customer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('customer')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\CustomerPortalCustomerSettings|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?CustomerPortalCustomerSettings $customer = null; + /** * @param \Polar\Models\Components\CustomerPortalUsageSettings $usage * @param \Polar\Models\Components\CustomerPortalSubscriptionSettings $subscription + * @param ?\Polar\Models\Components\CustomerPortalCustomerSettings $customer * @phpstan-pure */ - public function __construct(CustomerPortalUsageSettings $usage, CustomerPortalSubscriptionSettings $subscription) + public function __construct(CustomerPortalUsageSettings $usage, CustomerPortalSubscriptionSettings $subscription, ?CustomerPortalCustomerSettings $customer = null) { $this->usage = $usage; $this->subscription = $subscription; + $this->customer = $customer; } } \ No newline at end of file diff --git a/src/Models/Components/OrganizationFeatureSettings.php b/src/Models/Components/OrganizationFeatureSettings.php index 2cf64aad..163b8234 100644 --- a/src/Models/Components/OrganizationFeatureSettings.php +++ b/src/Models/Components/OrganizationFeatureSettings.php @@ -39,15 +39,6 @@ class OrganizationFeatureSettings #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?bool $seatBasedPricingEnabled = null; - /** - * If this organization has RevOps enabled - * - * @var ?bool $revopsEnabled - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('revops_enabled')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?bool $revopsEnabled = null; - /** * If this organization has Wallets enabled * @@ -67,54 +58,74 @@ class OrganizationFeatureSettings public ?bool $memberModelEnabled = null; /** - * If this organization reads from Tinybird + * If this organization has checkout localization enabled * - * @var ?bool $tinybirdRead + * @var ?bool $checkoutLocalizationEnabled */ - #[\Speakeasy\Serializer\Annotation\SerializedName('tinybird_read')] + #[\Speakeasy\Serializer\Annotation\SerializedName('checkout_localization_enabled')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?bool $tinybirdRead = null; + public ?bool $checkoutLocalizationEnabled = null; /** - * If this organization compares Tinybird results with database + * If this organization sees the new account review checklist UI. * - * @var ?bool $tinybirdCompare + * @var ?bool $accountReviewV2Enabled */ - #[\Speakeasy\Serializer\Annotation\SerializedName('tinybird_compare')] + #[\Speakeasy\Serializer\Annotation\SerializedName('account_review_v2_enabled')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?bool $tinybirdCompare = null; + public ?bool $accountReviewV2Enabled = null; /** - * If this organization has checkout localization enabled + * If this organization has access to reset proration behavior. * - * @var ?bool $checkoutLocalizationEnabled + * @var ?bool $resetProrationBehaviorEnabled */ - #[\Speakeasy\Serializer\Annotation\SerializedName('checkout_localization_enabled')] + #[\Speakeasy\Serializer\Annotation\SerializedName('reset_proration_behavior_enabled')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?bool $checkoutLocalizationEnabled = null; + public ?bool $resetProrationBehaviorEnabled = null; + + /** + * If this organization can create and finalize draft orders via the API (off-session charges against a saved payment method). + * + * @var ?bool $offSessionChargesEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('off_session_charges_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $offSessionChargesEnabled = null; + + /** + * If this organization has billing enabled + * + * @var ?bool $billingEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $billingEnabled = null; /** * @param ?bool $issueFundingEnabled * @param ?bool $seatBasedPricingEnabled - * @param ?bool $revopsEnabled * @param ?bool $walletsEnabled * @param ?bool $memberModelEnabled - * @param ?bool $tinybirdRead - * @param ?bool $tinybirdCompare * @param ?bool $checkoutLocalizationEnabled + * @param ?bool $accountReviewV2Enabled + * @param ?bool $resetProrationBehaviorEnabled + * @param ?bool $offSessionChargesEnabled + * @param ?bool $billingEnabled * @param ?array $overviewMetrics * @phpstan-pure */ - public function __construct(?array $overviewMetrics = null, ?bool $issueFundingEnabled = false, ?bool $seatBasedPricingEnabled = false, ?bool $revopsEnabled = false, ?bool $walletsEnabled = false, ?bool $memberModelEnabled = false, ?bool $tinybirdRead = false, ?bool $tinybirdCompare = false, ?bool $checkoutLocalizationEnabled = false) + public function __construct(?array $overviewMetrics = null, ?bool $issueFundingEnabled = false, ?bool $seatBasedPricingEnabled = false, ?bool $walletsEnabled = false, ?bool $memberModelEnabled = false, ?bool $checkoutLocalizationEnabled = false, ?bool $accountReviewV2Enabled = false, ?bool $resetProrationBehaviorEnabled = false, ?bool $offSessionChargesEnabled = false, ?bool $billingEnabled = false) { $this->overviewMetrics = $overviewMetrics; $this->issueFundingEnabled = $issueFundingEnabled; $this->seatBasedPricingEnabled = $seatBasedPricingEnabled; - $this->revopsEnabled = $revopsEnabled; $this->walletsEnabled = $walletsEnabled; $this->memberModelEnabled = $memberModelEnabled; - $this->tinybirdRead = $tinybirdRead; - $this->tinybirdCompare = $tinybirdCompare; $this->checkoutLocalizationEnabled = $checkoutLocalizationEnabled; + $this->accountReviewV2Enabled = $accountReviewV2Enabled; + $this->resetProrationBehaviorEnabled = $resetProrationBehaviorEnabled; + $this->offSessionChargesEnabled = $offSessionChargesEnabled; + $this->billingEnabled = $billingEnabled; } } \ No newline at end of file diff --git a/src/Models/Components/OrganizationStatus.php b/src/Models/Components/OrganizationStatus.php index 2be12716..4d538a98 100644 --- a/src/Models/Components/OrganizationStatus.php +++ b/src/Models/Components/OrganizationStatus.php @@ -12,9 +12,10 @@ enum OrganizationStatus: string { case Created = 'created'; - case OnboardingStarted = 'onboarding_started'; - case InitialReview = 'initial_review'; - case OngoingReview = 'ongoing_review'; + case Review = 'review'; + case Snoozed = 'snoozed'; case Denied = 'denied'; case Active = 'active'; + case Blocked = 'blocked'; + case Offboarding = 'offboarding'; } diff --git a/src/Models/Components/OrganizationSubscriptionSettings.php b/src/Models/Components/OrganizationSubscriptionSettings.php index 910f4fd3..08cc41cc 100644 --- a/src/Models/Components/OrganizationSubscriptionSettings.php +++ b/src/Models/Components/OrganizationSubscriptionSettings.php @@ -20,18 +20,11 @@ class OrganizationSubscriptionSettings /** * - * @var bool $allowCustomerUpdates - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('allow_customer_updates')] - public bool $allowCustomerUpdates; - - /** - * - * @var \Polar\Models\Components\SubscriptionProrationBehavior $prorationBehavior + * @var \Polar\Models\Components\PublicSubscriptionProrationBehavior $prorationBehavior */ #[\Speakeasy\Serializer\Annotation\SerializedName('proration_behavior')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionProrationBehavior')] - public SubscriptionProrationBehavior $prorationBehavior; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PublicSubscriptionProrationBehavior')] + public PublicSubscriptionProrationBehavior $prorationBehavior; /** * @@ -47,20 +40,27 @@ class OrganizationSubscriptionSettings #[\Speakeasy\Serializer\Annotation\SerializedName('prevent_trial_abuse')] public bool $preventTrialAbuse; + /** + * + * @var bool $allowCustomerUpdates + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('allow_customer_updates')] + public bool $allowCustomerUpdates; + /** * @param bool $allowMultipleSubscriptions - * @param bool $allowCustomerUpdates - * @param \Polar\Models\Components\SubscriptionProrationBehavior $prorationBehavior + * @param \Polar\Models\Components\PublicSubscriptionProrationBehavior $prorationBehavior * @param int $benefitRevocationGracePeriod * @param bool $preventTrialAbuse + * @param bool $allowCustomerUpdates * @phpstan-pure */ - public function __construct(bool $allowMultipleSubscriptions, bool $allowCustomerUpdates, SubscriptionProrationBehavior $prorationBehavior, int $benefitRevocationGracePeriod, bool $preventTrialAbuse) + public function __construct(bool $allowMultipleSubscriptions, PublicSubscriptionProrationBehavior $prorationBehavior, int $benefitRevocationGracePeriod, bool $preventTrialAbuse, bool $allowCustomerUpdates) { $this->allowMultipleSubscriptions = $allowMultipleSubscriptions; - $this->allowCustomerUpdates = $allowCustomerUpdates; $this->prorationBehavior = $prorationBehavior; $this->benefitRevocationGracePeriod = $benefitRevocationGracePeriod; $this->preventTrialAbuse = $preventTrialAbuse; + $this->allowCustomerUpdates = $allowCustomerUpdates; } } \ No newline at end of file diff --git a/src/Models/Components/PresentmentCurrency.php b/src/Models/Components/PresentmentCurrency.php index cc4082af..abf4bab5 100644 --- a/src/Models/Components/PresentmentCurrency.php +++ b/src/Models/Components/PresentmentCurrency.php @@ -12,39 +12,129 @@ enum PresentmentCurrency: string { case Aed = 'aed'; + case All = 'all'; + case Amd = 'amd'; + case Aoa = 'aoa'; case Ars = 'ars'; case Aud = 'aud'; + case Awg = 'awg'; + case Azn = 'azn'; + case Bam = 'bam'; + case Bbd = 'bbd'; + case Bdt = 'bdt'; + case Bif = 'bif'; + case Bmd = 'bmd'; + case Bnd = 'bnd'; + case Bob = 'bob'; case Brl = 'brl'; + case Bsd = 'bsd'; + case Bwp = 'bwp'; + case Bzd = 'bzd'; case Cad = 'cad'; + case Cdf = 'cdf'; case Chf = 'chf'; case Clp = 'clp'; case Cny = 'cny'; case Cop = 'cop'; + case Crc = 'crc'; + case Cve = 'cve'; case Czk = 'czk'; + case Djf = 'djf'; case Dkk = 'dkk'; + case Dop = 'dop'; + case Dzd = 'dzd'; + case Egp = 'egp'; + case Etb = 'etb'; case Eur = 'eur'; + case Fjd = 'fjd'; + case Fkp = 'fkp'; case Gbp = 'gbp'; + case Gel = 'gel'; + case Gip = 'gip'; + case Gmd = 'gmd'; + case Gnf = 'gnf'; + case Gtq = 'gtq'; + case Gyd = 'gyd'; case Hkd = 'hkd'; + case Hnl = 'hnl'; + case Htg = 'htg'; case Huf = 'huf'; case Idr = 'idr'; case Ils = 'ils'; case Inr = 'inr'; + case Isk = 'isk'; + case Jmd = 'jmd'; case Jpy = 'jpy'; + case Kes = 'kes'; + case Kgs = 'kgs'; + case Khr = 'khr'; + case Kmf = 'kmf'; case Krw = 'krw'; + case Kyd = 'kyd'; + case Kzt = 'kzt'; + case Lak = 'lak'; + case Lkr = 'lkr'; + case Lrd = 'lrd'; + case Lsl = 'lsl'; + case Mad = 'mad'; + case Mdl = 'mdl'; + case Mga = 'mga'; + case Mkd = 'mkd'; + case Mnt = 'mnt'; + case Mop = 'mop'; + case Mur = 'mur'; + case Mvr = 'mvr'; + case Mwk = 'mwk'; case Mxn = 'mxn'; case Myr = 'myr'; + case Mzn = 'mzn'; + case Nad = 'nad'; + case Ngn = 'ngn'; + case Nio = 'nio'; case Nok = 'nok'; + case Npr = 'npr'; case Nzd = 'nzd'; + case Pab = 'pab'; case Pen = 'pen'; + case Pgk = 'pgk'; case Php = 'php'; + case Pkr = 'pkr'; case Pln = 'pln'; + case Pyg = 'pyg'; + case Qar = 'qar'; case Ron = 'ron'; + case Rsd = 'rsd'; + case Rwf = 'rwf'; case Sar = 'sar'; + case Sbd = 'sbd'; + case Scr = 'scr'; case Sek = 'sek'; case Sgd = 'sgd'; + case Shp = 'shp'; + case Sos = 'sos'; + case Srd = 'srd'; + case Szl = 'szl'; case Thb = 'thb'; + case Tjs = 'tjs'; + case Top = 'top'; case Try = 'try'; + case Ttd = 'ttd'; case Twd = 'twd'; + case Tzs = 'tzs'; + case Uah = 'uah'; + case Ugx = 'ugx'; case Usd = 'usd'; + case Uyu = 'uyu'; + case Uzs = 'uzs'; + case Vnd = 'vnd'; + case Vuv = 'vuv'; + case Wst = 'wst'; + case Xaf = 'xaf'; + case Xcd = 'xcd'; + case Xcg = 'xcg'; + case Xof = 'xof'; + case Xpf = 'xpf'; + case Yer = 'yer'; case Zar = 'zar'; + case Zmw = 'zmw'; } diff --git a/src/Models/Components/ProductPriceCustom.php b/src/Models/Components/ProductPriceCustom.php index 9107eda7..f1eb305a 100644 --- a/src/Models/Components/ProductPriceCustom.php +++ b/src/Models/Components/ProductPriceCustom.php @@ -61,7 +61,7 @@ class ProductPriceCustom public string $productId; /** - * The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. + * The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. * * @var int $minimumAmount */ diff --git a/src/Models/Components/ProductPriceCustomCreate.php b/src/Models/Components/ProductPriceCustomCreate.php index 7690a2ba..4f10cbc1 100644 --- a/src/Models/Components/ProductPriceCustomCreate.php +++ b/src/Models/Components/ProductPriceCustomCreate.php @@ -32,7 +32,24 @@ class ProductPriceCustomCreate public ?TaxBehaviorOption $taxBehavior = null; /** - * The maximum amount the customer can pay. + * The maximum amount the customer can pay. Maximum per currency: + * + * - USD: 999,999.99 + * - EUR: 999,999.99 + * - GBP: 999,999.99 + * - ARS: 1,400,000 + * - CDF: 2,800,000 + * - COP: 4,000,000 + * - IDR: 16,000,000 + * - KHR: 4,000,000 + * - LAK: 21,000,000 + * - MNT: 3,500,000 + * - MWK: 1,750,000 + * - NGN: 1,550,000 + * - TZS: 2,500,000 + * - UGX: 3,700,000 + * - UZS: 12,500,000 + * - Other currencies: 99,999,999 minor units * * @var ?int $maximumAmount */ @@ -41,7 +58,135 @@ class ProductPriceCustomCreate public ?int $maximumAmount = null; /** - * The initial amount shown to the customer. If 0, the customer will see $0 as the default. Values between 1-49 are rejected. + * The initial amount shown to the customer. If 0, the customer will see $0 as the default. If set to a value below the minimum price amount for the currency, it will be rejected.Minimum per currency: + * + * - USD: 0.5 + * - AED: 2 + * - ALL: 50 + * - AMD: 200 + * - AOA: 500 + * - ARS: 750 + * - AUD: 0.7 + * - AWG: 1 + * - AZN: 1 + * - BAM: 1 + * - BBD: 2 + * - BDT: 70 + * - BIF: 2,000 + * - BMD: 1 + * - BND: 1 + * - BOB: 5 + * - BRL: 2.5 + * - BSD: 1 + * - BWP: 10 + * - BZD: 2 + * - CAD: 0.7 + * - CDF: 2,000 + * - CHF: 0.5 + * - CLP: 500 + * - CNY: 5 + * - COP: 2,000 + * - CRC: 300 + * - CVE: 50 + * - CZK: 15 + * - DJF: 100 + * - DKK: 3.2 + * - DOP: 40 + * - DZD: 70 + * - EGP: 30 + * - ETB: 80 + * - EUR: 0.5 + * - FJD: 2 + * - FKP: 1 + * - GBP: 0.4 + * - GEL: 2 + * - GNF: 5,000 + * - GIP: 1 + * - GMD: 40 + * - GTQ: 5 + * - GYD: 200 + * - HKD: 4 + * - HNL: 20 + * - HTG: 70 + * - HUF: 175 + * - IDR: 9,000 + * - ILS: 1.5 + * - INR: 60 + * - ISK: 70 + * - JMD: 80 + * - JPY: 80 + * - KES: 70 + * - KGS: 50 + * - KHR: 3,000 + * - KMF: 500 + * - KRW: 800 + * - KYD: 1 + * - KZT: 300 + * - LAK: 20,000 + * - LKR: 200 + * - LRD: 100 + * - LSL: 10 + * - MAD: 5 + * - MDL: 10 + * - MGA: 3,000 + * - MKD: 50 + * - MNT: 2,000 + * - MOP: 5 + * - MUR: 50 + * - MVR: 8 + * - MXN: 9 + * - MWK: 1,000 + * - MYR: 2 + * - MZN: 50 + * - NAD: 10 + * - NGN: 700 + * - NIO: 20 + * - NOK: 5 + * - NPR: 80 + * - NZD: 0.9 + * - PAB: 1 + * - PEN: 2 + * - PGK: 3 + * - PHP: 35 + * - PKR: 200 + * - PLN: 2 + * - PYG: 4,000 + * - QAR: 2 + * - RON: 2.5 + * - RSD: 60 + * - RWF: 1,000 + * - SAR: 2 + * - SBD: 4 + * - SCR: 8 + * - SEK: 5 + * - SGD: 0.7 + * - SHP: 1 + * - SOS: 500 + * - SRD: 20 + * - SZL: 10 + * - THB: 20 + * - TJS: 5 + * - TOP: 2 + * - TRY: 30 + * - TTD: 4 + * - TWD: 20 + * - TZS: 2,000 + * - UAH: 30 + * - UGX: 2,000 + * - UYU: 20 + * - UZS: 7,000 + * - VND: 20,000 + * - VUV: 100 + * - WST: 2 + * - XAF: 500 + * - XCD: 2 + * - XCG: 1 + * - XOF: 500 + * - XPF: 100 + * - YER: 200 + * - ZAR: 9 + * - ZMW: 10 + * - Other currencies: 50 minor units * * @var ?int $presetAmount */ @@ -57,7 +202,135 @@ class ProductPriceCustomCreate public string $amountType; /** - * The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value between 1-49, it will be rejected. Defaults to 50 cents. + * The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value below the minimum price amount for the currency, it will be rejected. Defaults to the minimum price amount for the currency. Minimum per currency: + * + * - USD: 0.5 + * - AED: 2 + * - ALL: 50 + * - AMD: 200 + * - AOA: 500 + * - ARS: 750 + * - AUD: 0.7 + * - AWG: 1 + * - AZN: 1 + * - BAM: 1 + * - BBD: 2 + * - BDT: 70 + * - BIF: 2,000 + * - BMD: 1 + * - BND: 1 + * - BOB: 5 + * - BRL: 2.5 + * - BSD: 1 + * - BWP: 10 + * - BZD: 2 + * - CAD: 0.7 + * - CDF: 2,000 + * - CHF: 0.5 + * - CLP: 500 + * - CNY: 5 + * - COP: 2,000 + * - CRC: 300 + * - CVE: 50 + * - CZK: 15 + * - DJF: 100 + * - DKK: 3.2 + * - DOP: 40 + * - DZD: 70 + * - EGP: 30 + * - ETB: 80 + * - EUR: 0.5 + * - FJD: 2 + * - FKP: 1 + * - GBP: 0.4 + * - GEL: 2 + * - GNF: 5,000 + * - GIP: 1 + * - GMD: 40 + * - GTQ: 5 + * - GYD: 200 + * - HKD: 4 + * - HNL: 20 + * - HTG: 70 + * - HUF: 175 + * - IDR: 9,000 + * - ILS: 1.5 + * - INR: 60 + * - ISK: 70 + * - JMD: 80 + * - JPY: 80 + * - KES: 70 + * - KGS: 50 + * - KHR: 3,000 + * - KMF: 500 + * - KRW: 800 + * - KYD: 1 + * - KZT: 300 + * - LAK: 20,000 + * - LKR: 200 + * - LRD: 100 + * - LSL: 10 + * - MAD: 5 + * - MDL: 10 + * - MGA: 3,000 + * - MKD: 50 + * - MNT: 2,000 + * - MOP: 5 + * - MUR: 50 + * - MVR: 8 + * - MXN: 9 + * - MWK: 1,000 + * - MYR: 2 + * - MZN: 50 + * - NAD: 10 + * - NGN: 700 + * - NIO: 20 + * - NOK: 5 + * - NPR: 80 + * - NZD: 0.9 + * - PAB: 1 + * - PEN: 2 + * - PGK: 3 + * - PHP: 35 + * - PKR: 200 + * - PLN: 2 + * - PYG: 4,000 + * - QAR: 2 + * - RON: 2.5 + * - RSD: 60 + * - RWF: 1,000 + * - SAR: 2 + * - SBD: 4 + * - SCR: 8 + * - SEK: 5 + * - SGD: 0.7 + * - SHP: 1 + * - SOS: 500 + * - SRD: 20 + * - SZL: 10 + * - THB: 20 + * - TJS: 5 + * - TOP: 2 + * - TRY: 30 + * - TTD: 4 + * - TWD: 20 + * - TZS: 2,000 + * - UAH: 30 + * - UGX: 2,000 + * - UYU: 20 + * - UZS: 7,000 + * - VND: 20,000 + * - VUV: 100 + * - WST: 2 + * - XAF: 500 + * - XCD: 2 + * - XCG: 1 + * - XOF: 500 + * - XPF: 100 + * - YER: 200 + * - ZAR: 9 + * - ZMW: 10 + * - Other currencies: 50 minor units * * @var ?int $minimumAmount */ diff --git a/src/Models/Components/ProductPriceFixedCreate.php b/src/Models/Components/ProductPriceFixedCreate.php index 03d9cfad..c95b0046 100644 --- a/src/Models/Components/ProductPriceFixedCreate.php +++ b/src/Models/Components/ProductPriceFixedCreate.php @@ -16,37 +16,133 @@ class ProductPriceFixedCreate * The price in cents. * * Minimum amounts per currency: - * - USD: $0.50 - * - AED: AED2.00 - * - ARS: ARS0.50 - * - AUD: A$0.50 - * - BRL: R$0.50 - * - CAD: CA$0.50 - * - CHF: CHF0.50 - * - COP: COP0.50 - * - CZK: CZK15.00 - * - DKK: DKK2.50 - * - EUR: €0.50 - * - GBP: £0.30 - * - HKD: HK$4.00 - * - HUF: HUF175.00 - * - IDR: IDR0.50 - * - ILS: ₪0.50 - * - INR: ₹60.00 - * - JPY: ¥50 - * - KRW: ₩50 - * - MXN: MX$0.10 - * - MYR: MYR2.00 - * - NOK: NOK3.00 - * - NZD: NZ$0.50 - * - PHP: ₱0.50 - * - PLN: PLN2.00 - * - RON: RON2.00 - * - RUB: RUB0.50 - * - SEK: SEK3.00 - * - SGD: SGD0.50 - * - THB: THB0.10 - * - ZAR: ZAR0.50 + * - USD: 0.5 + * - AED: 2 + * - ALL: 50 + * - AMD: 200 + * - AOA: 500 + * - ARS: 750 + * - AUD: 0.7 + * - AWG: 1 + * - AZN: 1 + * - BAM: 1 + * - BBD: 2 + * - BDT: 70 + * - BIF: 2,000 + * - BMD: 1 + * - BND: 1 + * - BOB: 5 + * - BRL: 2.5 + * - BSD: 1 + * - BWP: 10 + * - BZD: 2 + * - CAD: 0.7 + * - CDF: 2,000 + * - CHF: 0.5 + * - CLP: 500 + * - CNY: 5 + * - COP: 2,000 + * - CRC: 300 + * - CVE: 50 + * - CZK: 15 + * - DJF: 100 + * - DKK: 3.2 + * - DOP: 40 + * - DZD: 70 + * - EGP: 30 + * - ETB: 80 + * - EUR: 0.5 + * - FJD: 2 + * - FKP: 1 + * - GBP: 0.4 + * - GEL: 2 + * - GNF: 5,000 + * - GIP: 1 + * - GMD: 40 + * - GTQ: 5 + * - GYD: 200 + * - HKD: 4 + * - HNL: 20 + * - HTG: 70 + * - HUF: 175 + * - IDR: 9,000 + * - ILS: 1.5 + * - INR: 60 + * - ISK: 70 + * - JMD: 80 + * - JPY: 80 + * - KES: 70 + * - KGS: 50 + * - KHR: 3,000 + * - KMF: 500 + * - KRW: 800 + * - KYD: 1 + * - KZT: 300 + * - LAK: 20,000 + * - LKR: 200 + * - LRD: 100 + * - LSL: 10 + * - MAD: 5 + * - MDL: 10 + * - MGA: 3,000 + * - MKD: 50 + * - MNT: 2,000 + * - MOP: 5 + * - MUR: 50 + * - MVR: 8 + * - MXN: 9 + * - MWK: 1,000 + * - MYR: 2 + * - MZN: 50 + * - NAD: 10 + * - NGN: 700 + * - NIO: 20 + * - NOK: 5 + * - NPR: 80 + * - NZD: 0.9 + * - PAB: 1 + * - PEN: 2 + * - PGK: 3 + * - PHP: 35 + * - PKR: 200 + * - PLN: 2 + * - PYG: 4,000 + * - QAR: 2 + * - RON: 2.5 + * - RSD: 60 + * - RWF: 1,000 + * - SAR: 2 + * - SBD: 4 + * - SCR: 8 + * - SEK: 5 + * - SGD: 0.7 + * - SHP: 1 + * - SOS: 500 + * - SRD: 20 + * - SZL: 10 + * - THB: 20 + * - TJS: 5 + * - TOP: 2 + * - TRY: 30 + * - TTD: 4 + * - TWD: 20 + * - TZS: 2,000 + * - UAH: 30 + * - UGX: 2,000 + * - UYU: 20 + * - UZS: 7,000 + * - VND: 20,000 + * - VUV: 100 + * - WST: 2 + * - XAF: 500 + * - XCD: 2 + * - XCG: 1 + * - XOF: 500 + * - XPF: 100 + * - YER: 200 + * - ZAR: 9 + * - ZMW: 10 + * - Other currencies: 50 minor units * * @var int $priceAmount */ diff --git a/src/Models/Components/ProductPriceMeter.php b/src/Models/Components/ProductPriceMeter.php index f43fb83c..efce5ebe 100644 --- a/src/Models/Components/ProductPriceMeter.php +++ b/src/Models/Components/ProductPriceMeter.php @@ -28,14 +28,46 @@ class ProductPriceMeter #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public string $name; + /** + * + * @var \Polar\Models\Components\MeterUnit $unit + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('unit')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\MeterUnit')] + public MeterUnit $unit; + + /** + * The label for the custom unit. + * + * @var ?string $customLabel + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_label')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $customLabel = null; + + /** + * The multiplier to convert from base unit to display scale. + * + * @var ?int $customMultiplier + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_multiplier')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $customMultiplier = null; + /** * @param string $id * @param string $name + * @param \Polar\Models\Components\MeterUnit $unit + * @param ?string $customLabel + * @param ?int $customMultiplier * @phpstan-pure */ - public function __construct(string $id, string $name) + public function __construct(string $id, string $name, MeterUnit $unit, ?string $customLabel = null, ?int $customMultiplier = null) { $this->id = $id; $this->name = $name; + $this->unit = $unit; + $this->customLabel = $customLabel; + $this->customMultiplier = $customMultiplier; } } \ No newline at end of file diff --git a/src/Models/Components/PublicSubscriptionProrationBehavior.php b/src/Models/Components/PublicSubscriptionProrationBehavior.php new file mode 100644 index 00000000..fda5213c --- /dev/null +++ b/src/Models/Components/PublicSubscriptionProrationBehavior.php @@ -0,0 +1,17 @@ + $metadata * @phpstan-pure */ - public function __construct(?string $subscriptionId = null, ?string $checkoutId = null, ?string $orderId = null, ?string $email = null, ?string $externalCustomerId = null, ?string $customerId = null, ?string $externalMemberId = null, ?string $memberId = null, ?array $metadata = null, ?bool $immediateClaim = false) + public function __construct(?string $subscriptionId = null, ?string $orderId = null, ?string $email = null, ?string $externalCustomerId = null, ?string $customerId = null, ?string $externalMemberId = null, ?string $memberId = null, ?array $metadata = null, ?bool $immediateClaim = false) { $this->subscriptionId = $subscriptionId; - $this->checkoutId = $checkoutId; $this->orderId = $orderId; $this->email = $email; $this->externalCustomerId = $externalCustomerId; diff --git a/src/Models/Components/SubscriptionCustomer.php b/src/Models/Components/SubscriptionCustomer.php index 579a4605..11801c6a 100644 --- a/src/Models/Components/SubscriptionCustomer.php +++ b/src/Models/Components/SubscriptionCustomer.php @@ -134,6 +134,15 @@ class SubscriptionCustomer #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * @param string $id * @param \DateTime $createdAt @@ -150,9 +159,10 @@ class SubscriptionCustomer * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -169,5 +179,6 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, b $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; } } \ No newline at end of file diff --git a/src/Models/Components/SubscriptionPastDueEvent.php b/src/Models/Components/SubscriptionPastDueEvent.php new file mode 100644 index 00000000..d4a00bbf --- /dev/null +++ b/src/Models/Components/SubscriptionPastDueEvent.php @@ -0,0 +1,167 @@ + '\Polar\Models\Components\CustomerIndividual', 'team' => '\Polar\Models\Components\CustomerTeam'])] + public CustomerIndividual|CustomerTeam|null $customer; + + /** + * ID of the customer in your system associated with the event. + * + * @var ?string $externalCustomerId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_customer_id')] + public ?string $externalCustomerId; + + /** + * ID of the member within the customer's organization who performed the action inside B2B. + * + * @var ?string $memberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $memberId = null; + + /** + * ID of the member in your system within the customer's organization who performed the action inside B2B. + * + * @var ?string $externalMemberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $externalMemberId = null; + + /** + * The ID of the parent event. + * + * @var ?string $parentId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parent_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentId = null; + + /** + * The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. + * + * @var string $source + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('source')] + public string $source; + + /** + * The name of the event. + * + * @var string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; + + /** + * Number of direct child events linked to this event. + * + * @var ?int $childCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('child_count')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $childCount = null; + + /** + * @param string $id + * @param \DateTime $timestamp + * @param string $organizationId + * @param string $label + * @param string $source + * @param string $name + * @param \Polar\Models\Components\SubscriptionPastDueMetadata $metadata + * @param ?string $customerId + * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer + * @param ?string $externalCustomerId + * @param ?int $childCount + * @param ?string $memberId + * @param ?string $externalMemberId + * @param ?string $parentId + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionPastDueMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.past_due', ?int $childCount = 0) + { + $this->id = $id; + $this->timestamp = $timestamp; + $this->organizationId = $organizationId; + $this->label = $label; + $this->metadata = $metadata; + $this->customerId = $customerId; + $this->customer = $customer; + $this->externalCustomerId = $externalCustomerId; + $this->memberId = $memberId; + $this->externalMemberId = $externalMemberId; + $this->parentId = $parentId; + $this->source = $source; + $this->name = $name; + $this->childCount = $childCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionPastDueMetadata.php b/src/Models/Components/SubscriptionPastDueMetadata.php new file mode 100644 index 00000000..851c724c --- /dev/null +++ b/src/Models/Components/SubscriptionPastDueMetadata.php @@ -0,0 +1,88 @@ +subscriptionId = $subscriptionId; + $this->pastDueAt = $pastDueAt; + $this->productId = $productId; + $this->amount = $amount; + $this->currency = $currency; + $this->recurringInterval = $recurringInterval; + $this->recurringIntervalCount = $recurringIntervalCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionProrationBehavior.php b/src/Models/Components/SubscriptionProrationBehavior.php index 273b3b9c..af45e93f 100644 --- a/src/Models/Components/SubscriptionProrationBehavior.php +++ b/src/Models/Components/SubscriptionProrationBehavior.php @@ -14,4 +14,5 @@ enum SubscriptionProrationBehavior: string case Invoice = 'invoice'; case Prorate = 'prorate'; case NextPeriod = 'next_period'; + case Reset = 'reset'; } diff --git a/src/Models/Components/SubscriptionReactivatedEvent.php b/src/Models/Components/SubscriptionReactivatedEvent.php new file mode 100644 index 00000000..c3c62bdf --- /dev/null +++ b/src/Models/Components/SubscriptionReactivatedEvent.php @@ -0,0 +1,167 @@ + '\Polar\Models\Components\CustomerIndividual', 'team' => '\Polar\Models\Components\CustomerTeam'])] + public CustomerIndividual|CustomerTeam|null $customer; + + /** + * ID of the customer in your system associated with the event. + * + * @var ?string $externalCustomerId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_customer_id')] + public ?string $externalCustomerId; + + /** + * ID of the member within the customer's organization who performed the action inside B2B. + * + * @var ?string $memberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $memberId = null; + + /** + * ID of the member in your system within the customer's organization who performed the action inside B2B. + * + * @var ?string $externalMemberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $externalMemberId = null; + + /** + * The ID of the parent event. + * + * @var ?string $parentId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parent_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentId = null; + + /** + * The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. + * + * @var string $source + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('source')] + public string $source; + + /** + * The name of the event. + * + * @var string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; + + /** + * Number of direct child events linked to this event. + * + * @var ?int $childCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('child_count')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $childCount = null; + + /** + * @param string $id + * @param \DateTime $timestamp + * @param string $organizationId + * @param string $label + * @param string $source + * @param string $name + * @param \Polar\Models\Components\SubscriptionReactivatedMetadata $metadata + * @param ?string $customerId + * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer + * @param ?string $externalCustomerId + * @param ?int $childCount + * @param ?string $memberId + * @param ?string $externalMemberId + * @param ?string $parentId + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionReactivatedMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.reactivated', ?int $childCount = 0) + { + $this->id = $id; + $this->timestamp = $timestamp; + $this->organizationId = $organizationId; + $this->label = $label; + $this->metadata = $metadata; + $this->customerId = $customerId; + $this->customer = $customer; + $this->externalCustomerId = $externalCustomerId; + $this->memberId = $memberId; + $this->externalMemberId = $externalMemberId; + $this->parentId = $parentId; + $this->source = $source; + $this->name = $name; + $this->childCount = $childCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionReactivatedMetadata.php b/src/Models/Components/SubscriptionReactivatedMetadata.php new file mode 100644 index 00000000..3d40f14d --- /dev/null +++ b/src/Models/Components/SubscriptionReactivatedMetadata.php @@ -0,0 +1,79 @@ +subscriptionId = $subscriptionId; + $this->productId = $productId; + $this->amount = $amount; + $this->currency = $currency; + $this->recurringInterval = $recurringInterval; + $this->recurringIntervalCount = $recurringIntervalCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdateBillingPeriod.php b/src/Models/Components/SubscriptionUpdateBillingPeriod.php index a7694742..09aee880 100644 --- a/src/Models/Components/SubscriptionUpdateBillingPeriod.php +++ b/src/Models/Components/SubscriptionUpdateBillingPeriod.php @@ -12,7 +12,7 @@ class SubscriptionUpdateBillingPeriod { /** - * Set a new date for the end of the current billing period. The subscription will renew on this date. Needs to be later than the current value. + * Set a new date for the end of the current billing period. The subscription will renew on this date. The new date can be earlier or later than the current period end, as long as it's in the future. * * * It is not possible to update the current billing period on a canceled subscription. diff --git a/src/Models/Components/SubscriptionUpdateClear.php b/src/Models/Components/SubscriptionUpdateClear.php new file mode 100644 index 00000000..45dc19cd --- /dev/null +++ b/src/Models/Components/SubscriptionUpdateClear.php @@ -0,0 +1,31 @@ +pendingUpdate = $pendingUpdate; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdateClearedEvent.php b/src/Models/Components/SubscriptionUpdateClearedEvent.php new file mode 100644 index 00000000..b0d6e97d --- /dev/null +++ b/src/Models/Components/SubscriptionUpdateClearedEvent.php @@ -0,0 +1,167 @@ + '\Polar\Models\Components\CustomerIndividual', 'team' => '\Polar\Models\Components\CustomerTeam'])] + public CustomerIndividual|CustomerTeam|null $customer; + + /** + * ID of the customer in your system associated with the event. + * + * @var ?string $externalCustomerId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_customer_id')] + public ?string $externalCustomerId; + + /** + * ID of the member within the customer's organization who performed the action inside B2B. + * + * @var ?string $memberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $memberId = null; + + /** + * ID of the member in your system within the customer's organization who performed the action inside B2B. + * + * @var ?string $externalMemberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $externalMemberId = null; + + /** + * The ID of the parent event. + * + * @var ?string $parentId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parent_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentId = null; + + /** + * The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. + * + * @var string $source + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('source')] + public string $source; + + /** + * The name of the event. + * + * @var string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; + + /** + * Number of direct child events linked to this event. + * + * @var ?int $childCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('child_count')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $childCount = null; + + /** + * @param string $id + * @param \DateTime $timestamp + * @param string $organizationId + * @param string $label + * @param string $source + * @param string $name + * @param \Polar\Models\Components\SubscriptionUpdateClearedMetadata $metadata + * @param ?string $customerId + * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer + * @param ?string $externalCustomerId + * @param ?int $childCount + * @param ?string $memberId + * @param ?string $externalMemberId + * @param ?string $parentId + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionUpdateClearedMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.update_cleared', ?int $childCount = 0) + { + $this->id = $id; + $this->timestamp = $timestamp; + $this->organizationId = $organizationId; + $this->label = $label; + $this->metadata = $metadata; + $this->customerId = $customerId; + $this->customer = $customer; + $this->externalCustomerId = $externalCustomerId; + $this->memberId = $memberId; + $this->externalMemberId = $externalMemberId; + $this->parentId = $parentId; + $this->source = $source; + $this->name = $name; + $this->childCount = $childCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedTrialMetadata.php b/src/Models/Components/SubscriptionUpdateClearedMetadata.php similarity index 57% rename from src/Models/Components/SubscriptionUpdatedTrialMetadata.php rename to src/Models/Components/SubscriptionUpdateClearedMetadata.php index a9d8eae8..41c8f8a0 100644 --- a/src/Models/Components/SubscriptionUpdatedTrialMetadata.php +++ b/src/Models/Components/SubscriptionUpdateClearedMetadata.php @@ -9,7 +9,7 @@ namespace Polar\Models\Components; -class SubscriptionUpdatedTrialMetadata +class SubscriptionUpdateClearedMetadata { /** * @@ -18,21 +18,12 @@ class SubscriptionUpdatedTrialMetadata #[\Speakeasy\Serializer\Annotation\SerializedName('subscription_id')] public string $subscriptionId; - /** - * - * @var string $trialEnd - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('trial_end')] - public string $trialEnd; - /** * @param string $subscriptionId - * @param string $trialEnd * @phpstan-pure */ - public function __construct(string $subscriptionId, string $trialEnd) + public function __construct(string $subscriptionId) { $this->subscriptionId = $subscriptionId; - $this->trialEnd = $trialEnd; } } \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.php b/src/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.php deleted file mode 100644 index 663140cd..00000000 --- a/src/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.php +++ /dev/null @@ -1,38 +0,0 @@ -subscriptionId = $subscriptionId; - $this->billingPeriodEnd = $billingPeriodEnd; - } -} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedDiscountMetadata.php b/src/Models/Components/SubscriptionUpdatedDiscountMetadata.php deleted file mode 100644 index 13f401d2..00000000 --- a/src/Models/Components/SubscriptionUpdatedDiscountMetadata.php +++ /dev/null @@ -1,38 +0,0 @@ -subscriptionId = $subscriptionId; - $this->discountId = $discountId; - } -} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedEvent.php b/src/Models/Components/SubscriptionUpdatedEvent.php index a39f58ad..32badf5c 100644 --- a/src/Models/Components/SubscriptionUpdatedEvent.php +++ b/src/Models/Components/SubscriptionUpdatedEvent.php @@ -46,11 +46,11 @@ class SubscriptionUpdatedEvent /** * - * @var \Polar\Models\Components\SubscriptionUpdatedProductMetadata|\Polar\Models\Components\SubscriptionUpdatedDiscountMetadata|\Polar\Models\Components\SubscriptionUpdatedTrialMetadata|\Polar\Models\Components\SubscriptionUpdatedSeatsMetadata|\Polar\Models\Components\SubscriptionUpdatedBillingPeriodMetadata $metadata + * @var \Polar\Models\Components\SubscriptionUpdatedMetadata $metadata */ #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionUpdatedProductMetadata|\Polar\Models\Components\SubscriptionUpdatedDiscountMetadata|\Polar\Models\Components\SubscriptionUpdatedTrialMetadata|\Polar\Models\Components\SubscriptionUpdatedSeatsMetadata|\Polar\Models\Components\SubscriptionUpdatedBillingPeriodMetadata')] - public SubscriptionUpdatedProductMetadata|SubscriptionUpdatedDiscountMetadata|SubscriptionUpdatedTrialMetadata|SubscriptionUpdatedSeatsMetadata|SubscriptionUpdatedBillingPeriodMetadata $metadata; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionUpdatedMetadata')] + public SubscriptionUpdatedMetadata $metadata; /** * ID of the customer in your Polar organization associated with the event. @@ -137,7 +137,7 @@ class SubscriptionUpdatedEvent * @param string $label * @param string $source * @param string $name - * @param \Polar\Models\Components\SubscriptionUpdatedProductMetadata|\Polar\Models\Components\SubscriptionUpdatedDiscountMetadata|\Polar\Models\Components\SubscriptionUpdatedTrialMetadata|\Polar\Models\Components\SubscriptionUpdatedSeatsMetadata|\Polar\Models\Components\SubscriptionUpdatedBillingPeriodMetadata $metadata + * @param \Polar\Models\Components\SubscriptionUpdatedMetadata $metadata * @param ?string $customerId * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer * @param ?string $externalCustomerId @@ -147,7 +147,7 @@ class SubscriptionUpdatedEvent * @param ?string $parentId * @phpstan-pure */ - public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionUpdatedProductMetadata|SubscriptionUpdatedDiscountMetadata|SubscriptionUpdatedTrialMetadata|SubscriptionUpdatedSeatsMetadata|SubscriptionUpdatedBillingPeriodMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.updated', ?int $childCount = 0) + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionUpdatedMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.updated', ?int $childCount = 0) { $this->id = $id; $this->timestamp = $timestamp; diff --git a/src/Models/Components/SubscriptionUpdatedMetadata.php b/src/Models/Components/SubscriptionUpdatedMetadata.php new file mode 100644 index 00000000..305d6663 --- /dev/null +++ b/src/Models/Components/SubscriptionUpdatedMetadata.php @@ -0,0 +1,90 @@ +subscriptionId = $subscriptionId; + $this->productId = $productId; + $this->prorationBehavior = $prorationBehavior; + $this->trialEnd = $trialEnd; + $this->seats = $seats; + $this->billingPeriodEnd = $billingPeriodEnd; + $this->discountId = $discountId; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedProductMetadata.php b/src/Models/Components/SubscriptionUpdatedProductMetadata.php deleted file mode 100644 index 2edd0bbc..00000000 --- a/src/Models/Components/SubscriptionUpdatedProductMetadata.php +++ /dev/null @@ -1,48 +0,0 @@ -subscriptionId = $subscriptionId; - $this->productId = $productId; - $this->prorationBehavior = $prorationBehavior; - } -} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedSeatsMetadata.php b/src/Models/Components/SubscriptionUpdatedSeatsMetadata.php deleted file mode 100644 index ad0a0f17..00000000 --- a/src/Models/Components/SubscriptionUpdatedSeatsMetadata.php +++ /dev/null @@ -1,48 +0,0 @@ -subscriptionId = $subscriptionId; - $this->seats = $seats; - $this->prorationBehavior = $prorationBehavior; - } -} \ No newline at end of file diff --git a/src/Models/Components/TaxBehavior.php b/src/Models/Components/TaxBehavior.php new file mode 100644 index 00000000..6824483c --- /dev/null +++ b/src/Models/Components/TaxBehavior.php @@ -0,0 +1,16 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): ManualRetryLimitExceededThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new ManualRetryLimitExceededThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/ManualRetryLimitExceededThrowable.php b/src/Models/Errors/ManualRetryLimitExceededThrowable.php new file mode 100644 index 00000000..6c242327 --- /dev/null +++ b/src/Models/Errors/ManualRetryLimitExceededThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/OffSessionChargesNotEnabled.php b/src/Models/Errors/OffSessionChargesNotEnabled.php new file mode 100644 index 00000000..f41e954a --- /dev/null +++ b/src/Models/Errors/OffSessionChargesNotEnabled.php @@ -0,0 +1,58 @@ +error = $error; + $this->detail = $detail; + $this->rawResponse = $rawResponse; + } + + public function toException(): OffSessionChargesNotEnabledThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new OffSessionChargesNotEnabledThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/OffSessionChargesNotEnabledThrowable.php b/src/Models/Errors/OffSessionChargesNotEnabledThrowable.php new file mode 100644 index 00000000..bfa4a449 --- /dev/null +++ b/src/Models/Errors/OffSessionChargesNotEnabledThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/OrderNotDraft.php b/src/Models/Errors/OrderNotDraft.php new file mode 100644 index 00000000..658411df --- /dev/null +++ b/src/Models/Errors/OrderNotDraft.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): OrderNotDraftThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new OrderNotDraftThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/OrderNotDraftThrowable.php b/src/Models/Errors/OrderNotDraftThrowable.php new file mode 100644 index 00000000..ba31c8b8 --- /dev/null +++ b/src/Models/Errors/OrderNotDraftThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/OrganizationNotReadyForPayments.php b/src/Models/Errors/OrganizationNotReadyForPayments.php new file mode 100644 index 00000000..9bf9bbc7 --- /dev/null +++ b/src/Models/Errors/OrganizationNotReadyForPayments.php @@ -0,0 +1,58 @@ +error = $error; + $this->detail = $detail; + $this->rawResponse = $rawResponse; + } + + public function toException(): OrganizationNotReadyForPaymentsThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new OrganizationNotReadyForPaymentsThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/OrganizationNotReadyForPaymentsThrowable.php b/src/Models/Errors/OrganizationNotReadyForPaymentsThrowable.php new file mode 100644 index 00000000..a50c7c99 --- /dev/null +++ b/src/Models/Errors/OrganizationNotReadyForPaymentsThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentActionRequired.php b/src/Models/Errors/PaymentActionRequired.php new file mode 100644 index 00000000..1b890688 --- /dev/null +++ b/src/Models/Errors/PaymentActionRequired.php @@ -0,0 +1,58 @@ +error = $error; + $this->detail = $detail; + $this->rawResponse = $rawResponse; + } + + public function toException(): PaymentActionRequiredThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new PaymentActionRequiredThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentActionRequiredThrowable.php b/src/Models/Errors/PaymentActionRequiredThrowable.php new file mode 100644 index 00000000..537436b2 --- /dev/null +++ b/src/Models/Errors/PaymentActionRequiredThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentFailed1.php b/src/Models/Errors/PaymentFailed1.php new file mode 100644 index 00000000..5a322b91 --- /dev/null +++ b/src/Models/Errors/PaymentFailed1.php @@ -0,0 +1,58 @@ +error = $error; + $this->detail = $detail; + $this->rawResponse = $rawResponse; + } + + public function toException(): PaymentFailed1Throwable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new PaymentFailed1Throwable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentFailed1Throwable.php b/src/Models/Errors/PaymentFailed1Throwable.php new file mode 100644 index 00000000..db9c6b80 --- /dev/null +++ b/src/Models/Errors/PaymentFailed1Throwable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentMethodSetupFailed.php b/src/Models/Errors/PaymentMethodSetupFailed.php new file mode 100644 index 00000000..93ba30f0 --- /dev/null +++ b/src/Models/Errors/PaymentMethodSetupFailed.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): PaymentMethodSetupFailedThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new PaymentMethodSetupFailedThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentMethodSetupFailedThrowable.php b/src/Models/Errors/PaymentMethodSetupFailedThrowable.php new file mode 100644 index 00000000..72d20617 --- /dev/null +++ b/src/Models/Errors/PaymentMethodSetupFailedThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.php b/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.php new file mode 100644 index 00000000..ddbbff3f --- /dev/null +++ b/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.php @@ -0,0 +1,29 @@ +token = $token; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.php b/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.php new file mode 100644 index 00000000..ee59b792 --- /dev/null +++ b/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.php @@ -0,0 +1,47 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.php b/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.php new file mode 100644 index 00000000..b1dd83e0 --- /dev/null +++ b/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->any = $any; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.php b/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.php new file mode 100644 index 00000000..0d9124cc --- /dev/null +++ b/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.php @@ -0,0 +1,38 @@ +customerSession = $customerSession; + $this->memberSession = $memberSession; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.php b/src/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.php new file mode 100644 index 00000000..78098205 --- /dev/null +++ b/src/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->customerEmailUpdateVerifyResponse = $customerEmailUpdateVerifyResponse; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalOrdersReceiptRequest.php b/src/Models/Operations/CustomerPortalOrdersReceiptRequest.php new file mode 100644 index 00000000..92da3770 --- /dev/null +++ b/src/Models/Operations/CustomerPortalOrdersReceiptRequest.php @@ -0,0 +1,30 @@ +id = $id; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalOrdersReceiptResponse.php b/src/Models/Operations/CustomerPortalOrdersReceiptResponse.php new file mode 100644 index 00000000..255af78c --- /dev/null +++ b/src/Models/Operations/CustomerPortalOrdersReceiptResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->customerOrderReceipt = $customerOrderReceipt; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalOrdersReceiptSecurity.php b/src/Models/Operations/CustomerPortalOrdersReceiptSecurity.php new file mode 100644 index 00000000..01dd3170 --- /dev/null +++ b/src/Models/Operations/CustomerPortalOrdersReceiptSecurity.php @@ -0,0 +1,38 @@ +customerSession = $customerSession; + $this->memberSession = $memberSession; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php b/src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php index fd908f79..88afcd1c 100644 --- a/src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php +++ b/src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php @@ -22,17 +22,17 @@ class CustomerPortalSubscriptionsUpdateRequest /** * - * @var \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel $customerSubscriptionUpdate + * @var \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel|\Polar\Models\Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate */ #[SpeakeasyMetadata('request:mediaType=application/json')] - public Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel $customerSubscriptionUpdate; + public Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel|Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate; /** * @param string $id - * @param \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel $customerSubscriptionUpdate + * @param \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel|\Polar\Models\Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate * @phpstan-pure */ - public function __construct(string $id, Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel $customerSubscriptionUpdate) + public function __construct(string $id, Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel|Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate) { $this->id = $id; $this->customerSubscriptionUpdate = $customerSubscriptionUpdate; diff --git a/src/Models/Operations/CustomersListPaymentMethodsExternalRequest.php b/src/Models/Operations/CustomersListPaymentMethodsExternalRequest.php new file mode 100644 index 00000000..04ed72bf --- /dev/null +++ b/src/Models/Operations/CustomersListPaymentMethodsExternalRequest.php @@ -0,0 +1,50 @@ +externalId = $externalId; + $this->page = $page; + $this->limit = $limit; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersListPaymentMethodsExternalResponse.php b/src/Models/Operations/CustomersListPaymentMethodsExternalResponse.php new file mode 100644 index 00000000..2703534f --- /dev/null +++ b/src/Models/Operations/CustomersListPaymentMethodsExternalResponse.php @@ -0,0 +1,73 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->listResourcePaymentMethod = $listResourcePaymentMethod; + } + /** + * @param string $name + * @param array $args + * @return ?CustomersListPaymentMethodsExternalResponse + */ + public function __call($name, $args): ?CustomersListPaymentMethodsExternalResponse + { + if ($name === 'next') { + return call_user_func_array($this->next, $args); + } + + return null; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersListPaymentMethodsRequest.php b/src/Models/Operations/CustomersListPaymentMethodsRequest.php new file mode 100644 index 00000000..9373edf2 --- /dev/null +++ b/src/Models/Operations/CustomersListPaymentMethodsRequest.php @@ -0,0 +1,50 @@ +id = $id; + $this->page = $page; + $this->limit = $limit; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersListPaymentMethodsResponse.php b/src/Models/Operations/CustomersListPaymentMethodsResponse.php new file mode 100644 index 00000000..4c0eaaff --- /dev/null +++ b/src/Models/Operations/CustomersListPaymentMethodsResponse.php @@ -0,0 +1,73 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->listResourcePaymentMethod = $listResourcePaymentMethod; + } + /** + * @param string $name + * @param array $args + * @return ?CustomersListPaymentMethodsResponse + */ + public function __call($name, $args): ?CustomersListPaymentMethodsResponse + { + if ($name === 'next') { + return call_user_func_array($this->next, $args); + } + + return null; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersListRequest.php b/src/Models/Operations/CustomersListRequest.php index ae3ea053..4d1008f0 100644 --- a/src/Models/Operations/CustomersListRequest.php +++ b/src/Models/Operations/CustomersListRequest.php @@ -36,6 +36,14 @@ class CustomersListRequest #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=query')] public ?string $query = null; + /** + * Filter by active customers, i.e. customers with at least one trialing, active or past_due subscription. + * + * @var ?bool $active + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=active')] + public ?bool $active = null; + /** * Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. * @@ -74,15 +82,17 @@ class CustomersListRequest * @param string|array|null $organizationId * @param ?string $email * @param ?string $query + * @param ?bool $active * @param ?array<\Polar\Models\Components\CustomerSortProperty> $sorting * @param ?array|array|array> $metadata * @phpstan-pure */ - public function __construct(string|array|null $organizationId = null, ?string $email = null, ?string $query = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) + public function __construct(string|array|null $organizationId = null, ?string $email = null, ?string $query = null, ?bool $active = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) { $this->organizationId = $organizationId; $this->email = $email; $this->query = $query; + $this->active = $active; $this->sorting = $sorting; $this->metadata = $metadata; $this->page = $page; diff --git a/src/Models/Operations/EventsGetResponse.php b/src/Models/Operations/EventsGetResponse.php index cad59a38..caec1d3e 100644 --- a/src/Models/Operations/EventsGetResponse.php +++ b/src/Models/Operations/EventsGetResponse.php @@ -35,18 +35,18 @@ class EventsGetResponse /** * Successful Response * - * @var \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent|null $event + * @var \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent|null $event */ - public Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent|Components\UserEvent|null $event = null; + public Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionPastDueEvent|Components\SubscriptionReactivatedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\SubscriptionUpdateClearedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent|Components\UserEvent|null $event = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent|null $event + * @param \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent|null $event * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent|Components\UserEvent|null $event = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionPastDueEvent|Components\SubscriptionReactivatedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\SubscriptionUpdateClearedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent|Components\UserEvent|null $event = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; diff --git a/src/Models/Operations/LicenseKeysListRequest.php b/src/Models/Operations/LicenseKeysListRequest.php index d0cc993f..533adcab 100644 --- a/src/Models/Operations/LicenseKeysListRequest.php +++ b/src/Models/Operations/LicenseKeysListRequest.php @@ -8,6 +8,7 @@ namespace Polar\Models\Operations; +use Polar\Models\Components; use Polar\Utils\SpeakeasyMetadata; class LicenseKeysListRequest { @@ -27,6 +28,14 @@ class LicenseKeysListRequest #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=benefit_id')] public string|array|null $benefitId = null; + /** + * Filter by license key status. + * + * @var \Polar\Models\Components\LicenseKeyStatus|array<\Polar\Models\Components\LicenseKeyStatus>|null $status + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=status')] + public Components\LicenseKeyStatus|array|null $status = null; + /** * Page number, defaults to 1. * @@ -48,12 +57,14 @@ class LicenseKeysListRequest * @param ?int $limit * @param string|array|null $organizationId * @param string|array|null $benefitId + * @param \Polar\Models\Components\LicenseKeyStatus|array<\Polar\Models\Components\LicenseKeyStatus>|null $status * @phpstan-pure */ - public function __construct(string|array|null $organizationId = null, string|array|null $benefitId = null, ?int $page = 1, ?int $limit = 10) + public function __construct(string|array|null $organizationId = null, string|array|null $benefitId = null, Components\LicenseKeyStatus|array|null $status = null, ?int $page = 1, ?int $limit = 10) { $this->organizationId = $organizationId; $this->benefitId = $benefitId; + $this->status = $status; $this->page = $page; $this->limit = $limit; } diff --git a/src/Models/Operations/MembersDeleteMemberByExternalIdRequest.php b/src/Models/Operations/MembersDeleteMemberByExternalIdRequest.php new file mode 100644 index 00000000..b5c01e2f --- /dev/null +++ b/src/Models/Operations/MembersDeleteMemberByExternalIdRequest.php @@ -0,0 +1,50 @@ +externalId = $externalId; + $this->customerId = $customerId; + $this->externalCustomerId = $externalCustomerId; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MembersDeleteMemberByExternalIdResponse.php b/src/Models/Operations/MembersDeleteMemberByExternalIdResponse.php new file mode 100644 index 00000000..b11a07d3 --- /dev/null +++ b/src/Models/Operations/MembersDeleteMemberByExternalIdResponse.php @@ -0,0 +1,47 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MembersGetMemberByExternalIdRequest.php b/src/Models/Operations/MembersGetMemberByExternalIdRequest.php new file mode 100644 index 00000000..37dd2e84 --- /dev/null +++ b/src/Models/Operations/MembersGetMemberByExternalIdRequest.php @@ -0,0 +1,50 @@ +externalId = $externalId; + $this->customerId = $customerId; + $this->externalCustomerId = $externalCustomerId; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MembersGetMemberByExternalIdResponse.php b/src/Models/Operations/MembersGetMemberByExternalIdResponse.php new file mode 100644 index 00000000..866fb3ad --- /dev/null +++ b/src/Models/Operations/MembersGetMemberByExternalIdResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->member = $member; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MembersUpdateMemberByExternalIdRequest.php b/src/Models/Operations/MembersUpdateMemberByExternalIdRequest.php new file mode 100644 index 00000000..81ad0702 --- /dev/null +++ b/src/Models/Operations/MembersUpdateMemberByExternalIdRequest.php @@ -0,0 +1,60 @@ +externalId = $externalId; + $this->memberUpdate = $memberUpdate; + $this->customerId = $customerId; + $this->externalCustomerId = $externalCustomerId; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MembersUpdateMemberByExternalIdResponse.php b/src/Models/Operations/MembersUpdateMemberByExternalIdResponse.php new file mode 100644 index 00000000..ad691c7f --- /dev/null +++ b/src/Models/Operations/MembersUpdateMemberByExternalIdResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->member = $member; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MetricsExportRequest.php b/src/Models/Operations/MetricsExportRequest.php new file mode 100644 index 00000000..1363f975 --- /dev/null +++ b/src/Models/Operations/MetricsExportRequest.php @@ -0,0 +1,112 @@ +|null $organizationId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=organization_id')] + public string|array|null $organizationId = null; + + /** + * Filter by product ID. + * + * @var string|array|null $productId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=product_id')] + public string|array|null $productId = null; + + /** + * Filter by billing type. `recurring` will filter data corresponding to subscriptions creations or renewals. `one_time` will filter data corresponding to one-time purchases. + * + * @var \Polar\Models\Components\ProductBillingType|array<\Polar\Models\Components\ProductBillingType>|null $billingType + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=billing_type')] + public Components\ProductBillingType|array|null $billingType = null; + + /** + * Filter by customer ID. + * + * @var string|array|null $customerId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=customer_id')] + public string|array|null $customerId = null; + + /** + * List of metric slugs to include in the export. If not provided, all metrics are exported. + * + * @var ?array $metrics + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=metrics')] + public ?array $metrics = null; + + /** + * Timezone to use for the timestamps. Default is UTC. + * + * @var ?string $timezone + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=timezone')] + public ?string $timezone = null; + + /** + * @param LocalDate $startDate + * @param LocalDate $endDate + * @param \Polar\Models\Components\TimeInterval $interval + * @param ?string $timezone + * @param string|array|null $organizationId + * @param string|array|null $productId + * @param \Polar\Models\Components\ProductBillingType|array<\Polar\Models\Components\ProductBillingType>|null $billingType + * @param string|array|null $customerId + * @param ?array $metrics + * @phpstan-pure + */ + public function __construct(LocalDate $startDate, LocalDate $endDate, Components\TimeInterval $interval, string|array|null $organizationId = null, string|array|null $productId = null, Components\ProductBillingType|array|null $billingType = null, string|array|null $customerId = null, ?array $metrics = null, ?string $timezone = 'UTC') + { + $this->startDate = $startDate; + $this->endDate = $endDate; + $this->interval = $interval; + $this->organizationId = $organizationId; + $this->productId = $productId; + $this->billingType = $billingType; + $this->customerId = $customerId; + $this->metrics = $metrics; + $this->timezone = $timezone; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MetricsExportResponse.php b/src/Models/Operations/MetricsExportResponse.php new file mode 100644 index 00000000..9dd41bfc --- /dev/null +++ b/src/Models/Operations/MetricsExportResponse.php @@ -0,0 +1,65 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->any = $any; + $this->res = $res; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrdersCreateResponse.php b/src/Models/Operations/OrdersCreateResponse.php new file mode 100644 index 00000000..745666f4 --- /dev/null +++ b/src/Models/Operations/OrdersCreateResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->order = $order; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrdersFinalizeRequest.php b/src/Models/Operations/OrdersFinalizeRequest.php new file mode 100644 index 00000000..ce4e766f --- /dev/null +++ b/src/Models/Operations/OrdersFinalizeRequest.php @@ -0,0 +1,40 @@ +id = $id; + $this->orderFinalize = $orderFinalize; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrdersFinalizeResponse.php b/src/Models/Operations/OrdersFinalizeResponse.php new file mode 100644 index 00000000..21b1ff0c --- /dev/null +++ b/src/Models/Operations/OrdersFinalizeResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->order = $order; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrdersListRequest.php b/src/Models/Operations/OrdersListRequest.php index dc538b29..9f2dc402 100644 --- a/src/Models/Operations/OrdersListRequest.php +++ b/src/Models/Operations/OrdersListRequest.php @@ -68,6 +68,14 @@ class OrdersListRequest #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=checkout_id')] public string|array|null $checkoutId = null; + /** + * Filter by subscription ID. + * + * @var string|array|null $subscriptionId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=subscription_id')] + public string|array|null $subscriptionId = null; + /** * Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. * @@ -110,11 +118,12 @@ class OrdersListRequest * @param string|array|null $customerId * @param string|array|null $externalCustomerId * @param string|array|null $checkoutId + * @param string|array|null $subscriptionId * @param ?array<\Polar\Models\Components\OrderSortProperty> $sorting * @param ?array|array|array> $metadata * @phpstan-pure */ - public function __construct(string|array|null $organizationId = null, string|array|null $productId = null, Components\ProductBillingType|array|null $productBillingType = null, string|array|null $discountId = null, string|array|null $customerId = null, string|array|null $externalCustomerId = null, string|array|null $checkoutId = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) + public function __construct(string|array|null $organizationId = null, string|array|null $productId = null, Components\ProductBillingType|array|null $productBillingType = null, string|array|null $discountId = null, string|array|null $customerId = null, string|array|null $externalCustomerId = null, string|array|null $checkoutId = null, string|array|null $subscriptionId = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) { $this->organizationId = $organizationId; $this->productId = $productId; @@ -123,6 +132,7 @@ public function __construct(string|array|null $organizationId = null, string|arr $this->customerId = $customerId; $this->externalCustomerId = $externalCustomerId; $this->checkoutId = $checkoutId; + $this->subscriptionId = $subscriptionId; $this->sorting = $sorting; $this->metadata = $metadata; $this->page = $page; diff --git a/src/Models/Operations/OrdersReceiptRequest.php b/src/Models/Operations/OrdersReceiptRequest.php new file mode 100644 index 00000000..13d56512 --- /dev/null +++ b/src/Models/Operations/OrdersReceiptRequest.php @@ -0,0 +1,30 @@ +id = $id; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrdersReceiptResponse.php b/src/Models/Operations/OrdersReceiptResponse.php new file mode 100644 index 00000000..19d36872 --- /dev/null +++ b/src/Models/Operations/OrdersReceiptResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->orderReceipt = $orderReceipt; + } +} \ No newline at end of file diff --git a/src/Models/Operations/PaymentsListRequest.php b/src/Models/Operations/PaymentsListRequest.php index daf1e59a..af188c18 100644 --- a/src/Models/Operations/PaymentsListRequest.php +++ b/src/Models/Operations/PaymentsListRequest.php @@ -36,6 +36,14 @@ class PaymentsListRequest #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=order_id')] public string|array|null $orderId = null; + /** + * Filter by customer ID. + * + * @var string|array|null $customerId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=customer_id')] + public string|array|null $customerId = null; + /** * Filter by payment status. * @@ -90,17 +98,19 @@ class PaymentsListRequest * @param string|array|null $organizationId * @param string|array|null $checkoutId * @param string|array|null $orderId + * @param string|array|null $customerId * @param \Polar\Models\Components\PaymentStatus|array<\Polar\Models\Components\PaymentStatus>|null $status * @param string|array|null $method * @param string|array|null $customerEmail * @param ?array<\Polar\Models\Components\PaymentSortProperty> $sorting * @phpstan-pure */ - public function __construct(string|array|null $organizationId = null, string|array|null $checkoutId = null, string|array|null $orderId = null, Components\PaymentStatus|array|null $status = null, string|array|null $method = null, string|array|null $customerEmail = null, ?array $sorting = null, ?int $page = 1, ?int $limit = 10) + public function __construct(string|array|null $organizationId = null, string|array|null $checkoutId = null, string|array|null $orderId = null, string|array|null $customerId = null, Components\PaymentStatus|array|null $status = null, string|array|null $method = null, string|array|null $customerEmail = null, ?array $sorting = null, ?int $page = 1, ?int $limit = 10) { $this->organizationId = $organizationId; $this->checkoutId = $checkoutId; $this->orderId = $orderId; + $this->customerId = $customerId; $this->status = $status; $this->method = $method; $this->customerEmail = $customerEmail; diff --git a/src/Models/Operations/SubscriptionsUpdateRequest.php b/src/Models/Operations/SubscriptionsUpdateRequest.php index ca868daa..c07100f5 100644 --- a/src/Models/Operations/SubscriptionsUpdateRequest.php +++ b/src/Models/Operations/SubscriptionsUpdateRequest.php @@ -22,17 +22,17 @@ class SubscriptionsUpdateRequest /** * - * @var \Polar\Models\Components\SubscriptionUpdateProduct|\Polar\Models\Components\SubscriptionUpdateDiscount|\Polar\Models\Components\SubscriptionUpdateTrial|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke $subscriptionUpdate + * @var \Polar\Models\Components\SubscriptionUpdateProduct|\Polar\Models\Components\SubscriptionUpdateDiscount|\Polar\Models\Components\SubscriptionUpdateTrial|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke|\Polar\Models\Components\SubscriptionUpdateClear $subscriptionUpdate */ #[SpeakeasyMetadata('request:mediaType=application/json')] - public Components\SubscriptionUpdateProduct|Components\SubscriptionUpdateDiscount|Components\SubscriptionUpdateTrial|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke $subscriptionUpdate; + public Components\SubscriptionUpdateProduct|Components\SubscriptionUpdateDiscount|Components\SubscriptionUpdateTrial|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke|Components\SubscriptionUpdateClear $subscriptionUpdate; /** * @param string $id - * @param \Polar\Models\Components\SubscriptionUpdateProduct|\Polar\Models\Components\SubscriptionUpdateDiscount|\Polar\Models\Components\SubscriptionUpdateTrial|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke $subscriptionUpdate + * @param \Polar\Models\Components\SubscriptionUpdateProduct|\Polar\Models\Components\SubscriptionUpdateDiscount|\Polar\Models\Components\SubscriptionUpdateTrial|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke|\Polar\Models\Components\SubscriptionUpdateClear $subscriptionUpdate * @phpstan-pure */ - public function __construct(string $id, Components\SubscriptionUpdateProduct|Components\SubscriptionUpdateDiscount|Components\SubscriptionUpdateTrial|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke $subscriptionUpdate) + public function __construct(string $id, Components\SubscriptionUpdateProduct|Components\SubscriptionUpdateDiscount|Components\SubscriptionUpdateTrial|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke|Components\SubscriptionUpdateClear $subscriptionUpdate) { $this->id = $id; $this->subscriptionUpdate = $subscriptionUpdate; diff --git a/src/Oauth2.php b/src/Oauth2.php index 8a966158..0b476101 100644 --- a/src/Oauth2.php +++ b/src/Oauth2.php @@ -75,11 +75,12 @@ public function authorize(?Options $options = null): Operations\Oauth2AuthorizeR } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -141,11 +142,12 @@ public function introspect(Components\IntrospectTokenRequest $request, ?Options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -207,11 +209,12 @@ public function token(Components\AuthorizationCodeTokenRequest|Components\Refres } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -273,11 +276,12 @@ public function revoke(Components\RevokeTokenRequest $request, ?Options $options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -333,11 +337,12 @@ public function userinfo(?Options $options = null): Operations\Oauth2UserinfoRes } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Orders.php b/src/Orders.php index a183bb35..b07249e6 100644 --- a/src/Orders.php +++ b/src/Orders.php @@ -45,6 +45,90 @@ public function getUrl(string $baseUrl, array $urlVariables): string return Utils\Utils::templateUrl($baseUrl, $urlVariables); } + /** + * Create Order + * + * Create a draft order for an off-session charge against a saved payment + * method. The order is created with `status=draft` and no invoice number; + * call `POST /v1/orders/{id}/finalize` to attempt the charge. + * + * The organization must have the `off_session_charges_enabled` feature flag. + * + * **Scopes**: `orders:write` + * + * @param \Polar\Models\Components\OrderCreate $request + * @return \Polar\Models\Operations\OrdersCreateResponse + * @throws \Polar\Models\Errors\APIException + */ + public function create(Components\OrderCreate $request, ?Options $options = null): Operations\OrdersCreateResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/orders/'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'orders:create', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Order', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\OrdersCreateResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + order: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Export Orders * @@ -85,11 +169,12 @@ public function export(string|array|null $organizationId = null, string|array|nu } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -137,6 +222,142 @@ public function export(string|array|null $organizationId = null, string|array|nu } } + /** + * Finalize Order + * + * Finalize a draft order and synchronously attempt an off-session charge. + * + * On success, the order transitions to `paid` and benefit grants fire + * before the response returns. On failure (decline, missing payment method, + * SCA challenge), the order stays in `draft` and a 4xx error is returned. + * + * The request fails with 412 if the order is not in `draft` status. + * + * **Scopes**: `orders:write` + * + * @param string $id + * @param ?\Polar\Models\Components\OrderFinalize $orderFinalize + * @return \Polar\Models\Operations\OrdersFinalizeResponse + * @throws \Polar\Models\Errors\APIException + */ + public function finalize(string $id, ?Components\OrderFinalize $orderFinalize = null, ?Options $options = null): Operations\OrdersFinalizeResponse + { + $request = new Operations\OrdersFinalizeRequest( + id: $id, + orderFinalize: $orderFinalize, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/orders/{id}/finalize', Operations\OrdersFinalizeRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'orderFinalize', 'json'); + if ($body !== null) { + $httpOptions = array_merge_recursive($httpOptions, $body); + } + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'orders:finalize', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Order', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\OrdersFinalizeResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + order: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['402'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\PaymentFailed1|\Polar\Models\Errors\PaymentActionRequired', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\OffSessionChargesNotEnabled|\Polar\Models\Errors\OrganizationNotReadyForPayments', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['412'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\OrderNotDraft', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Generate Order Invoice * @@ -172,11 +393,12 @@ public function generateInvoice(string $id, ?Options $options = null): Operation } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -250,11 +472,12 @@ public function get(string $id, ?Options $options = null): Operations\OrdersGetR } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -338,11 +561,12 @@ public function invoice(string $id, ?Options $options = null): Operations\Orders } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -426,11 +650,12 @@ private function listIndividual(?Operations\OrdersListRequest $request = null, ? } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -479,6 +704,7 @@ private function listIndividual(?Operations\OrdersListRequest $request = null, ? customerId: $request != null ? $request->customerId : null, externalCustomerId: $request != null ? $request->externalCustomerId : null, checkoutId: $request != null ? $request->checkoutId : null, + subscriptionId: $request != null ? $request->subscriptionId : null, page: $nextPage, limit: $request != null ? $request->limit : null, sorting: $request != null ? $request->sorting : null, @@ -531,6 +757,103 @@ public function list(?Operations\OrdersListRequest $request = null, ?Options $op } } + /** + * Get Order Receipt + * + * Get a presigned URL to download an order's receipt PDF. + * + * **Scopes**: `orders:read` + * + * @param string $id + * @return \Polar\Models\Operations\OrdersReceiptResponse + * @throws \Polar\Models\Errors\APIException + */ + public function receipt(string $id, ?Options $options = null): Operations\OrdersReceiptResponse + { + $request = new Operations\OrdersReceiptRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/orders/{id}/receipt', Operations\OrdersReceiptRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'orders:receipt', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\OrderReceipt', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\OrdersReceiptResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + orderReceipt: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\OrdersReceiptResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Update Order * @@ -573,11 +896,12 @@ public function update(Components\OrderUpdate $orderUpdate, string $id, ?Options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/OrganizationAccessTokens.php b/src/OrganizationAccessTokens.php index 5d26162e..8844099c 100644 --- a/src/OrganizationAccessTokens.php +++ b/src/OrganizationAccessTokens.php @@ -80,11 +80,12 @@ public function create(Components\OrganizationAccessTokenCreate $request, ?Optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -155,11 +156,12 @@ public function delete(string $id, ?Options $options = null): Operations\Organiz } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -232,11 +234,12 @@ private function listIndividual(string|array|null $organizationId = null, ?int $ } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -371,11 +374,12 @@ public function update(Components\OrganizationAccessTokenUpdate $organizationAcc } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Organizations.php b/src/Organizations.php index acbab27b..4efe6813 100644 --- a/src/Organizations.php +++ b/src/Organizations.php @@ -82,11 +82,12 @@ public function create(Components\OrganizationCreate $request, ?Options $options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function get(string $id, ?Options $options = null): Operations\Organizati } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -226,7 +228,7 @@ public function get(string $id, ?Options $options = null): Operations\Organizati * @return \Polar\Models\Operations\OrganizationsListResponse * @throws \Polar\Models\Errors\APIException */ - private function listIndividual(?string $slug = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): Operations\OrganizationsListResponse + private function listOrganizationsIndividual(?string $slug = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): Operations\OrganizationsListResponse { $request = new Operations\OrganizationsListRequest( slug: $slug, @@ -256,11 +258,12 @@ private function listIndividual(?string $slug = null, ?int $page = null, ?int $l } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -300,7 +303,7 @@ private function listIndividual(?string $slug = null, ?int $page = null, ?int $l return null; } - return $sdk->listIndividual( + return $sdk->listOrganizationsIndividual( slug: $request != null ? $request->slug : null, page: $nextPage, limit: $request != null ? $request->limit : null, @@ -346,9 +349,9 @@ private function listIndividual(?string $slug = null, ?int $page = null, ?int $l * @return \Generator<\Polar\Models\Operations\OrganizationsListResponse> * @throws \Polar\Models\Errors\APIException */ - public function list(?string $slug = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): \Generator + public function listOrganizations(?string $slug = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): \Generator { - $res = $this->listIndividual($slug, $page, $limit, $sorting, $options); + $res = $this->listOrganizationsIndividual($slug, $page, $limit, $sorting, $options); while ($res !== null) { yield $res; $res = $res->next($res); @@ -397,11 +400,12 @@ public function update(Components\OrganizationUpdate $organizationUpdate, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Payments.php b/src/Payments.php index 86fc5178..387411b3 100644 --- a/src/Payments.php +++ b/src/Payments.php @@ -79,11 +79,12 @@ public function get(string $id, ?Options $options = null): Operations\PaymentsGe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -167,11 +168,12 @@ private function listIndividual(?Operations\PaymentsListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -216,6 +218,7 @@ private function listIndividual(?Operations\PaymentsListRequest $request = null, organizationId: $request != null ? $request->organizationId : null, checkoutId: $request != null ? $request->checkoutId : null, orderId: $request != null ? $request->orderId : null, + customerId: $request != null ? $request->customerId : null, status: $request != null ? $request->status : null, method: $request != null ? $request->method : null, customerEmail: $request != null ? $request->customerEmail : null, diff --git a/src/PolarBenefitGrants.php b/src/PolarBenefitGrants.php index 628f6d63..f179a784 100644 --- a/src/PolarBenefitGrants.php +++ b/src/PolarBenefitGrants.php @@ -87,11 +87,12 @@ public function get(Operations\CustomerPortalBenefitGrantsGetSecurity $security, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -182,11 +183,12 @@ private function listIndividual(Operations\CustomerPortalBenefitGrantsListSecuri } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -337,11 +339,12 @@ public function update(Operations\CustomerPortalBenefitGrantsUpdateSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/PolarCustomerMeters.php b/src/PolarCustomerMeters.php index 39d6dbb5..a28dba14 100644 --- a/src/PolarCustomerMeters.php +++ b/src/PolarCustomerMeters.php @@ -86,11 +86,12 @@ public function get(Operations\CustomerPortalCustomerMetersGetSecurity $security } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -181,11 +182,12 @@ private function listIndividual(Operations\CustomerPortalCustomerMetersListSecur } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/PolarCustomers.php b/src/PolarCustomers.php index 4283ec24..8b82af63 100644 --- a/src/PolarCustomers.php +++ b/src/PolarCustomers.php @@ -87,11 +87,12 @@ public function addPaymentMethod(Operations\CustomerPortalCustomersAddPaymentMet } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -109,6 +110,17 @@ public function addPaymentMethod(Operations\CustomerPortalCustomersAddPaymentMet } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\PaymentMethodSetupFailed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -129,6 +141,76 @@ public function addPaymentMethod(Operations\CustomerPortalCustomersAddPaymentMet } } + /** + * Check Email Change Token + * + * Check if an email change verification token is still valid. + * + * @param string $token + * @return \Polar\Models\Operations\CustomerPortalCustomersCheckEmailUpdateResponse + * @throws \Polar\Models\Errors\APIException + */ + public function checkEmailUpdate(string $token, ?Options $options = null): Operations\CustomerPortalCustomersCheckEmailUpdateResponse + { + $request = new Operations\CustomerPortalCustomersCheckEmailUpdateRequest( + token: $token, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/customers/me/email-update/check'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\CustomerPortalCustomersCheckEmailUpdateRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:customers:check_email_update', null, null); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\CustomerPortalCustomersCheckEmailUpdateResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401', '4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Confirm Customer Payment Method * @@ -171,11 +253,12 @@ public function confirmPaymentMethod(Operations\CustomerPortalCustomersConfirmPa } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -264,11 +347,12 @@ public function deletePaymentMethod(Operations\CustomerPortalCustomersDeletePaym } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -357,11 +441,12 @@ public function get(Operations\CustomerPortalCustomersGetSecurity $security, ?Op } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -433,11 +518,12 @@ private function listPaymentMethodsIndividual(Operations\CustomerPortalCustomers } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -528,6 +614,91 @@ public function listPaymentMethods(Operations\CustomerPortalCustomersListPayment } } + /** + * Request Email Change + * + * Request an email change for the authenticated customer. + * + * @param \Polar\Models\Operations\CustomerPortalCustomersRequestEmailUpdateSecurity $security + * @param \Polar\Models\Components\CustomerEmailUpdateRequest $request + * @return \Polar\Models\Operations\CustomerPortalCustomersRequestEmailUpdateResponse + * @throws \Polar\Models\Errors\APIException + */ + public function requestEmailUpdate(Operations\CustomerPortalCustomersRequestEmailUpdateSecurity $security, Components\CustomerEmailUpdateRequest $request, ?Options $options = null): Operations\CustomerPortalCustomersRequestEmailUpdateResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/customers/me/email-update/request'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + if ($security != null) { + $client = Utils\Utils::configureSecurityClient($this->sdkConfiguration->client, $security); + } else { + $client = $this->sdkConfiguration->client; + } + + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:customers:request_email_update', null, fn () => $security); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, 'mixed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomerPortalCustomersRequestEmailUpdateResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + any: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Update Customer * @@ -570,11 +741,12 @@ public function update(Operations\CustomerPortalCustomersUpdateSecurity $securit } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -612,4 +784,71 @@ public function update(Operations\CustomerPortalCustomersUpdateSecurity $securit } } + /** + * Verify Email Change + * + * Verify an email change using the token from the verification email. + * + * @param \Polar\Models\Components\CustomerEmailUpdateVerifyRequest $request + * @return \Polar\Models\Operations\CustomerPortalCustomersVerifyEmailUpdateResponse + * @throws \Polar\Models\Errors\APIException + */ + public function verifyEmailUpdate(Components\CustomerEmailUpdateVerifyRequest $request, ?Options $options = null): Operations\CustomerPortalCustomersVerifyEmailUpdateResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/customers/me/email-update/verify'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:customers:verify_email_update', null, null); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerEmailUpdateVerifyResponse', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomerPortalCustomersVerifyEmailUpdateResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + customerEmailUpdateVerifyResponse: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401', '422', '4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + } \ No newline at end of file diff --git a/src/PolarLicenseKeys.php b/src/PolarLicenseKeys.php index 76c4011f..fc2483e0 100644 --- a/src/PolarLicenseKeys.php +++ b/src/PolarLicenseKeys.php @@ -85,11 +85,12 @@ public function activate(Components\LicenseKeyActivate $request, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -189,11 +190,12 @@ public function deactivate(Components\LicenseKeyDeactivate $request, ?Options $o } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -275,11 +277,12 @@ public function get(Operations\CustomerPortalLicenseKeysGetSecurity $security, s } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -375,11 +378,12 @@ private function listIndividual(Operations\CustomerPortalLicenseKeysListSecurity } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -534,11 +538,12 @@ public function validate(Components\LicenseKeyValidate $request, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/PolarMembers.php b/src/PolarMembers.php index a42578ca..b8426b22 100644 --- a/src/PolarMembers.php +++ b/src/PolarMembers.php @@ -86,11 +86,12 @@ public function addMember(Components\CustomerPortalMemberCreate $request, ?Optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -168,11 +169,12 @@ private function listMembersIndividual(?int $page = null, ?int $limit = null, ?O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -302,11 +304,12 @@ public function removeMember(string $id, ?Options $options = null): Operations\C } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -381,11 +384,12 @@ public function updateMember(Components\CustomerPortalMemberUpdate $customerPort } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/PolarOrders.php b/src/PolarOrders.php index dd7c249e..fb5d675a 100644 --- a/src/PolarOrders.php +++ b/src/PolarOrders.php @@ -92,11 +92,12 @@ public function confirmRetryPayment(Operations\CustomerPortalOrdersConfirmRetryP } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '409', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -147,6 +148,17 @@ public function confirmRetryPayment(Operations\CustomerPortalOrdersConfirmRetryP } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ManualRetryLimitExceeded', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { @@ -196,11 +208,12 @@ public function generateInvoice(Operations\CustomerPortalOrdersGenerateInvoiceSe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -279,11 +292,12 @@ public function get(Operations\CustomerPortalOrdersGetSecurity $security, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -372,11 +386,12 @@ public function getPaymentStatus(Operations\CustomerPortalOrdersGetPaymentStatus } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -465,11 +480,12 @@ public function invoice(Operations\CustomerPortalOrdersInvoiceSecurity $security } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -558,11 +574,12 @@ private function listIndividual(Operations\CustomerPortalOrdersListSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -659,6 +676,108 @@ public function list(Operations\CustomerPortalOrdersListSecurity $security, ?Ope } } + /** + * Get Order Receipt + * + * Get a presigned URL to download an order's receipt PDF. + * + * @param \Polar\Models\Operations\CustomerPortalOrdersReceiptSecurity $security + * @param string $id + * @return \Polar\Models\Operations\CustomerPortalOrdersReceiptResponse + * @throws \Polar\Models\Errors\APIException + */ + public function receipt(Operations\CustomerPortalOrdersReceiptSecurity $security, string $id, ?Options $options = null): Operations\CustomerPortalOrdersReceiptResponse + { + $request = new Operations\CustomerPortalOrdersReceiptRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/orders/{id}/receipt', Operations\CustomerPortalOrdersReceiptRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + if ($security != null) { + $client = Utils\Utils::configureSecurityClient($this->sdkConfiguration->client, $security); + } else { + $client = $this->sdkConfiguration->client; + } + + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:orders:receipt', null, fn () => $security); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerOrderReceipt', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomerPortalOrdersReceiptResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + customerOrderReceipt: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\CustomerPortalOrdersReceiptResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Update Order * @@ -706,11 +825,12 @@ public function update(Operations\CustomerPortalOrdersUpdateSecurity $security, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/PolarOrganizations.php b/src/PolarOrganizations.php index 252c658e..1a337289 100644 --- a/src/PolarOrganizations.php +++ b/src/PolarOrganizations.php @@ -77,11 +77,12 @@ public function get(string $slug, ?Options $options = null): Operations\Customer } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/PolarSubscriptions.php b/src/PolarSubscriptions.php index 55cf3fb0..28e378ce 100644 --- a/src/PolarSubscriptions.php +++ b/src/PolarSubscriptions.php @@ -85,11 +85,12 @@ public function cancel(Operations\CustomerPortalSubscriptionsCancelSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -191,11 +192,12 @@ public function get(Operations\CustomerPortalSubscriptionsGetSecurity $security, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -286,11 +288,12 @@ private function listIndividual(Operations\CustomerPortalSubscriptionsListSecuri } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -394,12 +397,12 @@ public function list(Operations\CustomerPortalSubscriptionsListSecurity $securit * Update a subscription of the authenticated customer. * * @param \Polar\Models\Operations\CustomerPortalSubscriptionsUpdateSecurity $security - * @param \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel $customerSubscriptionUpdate + * @param \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel|\Polar\Models\Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate * @param string $id * @return \Polar\Models\Operations\CustomerPortalSubscriptionsUpdateResponse * @throws \Polar\Models\Errors\APIException */ - public function update(Operations\CustomerPortalSubscriptionsUpdateSecurity $security, Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel $customerSubscriptionUpdate, string $id, ?Options $options = null): Operations\CustomerPortalSubscriptionsUpdateResponse + public function update(Operations\CustomerPortalSubscriptionsUpdateSecurity $security, Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel|Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate, string $id, ?Options $options = null): Operations\CustomerPortalSubscriptionsUpdateResponse { $request = new Operations\CustomerPortalSubscriptionsUpdateRequest( id: $id, @@ -435,11 +438,12 @@ public function update(Operations\CustomerPortalSubscriptionsUpdateSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['402', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Products.php b/src/Products.php index 1af8b22d..6c545a97 100644 --- a/src/Products.php +++ b/src/Products.php @@ -82,11 +82,12 @@ public function create(Components\ProductCreateRecurring|Components\ProductCreat } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function get(string $id, ?Options $options = null): Operations\ProductsGe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -247,11 +249,12 @@ private function listIndividual(?Operations\ProductsListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -394,11 +397,12 @@ public function update(Components\ProductUpdate $productUpdate, string $id, ?Opt } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -500,11 +504,12 @@ public function updateBenefits(Components\ProductBenefitsUpdate $productBenefits } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Refunds.php b/src/Refunds.php index 484c85d4..d6c5f0cb 100644 --- a/src/Refunds.php +++ b/src/Refunds.php @@ -82,11 +82,12 @@ public function create(Components\RefundCreate $request, ?Options $options = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -170,11 +171,12 @@ private function listIndividual(?Operations\RefundsListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/SDKConfiguration.php b/src/SDKConfiguration.php index 7bc406b6..7f1a1d39 100644 --- a/src/SDKConfiguration.php +++ b/src/SDKConfiguration.php @@ -26,11 +26,11 @@ class SDKConfiguration public string $openapiDocVersion = '0.1.0'; - public string $sdkVersion = '0.10.0'; + public string $sdkVersion = '0.10.1'; - public string $genVersion = '2.879.6'; + public string $genVersion = '2.893.0'; - public string $userAgent = 'speakeasy-sdk/php 0.10.0 2.879.6 0.1.0 polar-sh/sdk'; + public string $userAgent = 'speakeasy-sdk/php 0.10.1 2.893.0 0.1.0 polar-sh/sdk'; public ?RetryConfig $retryConfig = null; diff --git a/src/Seats.php b/src/Seats.php index 1a8bb4d4..a5ac96da 100644 --- a/src/Seats.php +++ b/src/Seats.php @@ -49,11 +49,11 @@ public function getUrl(string $baseUrl, array $urlVariables): string * Assign Seat * * @param \Polar\Models\Operations\CustomerPortalSeatsAssignSeatSecurity $security - * @param \Polar\Models\Components\SeatAssign $request + * @param \Polar\Models\Components\CustomerSeatAssign $request * @return \Polar\Models\Operations\CustomerPortalSeatsAssignSeatResponse * @throws \Polar\Models\Errors\APIException */ - public function assignSeat(Operations\CustomerPortalSeatsAssignSeatSecurity $security, Components\SeatAssign $request, ?Options $options = null): Operations\CustomerPortalSeatsAssignSeatResponse + public function assignSeat(Operations\CustomerPortalSeatsAssignSeatSecurity $security, Components\CustomerSeatAssign $request, ?Options $options = null): Operations\CustomerPortalSeatsAssignSeatResponse { $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/seats'); @@ -85,11 +85,12 @@ public function assignSeat(Operations\CustomerPortalSeatsAssignSeatSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -174,11 +175,12 @@ private function listClaimedSubscriptionsIndividual(Operations\CustomerPortalSea } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -316,11 +318,12 @@ public function listSeats(Operations\CustomerPortalSeatsListSeatsSecurity $secur } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -396,11 +399,12 @@ public function resendInvitation(Operations\CustomerPortalSeatsResendInvitationS } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -476,11 +480,12 @@ public function revokeSeat(Operations\CustomerPortalSeatsRevokeSeatSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Subscriptions.php b/src/Subscriptions.php index 3920b563..44922757 100644 --- a/src/Subscriptions.php +++ b/src/Subscriptions.php @@ -87,11 +87,12 @@ public function create(Components\SubscriptionCreateCustomer|Components\Subscrip } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -167,11 +168,12 @@ public function export(string|array|null $organizationId = null, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -254,11 +256,12 @@ public function get(string $id, ?Options $options = null): Operations\Subscripti } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -342,11 +345,12 @@ private function listIndividual(?Operations\SubscriptionsListRequest $request = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -485,11 +489,12 @@ public function revoke(string $id, ?Options $options = null): Operations\Subscri } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '409', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -567,12 +572,12 @@ public function revoke(string $id, ?Options $options = null): Operations\Subscri * * **Scopes**: `subscriptions:write` * - * @param \Polar\Models\Components\SubscriptionUpdateProduct|\Polar\Models\Components\SubscriptionUpdateDiscount|\Polar\Models\Components\SubscriptionUpdateTrial|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke $subscriptionUpdate + * @param \Polar\Models\Components\SubscriptionUpdateProduct|\Polar\Models\Components\SubscriptionUpdateDiscount|\Polar\Models\Components\SubscriptionUpdateTrial|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke|\Polar\Models\Components\SubscriptionUpdateClear $subscriptionUpdate * @param string $id * @return \Polar\Models\Operations\SubscriptionsUpdateResponse * @throws \Polar\Models\Errors\APIException */ - public function update(Components\SubscriptionUpdateProduct|Components\SubscriptionUpdateDiscount|Components\SubscriptionUpdateTrial|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke $subscriptionUpdate, string $id, ?Options $options = null): Operations\SubscriptionsUpdateResponse + public function update(Components\SubscriptionUpdateProduct|Components\SubscriptionUpdateDiscount|Components\SubscriptionUpdateTrial|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke|Components\SubscriptionUpdateClear $subscriptionUpdate, string $id, ?Options $options = null): Operations\SubscriptionsUpdateResponse { $request = new Operations\SubscriptionsUpdateRequest( id: $id, @@ -602,11 +607,12 @@ public function update(Components\SubscriptionUpdateProduct|Components\Subscript } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['402', '403', '404', '409', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Wallets.php b/src/Wallets.php index 89c33b0a..b947e490 100644 --- a/src/Wallets.php +++ b/src/Wallets.php @@ -85,11 +85,12 @@ public function get(Operations\CustomerPortalWalletsGetSecurity $security, strin } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -185,11 +186,12 @@ private function listIndividual(Operations\CustomerPortalWalletsListSecurity $se } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Webhooks.php b/src/Webhooks.php index 0ecd737e..f935d87f 100644 --- a/src/Webhooks.php +++ b/src/Webhooks.php @@ -82,11 +82,12 @@ public function createWebhookEndpoint(Components\WebhookEndpointCreate $request, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function deleteWebhookEndpoint(string $id, ?Options $options = null): Ope } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -238,11 +240,12 @@ public function getWebhookEndpoint(string $id, ?Options $options = null): Operat } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -328,11 +331,12 @@ private function listWebhookDeliveriesIndividual(?Operations\WebhooksListWebhook } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -475,11 +479,12 @@ private function listWebhookEndpointsIndividual(string|array|null $organizationI } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -607,11 +612,12 @@ public function redeliverWebhookEvent(string $id, ?Options $options = null): Ope } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -695,11 +701,12 @@ public function resetWebhookEndpointSecret(string $id, ?Options $options = null) } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -790,11 +797,12 @@ public function updateWebhookEndpoint(Components\WebhookEndpointUpdate $webhookE } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse);