From 4c925168a2c35cf3a44249063f7ee039358b786b Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Fri, 26 Jun 2026 00:46:53 +0000 Subject: [PATCH 1/2] ## Python SDK Changes Detected: * `polar.organizations.create()`: * `request.notification_settings` **Removed** **Breaking** :warning: * `response` **Changed** **Breaking** :warning: * `polar.subscriptions.get()`: `response` **Changed** **Breaking** :warning: * `polar.customer_meters.list()`: `response.items.[].customer` **Changed** **Breaking** :warning: * `polar.events.get()`: `response.[user_event].customer` **Changed** **Breaking** :warning: * `polar._endpointcheckout_created_post()`: * `request.data.products.[].prices.[]` **Changed** **Breaking** :warning: * `polar._endpointcheckout_updated_post()`: * `request.data.products.[].prices.[]` **Changed** **Breaking** :warning: * `polar._endpointcheckout_expired_post()`: * `request.data.products.[].prices.[]` **Changed** **Breaking** :warning: * `polar.events.list()`: `response.[list_resource_with_cursor_pagination_event_].items.[].[system_event].[balance.credit_order].customer` **Changed** **Breaking** :warning: * `polar.customer-sessions.create()`: `response.customer` **Changed** **Breaking** :warning: * `polar.customer_portal.orders.generate_invoice()`: `error` **Changed** **Breaking** :warning: * `polar.customer_portal.license_keys.activate()`: `response.license_key.customer.avatar_url` **Changed** **Breaking** :warning: * `polar.customer_portal.license_keys.validate()`: `response.customer.avatar_url` **Changed** **Breaking** :warning: * `polar.customer_portal.license_keys.get()`: `response.customer.avatar_url` **Changed** **Breaking** :warning: * `polar.customer_portal.license_keys.list()`: `response.items.[].customer.avatar_url` **Changed** **Breaking** :warning: * `polar.customers.get_state_external()`: `response` **Changed** **Breaking** :warning: * `polar._endpointsubscription_created_post()`: * `request.data` **Changed** **Breaking** :warning: * `polar._endpointsubscription_updated_post()`: * `request.data` **Changed** **Breaking** :warning: * `polar._endpointsubscription_active_post()`: * `request.data` **Changed** **Breaking** :warning: * `polar._endpointsubscription_canceled_post()`: * `request.data` **Changed** **Breaking** :warning: * `polar._endpointsubscription_uncanceled_post()`: * `request.data` **Changed** **Breaking** :warning: * `polar._endpointsubscription_revoked_post()`: * `request.data` **Changed** **Breaking** :warning: * `polar._endpointsubscription_past_due_post()`: * `request.data` **Changed** **Breaking** :warning: * `polar._endpointproduct_created_post()`: * `request.data.prices.[]` **Changed** **Breaking** :warning: * `polar._endpointproduct_updated_post()`: * `request.data.prices.[]` **Changed** **Breaking** :warning: * `polar._endpointorganization_updated_post()`: * `request.data` **Changed** **Breaking** :warning: * `polar.customers.get_state()`: `response` **Changed** **Breaking** :warning: * `polar.customers.update_external()`: `response` **Changed** **Breaking** :warning: * `polar.customers.get_external()`: `response` **Changed** **Breaking** :warning: * `polar.customers.update()`: `response` **Changed** **Breaking** :warning: * `polar.organizations.list_organizations()`: `response.items.[]` **Changed** **Breaking** :warning: * `polar.customer_meters.get()`: `response.customer` **Changed** **Breaking** :warning: * `polar.metrics.export()`: `response.status[200]` **Removed** **Breaking** :warning: * `polar.orders.finalize()`: `response` **Changed** **Breaking** :warning: * `polar.subscriptions.list()`: `response.items.[]` **Changed** **Breaking** :warning: * `polar.subscriptions.create()`: `response` **Changed** **Breaking** :warning: * `polar.subscriptions.export()`: `response.status[200]` **Removed** **Breaking** :warning: * `polar.organizations.get()`: `response` **Changed** **Breaking** :warning: * `polar.subscriptions.revoke()`: `response` **Changed** **Breaking** :warning: * `polar.subscriptions.update()`: `response` **Changed** **Breaking** :warning: * `polar.customers.get()`: `response` **Changed** **Breaking** :warning: * `polar.customers.export()`: `response.status[200]` **Removed** **Breaking** :warning: * `polar.benefits.update()`: `request_body` **Changed** **Breaking** :warning: * `polar.benefits.grants()`: `response.items.[].customer` **Changed** **Breaking** :warning: * `polar.benefit-grants.list()`: `response.items.[].customer` **Changed** **Breaking** :warning: * `polar.customers.create()`: `response` **Changed** **Breaking** :warning: * `polar.products.create()`: * `request` **Changed** **Breaking** :warning: * `response.prices.[]` **Changed** * `polar.customers.list()`: `response.items.[]` **Changed** **Breaking** :warning: * `polar.products.update()`: * `request.product_update.prices.[].[2].[free]` **Removed** **Breaking** :warning: * `response.prices.[]` **Changed** * `polar.license_keys.activate()`: `response.license_key.customer.avatar_url` **Changed** **Breaking** :warning: * `polar.orders.list()`: `response.items.[]` **Changed** **Breaking** :warning: * `polar.orders.create()`: `response` **Changed** **Breaking** :warning: * `polar.orders.export()`: `response.status[200]` **Removed** **Breaking** :warning: * `polar.orders.get()`: `response` **Changed** **Breaking** :warning: * `polar.orders.update()`: `response` **Changed** **Breaking** :warning: * `polar.organizations.update()`: * `request.organization_update.notification_settings` **Removed** **Breaking** :warning: * `response` **Changed** **Breaking** :warning: * `polar.orders.generate_invoice()`: `error` **Changed** **Breaking** :warning: * `polar.license_keys.validate()`: `response.customer.avatar_url` **Changed** **Breaking** :warning: * `polar.license_keys.get_activation()`: `response.license_key.customer.avatar_url` **Changed** **Breaking** :warning: * `polar.license_keys.update()`: `response.customer.avatar_url` **Changed** **Breaking** :warning: * `polar.checkouts.create()`: * `request.prices.{}.[].[free]` **Removed** **Breaking** :warning: * `response.products.[].prices.[]` **Changed** * `polar.license_keys.get()`: `response.customer.avatar_url` **Changed** **Breaking** :warning: * `polar.license_keys.list()`: `response.items.[].customer.avatar_url` **Changed** **Breaking** :warning: * `polar._endpointbenefit_grant_cycled_post()`: * `request.data.[benefit_grant_git_hub_repository_webhook].customer` **Changed** * `polar.checkouts.client_update()`: `response.products.[].prices.[]` **Changed** * `polar.checkouts.client_confirm()`: `response.products.[].prices.[]` **Changed** * `polar.files.list()`: `response.items.[].[support_case_attachment]` **Added** * `polar.files.create()`: * `request.[support_case_attachment]` **Added** * `polar.files.uploaded()`: `response.[support_case_attachment]` **Added** * `polar.files.update()`: `response.[support_case_attachment]` **Added** * `polar.checkouts.client_get()`: `response.products.[].prices.[]` **Changed** * `polar.checkouts.update()`: `response.products.[].prices.[]` **Changed** * `polar.checkouts.get()`: `response.products.[].prices.[]` **Changed** * `polar.checkouts.list()`: `response.items.[].products.[].prices.[]` **Changed** * `polar.disputes.get()`: `response.case_id` **Added** * `polar.disputes.list()`: `response.items.[].case_id` **Added** * `polar.products.update_benefits()`: `response.prices.[]` **Changed** * `polar.checkout-links.list()`: `response.items.[].products.[].prices.[]` **Changed** * `polar.checkout-links.create()`: `response.products.[].prices.[]` **Changed** * `polar.checkout-links.get()`: `response.products.[].prices.[]` **Changed** * `polar.checkout-links.update()`: `response.products.[].prices.[]` **Changed** * `polar.products.get()`: `response.prices.[]` **Changed** * `polar.products.list()`: `response.items.[].prices.[]` **Changed** * `polar.oauth2.introspect()`: `response.organizations` **Added** * `polar.oauth2.authorize()`: `response.[user].organizations` **Added** * `polar._endpointbenefit_grant_revoked_post()`: * `request.data.[benefit_grant_license_keys_webhook].customer` **Changed** * `polar.organization_access_tokens.list()`: **Deleted** **Breaking** :warning: * `polar._endpointbenefit_grant_updated_post()`: * `request.data.[benefit_grant_downloadables_webhook].customer` **Changed** * `polar._endpointbenefit_grant_created_post()`: * `request.data.[benefit_grant_git_hub_repository_webhook].customer` **Changed** * `polar._endpointorder_refunded_post()`: * `request.data` **Changed** * `polar.members.update_member()`: * `request.member_update.email` **Added** * `polar.members.update_member_by_external_id()`: * `request.member_update.email` **Added** * `polar.customer_portal.seats.list_claimed_subscriptions()`: `response.items.[]` **Changed** * `polar._endpointorder_paid_post()`: * `request.data` **Changed** * `polar._endpointorder_updated_post()`: * `request.data` **Changed** * `polar._endpointorder_created_post()`: * `request.data` **Changed** * `polar._endpointcustomer_state_changed_post()`: * `request.data` **Changed** * `polar.customer_portal.members.update_member()`: * `request.customer_portal_member_update.name` **Added** * `polar.customer_portal.orders.list()`: `response.items.[]` **Changed** * `polar.customer_portal.orders.get()`: `response` **Changed** * `polar.customer_portal.orders.update()`: `response` **Changed** * `polar._endpointcustomer_deleted_post()`: * `request.data` **Changed** * `polar.customer_portal.organizations.get()`: `response.products.[].prices.[]` **Changed** * `polar.customer_portal.subscriptions.list()`: `response.items.[]` **Changed** * `polar.customer_portal.subscriptions.get()`: `response` **Changed** * `polar.customer_portal.subscriptions.cancel()`: `response` **Changed** * `polar.customer_portal.subscriptions.update()`: `response` **Changed** * `polar._endpointcustomer_updated_post()`: * `request.data` **Changed** * `polar._endpointcustomer_created_post()`: * `request.data` **Changed** * `polar.organization_access_tokens.update()`: **Deleted** **Breaking** :warning: * `polar.organization_access_tokens.delete()`: **Deleted** **Breaking** :warning: * `polar.organization_access_tokens.create()`: **Deleted** **Breaking** :warning: * `polar.payments.list()`: `response.items.[]` **Changed** * `polar.payments.get()`: `response` **Changed** --- .speakeasy/gen.lock | 517 +++++------ .speakeasy/gen.yaml | 4 +- .speakeasy/workflow.lock | 14 +- README.md | 58 +- RELEASES.md | 12 +- codeSamples.yaml | 62 +- docs/models/authorizeresponseorganization.md | 4 +- docs/models/authorizeresponseuser.md | 15 +- docs/models/availablescope.md | 69 -- docs/models/benefitdiscordupdate.md | 1 - docs/models/benefitdownloadablesupdate.md | 1 - docs/models/benefitgithubrepositoryupdate.md | 1 - .../models/benefitslacksharedchannelupdate.md | 1 - docs/models/cardpayment.md | 35 +- docs/models/checkoutcreateprices.md | 6 - docs/models/checkoutlinkproduct.md | 2 +- docs/models/checkoutproduct.md | 2 +- docs/models/customerindividual.md | 2 +- docs/models/customerorder.md | 2 +- docs/models/customerorderproduct.md | 2 +- docs/models/customerordersubscription.md | 3 +- docs/models/customerportalmemberupdate.md | 9 +- ...e422customerportalordersgenerateinvoice.md | 19 - docs/models/customerproduct.md | 4 +- docs/models/customersexportresponse.md | 17 - docs/models/customerstateindividual.md | 4 +- docs/models/customerstatesubscription.md | 2 +- docs/models/customerstateteam.md | 4 +- docs/models/customersubscription.md | 3 +- docs/models/customersubscriptionproduct.md | 2 +- docs/models/customerteam.md | 2 +- docs/models/discountproduct.md | 2 +- docs/models/dispute.md | 3 +- docs/models/filecreate.md | 6 + docs/models/fileread.md | 6 + docs/models/fileservicetypes.md | 11 +- docs/models/filesupdateresponsefilesupdate.md | 6 + .../filesuploadedresponsefilesuploaded.md | 6 + docs/models/genericpayment.md | 33 +- docs/models/introspecttokenresponse.md | 1 + docs/models/legacyrecurringproductprice.md | 6 - .../legacyrecurringproductpricecustom.md | 2 +- .../legacyrecurringproductpricefixed.md | 2 +- .../models/legacyrecurringproductpricefree.md | 23 - docs/models/licensekeycustomer.md | 2 +- .../listresourceorganizationaccesstoken.md | 9 - docs/models/memberupdate.md | 1 + docs/models/metricsexportresponse.md | 17 - docs/models/notpaidorder.md | 9 - docs/models/order.md | 1 + docs/models/ordercustomer.md | 2 +- docs/models/orderproduct.md | 2 +- docs/models/ordersexportresponse.md | 17 - ...invoiceresponse422ordersgenerateinvoice.md | 19 - docs/models/ordersubscription.md | 3 +- docs/models/organization.md | 1 - docs/models/organizationaccesstoken.md | 15 - docs/models/organizationaccesstokencreate.md | 11 - .../organizationaccesstokencreateresponse.md | 9 - .../organizationaccesstokensdeleterequest.md | 8 - ...okenslistqueryparamorganizationidfilter.md | 19 - .../organizationaccesstokenslistrequest.md | 11 - .../organizationaccesstokenslistresponse.md | 8 - .../organizationaccesstokensortproperty.md | 15 - .../organizationaccesstokensupdaterequest.md | 9 - docs/models/organizationaccesstokenupdate.md | 9 - docs/models/organizationcreate.md | 1 - docs/models/organizationfeaturesettings.md | 4 +- .../organizationnotificationsettings.md | 9 - docs/models/organizationstatus.md | 3 +- docs/models/organizationupdate.md | 1 - docs/models/paymenttrigger.md | 13 + docs/models/product.md | 2 +- docs/models/productcreateonetimeprices.md | 6 - docs/models/productcreaterecurring.md | 2 +- docs/models/productcreaterecurringprices.md | 6 - docs/models/productprice.md | 6 - docs/models/productpricefree.md | 18 - docs/models/productpricefreecreate.md | 12 - docs/models/productupdate.md | 2 +- ...urringinterval.md => recurringinterval.md} | 2 +- docs/models/subscription.md | 3 +- docs/models/subscriptioncustomer.md | 2 +- docs/models/subscriptionsexportresponse.md | 17 - .../models/supportcaseattachmentfilecreate.md | 17 + docs/models/supportcaseattachmentfileread.md | 25 + docs/models/taxidformat.md | 3 +- docs/models/two.md | 6 - docs/sdks/benefits/README.md | 2 +- docs/sdks/customers/README.md | 2 +- docs/sdks/customerseats/README.md | 2 +- docs/sdks/members/README.md | 2 +- docs/sdks/metricssdk/README.md | 2 +- docs/sdks/orders/README.md | 4 +- docs/sdks/organizationaccesstokens/README.md | 177 ---- docs/sdks/polarmembers/README.md | 6 +- docs/sdks/polarorders/README.md | 2 +- docs/sdks/subscriptions/README.md | 2 +- pyproject.toml | 2 +- src/polar_sdk/_version.py | 6 +- src/polar_sdk/customer_seats.py | 4 +- src/polar_sdk/customers.py | 26 +- src/polar_sdk/members.py | 4 +- src/polar_sdk/metrics_sdk.py | 26 +- src/polar_sdk/models/__init__.py | 177 +--- src/polar_sdk/models/authorizeresponseuser.py | 4 + src/polar_sdk/models/availablescope.py | 69 -- src/polar_sdk/models/benefitdiscordupdate.py | 10 +- .../models/benefitdownloadablesupdate.py | 10 +- .../models/benefitgithubrepositoryupdate.py | 10 +- src/polar_sdk/models/benefits_updateop.py | 8 +- .../models/benefitslacksharedchannelupdate.py | 10 +- src/polar_sdk/models/cardpayment.py | 11 +- src/polar_sdk/models/checkoutcreate.py | 6 - src/polar_sdk/models/checkoutlinkproduct.py | 6 +- src/polar_sdk/models/checkoutproduct.py | 6 +- ...stomer_portal_orders_generate_invoiceop.py | 37 +- src/polar_sdk/models/customerindividual.py | 5 +- src/polar_sdk/models/customerorder.py | 6 +- src/polar_sdk/models/customerorderproduct.py | 6 +- .../models/customerordersubscription.py | 14 +- .../models/customerportalmemberupdate.py | 13 +- src/polar_sdk/models/customerproduct.py | 10 +- src/polar_sdk/models/customers_exportop.py | 10 +- .../models/customerstateindividual.py | 7 +- .../models/customerstatesubscription.py | 6 +- src/polar_sdk/models/customerstateteam.py | 7 +- src/polar_sdk/models/customersubscription.py | 14 +- .../models/customersubscriptionproduct.py | 6 +- src/polar_sdk/models/customerteam.py | 5 +- src/polar_sdk/models/discountproduct.py | 6 +- src/polar_sdk/models/dispute.py | 7 +- src/polar_sdk/models/filecreate.py | 6 + src/polar_sdk/models/files_updateop.py | 6 + src/polar_sdk/models/files_uploadedop.py | 6 + src/polar_sdk/models/fileservicetypes.py | 1 + src/polar_sdk/models/genericpayment.py | 11 +- .../models/introspecttokenresponse.py | 4 + .../models/legacyrecurringproductprice.py | 6 - .../legacyrecurringproductpricecustom.py | 6 +- .../legacyrecurringproductpricefixed.py | 6 +- .../models/legacyrecurringproductpricefree.py | 120 --- src/polar_sdk/models/licensekeycustomer.py | 5 +- .../models/listresource_fileread_.py | 6 + .../listresource_organizationaccesstoken_.py | 22 - src/polar_sdk/models/memberupdate.py | 7 +- src/polar_sdk/models/metrics_exportop.py | 10 +- src/polar_sdk/models/notpaidorder.py | 38 - .../models/oauth2clientconfiguration.py | 2 +- .../models/oauth2clientconfigurationupdate.py | 2 +- src/polar_sdk/models/order.py | 8 +- src/polar_sdk/models/ordercustomer.py | 5 +- src/polar_sdk/models/orderproduct.py | 6 +- src/polar_sdk/models/orders_exportop.py | 10 +- .../models/orders_generate_invoiceop.py | 32 +- src/polar_sdk/models/ordersubscription.py | 14 +- src/polar_sdk/models/organization.py | 7 - .../organization_access_tokens_deleteop.py | 16 - .../organization_access_tokens_listop.py | 105 --- .../organization_access_tokens_updateop.py | 26 - .../models/organizationaccesstoken.py | 74 -- .../models/organizationaccesstokencreate.py | 55 -- .../organizationaccesstokencreateresponse.py | 20 - .../organizationaccesstokensortproperty.py | 15 - .../models/organizationaccesstokenupdate.py | 49 - src/polar_sdk/models/organizationcreate.py | 11 - .../models/organizationfeaturesettings.py | 12 +- .../organizationnotificationsettings.py | 16 - src/polar_sdk/models/organizationstatus.py | 1 + src/polar_sdk/models/organizationupdate.py | 11 - src/polar_sdk/models/paymenttrigger.py | 13 + src/polar_sdk/models/product.py | 6 +- src/polar_sdk/models/productcreateonetime.py | 6 - .../models/productcreaterecurring.py | 12 +- src/polar_sdk/models/productprice.py | 3 - src/polar_sdk/models/productpricefree.py | 96 -- .../models/productpricefreecreate.py | 65 -- src/polar_sdk/models/productupdate.py | 12 +- ...urringinterval.py => recurringinterval.py} | 2 +- src/polar_sdk/models/subscription.py | 14 +- src/polar_sdk/models/subscriptioncustomer.py | 5 +- .../models/subscriptions_exportop.py | 12 +- .../models/supportcaseattachmentfilecreate.py | 84 ++ .../models/supportcaseattachmentfileread.py | 113 +++ src/polar_sdk/models/taxidformat.py | 1 + src/polar_sdk/orders.py | 54 +- src/polar_sdk/organization_access_tokens.py | 851 ------------------ src/polar_sdk/polar_members.py | 4 +- src/polar_sdk/polar_orders.py | 28 +- src/polar_sdk/sdk.py | 6 - src/polar_sdk/subscriptions.py | 26 +- 191 files changed, 971 insertions(+), 3297 deletions(-) delete mode 100644 docs/models/availablescope.md delete mode 100644 docs/models/customerportalordersgenerateinvoiceresponse422customerportalordersgenerateinvoice.md delete mode 100644 docs/models/customersexportresponse.md delete mode 100644 docs/models/legacyrecurringproductpricefree.md delete mode 100644 docs/models/listresourceorganizationaccesstoken.md delete mode 100644 docs/models/metricsexportresponse.md delete mode 100644 docs/models/notpaidorder.md delete mode 100644 docs/models/ordersexportresponse.md delete mode 100644 docs/models/ordersgenerateinvoiceresponse422ordersgenerateinvoice.md delete mode 100644 docs/models/organizationaccesstoken.md delete mode 100644 docs/models/organizationaccesstokencreate.md delete mode 100644 docs/models/organizationaccesstokencreateresponse.md delete mode 100644 docs/models/organizationaccesstokensdeleterequest.md delete mode 100644 docs/models/organizationaccesstokenslistqueryparamorganizationidfilter.md delete mode 100644 docs/models/organizationaccesstokenslistrequest.md delete mode 100644 docs/models/organizationaccesstokenslistresponse.md delete mode 100644 docs/models/organizationaccesstokensortproperty.md delete mode 100644 docs/models/organizationaccesstokensupdaterequest.md delete mode 100644 docs/models/organizationaccesstokenupdate.md delete mode 100644 docs/models/organizationnotificationsettings.md create mode 100644 docs/models/paymenttrigger.md delete mode 100644 docs/models/productpricefree.md delete mode 100644 docs/models/productpricefreecreate.md rename docs/models/{subscriptionrecurringinterval.md => recurringinterval.md} (81%) delete mode 100644 docs/models/subscriptionsexportresponse.md create mode 100644 docs/models/supportcaseattachmentfilecreate.md create mode 100644 docs/models/supportcaseattachmentfileread.md delete mode 100644 docs/sdks/organizationaccesstokens/README.md delete mode 100644 src/polar_sdk/models/availablescope.py delete mode 100644 src/polar_sdk/models/legacyrecurringproductpricefree.py delete mode 100644 src/polar_sdk/models/listresource_organizationaccesstoken_.py delete mode 100644 src/polar_sdk/models/notpaidorder.py delete mode 100644 src/polar_sdk/models/organization_access_tokens_deleteop.py delete mode 100644 src/polar_sdk/models/organization_access_tokens_listop.py delete mode 100644 src/polar_sdk/models/organization_access_tokens_updateop.py delete mode 100644 src/polar_sdk/models/organizationaccesstoken.py delete mode 100644 src/polar_sdk/models/organizationaccesstokencreate.py delete mode 100644 src/polar_sdk/models/organizationaccesstokencreateresponse.py delete mode 100644 src/polar_sdk/models/organizationaccesstokensortproperty.py delete mode 100644 src/polar_sdk/models/organizationaccesstokenupdate.py delete mode 100644 src/polar_sdk/models/organizationnotificationsettings.py create mode 100644 src/polar_sdk/models/paymenttrigger.py delete mode 100644 src/polar_sdk/models/productpricefree.py delete mode 100644 src/polar_sdk/models/productpricefreecreate.py rename src/polar_sdk/models/{subscriptionrecurringinterval.py => recurringinterval.py} (80%) create mode 100644 src/polar_sdk/models/supportcaseattachmentfilecreate.py create mode 100644 src/polar_sdk/models/supportcaseattachmentfileread.py delete mode 100644 src/polar_sdk/organization_access_tokens.py diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index d9ca228d..70715bd6 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,18 +1,17 @@ lockVersion: 2.0.0 id: e7042734-e669-4c36-85da-bbb4a7500ac8 management: - docChecksum: f8abe2fee4272e1fc4a77b2ad908a93f - docVersion: 0.1.0 + docChecksum: 22a0ce4de5f2e330ebdb3bce5bc41714 + docVersion: 2026-04 speakeasyVersion: 1.648.0 generationVersion: 2.737.0 - releaseVersion: 0.31.7 - configChecksum: 2a2d0d298fb1e07a1a1a2e0f2df1a6d0 + releaseVersion: 0.32.0 + configChecksum: 88d021280ce9c67c443b72f873d87b42 repoURL: https://github.com/polarsource/polar-python.git installationURL: https://github.com/polarsource/polar-python.git published: true features: python: - acceptHeaders: 3.0.0 additionalDependencies: 1.0.0 constsAndDefaults: 1.0.5 core: 5.23.4 @@ -68,7 +67,6 @@ generatedFiles: - docs/models/authorizeresponseorganization.md - docs/models/authorizeresponseuser.md - docs/models/authorizeuser.md - - docs/models/availablescope.md - docs/models/averageordervalue.md - docs/models/averagerevenueperuser.md - docs/models/averageseatspercustomer.md @@ -442,7 +440,6 @@ generatedFiles: - docs/models/customerportalordersconfirmretrypaymentrequest.md - docs/models/customerportalordersconfirmretrypaymentsecurity.md - docs/models/customerportalordersgenerateinvoicerequest.md - - docs/models/customerportalordersgenerateinvoiceresponse422customerportalordersgenerateinvoice.md - docs/models/customerportalordersgenerateinvoicesecurity.md - docs/models/customerportalordersgetpaymentstatusrequest.md - docs/models/customerportalordersgetpaymentstatussecurity.md @@ -505,7 +502,6 @@ generatedFiles: - docs/models/customersessionscreatecustomersessioncreate.md - docs/models/customersexportqueryparamorganizationid.md - docs/models/customersexportrequest.md - - docs/models/customersexportresponse.md - docs/models/customersgetexternalrequest.md - docs/models/customersgetrequest.md - docs/models/customersgetstateexternalrequest.md @@ -711,7 +707,6 @@ generatedFiles: - docs/models/legacyrecurringproductprice.md - docs/models/legacyrecurringproductpricecustom.md - docs/models/legacyrecurringproductpricefixed.md - - docs/models/legacyrecurringproductpricefree.md - docs/models/legalentity.md - docs/models/licensekeyactivate.md - docs/models/licensekeyactivateconditions.md @@ -760,7 +755,6 @@ generatedFiles: - docs/models/listresourcemeter.md - docs/models/listresourceorder.md - docs/models/listresourceorganization.md - - docs/models/listresourceorganizationaccesstoken.md - docs/models/listresourcepayment.md - docs/models/listresourcepaymentmethod.md - docs/models/listresourceproduct.md @@ -829,7 +823,6 @@ generatedFiles: - docs/models/metricsexportqueryparamproductbillingtypefilter.md - docs/models/metricsexportqueryparamproductidfilter.md - docs/models/metricsexportrequest.md - - docs/models/metricsexportresponse.md - docs/models/metricsgetdashboardrequest.md - docs/models/metricsgetqueryparamcustomeridfilter.md - docs/models/metricsgetqueryparamorganizationidfilter.md @@ -910,7 +903,6 @@ generatedFiles: - docs/models/newsubscriptionsnetrevenue.md - docs/models/newsubscriptionsrevenue.md - docs/models/notopencheckout.md - - docs/models/notpaidorder.md - docs/models/notpermitted.md - docs/models/oauth2authorizeresponseoauth2authorize.md - docs/models/oauth2clientconfiguration.md @@ -951,12 +943,10 @@ generatedFiles: - docs/models/ordersexportqueryparamorganizationidfilter.md - docs/models/ordersexportqueryparamproductidfilter.md - docs/models/ordersexportrequest.md - - docs/models/ordersexportresponse.md - docs/models/ordersfinalizerequest.md - docs/models/ordersfinalizeresponse402ordersfinalize.md - docs/models/ordersfinalizeresponse403ordersfinalize.md - docs/models/ordersgenerateinvoicerequest.md - - docs/models/ordersgenerateinvoiceresponse422ordersgenerateinvoice.md - docs/models/ordersgetrequest.md - docs/models/ordersinvoicerequest.md - docs/models/orderslistqueryparamcustomeridfilter.md @@ -975,16 +965,6 @@ generatedFiles: - docs/models/ordervoidedevent.md - docs/models/ordervoidedmetadata.md - docs/models/organization.md - - docs/models/organizationaccesstoken.md - - docs/models/organizationaccesstokencreate.md - - docs/models/organizationaccesstokencreateresponse.md - - docs/models/organizationaccesstokensdeleterequest.md - - docs/models/organizationaccesstokenslistqueryparamorganizationidfilter.md - - docs/models/organizationaccesstokenslistrequest.md - - docs/models/organizationaccesstokenslistresponse.md - - docs/models/organizationaccesstokensortproperty.md - - docs/models/organizationaccesstokensupdaterequest.md - - docs/models/organizationaccesstokenupdate.md - docs/models/organizationavatarfilecreate.md - docs/models/organizationavatarfileread.md - docs/models/organizationcapabilities.md @@ -998,7 +978,6 @@ generatedFiles: - docs/models/organizationid.md - docs/models/organizationidfilter.md - docs/models/organizationindividuallegalentityschema.md - - docs/models/organizationnotificationsettings.md - docs/models/organizationnotreadyforpayments.md - docs/models/organizationsgetrequest.md - docs/models/organizationslistrequest.md @@ -1034,6 +1013,7 @@ generatedFiles: - docs/models/paymentslistresponse.md - docs/models/paymentsortproperty.md - docs/models/paymentstatus.md + - docs/models/paymenttrigger.md - docs/models/pendingsubscriptionupdate.md - docs/models/permission.md - docs/models/portalauthenticateduser.md @@ -1058,8 +1038,6 @@ generatedFiles: - docs/models/productpricecustomcreate.md - docs/models/productpricefixed.md - docs/models/productpricefixedcreate.md - - docs/models/productpricefree.md - - docs/models/productpricefreecreate.md - docs/models/productpricemeter.md - docs/models/productpricemeteredunit.md - docs/models/productpricemeteredunitcreate.md @@ -1100,6 +1078,7 @@ generatedFiles: - docs/models/queryparamsourcefilter.md - docs/models/queryparamstatusfilter.md - docs/models/queryparamsubscriptionidfilter.md + - docs/models/recurringinterval.md - docs/models/refreshtokenrequest.md - docs/models/refund.md - docs/models/refundcreate.md @@ -1171,7 +1150,6 @@ generatedFiles: - docs/models/subscriptionprorationbehavior.md - docs/models/subscriptionreactivatedevent.md - docs/models/subscriptionreactivatedmetadata.md - - docs/models/subscriptionrecurringinterval.md - docs/models/subscriptionrevoke.md - docs/models/subscriptionrevokedevent.md - docs/models/subscriptionrevokedmetadata.md @@ -1179,7 +1157,6 @@ generatedFiles: - docs/models/subscriptionseatsupdatedevent.md - docs/models/subscriptionseatsupdatedmetadata.md - docs/models/subscriptionsexportrequest.md - - docs/models/subscriptionsexportresponse.md - docs/models/subscriptionsgetrequest.md - docs/models/subscriptionslistrequest.md - docs/models/subscriptionslistresponse.md @@ -1200,6 +1177,8 @@ generatedFiles: - docs/models/subscriptionupdateseats.md - docs/models/subtype.md - docs/models/succeededcheckouts.md + - docs/models/supportcaseattachmentfilecreate.md + - docs/models/supportcaseattachmentfileread.md - docs/models/switchingfrom.md - docs/models/systemevent.md - docs/models/taxbehavior.md @@ -1303,7 +1282,6 @@ generatedFiles: - docs/sdks/metricssdk/README.md - docs/sdks/oauth2/README.md - docs/sdks/orders/README.md - - docs/sdks/organizationaccesstokens/README.md - docs/sdks/organizations/README.md - docs/sdks/payments/README.md - docs/sdks/polarbenefitgrants/README.md @@ -1369,7 +1347,6 @@ generatedFiles: - src/polar_sdk/models/authorizeresponseorganization.py - src/polar_sdk/models/authorizeresponseuser.py - src/polar_sdk/models/authorizeuser.py - - src/polar_sdk/models/availablescope.py - src/polar_sdk/models/balancecreditorderevent.py - src/polar_sdk/models/balancecreditordermetadata.py - src/polar_sdk/models/balancedisputeevent.py @@ -1786,7 +1763,6 @@ generatedFiles: - src/polar_sdk/models/legacyrecurringproductprice.py - src/polar_sdk/models/legacyrecurringproductpricecustom.py - src/polar_sdk/models/legacyrecurringproductpricefixed.py - - src/polar_sdk/models/legacyrecurringproductpricefree.py - src/polar_sdk/models/license_keys_get_activationop.py - src/polar_sdk/models/license_keys_getop.py - src/polar_sdk/models/license_keys_listop.py @@ -1827,7 +1803,6 @@ generatedFiles: - src/polar_sdk/models/listresource_meter_.py - src/polar_sdk/models/listresource_order_.py - src/polar_sdk/models/listresource_organization_.py - - src/polar_sdk/models/listresource_organizationaccesstoken_.py - src/polar_sdk/models/listresource_payment_.py - src/polar_sdk/models/listresource_paymentmethod_.py - src/polar_sdk/models/listresource_product_.py @@ -1886,7 +1861,6 @@ generatedFiles: - src/polar_sdk/models/missinginvoicebillingdetails.py - src/polar_sdk/models/no_response_error.py - src/polar_sdk/models/notopencheckout.py - - src/polar_sdk/models/notpaidorder.py - src/polar_sdk/models/notpermitted.py - src/polar_sdk/models/oauth2_authorizeop.py - src/polar_sdk/models/oauth2_clients_oauth2_delete_clientop.py @@ -1927,14 +1901,6 @@ generatedFiles: - src/polar_sdk/models/ordervoidedevent.py - src/polar_sdk/models/ordervoidedmetadata.py - src/polar_sdk/models/organization.py - - src/polar_sdk/models/organization_access_tokens_deleteop.py - - src/polar_sdk/models/organization_access_tokens_listop.py - - src/polar_sdk/models/organization_access_tokens_updateop.py - - src/polar_sdk/models/organizationaccesstoken.py - - src/polar_sdk/models/organizationaccesstokencreate.py - - src/polar_sdk/models/organizationaccesstokencreateresponse.py - - src/polar_sdk/models/organizationaccesstokensortproperty.py - - src/polar_sdk/models/organizationaccesstokenupdate.py - src/polar_sdk/models/organizationavatarfilecreate.py - src/polar_sdk/models/organizationavatarfileread.py - src/polar_sdk/models/organizationcapabilities.py @@ -1946,7 +1912,6 @@ generatedFiles: - src/polar_sdk/models/organizationfeaturesettings.py - src/polar_sdk/models/organizationfeaturesettingsupdate.py - src/polar_sdk/models/organizationindividuallegalentityschema.py - - src/polar_sdk/models/organizationnotificationsettings.py - src/polar_sdk/models/organizationnotreadyforpayments.py - src/polar_sdk/models/organizations_getop.py - src/polar_sdk/models/organizations_listop.py @@ -1975,6 +1940,7 @@ generatedFiles: - src/polar_sdk/models/payments_listop.py - src/polar_sdk/models/paymentsortproperty.py - src/polar_sdk/models/paymentstatus.py + - src/polar_sdk/models/paymenttrigger.py - src/polar_sdk/models/pendingsubscriptionupdate.py - src/polar_sdk/models/polarerror.py - src/polar_sdk/models/portalauthenticateduser.py @@ -1992,8 +1958,6 @@ generatedFiles: - src/polar_sdk/models/productpricecustomcreate.py - src/polar_sdk/models/productpricefixed.py - src/polar_sdk/models/productpricefixedcreate.py - - src/polar_sdk/models/productpricefree.py - - src/polar_sdk/models/productpricefreecreate.py - src/polar_sdk/models/productpricemeter.py - src/polar_sdk/models/productpricemeteredunit.py - src/polar_sdk/models/productpricemeteredunitcreate.py @@ -2010,6 +1974,7 @@ generatedFiles: - src/polar_sdk/models/productupdate.py - src/polar_sdk/models/productvisibility.py - src/polar_sdk/models/propertyaggregation.py + - src/polar_sdk/models/recurringinterval.py - src/polar_sdk/models/refreshtokenrequest.py - src/polar_sdk/models/refund.py - src/polar_sdk/models/refundcreate.py @@ -2060,7 +2025,6 @@ generatedFiles: - src/polar_sdk/models/subscriptionprorationbehavior.py - src/polar_sdk/models/subscriptionreactivatedevent.py - src/polar_sdk/models/subscriptionreactivatedmetadata.py - - src/polar_sdk/models/subscriptionrecurringinterval.py - src/polar_sdk/models/subscriptionrevoke.py - src/polar_sdk/models/subscriptionrevokedevent.py - src/polar_sdk/models/subscriptionrevokedmetadata.py @@ -2086,6 +2050,8 @@ generatedFiles: - src/polar_sdk/models/subscriptionupdatedmetadata.py - src/polar_sdk/models/subscriptionupdateseats.py - src/polar_sdk/models/subtype.py + - src/polar_sdk/models/supportcaseattachmentfilecreate.py + - src/polar_sdk/models/supportcaseattachmentfileread.py - src/polar_sdk/models/systemevent.py - src/polar_sdk/models/taxbehavior.py - src/polar_sdk/models/taxbehavioroption.py @@ -2153,7 +2119,6 @@ generatedFiles: - src/polar_sdk/models/webtokenrequest.py - src/polar_sdk/oauth2.py - src/polar_sdk/orders.py - - src/polar_sdk/organization_access_tokens.py - src/polar_sdk/organizations.py - src/polar_sdk/payments.py - src/polar_sdk/polar_benefit_grants.py @@ -2196,7 +2161,7 @@ examples: _endpointcheckout_created_post: speakeasy-default-endpointcheckout-created-post: requestBody: - application/json: {"type": "checkout.created", "timestamp": "2023-02-15T15:44:21.478Z", "data": {"id": "", "created_at": "2023-02-15T15:44:21.478Z", "modified_at": "2023-09-13T08:36:46.434Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://whole-aftermath.net/", "expires_at": "2023-12-28T10:30:56.042Z", "success_url": "https://moral-premier.name/", "return_url": null, "embed_origin": "", "amount": 929514, "discount_amount": 323773, "net_amount": 115799, "tax_amount": 97012, "tax_behavior": null, "total_amount": 859980, "currency": "Fiji Dollar", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 232991, "trial_end": "2023-10-05T12:55:46.428Z", "organization_id": "", "product_id": "", "product_price_id": null, "discount_id": null, "allow_discount_codes": true, "require_billing_address": true, "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": false, "customer_name": "", "customer_email": null, "customer_ip_address": null, "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": "required", "postal_code": "required", "line1": "required", "line2": "disabled"}, "trial_interval": "day", "trial_interval_count": 329779, "metadata": {"key": false, "key1": false}, "external_customer_id": null, "products": [{"id": "", "created_at": "2025-07-23T17:21:51.405Z", "modified_at": "2024-01-17T03:32:08.030Z", "trial_interval": "month", "trial_interval_count": 631188, "name": "", "description": "funny abscond fairly except slight", "visibility": "draft", "recurring_interval": null, "recurring_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-09-13T08:36:46.434Z", "modified_at": "2023-10-05T12:55:46.428Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/log", "mime_type": "", "size": 982910, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-13T03:57:17.676Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-23T06:47:50.944Z", "size_readable": "", "public_url": "https://yummy-ocelot.biz/"}, {"id": "", "organization_id": "", "name": "", "path": "/var/log", "mime_type": "", "size": 982910, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-13T03:57:17.676Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-23T06:47:50.944Z", "size_readable": "", "public_url": "https://yummy-ocelot.biz/"}, {"id": "", "organization_id": "", "name": "", "path": "/var/log", "mime_type": "", "size": 982910, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-13T03:57:17.676Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-23T06:47:50.944Z", "size_readable": "", "public_url": "https://yummy-ocelot.biz/"}]}], "product": {"id": "", "created_at": "2023-03-01T03:35:30.257Z", "modified_at": "2024-12-19T15:40:11.887Z", "trial_interval": "year", "trial_interval_count": 115799, "name": "", "description": "until joyful how", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 232991, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-05-02T18:25:33.974Z", "modified_at": "2025-02-06T12:55:07.640Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 115799, "legacy": true}, {"created_at": "2025-07-31T12:54:47.590Z", "modified_at": "2023-01-11T22:31:47.320Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 203013, "maximum_amount": null, "preset_amount": 119260, "legacy": true}, {"created_at": "2024-04-06T18:48:21.449Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-22T11:07:53.319Z", "modified_at": "2025-09-17T18:38:51.288Z", "type": "discord", "description": "brr now psst", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2023-11-22T11:07:53.319Z", "modified_at": "2025-09-17T18:38:51.288Z", "type": "discord", "description": "brr now psst", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2024-10-04T12:55:46.428Z", "modified_at": "2024-01-21T19:51:40.643Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "minimum_amount": 527093, "maximum_amount": 631188, "preset_amount": 929514, "legacy": true}, "prices": null, "discount": {"duration": "repeating", "duration_in_months": 470604, "type": "fixed", "basis_points": 567071, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-01-27T12:44:05.844Z", "modified_at": "2023-11-12T13:10:44.040Z", "id": "", "metadata": {"key": 833527, "key1": false}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 786803, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-01-27T12:44:05.844Z", "modified_at": "2023-11-12T13:10:44.040Z", "id": "", "metadata": {"key": 833527, "key1": false}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 786803, "required": false}], "customer_metadata": {}}} + application/json: {"type": "checkout.created", "timestamp": "2023-02-15T15:44:21.478Z", "data": {"id": "", "created_at": "2023-02-15T15:44:21.478Z", "modified_at": "2023-09-13T08:36:46.434Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://whole-aftermath.net/", "expires_at": "2023-12-28T10:30:56.042Z", "success_url": "https://moral-premier.name/", "return_url": null, "embed_origin": "", "amount": 929514, "discount_amount": 323773, "net_amount": 115799, "tax_amount": 97012, "tax_behavior": null, "total_amount": 859980, "currency": "Fiji Dollar", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 232991, "trial_end": "2023-10-05T12:55:46.428Z", "organization_id": "", "product_id": "", "product_price_id": null, "discount_id": null, "allow_discount_codes": true, "require_billing_address": true, "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": false, "customer_name": "", "customer_email": null, "customer_ip_address": null, "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": "required", "postal_code": "required", "line1": "required", "line2": "disabled"}, "trial_interval": "day", "trial_interval_count": 329779, "metadata": {"key": false, "key1": false}, "external_customer_id": null, "products": [{"id": "", "created_at": "2025-07-23T17:21:51.405Z", "modified_at": "2024-01-17T03:32:08.030Z", "trial_interval": "month", "trial_interval_count": 631188, "name": "", "description": "funny abscond fairly except slight", "visibility": "draft", "recurring_interval": null, "recurring_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2024-09-12T08:36:46.434Z", "modified_at": "2024-10-04T12:55:46.428Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 445044, "legacy": true}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/log", "mime_type": "", "size": 982910, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-13T03:57:17.676Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-23T06:47:50.944Z", "size_readable": "", "public_url": "https://yummy-ocelot.biz/"}, {"id": "", "organization_id": "", "name": "", "path": "/var/log", "mime_type": "", "size": 982910, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-13T03:57:17.676Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-23T06:47:50.944Z", "size_readable": "", "public_url": "https://yummy-ocelot.biz/"}, {"id": "", "organization_id": "", "name": "", "path": "/var/log", "mime_type": "", "size": 982910, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-13T03:57:17.676Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-23T06:47:50.944Z", "size_readable": "", "public_url": "https://yummy-ocelot.biz/"}]}], "product": {"id": "", "created_at": "2023-03-01T03:35:30.257Z", "modified_at": "2024-12-19T15:40:11.887Z", "trial_interval": "year", "trial_interval_count": 115799, "name": "", "description": "until joyful how", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 232991, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-05-02T18:25:33.974Z", "modified_at": "2025-02-06T12:55:07.640Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 115799, "legacy": true}, {"created_at": "2025-07-31T12:54:47.590Z", "modified_at": "2023-01-11T22:31:47.320Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 203013, "maximum_amount": null, "preset_amount": 119260, "legacy": true}, {"created_at": "2025-11-22T18:45:16.077Z", "modified_at": "2026-10-15T17:56:09.535Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 275553, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}], "benefits": [{"id": "", "created_at": "2023-11-22T11:07:53.319Z", "modified_at": "2025-09-17T18:38:51.288Z", "type": "discord", "description": "brr now psst", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2023-11-22T11:07:53.319Z", "modified_at": "2025-09-17T18:38:51.288Z", "type": "discord", "description": "brr now psst", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2024-10-04T12:55:46.428Z", "modified_at": "2024-01-21T19:51:40.643Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "minimum_amount": 527093, "maximum_amount": 631188, "preset_amount": 929514, "legacy": true}, "prices": null, "discount": {"duration": "repeating", "duration_in_months": 470604, "type": "fixed", "basis_points": 567071, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-01-27T12:44:05.844Z", "modified_at": "2023-11-12T13:10:44.040Z", "id": "", "metadata": {"key": 833527, "key1": false}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 786803, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-01-27T12:44:05.844Z", "modified_at": "2023-11-12T13:10:44.040Z", "id": "", "metadata": {"key": 833527, "key1": false}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 786803, "required": false}], "customer_metadata": {}}} responses: "200": application/json: "" @@ -2205,7 +2170,7 @@ examples: _endpointcheckout_updated_post: speakeasy-default-endpointcheckout-updated-post: requestBody: - application/json: {"type": "checkout.updated", "timestamp": "2023-03-19T05:40:46.816Z", "data": {"id": "", "created_at": "2023-03-19T05:40:46.816Z", "modified_at": "2025-01-17T21:45:54.449Z", "payment_processor": "stripe", "status": "succeeded", "client_secret": "", "url": "https://wasteful-kinase.net/", "expires_at": "2024-07-13T07:40:45.762Z", "success_url": "https://unwieldy-lift.name", "return_url": null, "embed_origin": "", "amount": 328864, "discount_amount": 67168, "net_amount": 710560, "tax_amount": 164230, "tax_behavior": null, "total_amount": 754328, "currency": "New Taiwan Dollar", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 682397, "trial_end": "2024-01-01T01:21:07.047Z", "organization_id": "", "product_id": "", "product_price_id": null, "discount_id": "", "allow_discount_codes": true, "require_billing_address": true, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": true, "customer_id": null, "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": {}, "billing_address_fields": {"country": "required", "state": "optional", "city": "disabled", "postal_code": "optional", "line1": "required", "line2": "disabled"}, "trial_interval": "week", "trial_interval_count": 510328, "metadata": {"key": 8729.81, "key1": "", "key2": 302746}, "external_customer_id": null, "products": [{"id": "", "created_at": "2024-02-06T13:10:07.718Z", "modified_at": "2025-05-28T09:18:17.409Z", "trial_interval": "year", "trial_interval_count": 558100, "name": "", "description": "gee unlike aboard entice which break", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": null, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-01-17T21:45:54.449Z", "modified_at": "2024-01-01T01:21:07.047Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 720125, "legacy": true}, {"created_at": "2025-09-27T00:00:25.178Z", "modified_at": "2024-09-03T16:16:06.332Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2025-07-05T15:21:14.498Z", "modified_at": "2023-11-21T02:59:50.838Z", "type": "downloadables", "description": "highlight sandy overspend scratchy yet by", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": []}, {"id": "", "created_at": "2024-02-06T13:10:07.718Z", "modified_at": "2025-05-28T09:18:17.409Z", "trial_interval": "week", "trial_interval_count": null, "name": "", "description": "gee unlike aboard entice which break", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 682397, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-06-29T23:54:25.932Z", "modified_at": "2025-08-08T18:57:45.007Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": null, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}, {"created_at": "2024-04-12T18:30:19.906Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2025-07-05T15:21:14.498Z", "modified_at": "2023-11-21T02:59:50.838Z", "type": "downloadables", "description": "highlight sandy overspend scratchy yet by", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": []}, {"id": "", "created_at": "2024-02-06T13:10:07.718Z", "modified_at": "2025-05-28T09:18:17.409Z", "trial_interval": "year", "trial_interval_count": 754328, "name": "", "description": "gee unlike aboard entice which break", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 333080, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-04-08T09:51:58.249Z", "modified_at": "2025-07-16T15:01:26.410Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-11-28T19:26:30.837Z", "modified_at": "2025-10-14T04:57:44.285Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 801449, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-07-05T15:21:14.498Z", "modified_at": "2023-11-21T02:59:50.838Z", "type": "downloadables", "description": "highlight sandy overspend scratchy yet by", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": []}], "product": {"id": "", "created_at": "2024-04-04T09:43:29.328Z", "modified_at": "2024-01-03T07:24:30.583Z", "trial_interval": "week", "trial_interval_count": 140837, "name": "", "description": "patroller fax sadly sick bitterly indeed grandson bravely loyally wholly", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 496454, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-27T17:16:31.119Z", "modified_at": "2025-06-04T15:43:18.802Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 72487, "legacy": true}, {"created_at": "2024-06-14T15:19:42.985Z", "modified_at": "2025-08-21T13:42:50.786Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2025-02-06T04:48:01.265Z", "modified_at": "2024-01-15T02:31:30.334Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 849243, "maximum_amount": 295343, "preset_amount": 994380, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-07-05T15:21:14.498Z", "modified_at": "2023-11-21T02:59:50.838Z", "type": "downloadables", "description": "highlight sandy overspend scratchy yet by", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt", "mime_type": "", "size": 349206, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T22:00:21.061Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-01T19:20:04.513Z", "size_readable": "", "public_url": "https://noted-availability.info"}, {"id": "", "organization_id": "", "name": "", "path": "/opt", "mime_type": "", "size": 349206, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T22:00:21.061Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-01T19:20:04.513Z", "size_readable": "", "public_url": "https://noted-availability.info"}, {"id": "", "organization_id": "", "name": "", "path": "/opt", "mime_type": "", "size": 349206, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T22:00:21.061Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-01T19:20:04.513Z", "size_readable": "", "public_url": "https://noted-availability.info"}]}, "product_price": {"created_at": "2024-12-31T01:21:07.047Z", "modified_at": "2025-06-28T02:43:46.293Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 912409, "meter_id": "", "meter": {"id": "", "name": "", "unit": "token"}}, "prices": {"key": [], "key1": []}, "discount": {"duration": "once", "duration_in_months": 187379, "type": "fixed", "basis_points": 373595, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-09-18T09:12:02.157Z", "modified_at": "2023-07-11T01:18:07.226Z", "id": "", "metadata": {"key": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 704552, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2024-09-18T09:12:02.157Z", "modified_at": "2023-07-11T01:18:07.226Z", "id": "", "metadata": {"key": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 704552, "required": true}], "customer_metadata": {"key": 384374, "key1": 126671, "key2": 568803}}} + application/json: {"type": "checkout.updated", "timestamp": "2023-03-19T05:40:46.816Z", "data": {"id": "", "created_at": "2023-03-19T05:40:46.816Z", "modified_at": "2025-01-17T21:45:54.449Z", "payment_processor": "stripe", "status": "succeeded", "client_secret": "", "url": "https://wasteful-kinase.net/", "expires_at": "2024-07-13T07:40:45.762Z", "success_url": "https://unwieldy-lift.name", "return_url": null, "embed_origin": "", "amount": 328864, "discount_amount": 67168, "net_amount": 710560, "tax_amount": 164230, "tax_behavior": null, "total_amount": 754328, "currency": "New Taiwan Dollar", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 682397, "trial_end": "2024-01-01T01:21:07.047Z", "organization_id": "", "product_id": "", "product_price_id": null, "discount_id": "", "allow_discount_codes": true, "require_billing_address": true, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": true, "customer_id": null, "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": {}, "billing_address_fields": {"country": "required", "state": "optional", "city": "disabled", "postal_code": "optional", "line1": "required", "line2": "disabled"}, "trial_interval": "week", "trial_interval_count": 510328, "metadata": {"key": 8729.81, "key1": "", "key2": 302746}, "external_customer_id": null, "products": [{"id": "", "created_at": "2024-02-06T13:10:07.718Z", "modified_at": "2025-05-28T09:18:17.409Z", "trial_interval": "year", "trial_interval_count": 558100, "name": "", "description": "gee unlike aboard entice which break", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": null, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-01-17T21:45:54.449Z", "modified_at": "2024-01-01T01:21:07.047Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 720125, "legacy": true}, {"created_at": "2026-01-17T21:45:54.449Z", "modified_at": "2024-12-31T01:21:07.047Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 912409, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-07-05T15:21:14.498Z", "modified_at": "2023-11-21T02:59:50.838Z", "type": "downloadables", "description": "highlight sandy overspend scratchy yet by", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": []}, {"id": "", "created_at": "2024-02-06T13:10:07.718Z", "modified_at": "2025-05-28T09:18:17.409Z", "trial_interval": "week", "trial_interval_count": null, "name": "", "description": "gee unlike aboard entice which break", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 682397, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-06-29T23:54:25.932Z", "modified_at": "2025-08-08T18:57:45.007Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": null, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}, {"created_at": "2025-05-01T03:58:27.962Z", "modified_at": "2024-03-14T14:47:23.166Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 469340, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}], "benefits": [{"id": "", "created_at": "2025-07-05T15:21:14.498Z", "modified_at": "2023-11-21T02:59:50.838Z", "type": "downloadables", "description": "highlight sandy overspend scratchy yet by", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": []}, {"id": "", "created_at": "2024-02-06T13:10:07.718Z", "modified_at": "2025-05-28T09:18:17.409Z", "trial_interval": "year", "trial_interval_count": 754328, "name": "", "description": "gee unlike aboard entice which break", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 333080, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-02-15T06:23:23.086Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 558565, "maximum_amount": 755850, "preset_amount": 846374, "legacy": true}, {"created_at": "2023-11-28T19:26:30.837Z", "modified_at": "2025-10-14T04:57:44.285Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 801449, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-07-05T15:21:14.498Z", "modified_at": "2023-11-21T02:59:50.838Z", "type": "downloadables", "description": "highlight sandy overspend scratchy yet by", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": []}], "product": {"id": "", "created_at": "2024-04-04T09:43:29.328Z", "modified_at": "2024-01-03T07:24:30.583Z", "trial_interval": "week", "trial_interval_count": 140837, "name": "", "description": "patroller fax sadly sick bitterly indeed grandson bravely loyally wholly", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 496454, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-27T17:16:31.119Z", "modified_at": "2025-06-04T15:43:18.802Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 72487, "legacy": true}, {"created_at": "2026-01-29T09:14:14.399Z", "modified_at": "2024-09-13T20:51:28.608Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 795829, "legacy": true}, {"created_at": "2025-02-06T04:48:01.265Z", "modified_at": "2024-01-15T02:31:30.334Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 849243, "maximum_amount": 295343, "preset_amount": 994380, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-07-05T15:21:14.498Z", "modified_at": "2023-11-21T02:59:50.838Z", "type": "downloadables", "description": "highlight sandy overspend scratchy yet by", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt", "mime_type": "", "size": 349206, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T22:00:21.061Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-01T19:20:04.513Z", "size_readable": "", "public_url": "https://noted-availability.info"}, {"id": "", "organization_id": "", "name": "", "path": "/opt", "mime_type": "", "size": 349206, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T22:00:21.061Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-01T19:20:04.513Z", "size_readable": "", "public_url": "https://noted-availability.info"}, {"id": "", "organization_id": "", "name": "", "path": "/opt", "mime_type": "", "size": 349206, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T22:00:21.061Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-01T19:20:04.513Z", "size_readable": "", "public_url": "https://noted-availability.info"}]}, "product_price": {"created_at": "2024-12-31T01:21:07.047Z", "modified_at": "2025-06-28T02:43:46.293Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 912409, "meter_id": "", "meter": {"id": "", "name": "", "unit": "token"}}, "prices": {"key": [], "key1": []}, "discount": {"duration": "once", "duration_in_months": 187379, "type": "fixed", "basis_points": 373595, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-09-18T09:12:02.157Z", "modified_at": "2023-07-11T01:18:07.226Z", "id": "", "metadata": {"key": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 704552, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2024-09-18T09:12:02.157Z", "modified_at": "2023-07-11T01:18:07.226Z", "id": "", "metadata": {"key": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 704552, "required": true}], "customer_metadata": {"key": 384374, "key1": 126671, "key2": 568803}}} responses: "200": application/json: "" @@ -2241,7 +2206,7 @@ examples: _endpointcustomer_state_changed_post: speakeasy-default-endpointcustomer-state-changed-post: requestBody: - application/json: {"type": "customer.state_changed", "timestamp": "2025-05-22T16:03:32.369Z", "data": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-05-22T16:03:32.369Z", "modified_at": "2023-04-17T22:11:17.879Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-08T18:19:10.187Z", "active_subscriptions": [{"id": "e5149aae-e521-42b9-b24c-abb3d71eea2e", "created_at": "2025-06-22T09:12:55.079Z", "modified_at": "2025-03-01T22:24:58.561Z", "metadata": {"key": true}, "status": "active", "amount": 1000, "currency": "usd", "recurring_interval": "year", "current_period_start": "2025-02-03T13:37:00Z", "current_period_end": "2025-03-03T13:37:00Z", "trial_start": "2025-02-03T13:37:00Z", "trial_end": "2025-03-03T13:37:00Z", "cancel_at_period_end": false, "canceled_at": null, "started_at": "2025-01-03T13:37:00Z", "ends_at": null, "product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "discount_id": null, "meters": []}], "granted_benefits": [], "active_meters": [{"id": "", "created_at": "2023-10-04T09:01:19.436Z", "modified_at": "2025-07-31T21:26:56.213Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}, {"id": "", "created_at": "2023-10-04T09:01:19.436Z", "modified_at": "2025-07-31T21:26:56.213Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} + application/json: {"type": "customer.state_changed", "timestamp": "2025-05-22T16:03:32.369Z", "data": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-05-22T16:03:32.369Z", "modified_at": "2023-04-17T22:11:17.879Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-08T18:19:10.187Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404", "active_subscriptions": [{"id": "e5149aae-e521-42b9-b24c-abb3d71eea2e", "created_at": "2025-06-22T09:12:55.079Z", "modified_at": "2025-03-01T22:24:58.561Z", "metadata": {"key": true}, "status": "active", "amount": 1000, "currency": "usd", "recurring_interval": "year", "current_period_start": "2025-02-03T13:37:00Z", "current_period_end": "2025-03-03T13:37:00Z", "trial_start": "2025-02-03T13:37:00Z", "trial_end": "2025-03-03T13:37:00Z", "cancel_at_period_end": false, "canceled_at": null, "started_at": "2025-01-03T13:37:00Z", "ends_at": null, "product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "discount_id": null, "meters": []}], "granted_benefits": [], "active_meters": [{"id": "", "created_at": "2023-10-04T09:01:19.436Z", "modified_at": "2025-07-31T21:26:56.213Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}, {"id": "", "created_at": "2023-10-04T09:01:19.436Z", "modified_at": "2025-07-31T21:26:56.213Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}]}} responses: "200": application/json: "" @@ -2286,7 +2251,7 @@ examples: _endpointsubscription_created_post: speakeasy-default-endpointsubscription-created-post: requestBody: - application/json: {"type": "subscription.created", "timestamp": "2024-05-03T11:46:21.459Z", "data": {"created_at": "2024-05-03T11:46:21.459Z", "modified_at": "2025-01-12T06:30:14.360Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 445703, "status": "incomplete", "current_period_start": "2024-01-07T06:33:36.381Z", "current_period_end": "2024-07-30T16:54:44.427Z", "trial_start": "2023-12-03T10:52:23.880Z", "trial_end": "2024-05-29T05:21:44.072Z", "cancel_at_period_end": true, "canceled_at": "2023-09-10T18:39:16.136Z", "started_at": "2025-08-30T21:29:16.432Z", "ends_at": "2024-06-27T22:01:23.333Z", "ended_at": "2024-07-24T19:43:04.879Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": false}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-05-18T22:55:50.482Z", "modified_at": "2024-08-04T23:52:10.438Z", "metadata": {"key": false, "key1": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-15T22:05:41.858Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-05-25T09:51:02.679Z", "modified_at": "2025-12-23T23:39:23.705Z", "trial_interval": "year", "trial_interval_count": 338753, "name": "", "description": "slink needily cemetery hydrocarbon a fledgling knit shirk appertain rural", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 677255, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2025-01-12T06:30:14.360Z", "modified_at": "2023-05-11T16:29:33.481Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 363951, "maximum_amount": 267138, "preset_amount": 230636, "legacy": true}, {"created_at": "2024-09-02T19:02:23.015Z", "modified_at": "2023-08-19T21:45:43.735Z", "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": "2024-08-16T04:04:01.242Z", "modified_at": "2023-08-30T05:19:40.088Z", "type": "meter_credit", "description": "courageously quick-witted out equally toward though quietly", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": 3195.27}, "visibility": "private", "properties": {"units": 371901, "rollover": false, "meter_id": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/lost+found", "mime_type": "", "size": 719695, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-21T14:37:14.488Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2025-10-28T06:08:47.416Z", "size_readable": "", "public_url": "https://repentant-unit.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/lost+found", "mime_type": "", "size": 719695, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-21T14:37:14.488Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2025-10-28T06:08:47.416Z", "size_readable": "", "public_url": "https://repentant-unit.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/lost+found", "mime_type": "", "size": 719695, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-21T14:37:14.488Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2025-10-28T06:08:47.416Z", "size_readable": "", "public_url": "https://repentant-unit.org/"}], "attached_custom_fields": []}, "discount": {"duration": "once", "type": "fixed", "basis_points": 745503, "created_at": "2024-04-19T20:53:32.186Z", "modified_at": "2024-11-15T00:04:04.545Z", "id": "", "metadata": {"key": 3699.53}, "name": "", "code": "", "starts_at": "2024-10-15T21:24:43.202Z", "ends_at": "2025-09-26T06:55:01.272Z", "max_redemptions": 104800, "redemptions_count": 570322, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-11-26T09:15:00.973Z", "modified_at": "2024-01-19T16:01:53.249Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 125871, "legacy": true}], "meters": [{"created_at": "2025-05-17T01:58:02.155Z", "modified_at": "2024-09-29T09:35:40.427Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 201601, "key1": true, "key2": 2057.75}, "created_at": "2025-03-06T04:32:46.256Z", "modified_at": "2024-01-13T00:47:03.334Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}, {"created_at": "2025-05-17T01:58:02.155Z", "modified_at": "2024-09-29T09:35:40.427Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 201601, "key1": true, "key2": 2057.75}, "created_at": "2025-03-06T04:32:46.256Z", "modified_at": "2024-01-13T00:47:03.334Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}, {"created_at": "2025-05-17T01:58:02.155Z", "modified_at": "2024-09-29T09:35:40.427Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 201601, "key1": true, "key2": 2057.75}, "created_at": "2025-03-06T04:32:46.256Z", "modified_at": "2024-01-13T00:47:03.334Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2025-01-06T06:33:36.381Z", "modified_at": "2025-07-30T16:54:44.427Z", "id": "", "applies_at": "2024-10-19T18:48:25.568Z", "product_id": "", "seats": 230391}}} + application/json: {"type": "subscription.created", "timestamp": "2024-05-03T11:46:21.459Z", "data": {"created_at": "2024-05-03T11:46:21.459Z", "modified_at": "2025-01-12T06:30:14.360Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 445703, "status": "incomplete", "current_period_start": "2024-01-07T06:33:36.381Z", "current_period_end": "2024-07-30T16:54:44.427Z", "trial_start": "2023-12-03T10:52:23.880Z", "trial_end": "2024-05-29T05:21:44.072Z", "cancel_at_period_end": true, "canceled_at": "2023-09-10T18:39:16.136Z", "started_at": "2025-08-30T21:29:16.432Z", "ends_at": "2024-06-27T22:01:23.333Z", "ended_at": "2024-07-24T19:43:04.879Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": false}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-05-18T22:55:50.482Z", "modified_at": "2024-08-04T23:52:10.438Z", "metadata": {"key": false, "key1": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-15T22:05:41.858Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-05-25T09:51:02.679Z", "modified_at": "2025-12-23T23:39:23.705Z", "trial_interval": "year", "trial_interval_count": 338753, "name": "", "description": "slink needily cemetery hydrocarbon a fledgling knit shirk appertain rural", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 677255, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2025-01-12T06:30:14.360Z", "modified_at": "2023-05-11T16:29:33.481Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 363951, "maximum_amount": 267138, "preset_amount": 230636, "legacy": true}, {"created_at": "2026-01-12T06:30:14.360Z", "modified_at": "2024-05-10T16:29:33.481Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 267138, "maximum_amount": 230636, "preset_amount": 887679, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-16T04:04:01.242Z", "modified_at": "2023-08-30T05:19:40.088Z", "type": "meter_credit", "description": "courageously quick-witted out equally toward though quietly", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": 3195.27}, "visibility": "private", "properties": {"units": 371901, "rollover": false, "meter_id": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/lost+found", "mime_type": "", "size": 719695, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-21T14:37:14.488Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2025-10-28T06:08:47.416Z", "size_readable": "", "public_url": "https://repentant-unit.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/lost+found", "mime_type": "", "size": 719695, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-21T14:37:14.488Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2025-10-28T06:08:47.416Z", "size_readable": "", "public_url": "https://repentant-unit.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/lost+found", "mime_type": "", "size": 719695, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-21T14:37:14.488Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2025-10-28T06:08:47.416Z", "size_readable": "", "public_url": "https://repentant-unit.org/"}], "attached_custom_fields": []}, "discount": {"duration": "once", "type": "fixed", "basis_points": 745503, "created_at": "2024-04-19T20:53:32.186Z", "modified_at": "2024-11-15T00:04:04.545Z", "id": "", "metadata": {"key": 3699.53}, "name": "", "code": "", "starts_at": "2024-10-15T21:24:43.202Z", "ends_at": "2025-09-26T06:55:01.272Z", "max_redemptions": 104800, "redemptions_count": 570322, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-11-26T09:15:00.973Z", "modified_at": "2024-01-19T16:01:53.249Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 125871, "legacy": true}], "meters": [{"created_at": "2025-05-17T01:58:02.155Z", "modified_at": "2024-09-29T09:35:40.427Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 201601, "key1": true, "key2": 2057.75}, "created_at": "2025-03-06T04:32:46.256Z", "modified_at": "2024-01-13T00:47:03.334Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}, {"created_at": "2025-05-17T01:58:02.155Z", "modified_at": "2024-09-29T09:35:40.427Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 201601, "key1": true, "key2": 2057.75}, "created_at": "2025-03-06T04:32:46.256Z", "modified_at": "2024-01-13T00:47:03.334Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}, {"created_at": "2025-05-17T01:58:02.155Z", "modified_at": "2024-09-29T09:35:40.427Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 201601, "key1": true, "key2": 2057.75}, "created_at": "2025-03-06T04:32:46.256Z", "modified_at": "2024-01-13T00:47:03.334Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2025-01-06T06:33:36.381Z", "modified_at": "2025-07-30T16:54:44.427Z", "id": "", "applies_at": "2024-10-19T18:48:25.568Z", "product_id": "", "seats": 230391}}} responses: "200": application/json: "" @@ -2304,7 +2269,7 @@ examples: _endpointsubscription_active_post: speakeasy-default-endpointsubscription-active-post: requestBody: - application/json: {"type": "subscription.active", "timestamp": "2023-08-13T01:28:21.362Z", "data": {"created_at": "2023-08-13T01:28:21.362Z", "modified_at": "2024-06-25T00:41:05.678Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 204435, "status": "past_due", "current_period_start": "2023-06-09T14:14:48.363Z", "current_period_end": "2024-08-12T01:28:21.362Z", "trial_start": "2023-10-12T10:17:29.274Z", "trial_end": "2023-12-18T04:45:55.702Z", "cancel_at_period_end": true, "canceled_at": null, "started_at": "2023-07-21T07:29:31.409Z", "ends_at": "2025-08-05T11:38:46.213Z", "ended_at": "2024-09-05T04:27:23.768Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "metadata": {"key": false}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-17T18:35:42.212Z", "modified_at": "2025-01-01T23:32:39.659Z", "metadata": {"key": 7303.56, "key1": 796236}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_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"}, "product": {"id": "", "created_at": "2025-11-05T10:18:40.300Z", "modified_at": "2024-04-23T18:24:43.408Z", "trial_interval": "week", "trial_interval_count": 145614, "name": "", "description": "athwart fail wound oh nor boohoo reasoning against since", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 493639, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 722592}, "prices": [], "benefits": [{"id": "", "created_at": "2025-05-21T10:49:13.924Z", "modified_at": null, "type": "license_keys", "description": "chime softly outgoing gray", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {}, "visibility": "draft", "properties": {"prefix": "", "expires": {"ttl": 18256, "timeframe": "day"}, "activations": {"limit": 776442, "enable_customer_admin": false}, "limit_usage": 89994}, "visibility_configurable": true}, {"id": "", "created_at": "2023-02-11T00:08:34.711Z", "modified_at": "2024-10-21T08:00:16.195Z", "type": "github_repository", "description": "as draft noon kettledrum alligator", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 331688, "key1": 10869, "key2": true}, "visibility": "private", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "maintain"}, "visibility_configurable": true}, {"id": "", "created_at": "2023-02-11T00:08:34.711Z", "modified_at": "2024-10-21T08:00:16.195Z", "type": "github_repository", "description": "as draft noon kettledrum alligator", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 331688, "key1": 10869, "key2": true}, "visibility": "public", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "maintain"}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 980211, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-01T03:11:19.881Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-05T22:00:20.852Z", "size_readable": "", "public_url": "https://shabby-integer.org"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 980211, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-01T03:11:19.881Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-05T22:00:20.852Z", "size_readable": "", "public_url": "https://shabby-integer.org"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 980211, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-01T03:11:19.881Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-05T22:00:20.852Z", "size_readable": "", "public_url": "https://shabby-integer.org"}], "attached_custom_fields": []}, "discount": {"duration": "repeating", "type": "percentage", "amount": 1000, "currency": "usd", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2023-10-09T08:41:16.911Z", "modified_at": "2025-08-16T07:28:28.929Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-04-06T16:40:05.860Z", "ends_at": "2023-01-06T22:21:47.288Z", "max_redemptions": null, "redemptions_count": 313365, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2024-06-25T00:41:05.678Z", "modified_at": "2025-09-12T00:30:21.037Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 89762, "maximum_amount": null, "preset_amount": null, "legacy": true}, {"created_at": "2024-09-14T15:19:58.463Z", "modified_at": "2024-07-30T05:01:30.550Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 720352, "maximum_amount": 761885, "preset_amount": 542678, "legacy": true}, {"created_at": "2025-02-14T12:59:50.680Z", "modified_at": "2025-03-11T11:17:02.540Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": [], "pending_update": {"created_at": "2024-06-08T14:14:48.363Z", "modified_at": null, "id": "", "applies_at": "2024-02-09T14:19:47.352Z", "product_id": null, "seats": 183679}}} + application/json: {"type": "subscription.active", "timestamp": "2023-08-13T01:28:21.362Z", "data": {"created_at": "2023-08-13T01:28:21.362Z", "modified_at": "2024-06-25T00:41:05.678Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 204435, "status": "past_due", "current_period_start": "2023-06-09T14:14:48.363Z", "current_period_end": "2024-08-12T01:28:21.362Z", "trial_start": "2023-10-12T10:17:29.274Z", "trial_end": "2023-12-18T04:45:55.702Z", "cancel_at_period_end": true, "canceled_at": null, "started_at": "2023-07-21T07:29:31.409Z", "ends_at": "2025-08-05T11:38:46.213Z", "ended_at": "2024-09-05T04:27:23.768Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "metadata": {"key": false}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-17T18:35:42.212Z", "modified_at": "2025-01-01T23:32:39.659Z", "metadata": {"key": 7303.56, "key1": 796236}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_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"}, "product": {"id": "", "created_at": "2025-11-05T10:18:40.300Z", "modified_at": "2024-04-23T18:24:43.408Z", "trial_interval": "week", "trial_interval_count": 145614, "name": "", "description": "athwart fail wound oh nor boohoo reasoning against since", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 493639, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 722592}, "prices": [], "benefits": [{"id": "", "created_at": "2025-05-21T10:49:13.924Z", "modified_at": null, "type": "license_keys", "description": "chime softly outgoing gray", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {}, "visibility": "draft", "properties": {"prefix": "", "expires": {"ttl": 18256, "timeframe": "day"}, "activations": {"limit": 776442, "enable_customer_admin": false}, "limit_usage": 89994}, "visibility_configurable": true}, {"id": "", "created_at": "2023-02-11T00:08:34.711Z", "modified_at": "2024-10-21T08:00:16.195Z", "type": "github_repository", "description": "as draft noon kettledrum alligator", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 331688, "key1": 10869, "key2": true}, "visibility": "private", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "maintain"}, "visibility_configurable": true}, {"id": "", "created_at": "2023-02-11T00:08:34.711Z", "modified_at": "2024-10-21T08:00:16.195Z", "type": "github_repository", "description": "as draft noon kettledrum alligator", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 331688, "key1": 10869, "key2": true}, "visibility": "public", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "maintain"}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 980211, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-01T03:11:19.881Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-05T22:00:20.852Z", "size_readable": "", "public_url": "https://shabby-integer.org"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 980211, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-01T03:11:19.881Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-05T22:00:20.852Z", "size_readable": "", "public_url": "https://shabby-integer.org"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 980211, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-01T03:11:19.881Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-05T22:00:20.852Z", "size_readable": "", "public_url": "https://shabby-integer.org"}], "attached_custom_fields": []}, "discount": {"duration": "repeating", "type": "percentage", "amount": 1000, "currency": "usd", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2023-10-09T08:41:16.911Z", "modified_at": "2025-08-16T07:28:28.929Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-04-06T16:40:05.860Z", "ends_at": "2023-01-06T22:21:47.288Z", "max_redemptions": null, "redemptions_count": 313365, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2024-06-25T00:41:05.678Z", "modified_at": "2025-09-12T00:30:21.037Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 89762, "maximum_amount": null, "preset_amount": null, "legacy": true}, {"created_at": "2024-09-14T15:19:58.463Z", "modified_at": "2024-07-30T05:01:30.550Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 720352, "maximum_amount": 761885, "preset_amount": 542678, "legacy": true}, {"created_at": "2025-06-25T00:41:05.678Z", "modified_at": "2026-09-12T00:30:21.037Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "day", "minimum_amount": 37433, "maximum_amount": 183679, "preset_amount": 864494, "legacy": true}], "meters": [], "pending_update": {"created_at": "2024-06-08T14:14:48.363Z", "modified_at": null, "id": "", "applies_at": "2024-02-09T14:19:47.352Z", "product_id": null, "seats": 183679}}} responses: "200": application/json: "" @@ -2313,7 +2278,7 @@ examples: _endpointsubscription_canceled_post: speakeasy-default-endpointsubscription-canceled-post: requestBody: - application/json: {"type": "subscription.canceled", "timestamp": "2025-02-09T04:39:02.332Z", "data": {"created_at": "2025-02-09T04:39:02.332Z", "modified_at": "2023-04-18T10:38:03.481Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 702732, "status": "active", "current_period_start": "2023-06-17T04:15:56.819Z", "current_period_end": "2023-06-02T15:48:16.857Z", "trial_start": "2025-04-09T17:46:08.645Z", "trial_end": null, "cancel_at_period_end": false, "canceled_at": "2024-01-07T18:54:45.602Z", "started_at": "2025-02-23T12:23:49.579Z", "ends_at": "2023-11-16T08:24:59.166Z", "ended_at": "2023-07-21T16:25:14.433Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": null, "customer_cancellation_reason": null, "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-10-25T05:52:42.846Z", "modified_at": "2023-09-20T10:20:50.540Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-07-13T08:26:56.650Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2025-06-11T17:21:10.206Z", "modified_at": "2025-03-18T13:26:34.470Z", "trial_interval": "year", "trial_interval_count": 538272, "name": "", "description": "unimpressively stiffen promptly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 98032, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": true}, "prices": [{"created_at": "2023-04-18T10:38:03.481Z", "modified_at": "2025-08-08T10:15:56.533Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 739654, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}, {"created_at": "2025-04-18T11:08:34.147Z", "modified_at": "2023-05-05T03:28:24.281Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 25751, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-09-21T18:00:22.332Z", "modified_at": "2023-05-12T19:14:12.206Z", "type": "downloadables", "description": "ostrich smog zowie loyally naturally noisily castanet pace deliberately", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {}, "visibility": "public", "properties": {"archived": {"key": true, "key1": true}, "files": []}, "visibility_configurable": false}, {"id": "", "created_at": "2025-12-18T22:12:17.302Z", "modified_at": "2024-10-10T09:48:09.804Z", "type": "custom", "description": "knavishly goat programme intrigue elegantly fooey decisive", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": false, "key1": 922.01, "key2": 5307.16}, "visibility": "draft", "properties": {"note": ""}, "visibility_configurable": true}, {"id": "", "created_at": "2024-06-11T13:23:03.299Z", "modified_at": "2024-10-18T20:00:03.185Z", "type": "meter_credit", "description": "at like through stale yum corny", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": false}, "visibility": "public", "properties": {"units": 743161, "rollover": false, "meter_id": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 91402, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-02-20T02:39:11.781Z", "size_readable": "", "public_url": "https://young-obesity.org"}, {"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 91402, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-02-20T02:39:11.781Z", "size_readable": "", "public_url": "https://young-obesity.org"}], "attached_custom_fields": []}, "discount": {"duration": "once", "type": "fixed", "basis_points": 942713, "created_at": "2025-05-02T10:03:23.149Z", "modified_at": "2024-03-07T17:30:21.663Z", "id": "", "metadata": {"key": "", "key1": false, "key2": ""}, "name": "", "code": "", "starts_at": "2025-11-05T08:42:03.906Z", "ends_at": null, "max_redemptions": 510938, "redemptions_count": 760335, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-10T09:00:25.178Z", "modified_at": "2023-05-20T04:28:47.140Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-08-12T22:41:41.907Z", "modified_at": "2024-08-03T03:14:29.655Z", "id": "", "applies_at": "2024-06-01T15:48:16.857Z", "product_id": "", "seats": 339222}}} + application/json: {"type": "subscription.canceled", "timestamp": "2025-02-09T04:39:02.332Z", "data": {"created_at": "2025-02-09T04:39:02.332Z", "modified_at": "2023-04-18T10:38:03.481Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 702732, "status": "active", "current_period_start": "2023-06-17T04:15:56.819Z", "current_period_end": "2023-06-02T15:48:16.857Z", "trial_start": "2025-04-09T17:46:08.645Z", "trial_end": null, "cancel_at_period_end": false, "canceled_at": "2024-01-07T18:54:45.602Z", "started_at": "2025-02-23T12:23:49.579Z", "ends_at": "2023-11-16T08:24:59.166Z", "ended_at": "2023-07-21T16:25:14.433Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": null, "customer_cancellation_reason": null, "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-10-25T05:52:42.846Z", "modified_at": "2023-09-20T10:20:50.540Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-07-13T08:26:56.650Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2025-06-11T17:21:10.206Z", "modified_at": "2025-03-18T13:26:34.470Z", "trial_interval": "year", "trial_interval_count": 538272, "name": "", "description": "unimpressively stiffen promptly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 98032, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": true}, "prices": [{"created_at": "2023-04-18T10:38:03.481Z", "modified_at": "2025-08-08T10:15:56.533Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 739654, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}, {"created_at": "2025-04-18T11:08:34.147Z", "modified_at": "2023-05-05T03:28:24.281Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 25751, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-09-21T18:00:22.332Z", "modified_at": "2023-05-12T19:14:12.206Z", "type": "downloadables", "description": "ostrich smog zowie loyally naturally noisily castanet pace deliberately", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {}, "visibility": "public", "properties": {"archived": {"key": true, "key1": true}, "files": []}, "visibility_configurable": false}, {"id": "", "created_at": "2025-12-18T22:12:17.302Z", "modified_at": "2024-10-10T09:48:09.804Z", "type": "custom", "description": "knavishly goat programme intrigue elegantly fooey decisive", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": false, "key1": 922.01, "key2": 5307.16}, "visibility": "draft", "properties": {"note": ""}, "visibility_configurable": true}, {"id": "", "created_at": "2024-06-11T13:23:03.299Z", "modified_at": "2024-10-18T20:00:03.185Z", "type": "meter_credit", "description": "at like through stale yum corny", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": false}, "visibility": "public", "properties": {"units": 743161, "rollover": false, "meter_id": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 91402, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-02-20T02:39:11.781Z", "size_readable": "", "public_url": "https://young-obesity.org"}, {"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 91402, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-02-20T02:39:11.781Z", "size_readable": "", "public_url": "https://young-obesity.org"}], "attached_custom_fields": []}, "discount": {"duration": "once", "type": "fixed", "basis_points": 942713, "created_at": "2025-05-02T10:03:23.149Z", "modified_at": "2024-03-07T17:30:21.663Z", "id": "", "metadata": {"key": "", "key1": false, "key2": ""}, "name": "", "code": "", "starts_at": "2025-11-05T08:42:03.906Z", "ends_at": null, "max_redemptions": 510938, "redemptions_count": 760335, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2024-04-17T10:38:03.481Z", "modified_at": "2026-08-08T10:15:56.533Z", "id": "", "source": "catalog", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "seat_tiers": {"tiers": [], "minimum_seats": 739654, "maximum_seats": 339222}}], "meters": [], "pending_update": {"created_at": "2025-08-12T22:41:41.907Z", "modified_at": "2024-08-03T03:14:29.655Z", "id": "", "applies_at": "2024-06-01T15:48:16.857Z", "product_id": "", "seats": 339222}}} responses: "200": application/json: "" @@ -2358,7 +2323,7 @@ examples: _endpointproduct_created_post: speakeasy-default-endpointproduct-created-post: requestBody: - application/json: {"type": "product.created", "timestamp": "2023-10-13T02:47:55.082Z", "data": {"id": "", "created_at": "2023-10-13T02:47:55.082Z", "modified_at": null, "trial_interval": "day", "trial_interval_count": 168322, "name": "", "description": "till that ew put", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 12897, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 785881, "key1": false, "key2": false}, "prices": [{"created_at": "2024-07-28T01:37:16.074Z", "modified_at": "2024-06-21T04:06:38.404Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 351958, "maximum_amount": 675813, "preset_amount": 835712, "legacy": true}, {"created_at": "2024-01-23T05:50:45.318Z", "modified_at": "2024-12-09T02:07:21.938Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2023-09-12T18:18:34.397Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 575460, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-01-15T03:15:59.062Z", "modified_at": "2023-07-04T11:33:29.001Z", "type": "discord", "description": "soybean till mortise brr yet sympathetically", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": 247381}, "visibility": "draft", "properties": {"guild_id": "", "role_id": "", "kick_member": true, "guild_token": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 616062, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-29T10:58:55.115Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-02-03T23:25:29.448Z", "size_readable": "", "public_url": "https://livid-stool.biz/"}], "attached_custom_fields": []}} + application/json: {"type": "product.created", "timestamp": "2023-10-13T02:47:55.082Z", "data": {"id": "", "created_at": "2023-10-13T02:47:55.082Z", "modified_at": null, "trial_interval": "day", "trial_interval_count": 168322, "name": "", "description": "till that ew put", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 12897, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 785881, "key1": false, "key2": false}, "prices": [{"created_at": "2024-07-28T01:37:16.074Z", "modified_at": "2024-06-21T04:06:38.404Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 351958, "maximum_amount": 675813, "preset_amount": 835712, "legacy": true}, {"created_at": "2025-07-28T01:37:16.074Z", "modified_at": "2025-06-21T04:06:38.404Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "minimum_amount": 675813, "maximum_amount": 835712, "preset_amount": 824278, "legacy": true}, {"created_at": "2023-09-12T18:18:34.397Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 575460, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-01-15T03:15:59.062Z", "modified_at": "2023-07-04T11:33:29.001Z", "type": "discord", "description": "soybean till mortise brr yet sympathetically", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": 247381}, "visibility": "draft", "properties": {"guild_id": "", "role_id": "", "kick_member": true, "guild_token": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 616062, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-29T10:58:55.115Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-02-03T23:25:29.448Z", "size_readable": "", "public_url": "https://livid-stool.biz/"}], "attached_custom_fields": []}} responses: "200": application/json: "" @@ -2367,7 +2332,7 @@ examples: _endpointproduct_updated_post: speakeasy-default-endpointproduct-updated-post: requestBody: - application/json: {"type": "product.updated", "timestamp": "2024-08-25T02:00:54.049Z", "data": {"id": "", "created_at": "2024-08-25T02:00:54.049Z", "modified_at": "2023-07-21T03:22:42.071Z", "trial_interval": "month", "trial_interval_count": 860221, "name": "", "description": "fooey optimistic beyond dress helpfully whispered structure heartfelt consequently", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 705076, "is_recurring": false, "is_archived": false, "organization_id": "", "metadata": {"key": 495401, "key1": true}, "prices": [{"created_at": "2023-07-21T03:22:42.071Z", "modified_at": "2025-05-10T05:05:05.968Z", "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-08-10T13:22:51.241Z", "modified_at": "2024-10-05T01:46:47.680Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 753291, "maximum_amount": 103642, "preset_amount": 38424, "legacy": true}, {"created_at": "2024-11-15T20:13:31.076Z", "modified_at": "2025-08-03T01:42:10.311Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 586326, "maximum_amount": 272075, "preset_amount": 946258, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-12-26T20:43:42.655Z", "modified_at": "2023-11-13T02:29:49.304Z", "type": "downloadables", "description": "towards avaricious oof after nutritious", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {}, "visibility": "private", "properties": {"archived": {"key": false}, "files": ["", "", ""]}, "visibility_configurable": false}, {"id": "", "created_at": "2023-09-18T01:08:29.935Z", "modified_at": "2025-06-15T04:30:20.706Z", "type": "meter_credit", "description": "where patroller after aw arid", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": true, "key1": ""}, "visibility": "draft", "properties": {"units": 292879, "rollover": true, "meter_id": ""}, "visibility_configurable": false}, {"id": "", "created_at": "2023-08-06T07:32:57.958Z", "modified_at": "2023-04-29T20:41:41.892Z", "type": "github_repository", "description": "once however abnormally pace wretched presell", "selectable": false, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": false}, "visibility": "public", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}, "visibility_configurable": false}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt", "mime_type": "", "size": 435627, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-04-14T07:39:07.142Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-04-21T20:24:54.389Z", "size_readable": "", "public_url": "https://uneven-juggernaut.net"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-10-22T03:22:15.717Z", "modified_at": "2024-11-21T19:59:56.303Z", "id": "", "metadata": {"key": true, "key1": false}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 876633, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2025-10-22T03:22:15.717Z", "modified_at": "2024-11-21T19:59:56.303Z", "id": "", "metadata": {"key": true, "key1": false}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 876633, "required": true}]}} + application/json: {"type": "product.updated", "timestamp": "2024-08-25T02:00:54.049Z", "data": {"id": "", "created_at": "2024-08-25T02:00:54.049Z", "modified_at": "2023-07-21T03:22:42.071Z", "trial_interval": "month", "trial_interval_count": 860221, "name": "", "description": "fooey optimistic beyond dress helpfully whispered structure heartfelt consequently", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 705076, "is_recurring": false, "is_archived": false, "organization_id": "", "metadata": {"key": 495401, "key1": true}, "prices": [{"created_at": "2024-07-20T03:22:42.071Z", "modified_at": "2026-05-10T05:05:05.968Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 190517, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}, {"created_at": "2023-08-10T13:22:51.241Z", "modified_at": "2024-10-05T01:46:47.680Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 753291, "maximum_amount": 103642, "preset_amount": 38424, "legacy": true}, {"created_at": "2024-11-15T20:13:31.076Z", "modified_at": "2025-08-03T01:42:10.311Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 586326, "maximum_amount": 272075, "preset_amount": 946258, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-12-26T20:43:42.655Z", "modified_at": "2023-11-13T02:29:49.304Z", "type": "downloadables", "description": "towards avaricious oof after nutritious", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {}, "visibility": "private", "properties": {"archived": {"key": false}, "files": ["", "", ""]}, "visibility_configurable": false}, {"id": "", "created_at": "2023-09-18T01:08:29.935Z", "modified_at": "2025-06-15T04:30:20.706Z", "type": "meter_credit", "description": "where patroller after aw arid", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": true, "key1": ""}, "visibility": "draft", "properties": {"units": 292879, "rollover": true, "meter_id": ""}, "visibility_configurable": false}, {"id": "", "created_at": "2023-08-06T07:32:57.958Z", "modified_at": "2023-04-29T20:41:41.892Z", "type": "github_repository", "description": "once however abnormally pace wretched presell", "selectable": false, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": false}, "visibility": "public", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}, "visibility_configurable": false}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt", "mime_type": "", "size": 435627, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-04-14T07:39:07.142Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-04-21T20:24:54.389Z", "size_readable": "", "public_url": "https://uneven-juggernaut.net"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-10-22T03:22:15.717Z", "modified_at": "2024-11-21T19:59:56.303Z", "id": "", "metadata": {"key": true, "key1": false}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 876633, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2025-10-22T03:22:15.717Z", "modified_at": "2024-11-21T19:59:56.303Z", "id": "", "metadata": {"key": true, "key1": false}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 876633, "required": true}]}} responses: "200": application/json: "" @@ -2376,7 +2341,7 @@ examples: _endpointorganization_updated_post: speakeasy-default-endpointorganization-updated-post: requestBody: - application/json: {"type": "organization.updated", "timestamp": "2025-08-19T15:02:44.139Z", "data": {"created_at": "2025-08-19T15:02:44.139Z", "modified_at": "2025-08-23T00:45:50.780Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": null, "proration_behavior": "prorate", "allow_customer_updates": false, "email": "Lemuel44@gmail.com", "website": "", "socials": [{"platform": "tiktok", "url": "https://grizzled-patroller.info/"}, {"platform": "tiktok", "url": "https://grizzled-patroller.info/"}], "status": "active", "details_submitted_at": null, "default_presentment_currency": "", "default_tax_behavior": "exclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "checkout_localization_enabled": false, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "billing_enabled": false, "slack_benefit_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 877397, "prevent_trial_abuse": false, "allow_customer_updates": false}, "notification_settings": {"new_order": false, "new_subscription": false}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": true, "subscription_cycled_after_trial": false, "subscription_past_due": true, "subscription_renewal_reminder": false, "subscription_revoked": true, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": true, "update_plan": true}}, "account_id": "", "payout_account_id": "", "capabilities": {"checkout_payments": false, "subscription_renewals": false, "payouts": false, "refunds": true, "api_access": true, "dashboard_access": true}}} + application/json: {"type": "organization.updated", "timestamp": "2025-08-19T15:02:44.139Z", "data": {"created_at": "2025-08-19T15:02:44.139Z", "modified_at": "2025-08-23T00:45:50.780Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": null, "proration_behavior": "prorate", "allow_customer_updates": false, "email": "Lemuel44@gmail.com", "website": "", "socials": [{"platform": "tiktok", "url": "https://grizzled-patroller.info/"}, {"platform": "tiktok", "url": "https://grizzled-patroller.info/"}], "status": "active", "details_submitted_at": null, "default_presentment_currency": "", "default_tax_behavior": "exclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "checkout_localization_enabled": false, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "slack_benefit_enabled": false, "preview_access_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 877397, "prevent_trial_abuse": false, "allow_customer_updates": false}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": true, "subscription_cycled_after_trial": false, "subscription_past_due": true, "subscription_renewal_reminder": false, "subscription_revoked": true, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": true, "update_plan": true}}, "account_id": "", "payout_account_id": "", "capabilities": {"checkout_payments": false, "subscription_renewals": false, "payouts": false, "refunds": true, "api_access": true, "dashboard_access": true}}} responses: "200": application/json: "" @@ -2453,7 +2418,7 @@ examples: application/json: {"name": "", "slug": ""} responses: "201": - application/json: {"created_at": "2024-12-19T02:20:41.368Z", "modified_at": "2024-07-08T16:38:56.712Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://menacing-draft.net", "proration_behavior": "prorate", "allow_customer_updates": false, "email": "Ursula99@yahoo.com", "website": "", "socials": [{"platform": "facebook", "url": "https://likable-commodity.biz/"}], "status": "denied", "details_submitted_at": "2024-04-04T18:10:47.254Z", "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, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "billing_enabled": false, "slack_benefit_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "proration_behavior": "prorate", "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": false, "dashboard_access": false}} + application/json: {"created_at": "2024-12-19T02:20:41.368Z", "modified_at": "2024-07-08T16:38:56.712Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://menacing-draft.net", "proration_behavior": "prorate", "allow_customer_updates": false, "email": "Ursula99@yahoo.com", "website": "", "socials": [{"platform": "facebook", "url": "https://likable-commodity.biz/"}], "status": "denied", "details_submitted_at": "2024-04-04T18:10:47.254Z", "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, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "slack_benefit_enabled": false, "preview_access_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "proration_behavior": "prorate", "benefit_revocation_grace_period": 655199, "prevent_trial_abuse": false, "allow_customer_updates": true}, "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": false, "dashboard_access": false}} "422": application/json: {} organizations:get: @@ -2463,7 +2428,7 @@ examples: id: "1dbfc517-0bbf-4301-9ba8-555ca42b9737" responses: "200": - application/json: {"created_at": "2024-06-18T23:12:24.609Z", "modified_at": "2023-11-22T07:49:02.109Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://far-off-resource.com", "proration_behavior": "invoice", "allow_customer_updates": true, "email": "Dejon.Jakubowski-Bashirian6@gmail.com", "website": null, "socials": [{"platform": "other", "url": "https://tedious-habit.com"}, {"platform": "other", "url": "https://tedious-habit.com"}, {"platform": "other", "url": "https://tedious-habit.com"}], "status": "denied", "details_submitted_at": "2023-07-16T01:59:28.607Z", "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, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "billing_enabled": false, "slack_benefit_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "proration_behavior": "prorate", "benefit_revocation_grace_period": 488109, "prevent_trial_abuse": false, "allow_customer_updates": 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}}, "account_id": "", "payout_account_id": "", "capabilities": {"checkout_payments": true, "subscription_renewals": true, "payouts": false, "refunds": false, "api_access": true, "dashboard_access": false}} + application/json: {"created_at": "2024-06-18T23:12:24.609Z", "modified_at": "2023-11-22T07:49:02.109Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://far-off-resource.com", "proration_behavior": "invoice", "allow_customer_updates": true, "email": "Dejon.Jakubowski-Bashirian6@gmail.com", "website": null, "socials": [{"platform": "other", "url": "https://tedious-habit.com"}, {"platform": "other", "url": "https://tedious-habit.com"}, {"platform": "other", "url": "https://tedious-habit.com"}], "status": "denied", "details_submitted_at": "2023-07-16T01:59:28.607Z", "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, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "slack_benefit_enabled": false, "preview_access_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "proration_behavior": "prorate", "benefit_revocation_grace_period": 488109, "prevent_trial_abuse": false, "allow_customer_updates": false}, "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": true, "subscription_renewals": true, "payouts": false, "refunds": false, "api_access": true, "dashboard_access": false}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -2477,7 +2442,7 @@ examples: application/json: {} responses: "200": - application/json: {"created_at": "2024-01-10T12:09:47.665Z", "modified_at": "2025-07-12T14:18:16.022Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://juvenile-deed.name/", "proration_behavior": "invoice", "allow_customer_updates": false, "email": "Stanford.Streich62@gmail.com", "website": "", "socials": [{"platform": "github", "url": "https://violent-ownership.org/"}], "status": "snoozed", "details_submitted_at": "2024-05-08T13:53:13.516Z", "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, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "billing_enabled": false, "slack_benefit_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "proration_behavior": "invoice", "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": false, "payouts": false, "refunds": true, "api_access": true, "dashboard_access": true}} + application/json: {"created_at": "2024-01-10T12:09:47.665Z", "modified_at": "2025-07-12T14:18:16.022Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://juvenile-deed.name/", "proration_behavior": "invoice", "allow_customer_updates": false, "email": "Stanford.Streich62@gmail.com", "website": "", "socials": [{"platform": "github", "url": "https://violent-ownership.org/"}], "status": "snoozed", "details_submitted_at": "2024-05-08T13:53:13.516Z", "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, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "slack_benefit_enabled": false, "preview_access_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "proration_behavior": "invoice", "benefit_revocation_grace_period": 341703, "prevent_trial_abuse": false, "allow_customer_updates": 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": false, "payouts": false, "refunds": true, "api_access": true, "dashboard_access": true}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -2493,7 +2458,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2024-03-26T10:08:00.196Z", "id": "", "amount": 492124, "currency": "Rial Omani", "recurring_interval": "year", "recurring_interval_count": 742797, "status": "canceled", "current_period_start": "2025-09-23T15:13:06.761Z", "current_period_end": "2023-09-22T22:50:40.236Z", "trial_start": "2024-10-01T10:10:26.018Z", "trial_end": "2023-12-05T04:37:49.573Z", "cancel_at_period_end": true, "canceled_at": "2024-06-12T10:43:36.497Z", "started_at": "2025-03-14T07:47:35.696Z", "ends_at": "2025-07-03T16:46:46.137Z", "ended_at": "2024-03-20T05:19:38.088Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "metadata": {"key": true, "key1": 142409}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-24T17:03:16.161Z", "modified_at": "2025-05-07T18:20:34.107Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-25T13:44:42.918Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2024-12-09T00:06:17.749Z", "modified_at": "2025-08-24T16:27:54.472Z", "trial_interval": "week", "trial_interval_count": 960252, "name": "", "description": "er making aha doing offset oh incidentally aside hm", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 616371, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {"key": false, "key1": false, "key2": false}, "prices": [], "benefits": [{"id": "", "created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-05-11T08:58:06.412Z", "type": "custom", "description": "border pink insert sonnet membership access made-up aha an", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": ""}, "visibility": "public", "properties": {"note": ""}, "visibility_configurable": false}, {"id": "", "created_at": "2025-05-20T14:55:17.223Z", "modified_at": "2025-04-09T10:13:23.999Z", "type": "github_repository", "description": "quarrelsome joyously diligently mmm joshingly sailor or jury annex", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "visibility": "private", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}, "visibility_configurable": true}, {"id": "", "created_at": "2025-05-20T14:55:17.223Z", "modified_at": "2025-04-09T10:13:23.999Z", "type": "github_repository", "description": "quarrelsome joyously diligently mmm joshingly sailor or jury annex", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "visibility": "private", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/include", "mime_type": "", "size": 39873, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-10-09T14:35:38.900Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2023-06-02T18:03:00.031Z", "size_readable": "", "public_url": "https://aggravating-graffiti.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/include", "mime_type": "", "size": 39873, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-10-09T14:35:38.900Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2023-06-02T18:03:00.031Z", "size_readable": "", "public_url": "https://aggravating-graffiti.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-14T02:26:18.152Z", "modified_at": null, "id": "", "metadata": {"key": 496263, "key1": "", "key2": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 561607, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-08-14T02:26:18.152Z", "modified_at": null, "id": "", "metadata": {"key": 496263, "key1": "", "key2": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 561607, "required": false}]}, "discount": {"duration": "forever", "type": "percentage", "basis_points": 1000, "created_at": "2024-12-04T04:37:49.573Z", "modified_at": "2025-06-23T08:50:11.993Z", "id": "", "metadata": {"key": false}, "name": "", "code": "", "starts_at": "2024-09-21T22:50:40.236Z", "ends_at": "2026-05-03T04:33:34.190Z", "max_redemptions": 265915, "redemptions_count": 732961, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "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}, {"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": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 834580, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-06-23T08:50:11.993Z", "modified_at": "2026-11-18T10:27:58.317Z", "id": "", "applies_at": "2026-04-10T00:55:03.476Z", "product_id": "", "seats": 241744}}, {"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2024-03-26T10:08:00.196Z", "id": "", "amount": 492124, "currency": "Rial Omani", "recurring_interval": "year", "recurring_interval_count": 308570, "status": "canceled", "current_period_start": "2025-09-23T15:13:06.761Z", "current_period_end": "2023-09-22T22:50:40.236Z", "trial_start": "2025-09-23T15:13:06.761Z", "trial_end": "2023-09-22T22:50:40.236Z", "cancel_at_period_end": true, "canceled_at": "2024-06-12T10:43:36.497Z", "started_at": "2025-03-14T07:47:35.696Z", "ends_at": "2025-07-03T16:46:46.137Z", "ended_at": "2024-03-20T05:19:38.088Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "metadata": {"key": true, "key1": 142409}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-24T17:03:16.161Z", "modified_at": "2025-05-07T18:20:34.107Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-25T13:44:42.918Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2024-12-09T00:06:17.749Z", "modified_at": "2025-08-24T16:27:54.472Z", "trial_interval": "year", "trial_interval_count": 265915, "name": "", "description": "er making aha doing offset oh incidentally aside hm", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 492124, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {"key": false, "key1": false, "key2": false}, "prices": [], "benefits": [{"id": "", "created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-05-11T08:58:06.412Z", "type": "custom", "description": "border pink insert sonnet membership access made-up aha an", "selectable": false, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": ""}, "visibility": "private", "properties": {"note": ""}, "visibility_configurable": false}, {"id": "", "created_at": "2025-05-20T14:55:17.223Z", "modified_at": "2025-04-09T10:13:23.999Z", "type": "github_repository", "description": "quarrelsome joyously diligently mmm joshingly sailor or jury annex", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "visibility": "public", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}, "visibility_configurable": false}, {"id": "", "created_at": "2025-05-20T14:55:17.223Z", "modified_at": "2025-04-09T10:13:23.999Z", "type": "github_repository", "description": "quarrelsome joyously diligently mmm joshingly sailor or jury annex", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "visibility": "draft", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/include", "mime_type": "", "size": 39873, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-10-09T14:35:38.900Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2023-06-02T18:03:00.031Z", "size_readable": "", "public_url": "https://aggravating-graffiti.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/include", "mime_type": "", "size": 39873, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-10-09T14:35:38.900Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2023-06-02T18:03:00.031Z", "size_readable": "", "public_url": "https://aggravating-graffiti.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-14T02:26:18.152Z", "modified_at": null, "id": "", "metadata": {"key": 496263, "key1": "", "key2": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 561607, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-08-14T02:26:18.152Z", "modified_at": null, "id": "", "metadata": {"key": 496263, "key1": "", "key2": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 561607, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 786734, "type": "fixed", "basis_points": 1000, "created_at": "2026-04-30T02:52:35.936Z", "modified_at": "2024-10-28T13:21:35.872Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2026-09-12T12:57:56.639Z", "ends_at": "2024-11-10T17:51:02.571Z", "max_redemptions": 215064, "redemptions_count": 776767, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "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": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 262272, "legacy": true}, {"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": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 827165, "maximum_amount": 310545, "preset_amount": 154160, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-06-23T08:50:11.993Z", "modified_at": "2026-11-18T10:27:58.317Z", "id": "", "applies_at": "2026-04-10T00:55:03.476Z", "product_id": "", "seats": 241744}}], "pagination": {"total_count": 947589, "max_page": 388476}} + application/json: {"items": [{"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2024-03-26T10:08:00.196Z", "id": "", "amount": 492124, "currency": "Rial Omani", "recurring_interval": "year", "recurring_interval_count": 742797, "status": "canceled", "current_period_start": "2025-09-23T15:13:06.761Z", "current_period_end": "2023-09-22T22:50:40.236Z", "trial_start": "2024-10-01T10:10:26.018Z", "trial_end": "2023-12-05T04:37:49.573Z", "cancel_at_period_end": true, "canceled_at": "2024-06-12T10:43:36.497Z", "started_at": "2025-03-14T07:47:35.696Z", "ends_at": "2025-07-03T16:46:46.137Z", "ended_at": "2024-03-20T05:19:38.088Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "metadata": {"key": true, "key1": 142409}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-24T17:03:16.161Z", "modified_at": "2025-05-07T18:20:34.107Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-25T13:44:42.918Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2024-12-09T00:06:17.749Z", "modified_at": "2025-08-24T16:27:54.472Z", "trial_interval": "week", "trial_interval_count": 960252, "name": "", "description": "er making aha doing offset oh incidentally aside hm", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 616371, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {"key": false, "key1": false, "key2": false}, "prices": [], "benefits": [{"id": "", "created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-05-11T08:58:06.412Z", "type": "custom", "description": "border pink insert sonnet membership access made-up aha an", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": ""}, "visibility": "public", "properties": {"note": ""}, "visibility_configurable": false}, {"id": "", "created_at": "2025-05-20T14:55:17.223Z", "modified_at": "2025-04-09T10:13:23.999Z", "type": "github_repository", "description": "quarrelsome joyously diligently mmm joshingly sailor or jury annex", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "visibility": "private", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}, "visibility_configurable": true}, {"id": "", "created_at": "2025-05-20T14:55:17.223Z", "modified_at": "2025-04-09T10:13:23.999Z", "type": "github_repository", "description": "quarrelsome joyously diligently mmm joshingly sailor or jury annex", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "visibility": "private", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/include", "mime_type": "", "size": 39873, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-10-09T14:35:38.900Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2023-06-02T18:03:00.031Z", "size_readable": "", "public_url": "https://aggravating-graffiti.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/include", "mime_type": "", "size": 39873, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-10-09T14:35:38.900Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2023-06-02T18:03:00.031Z", "size_readable": "", "public_url": "https://aggravating-graffiti.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-14T02:26:18.152Z", "modified_at": null, "id": "", "metadata": {"key": 496263, "key1": "", "key2": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 561607, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-08-14T02:26:18.152Z", "modified_at": null, "id": "", "metadata": {"key": 496263, "key1": "", "key2": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 561607, "required": false}]}, "discount": {"duration": "forever", "type": "percentage", "basis_points": 1000, "created_at": "2024-12-04T04:37:49.573Z", "modified_at": "2025-06-23T08:50:11.993Z", "id": "", "metadata": {"key": false}, "name": "", "code": "", "starts_at": "2024-09-21T22:50:40.236Z", "ends_at": "2026-05-03T04:33:34.190Z", "max_redemptions": 265915, "redemptions_count": 732961, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2025-11-06T13:01:30.486Z", "modified_at": "2025-03-26T10:08:00.196Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 270516, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}, {"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": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 834580, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-06-23T08:50:11.993Z", "modified_at": "2026-11-18T10:27:58.317Z", "id": "", "applies_at": "2026-04-10T00:55:03.476Z", "product_id": "", "seats": 241744}}, {"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2024-03-26T10:08:00.196Z", "id": "", "amount": 492124, "currency": "Rial Omani", "recurring_interval": "year", "recurring_interval_count": 308570, "status": "canceled", "current_period_start": "2025-09-23T15:13:06.761Z", "current_period_end": "2023-09-22T22:50:40.236Z", "trial_start": "2025-09-23T15:13:06.761Z", "trial_end": "2023-09-22T22:50:40.236Z", "cancel_at_period_end": true, "canceled_at": "2024-06-12T10:43:36.497Z", "started_at": "2025-03-14T07:47:35.696Z", "ends_at": "2025-07-03T16:46:46.137Z", "ended_at": "2024-03-20T05:19:38.088Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "metadata": {"key": true, "key1": 142409}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-24T17:03:16.161Z", "modified_at": "2025-05-07T18:20:34.107Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-25T13:44:42.918Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2024-12-09T00:06:17.749Z", "modified_at": "2025-08-24T16:27:54.472Z", "trial_interval": "year", "trial_interval_count": 265915, "name": "", "description": "er making aha doing offset oh incidentally aside hm", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 492124, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {"key": false, "key1": false, "key2": false}, "prices": [], "benefits": [{"id": "", "created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-05-11T08:58:06.412Z", "type": "custom", "description": "border pink insert sonnet membership access made-up aha an", "selectable": false, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": ""}, "visibility": "private", "properties": {"note": ""}, "visibility_configurable": false}, {"id": "", "created_at": "2025-05-20T14:55:17.223Z", "modified_at": "2025-04-09T10:13:23.999Z", "type": "github_repository", "description": "quarrelsome joyously diligently mmm joshingly sailor or jury annex", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "visibility": "public", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}, "visibility_configurable": false}, {"id": "", "created_at": "2025-05-20T14:55:17.223Z", "modified_at": "2025-04-09T10:13:23.999Z", "type": "github_repository", "description": "quarrelsome joyously diligently mmm joshingly sailor or jury annex", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "visibility": "draft", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/include", "mime_type": "", "size": 39873, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-10-09T14:35:38.900Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2023-06-02T18:03:00.031Z", "size_readable": "", "public_url": "https://aggravating-graffiti.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/include", "mime_type": "", "size": 39873, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-10-09T14:35:38.900Z", "version": null, "service": "product_media", "is_uploaded": false, "created_at": "2023-06-02T18:03:00.031Z", "size_readable": "", "public_url": "https://aggravating-graffiti.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-14T02:26:18.152Z", "modified_at": null, "id": "", "metadata": {"key": 496263, "key1": "", "key2": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 561607, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-08-14T02:26:18.152Z", "modified_at": null, "id": "", "metadata": {"key": 496263, "key1": "", "key2": ""}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 561607, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 786734, "type": "fixed", "basis_points": 1000, "created_at": "2026-04-30T02:52:35.936Z", "modified_at": "2024-10-28T13:21:35.872Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2026-09-12T12:57:56.639Z", "ends_at": "2024-11-10T17:51:02.571Z", "max_redemptions": 215064, "redemptions_count": 776767, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "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": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 262272, "legacy": true}, {"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": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 827165, "maximum_amount": 310545, "preset_amount": 154160, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-06-23T08:50:11.993Z", "modified_at": "2026-11-18T10:27:58.317Z", "id": "", "applies_at": "2026-04-10T00:55:03.476Z", "product_id": "", "seats": 241744}}], "pagination": {"total_count": 947589, "max_page": 388476}} "422": application/json: {} subscriptions:export: @@ -2528,7 +2493,7 @@ examples: application/json: {"product_id": ""} responses: "200": - application/json: {"created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2023-05-01T08:54:32.351Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 297120, "status": "canceled", "current_period_start": "2024-10-27T19:14:25.505Z", "current_period_end": "2025-11-08T09:51:13.337Z", "trial_start": "2023-12-04T14:44:14.136Z", "trial_end": "2023-05-01T08:54:32.351Z", "cancel_at_period_end": false, "canceled_at": "2023-05-16T23:35:19.423Z", "started_at": "2023-11-02T08:09:24.083Z", "ends_at": "2025-04-12T21:04:51.008Z", "ended_at": "2023-12-10T00:14:34.013Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": null, "metadata": {"key": 7847.22, "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-12-28T05:26:01.320Z", "modified_at": "2023-07-10T03:03:20.499Z", "metadata": {"key": 6844.97}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-09T13:23:35.812Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-08-15T15:06:53.828Z", "modified_at": "2025-03-30T01:15:57.619Z", "trial_interval": "year", "trial_interval_count": 827417, "name": "", "description": null, "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 891943, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {"key": "", "key1": 6842.69}, "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}], "benefits": [], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-08-28T05:31:36.934Z", "modified_at": "2025-01-12T20:56:10.352Z", "id": "", "metadata": {"key": "", "key1": true}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 610180, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2025-08-28T05:31:36.934Z", "modified_at": "2025-01-12T20:56:10.352Z", "id": "", "metadata": {"key": "", "key1": true}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 610180, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2025-08-28T05:31:36.934Z", "modified_at": "2025-01-12T20:56:10.352Z", "id": "", "metadata": {"key": "", "key1": true}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 610180, "required": true}]}, "discount": {"duration": "forever", "duration_in_months": 913858, "type": "percentage", "amount": 925698, "currency": "Pound Sterling", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2025-01-31T19:57:33.256Z", "modified_at": "2024-11-08T18:43:15.968Z", "id": "", "metadata": {"key": 2646.89}, "name": "", "code": "", "starts_at": "2025-02-01T12:19:14.944Z", "ends_at": "2023-04-23T06:57:38.844Z", "max_redemptions": 467745, "redemptions_count": 167766, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"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}, {"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": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 563833, "legacy": true}], "meters": [{"created_at": "2025-04-18T21:57:33.981Z", "modified_at": "2024-10-02T20:14:14.923Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2024-07-09T16:42:12.156Z", "modified_at": "2025-01-04T07:19:55.953Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": [{"conjunction": "and", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}, {"created_at": "2025-04-18T21:57:33.981Z", "modified_at": "2024-10-02T20:14:14.923Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2024-07-09T16:42:12.156Z", "modified_at": "2025-01-04T07:19:55.953Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": [{"conjunction": "and", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2025-04-18T08:25:13.474Z", "modified_at": "2025-09-07T02:23:54.975Z", "id": "", "applies_at": "2026-07-07T21:05:18.372Z", "product_id": "", "seats": 278595}} + application/json: {"created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2023-05-01T08:54:32.351Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 297120, "status": "canceled", "current_period_start": "2024-10-27T19:14:25.505Z", "current_period_end": "2025-11-08T09:51:13.337Z", "trial_start": "2023-12-04T14:44:14.136Z", "trial_end": "2023-05-01T08:54:32.351Z", "cancel_at_period_end": false, "canceled_at": "2023-05-16T23:35:19.423Z", "started_at": "2023-11-02T08:09:24.083Z", "ends_at": "2025-04-12T21:04:51.008Z", "ended_at": "2023-12-10T00:14:34.013Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": null, "metadata": {"key": 7847.22, "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-12-28T05:26:01.320Z", "modified_at": "2023-07-10T03:03:20.499Z", "metadata": {"key": 6844.97}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-09T13:23:35.812Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-08-15T15:06:53.828Z", "modified_at": "2025-03-30T01:15:57.619Z", "trial_interval": "year", "trial_interval_count": 827417, "name": "", "description": null, "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 891943, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {"key": "", "key1": 6842.69}, "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}], "benefits": [], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-08-28T05:31:36.934Z", "modified_at": "2025-01-12T20:56:10.352Z", "id": "", "metadata": {"key": "", "key1": true}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 610180, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2025-08-28T05:31:36.934Z", "modified_at": "2025-01-12T20:56:10.352Z", "id": "", "metadata": {"key": "", "key1": true}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 610180, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2025-08-28T05:31:36.934Z", "modified_at": "2025-01-12T20:56:10.352Z", "id": "", "metadata": {"key": "", "key1": true}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 610180, "required": true}]}, "discount": {"duration": "forever", "duration_in_months": 913858, "type": "percentage", "amount": 925698, "currency": "Pound Sterling", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2025-01-31T19:57:33.256Z", "modified_at": "2024-11-08T18:43:15.968Z", "id": "", "metadata": {"key": 2646.89}, "name": "", "code": "", "starts_at": "2025-02-01T12:19:14.944Z", "ends_at": "2023-04-23T06:57:38.844Z", "max_redemptions": 467745, "redemptions_count": 167766, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"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}, {"created_at": "2026-09-04T13:39:15.428Z", "modified_at": "2024-06-08T23:09:57.743Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "week", "minimum_amount": 951105, "maximum_amount": 838393, "preset_amount": 429503, "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": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 563833, "legacy": true}], "meters": [{"created_at": "2025-04-18T21:57:33.981Z", "modified_at": "2024-10-02T20:14:14.923Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2024-07-09T16:42:12.156Z", "modified_at": "2025-01-04T07:19:55.953Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": [{"conjunction": "and", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}, {"created_at": "2025-04-18T21:57:33.981Z", "modified_at": "2024-10-02T20:14:14.923Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2024-07-09T16:42:12.156Z", "modified_at": "2025-01-04T07:19:55.953Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": [{"conjunction": "and", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2025-04-18T08:25:13.474Z", "modified_at": "2025-09-07T02:23:54.975Z", "id": "", "applies_at": "2026-07-07T21:05:18.372Z", "product_id": "", "seats": 278595}} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -2546,7 +2511,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-04-13T16:53:14.377Z", "modified_at": "2023-10-09T16:03:24.107Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 93707, "status": "past_due", "current_period_start": "2024-09-21T11:35:55.569Z", "current_period_end": "2025-03-29T10:01:06.463Z", "trial_start": null, "trial_end": "2023-10-09T16:03:24.107Z", "cancel_at_period_end": true, "canceled_at": "2025-09-12T16:35:27.128Z", "started_at": "2025-07-19T10:57:44.516Z", "ends_at": "2023-01-14T16:02:07.001Z", "ended_at": "2024-04-09T01:58:52.778Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": false}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-02-06T08:24:11.064Z", "modified_at": null, "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-08-01T19:22:16.612Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-14T01:49:23.359Z", "modified_at": "2023-02-27T03:18:26.391Z", "trial_interval": "week", "trial_interval_count": 618257, "name": "", "description": "yowza meh ethyl where once exotic", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 256997, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 3063.89, "key1": true}, "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}, {"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}], "benefits": [{"id": "", "created_at": "2023-10-30T15:15:07.973Z", "modified_at": "2025-02-25T11:02:14.286Z", "type": "meter_credit", "description": "circa cassava because", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 3478.81, "key1": "", "key2": true}, "visibility": "draft", "properties": {"units": 921282, "rollover": false, "meter_id": ""}, "visibility_configurable": true}, {"id": "", "created_at": "2023-10-30T15:15:07.973Z", "modified_at": "2025-02-25T11:02:14.286Z", "type": "meter_credit", "description": "circa cassava because", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 3478.81, "key1": "", "key2": true}, "visibility": "draft", "properties": {"units": 921282, "rollover": false, "meter_id": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 105567, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-02T19:01:45.651Z", "size_readable": "", "public_url": "https://inconsequential-slide.com"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 105567, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-02T19:01:45.651Z", "size_readable": "", "public_url": "https://inconsequential-slide.com"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 105567, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-02T19:01:45.651Z", "size_readable": "", "public_url": "https://inconsequential-slide.com"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-04-12T03:15:38.858Z", "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": 153470, "type": "fixed", "basis_points": 284416, "created_at": "2024-03-23T02:00:57.683Z", "modified_at": "2025-01-27T19:18:40.809Z", "id": "", "metadata": {"key": 4126.15, "key1": 3937.48}, "name": "", "code": null, "starts_at": "2025-06-08T16:09:35.643Z", "ends_at": "2024-02-05T12:40:28.600Z", "max_redemptions": 819891, "redemptions_count": 779464, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"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": 93707, "maximum_amount": 75257, "preset_amount": 135909, "legacy": true}, {"created_at": "2025-09-15T17:22:16.784Z", "modified_at": "2024-11-04T09:40:35.837Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 803091, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}], "meters": [{"created_at": "2023-06-22T22:55:35.524Z", "modified_at": "2023-05-11T08:44:43.261Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": false, "key1": 561011}, "created_at": "2024-02-17T07:16:15.047Z", "modified_at": null, "id": "", "name": "", "unit": "token", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}, {"created_at": "2023-06-22T22:55:35.524Z", "modified_at": "2023-05-11T08:44:43.261Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": false, "key1": 561011}, "created_at": "2024-02-17T07:16:15.047Z", "modified_at": null, "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}, {"created_at": "2023-06-22T22:55:35.524Z", "modified_at": "2023-05-11T08:44:43.261Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": false, "key1": 561011}, "created_at": "2024-02-17T07:16:15.047Z", "modified_at": null, "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-09-12T16:35:27.128Z", "modified_at": "2026-07-19T10:57:44.516Z", "id": "", "applies_at": "2024-09-14T11:29:54.406Z", "product_id": null, "seats": 423433}} + application/json: {"created_at": "2023-04-13T16:53:14.377Z", "modified_at": "2023-10-09T16:03:24.107Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 93707, "status": "past_due", "current_period_start": "2024-09-21T11:35:55.569Z", "current_period_end": "2025-03-29T10:01:06.463Z", "trial_start": null, "trial_end": "2023-10-09T16:03:24.107Z", "cancel_at_period_end": true, "canceled_at": "2025-09-12T16:35:27.128Z", "started_at": "2025-07-19T10:57:44.516Z", "ends_at": "2023-01-14T16:02:07.001Z", "ended_at": "2024-04-09T01:58:52.778Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": false}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-02-06T08:24:11.064Z", "modified_at": null, "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-08-01T19:22:16.612Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-14T01:49:23.359Z", "modified_at": "2023-02-27T03:18:26.391Z", "trial_interval": "week", "trial_interval_count": 618257, "name": "", "description": "yowza meh ethyl where once exotic", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 256997, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 3063.89, "key1": true}, "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": "2024-10-08T16:03:24.107Z", "modified_at": "2024-10-17T20:01:51.483Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 81640, "maximum_amount": 899354, "preset_amount": 848957, "legacy": true}, {"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}], "benefits": [{"id": "", "created_at": "2023-10-30T15:15:07.973Z", "modified_at": "2025-02-25T11:02:14.286Z", "type": "meter_credit", "description": "circa cassava because", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 3478.81, "key1": "", "key2": true}, "visibility": "draft", "properties": {"units": 921282, "rollover": false, "meter_id": ""}, "visibility_configurable": true}, {"id": "", "created_at": "2023-10-30T15:15:07.973Z", "modified_at": "2025-02-25T11:02:14.286Z", "type": "meter_credit", "description": "circa cassava because", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 3478.81, "key1": "", "key2": true}, "visibility": "draft", "properties": {"units": 921282, "rollover": false, "meter_id": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 105567, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-02T19:01:45.651Z", "size_readable": "", "public_url": "https://inconsequential-slide.com"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 105567, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-02T19:01:45.651Z", "size_readable": "", "public_url": "https://inconsequential-slide.com"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 105567, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-02T19:01:45.651Z", "size_readable": "", "public_url": "https://inconsequential-slide.com"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-04-12T03:15:38.858Z", "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": 153470, "type": "fixed", "basis_points": 284416, "created_at": "2024-03-23T02:00:57.683Z", "modified_at": "2025-01-27T19:18:40.809Z", "id": "", "metadata": {"key": 4126.15, "key1": 3937.48}, "name": "", "code": null, "starts_at": "2025-06-08T16:09:35.643Z", "ends_at": "2024-02-05T12:40:28.600Z", "max_redemptions": 819891, "redemptions_count": 779464, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2024-12-29T23:05:01.176Z", "modified_at": "2026-09-25T04:14:25.732Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 47784, "maximum_amount": 795496, "preset_amount": 86495, "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": 93707, "maximum_amount": 75257, "preset_amount": 135909, "legacy": true}, {"created_at": "2025-09-15T17:22:16.784Z", "modified_at": "2024-11-04T09:40:35.837Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 803091, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}], "meters": [{"created_at": "2023-06-22T22:55:35.524Z", "modified_at": "2023-05-11T08:44:43.261Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": false, "key1": 561011}, "created_at": "2024-02-17T07:16:15.047Z", "modified_at": null, "id": "", "name": "", "unit": "token", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}, {"created_at": "2023-06-22T22:55:35.524Z", "modified_at": "2023-05-11T08:44:43.261Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": false, "key1": 561011}, "created_at": "2024-02-17T07:16:15.047Z", "modified_at": null, "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}, {"created_at": "2023-06-22T22:55:35.524Z", "modified_at": "2023-05-11T08:44:43.261Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": false, "key1": 561011}, "created_at": "2024-02-17T07:16:15.047Z", "modified_at": null, "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-09-12T16:35:27.128Z", "modified_at": "2026-07-19T10:57:44.516Z", "id": "", "applies_at": "2024-09-14T11:29:54.406Z", "product_id": null, "seats": 423433}} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -2580,7 +2545,7 @@ examples: application/x-www-form-urlencoded: {"token": "", "client_id": "", "client_secret": ""} responses: "200": - application/json: {"active": false, "client_id": "", "token_type": "access_token", "scope": "", "sub_type": "organization", "sub": "", "aud": "", "iss": "", "exp": 726442, "iat": 758897} + application/json: {"active": false, "client_id": "", "token_type": "access_token", "scope": "", "sub_type": "organization", "sub": "", "organizations": ["", "", ""], "aud": "", "iss": "", "exp": 726442, "iat": 758897} oauth2:userinfo: speakeasy-default-oauth2-:userinfo: responses: @@ -2600,7 +2565,7 @@ examples: oauth2:clients:oauth2:create_client: speakeasy-default-oauth2-:clients:oauth2-:create-client: requestBody: - application/json: {"redirect_uris": ["https://impolite-hippodrome.com/", "https://acidic-tomography.net/"], "token_endpoint_auth_method": "client_secret_post", "scope": "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write organization_access_tokens:read organization_access_tokens:write", "client_name": ""} + application/json: {"redirect_uris": ["https://impolite-hippodrome.com/", "https://acidic-tomography.net/"], "token_endpoint_auth_method": "client_secret_post", "scope": "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write", "client_name": ""} responses: "200": application/json: "" @@ -2622,7 +2587,7 @@ examples: path: client_id: "" requestBody: - application/json: {"redirect_uris": ["https://classic-cantaloupe.org", "https://corrupt-status.biz/"], "token_endpoint_auth_method": "client_secret_post", "scope": "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write organization_access_tokens:read organization_access_tokens:write", "client_name": "", "client_id": ""} + application/json: {"redirect_uris": ["https://classic-cantaloupe.org", "https://corrupt-status.biz/"], "token_endpoint_auth_method": "client_secret_post", "scope": "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write", "client_name": "", "client_id": ""} responses: "200": application/json: "" @@ -2677,7 +2642,7 @@ examples: path: id: "" requestBody: - application/json: {"type": "custom"} + application/json: {"type": "discord"} responses: "200": application/json: {"id": "", "created_at": "2025-05-22T21:58:57.366Z", "modified_at": "2024-02-01T04:36:57.345Z", "type": "meter_credit", "description": "gosh perfectly fund efface", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": false}, "visibility": "public", "properties": {"units": 356294, "rollover": false, "meter_id": ""}, "visibility_configurable": false} @@ -2730,7 +2695,7 @@ examples: application/json: {"name": "", "prices": [], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "recurring_interval": "year"} responses: "201": - application/json: {"id": "", "created_at": "2025-01-12T01:51:18.973Z", "modified_at": "2025-11-10T04:18:09.355Z", "trial_interval": "month", "trial_interval_count": null, "name": "", "description": "well-worn against cash unless offensively chromakey exempt dense cruelly peony", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 746612, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": ""}, "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": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/srv", "mime_type": "", "size": 791819, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-03-25T22:23:54.102Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-01-18T23:38:34.369Z", "size_readable": "", "public_url": "https://rewarding-defendant.org"}, {"id": "", "organization_id": "", "name": "", "path": "/srv", "mime_type": "", "size": 791819, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-03-25T22:23:54.102Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-01-18T23:38:34.369Z", "size_readable": "", "public_url": "https://rewarding-defendant.org"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-12T11:07:33.436Z", "modified_at": "2024-10-25T01:29:33.276Z", "id": "", "metadata": {}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 29798, "required": false}]} + application/json: {"id": "", "created_at": "2025-01-12T01:51:18.973Z", "modified_at": "2025-11-10T04:18:09.355Z", "trial_interval": "month", "trial_interval_count": null, "name": "", "description": "well-worn against cash unless offensively chromakey exempt dense cruelly peony", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 746612, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": ""}, "prices": [{"created_at": "2024-04-19T14:04:54.240Z", "modified_at": "2025-11-07T17:01:01.790Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 502309, "meter_id": "", "meter": {"id": "", "name": "", "unit": "token"}}, {"created_at": "2026-11-14T23:25:48.045Z", "modified_at": "2024-08-08T02:35:41.394Z", "id": "", "source": "ad_hoc", "amount_type": "seat_based", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "seat_tiers": {"tiers": [], "minimum_seats": 82780, "maximum_seats": 665986}}, {"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": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/srv", "mime_type": "", "size": 791819, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-03-25T22:23:54.102Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-01-18T23:38:34.369Z", "size_readable": "", "public_url": "https://rewarding-defendant.org"}, {"id": "", "organization_id": "", "name": "", "path": "/srv", "mime_type": "", "size": 791819, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-03-25T22:23:54.102Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-01-18T23:38:34.369Z", "size_readable": "", "public_url": "https://rewarding-defendant.org"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-12T11:07:33.436Z", "modified_at": "2024-10-25T01:29:33.276Z", "id": "", "metadata": {}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 29798, "required": false}]} "422": application/json: {} products:get: @@ -2740,7 +2705,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-02-13T06:53:33.624Z", "modified_at": "2023-05-12T13:18:24.858Z", "trial_interval": "month", "trial_interval_count": 612534, "name": "", "description": "unless spirit brr", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 624323, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 6163.88, "key1": 9317.36}, "prices": [{"created_at": "2023-05-12T13:18:24.858Z", "modified_at": "2023-05-14T01:41:35.647Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 730788, "legacy": true}, {"created_at": "2023-11-27T09:27:19.424Z", "modified_at": "2025-05-27T01:17:58.930Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 949423, "legacy": true}, {"created_at": "2025-07-22T04:15:31.279Z", "modified_at": "2023-09-19T09:44:34.428Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-02-09T15:41:59.550Z", "modified_at": "2024-04-11T03:19:35.244Z", "type": "downloadables", "description": "simplistic loudly phony pomelo fiercely fellow hearten like politely geez", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 916.31, "key1": true, "key2": 42514}, "visibility": "private", "properties": {"archived": {"key": false, "key1": true}, "files": ["", ""]}, "visibility_configurable": false}, {"id": "", "created_at": "2024-06-16T18:41:03.517Z", "modified_at": "2024-09-07T07:56:09.259Z", "type": "meter_credit", "description": "mmm neatly after", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": 9567.58}, "visibility": "draft", "properties": {"units": 361243, "rollover": false, "meter_id": ""}, "visibility_configurable": false}], "medias": [], "attached_custom_fields": []} + application/json: {"id": "", "created_at": "2024-02-13T06:53:33.624Z", "modified_at": "2023-05-12T13:18:24.858Z", "trial_interval": "month", "trial_interval_count": 612534, "name": "", "description": "unless spirit brr", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 624323, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 6163.88, "key1": 9317.36}, "prices": [{"created_at": "2023-05-12T13:18:24.858Z", "modified_at": "2023-05-14T01:41:35.647Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 730788, "legacy": true}, {"created_at": "2023-11-27T09:27:19.424Z", "modified_at": "2025-05-27T01:17:58.930Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 949423, "legacy": true}, {"created_at": "2024-05-11T13:18:24.858Z", "modified_at": "2024-05-13T01:41:35.647Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 301454, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-02-09T15:41:59.550Z", "modified_at": "2024-04-11T03:19:35.244Z", "type": "downloadables", "description": "simplistic loudly phony pomelo fiercely fellow hearten like politely geez", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 916.31, "key1": true, "key2": 42514}, "visibility": "private", "properties": {"archived": {"key": false, "key1": true}, "files": ["", ""]}, "visibility_configurable": false}, {"id": "", "created_at": "2024-06-16T18:41:03.517Z", "modified_at": "2024-09-07T07:56:09.259Z", "type": "meter_credit", "description": "mmm neatly after", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": 9567.58}, "visibility": "draft", "properties": {"units": 361243, "rollover": false, "meter_id": ""}, "visibility_configurable": false}], "medias": [], "attached_custom_fields": []} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -2849,7 +2814,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2025-12-02T21:32:42.156Z", "payment_processor": "stripe", "status": "succeeded", "client_secret": "", "url": "https://punctual-guacamole.org", "expires_at": "2023-08-19T15:22:33.462Z", "success_url": "https://biodegradable-coal.com", "return_url": "https://definite-finer.org/", "embed_origin": "", "amount": 780504, "discount_amount": 766358, "net_amount": 630886, "tax_amount": 936353, "tax_behavior": "inclusive", "total_amount": 994328, "currency": "Algerian Dinar", "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": false, "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": "optional", "city": "required", "postal_code": "required", "line1": "disabled", "line2": "optional"}, "trial_interval": "month", "trial_interval_count": 902613, "metadata": {"key": 507672, "key1": 563944}, "external_customer_id": "", "products": [{"id": "", "created_at": "2023-11-04T01:52:59.639Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "dally bungalow congregate howl", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 345801, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-12-18T03:04:16.879Z", "modified_at": "2025-12-13T18:59:55.618Z", "type": "custom", "description": "tennis badly hoick", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}]}, {"id": "", "created_at": "2023-11-04T01:52:59.639Z", "modified_at": null, "trial_interval": "day", "trial_interval_count": 780504, "name": "", "description": "dally bungalow congregate howl", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 332812, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-12-18T03:04:16.879Z", "modified_at": "2025-12-13T18:59:55.618Z", "type": "custom", "description": "tennis badly hoick", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}]}], "product": {"id": "", "created_at": "2025-10-08T08:06:47.691Z", "modified_at": "2023-01-13T21:51:28.028Z", "trial_interval": "month", "trial_interval_count": 936353, "name": "", "description": "wildly edge except so calculus square", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 662364, "is_recurring": true, "is_archived": false, "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": "inclusive", "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": "location", "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-12-18T03:04:16.879Z", "modified_at": "2025-12-13T18:59:55.618Z", "type": "custom", "description": "tennis badly hoick", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-12-18T03:04:16.879Z", "modified_at": "2025-12-13T18:59:55.618Z", "type": "custom", "description": "tennis badly hoick", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}]}, "product_price": {"created_at": "2026-12-02T21:32:42.156Z", "modified_at": "2025-09-19T19:41:27.901Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 210438, "maximum_amount": 66960, "preset_amount": 136812, "legacy": true}, "prices": {"key": [], "key1": [{"created_at": "2023-03-15T09:19:49.081Z", "modified_at": "2023-05-30T22:42:00.703Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}]}, "discount": null, "subscription_id": "", "attached_custom_fields": [], "customer_metadata": {"key": 163571, "key1": 954376}}], "pagination": {"total_count": 608889, "max_page": 572838}} + application/json: {"items": [{"id": "", "created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2025-12-02T21:32:42.156Z", "payment_processor": "stripe", "status": "succeeded", "client_secret": "", "url": "https://punctual-guacamole.org", "expires_at": "2023-08-19T15:22:33.462Z", "success_url": "https://biodegradable-coal.com", "return_url": "https://definite-finer.org/", "embed_origin": "", "amount": 780504, "discount_amount": 766358, "net_amount": 630886, "tax_amount": 936353, "tax_behavior": "inclusive", "total_amount": 994328, "currency": "Algerian Dinar", "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": false, "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": "optional", "city": "required", "postal_code": "required", "line1": "disabled", "line2": "optional"}, "trial_interval": "month", "trial_interval_count": 902613, "metadata": {"key": 507672, "key1": 563944}, "external_customer_id": "", "products": [{"id": "", "created_at": "2023-11-04T01:52:59.639Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "dally bungalow congregate howl", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 345801, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-12-18T03:04:16.879Z", "modified_at": "2025-12-13T18:59:55.618Z", "type": "custom", "description": "tennis badly hoick", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}]}, {"id": "", "created_at": "2023-11-04T01:52:59.639Z", "modified_at": null, "trial_interval": "day", "trial_interval_count": 780504, "name": "", "description": "dally bungalow congregate howl", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 332812, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-12-18T03:04:16.879Z", "modified_at": "2025-12-13T18:59:55.618Z", "type": "custom", "description": "tennis badly hoick", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}]}], "product": {"id": "", "created_at": "2025-10-08T08:06:47.691Z", "modified_at": "2023-01-13T21:51:28.028Z", "trial_interval": "month", "trial_interval_count": 936353, "name": "", "description": "wildly edge except so calculus square", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 662364, "is_recurring": true, "is_archived": false, "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": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 645390, "legacy": true}, {"created_at": "2024-07-13T12:00:22.546Z", "modified_at": "2026-12-02T21:32:42.156Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 210438, "maximum_amount": 66960, "preset_amount": 136812, "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-12-18T03:04:16.879Z", "modified_at": "2025-12-13T18:59:55.618Z", "type": "custom", "description": "tennis badly hoick", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-12-18T03:04:16.879Z", "modified_at": "2025-12-13T18:59:55.618Z", "type": "custom", "description": "tennis badly hoick", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 790983, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-28T15:09:33.411Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-27T20:48:20.123Z", "size_readable": "", "public_url": "https://skeletal-solvency.com"}]}, "product_price": {"created_at": "2026-12-02T21:32:42.156Z", "modified_at": "2025-09-19T19:41:27.901Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 210438, "maximum_amount": 66960, "preset_amount": 136812, "legacy": true}, "prices": {"key": [], "key1": [{"created_at": "2026-04-19T22:15:44.328Z", "modified_at": "2025-07-26T10:32:13.861Z", "id": "", "source": "ad_hoc", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "seat_tiers": {"tiers": [{"min_seats": 762494, "price_per_seat": 262775}], "minimum_seats": 744718, "maximum_seats": null}}]}, "discount": null, "subscription_id": "", "attached_custom_fields": [], "customer_metadata": {"key": 163571, "key1": 954376}}], "pagination": {"total_count": 608889, "max_page": 572838}} "422": application/json: {} checkouts:create: @@ -2858,7 +2823,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-01-06T02:40:29.447Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://willing-outset.info/", "expires_at": "2025-05-04T00:57:38.223Z", "success_url": "https://wonderful-adrenalin.info", "return_url": "https://great-fen.com", "embed_origin": "", "amount": 267381, "discount_amount": 51493, "net_amount": 549002, "tax_amount": 457933, "tax_behavior": "exclusive", "total_amount": 901758, "currency": "Singapore Dollar", "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": false, "require_billing_address": true, "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": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "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": true, "key1": 633599}, "external_customer_id": "", "products": [{"id": "", "created_at": "2024-02-11T14:47:29.817Z", "modified_at": "2023-12-03T20:20:32.728Z", "trial_interval": "year", "trial_interval_count": 978623, "name": "", "description": "mousse psst pulp because connect deer coordination drum behind yieldingly", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 974785, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-01-03T23:26:44.843Z", "modified_at": "2023-01-06T02:40:29.447Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 779234, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/tmp", "mime_type": "", "size": 957931, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-05-06T15:29:56.878Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2024-04-02T19:44:45.852Z", "size_readable": "", "public_url": "https://nervous-jet.com/"}]}], "product": {"id": "", "created_at": "2025-06-14T10:40:20.746Z", "modified_at": "2025-01-27T16:41:51.128Z", "trial_interval": null, "trial_interval_count": 452269, "name": "", "description": "over competent powerfully", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 324391, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-01-14T08:53:43.010Z", "modified_at": "2024-05-10T16:28:30.439Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 901758, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}], "benefits": [], "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": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "week", "minimum_amount": 779234, "maximum_amount": 978623, "preset_amount": null, "legacy": true}, "prices": {"key": [{"created_at": "2025-05-04T00:57:38.223Z", "modified_at": "2025-12-08T13:41:13.215Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "day", "legacy": true}]}, "discount": {"duration": "forever", "duration_in_months": 602692, "type": "percentage", "basis_points": 1000, "id": "", "name": "", "code": null}, "subscription_id": "", "attached_custom_fields": [], "customer_metadata": {"key": true, "key1": 753950, "key2": ""}} + application/json: {"id": "", "created_at": "2024-01-03T23:26:44.843Z", "modified_at": "2023-01-06T02:40:29.447Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://willing-outset.info/", "expires_at": "2025-05-04T00:57:38.223Z", "success_url": "https://wonderful-adrenalin.info", "return_url": "https://great-fen.com", "embed_origin": "", "amount": 267381, "discount_amount": 51493, "net_amount": 549002, "tax_amount": 457933, "tax_behavior": "exclusive", "total_amount": 901758, "currency": "Singapore Dollar", "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": false, "require_billing_address": true, "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": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "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": true, "key1": 633599}, "external_customer_id": "", "products": [{"id": "", "created_at": "2024-02-11T14:47:29.817Z", "modified_at": "2023-12-03T20:20:32.728Z", "trial_interval": "year", "trial_interval_count": 978623, "name": "", "description": "mousse psst pulp because connect deer coordination drum behind yieldingly", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 974785, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-01-03T23:26:44.843Z", "modified_at": "2023-01-06T02:40:29.447Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 779234, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/tmp", "mime_type": "", "size": 957931, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-05-06T15:29:56.878Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2024-04-02T19:44:45.852Z", "size_readable": "", "public_url": "https://nervous-jet.com/"}]}], "product": {"id": "", "created_at": "2025-06-14T10:40:20.746Z", "modified_at": "2025-01-27T16:41:51.128Z", "trial_interval": null, "trial_interval_count": 452269, "name": "", "description": "over competent powerfully", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 324391, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-01-14T08:53:43.010Z", "modified_at": "2024-05-10T16:28:30.439Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 901758, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}], "benefits": [], "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": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "week", "minimum_amount": 779234, "maximum_amount": 978623, "preset_amount": null, "legacy": true}, "prices": {"key": [{"created_at": "2025-01-02T23:26:44.843Z", "modified_at": "2024-01-06T02:40:29.447Z", "id": "", "source": "ad_hoc", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "seat_tiers": {"tiers": [], "minimum_seats": 779234, "maximum_seats": 978623}}]}, "discount": {"duration": "forever", "duration_in_months": 602692, "type": "percentage", "basis_points": 1000, "id": "", "name": "", "code": null}, "subscription_id": "", "attached_custom_fields": [], "customer_metadata": {"key": true, "key1": 753950, "key2": ""}} "422": application/json: {} checkouts:get: @@ -2882,7 +2847,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, "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": "exclusive", "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": "location", "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-09-29T23:37:22.091Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 495203, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}, "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": "2026-11-30T19:59:27.996Z", "modified_at": "2024-09-29T23:37:22.091Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 2702, "legacy": true}, {"created_at": "2024-04-28T13:57:59.390Z", "modified_at": "2026-07-25T11:34:32.511Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 579773, "maximum_amount": null, "preset_amount": 97335, "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": "location", "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-09-29T23:37:22.091Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 495203, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}, "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": @@ -2896,7 +2861,7 @@ examples: client_secret: "" responses: "200": - application/json: {"id": "", "created_at": "2025-06-24T05:51:11.116Z", "modified_at": "2025-07-21T02:35:25.261Z", "payment_processor": "stripe", "status": "confirmed", "client_secret": "", "url": "https://simplistic-nudge.net", "expires_at": "2024-08-27T15:59:15.813Z", "success_url": "https://damp-ostrich.net", "return_url": "https://thorny-mathematics.net", "embed_origin": "", "amount": 129651, "discount_amount": 979690, "net_amount": 68566, "tax_amount": 755934, "tax_behavior": "exclusive", "total_amount": 778145, "currency": "CFA Franc BCEAO", "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": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "disabled", "postal_code": "optional", "line1": "disabled", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-11-10T10:55:29.910Z", "modified_at": "2025-02-27T16:08:01.240Z", "trial_interval": "month", "trial_interval_count": 867631, "name": "", "description": "gut yahoo mechanic advancement pace", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 844979, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-03-27T23:50:15.369Z", "modified_at": "2025-11-11T17:18:47.743Z", "type": "github_repository", "description": "whenever valiantly potentially till", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/share", "mime_type": "", "size": 53813, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-04-09T23:56:37.016Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-28T20:57:02.041Z", "size_readable": "", "public_url": "https://timely-ice-cream.info"}]}, {"id": "", "created_at": "2025-11-10T10:55:29.910Z", "modified_at": "2025-02-27T16:08:01.240Z", "trial_interval": "month", "trial_interval_count": 173963, "name": "", "description": "gut yahoo mechanic advancement pace", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 558443, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-03-27T23:50:15.369Z", "modified_at": "2025-11-11T17:18:47.743Z", "type": "github_repository", "description": "whenever valiantly potentially till", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/share", "mime_type": "", "size": 53813, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-04-09T23:56:37.016Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-28T20:57:02.041Z", "size_readable": "", "public_url": "https://timely-ice-cream.info"}]}], "product": {"id": "", "created_at": "2025-06-13T01:03:58.697Z", "modified_at": "2023-05-03T05:36:23.041Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "blah toward against unhappy hot however", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 748822, "is_recurring": true, "is_archived": false, "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": "custom"}}, {"created_at": "2023-07-10T15:56:39.492Z", "modified_at": "2025-12-09T17:45:18.853Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-03-12T04:59:11.184Z", "modified_at": "2025-06-11T08:05:03.606Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 433632, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-03-27T23:50:15.369Z", "modified_at": "2025-11-11T17:18:47.743Z", "type": "github_repository", "description": "whenever valiantly potentially till", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/share", "mime_type": "", "size": 53813, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-04-09T23:56:37.016Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-28T20:57:02.041Z", "size_readable": "", "public_url": "https://timely-ice-cream.info"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/share", "mime_type": "", "size": 53813, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-04-09T23:56:37.016Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-28T20:57:02.041Z", "size_readable": "", "public_url": "https://timely-ice-cream.info"}]}, "product_price": {"created_at": "2026-05-19T02:18:24.778Z", "modified_at": "2025-10-29T23:16:41.742Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, "prices": {"key": [{"created_at": "2024-11-20T03:28:45.411Z", "modified_at": "2023-07-10T15:56:39.492Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 950981, "maximum_amount": 731029, "preset_amount": 814176, "legacy": true}], "key1": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 207850, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2023-11-25T05:44:46.275Z", "modified_at": "2023-04-04T00:17:57.339Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://colorful-packaging.biz", "proration_behavior": "prorate", "allow_customer_updates": false}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-07-25T14:36:16.639Z", "modified_at": "2025-08-30T21:44:31.855Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 817087, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-07-25T14:36:16.639Z", "modified_at": "2025-08-30T21:44:31.855Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 817087, "required": true}]} + application/json: {"id": "", "created_at": "2025-06-24T05:51:11.116Z", "modified_at": "2025-07-21T02:35:25.261Z", "payment_processor": "stripe", "status": "confirmed", "client_secret": "", "url": "https://simplistic-nudge.net", "expires_at": "2024-08-27T15:59:15.813Z", "success_url": "https://damp-ostrich.net", "return_url": "https://thorny-mathematics.net", "embed_origin": "", "amount": 129651, "discount_amount": 979690, "net_amount": 68566, "tax_amount": 755934, "tax_behavior": "exclusive", "total_amount": 778145, "currency": "CFA Franc BCEAO", "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": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "disabled", "postal_code": "optional", "line1": "disabled", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-11-10T10:55:29.910Z", "modified_at": "2025-02-27T16:08:01.240Z", "trial_interval": "month", "trial_interval_count": 867631, "name": "", "description": "gut yahoo mechanic advancement pace", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 844979, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-03-27T23:50:15.369Z", "modified_at": "2025-11-11T17:18:47.743Z", "type": "github_repository", "description": "whenever valiantly potentially till", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/share", "mime_type": "", "size": 53813, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-04-09T23:56:37.016Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-28T20:57:02.041Z", "size_readable": "", "public_url": "https://timely-ice-cream.info"}]}, {"id": "", "created_at": "2025-11-10T10:55:29.910Z", "modified_at": "2025-02-27T16:08:01.240Z", "trial_interval": "month", "trial_interval_count": 173963, "name": "", "description": "gut yahoo mechanic advancement pace", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 558443, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-03-27T23:50:15.369Z", "modified_at": "2025-11-11T17:18:47.743Z", "type": "github_repository", "description": "whenever valiantly potentially till", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/share", "mime_type": "", "size": 53813, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-04-09T23:56:37.016Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-28T20:57:02.041Z", "size_readable": "", "public_url": "https://timely-ice-cream.info"}]}], "product": {"id": "", "created_at": "2025-06-13T01:03:58.697Z", "modified_at": "2023-05-03T05:36:23.041Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "blah toward against unhappy hot however", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 748822, "is_recurring": true, "is_archived": false, "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": "custom"}}, {"created_at": "2026-07-21T02:35:25.261Z", "modified_at": "2026-05-19T02:18:24.778Z", "id": "", "source": "ad_hoc", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "seat_tiers": {"tiers": [{"min_seats": 162606, "price_per_seat": 628782}], "minimum_seats": 701062, "maximum_seats": 129651}}, {"created_at": "2025-03-12T04:59:11.184Z", "modified_at": "2025-06-11T08:05:03.606Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 433632, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-03-27T23:50:15.369Z", "modified_at": "2025-11-11T17:18:47.743Z", "type": "github_repository", "description": "whenever valiantly potentially till", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/share", "mime_type": "", "size": 53813, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-04-09T23:56:37.016Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-28T20:57:02.041Z", "size_readable": "", "public_url": "https://timely-ice-cream.info"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/share", "mime_type": "", "size": 53813, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-04-09T23:56:37.016Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-28T20:57:02.041Z", "size_readable": "", "public_url": "https://timely-ice-cream.info"}]}, "product_price": {"created_at": "2026-05-19T02:18:24.778Z", "modified_at": "2025-10-29T23:16:41.742Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 262839, "maximum_amount": 778145, "preset_amount": 372785, "legacy": true}, "prices": {"key": [{"created_at": "2024-11-20T03:28:45.411Z", "modified_at": "2023-07-10T15:56:39.492Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 950981, "maximum_amount": 731029, "preset_amount": 814176, "legacy": true}], "key1": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 207850, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2023-11-25T05:44:46.275Z", "modified_at": "2023-04-04T00:17:57.339Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://colorful-packaging.biz", "proration_behavior": "prorate", "allow_customer_updates": false}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-07-25T14:36:16.639Z", "modified_at": "2025-08-30T21:44:31.855Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 817087, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-07-25T14:36:16.639Z", "modified_at": "2025-08-30T21:44:31.855Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 817087, "required": true}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "410": @@ -3095,7 +3060,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "trial_interval": "year", "trial_interval_count": 379186, "metadata": {"key": 269522}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://wretched-peony.com/", "return_url": "https://punctual-glider.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 962255, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "week", "trial_interval_count": 269522, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "visibility": "private", "recurring_interval": "year", "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"}}, {"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": [{"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}, {"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}]}], "discount": {"duration": "once", "duration_in_months": 354366, "type": "fixed", "basis_points": 140653, "created_at": "2024-08-19T15:49:46.374Z", "modified_at": "2024-11-08T09:13:07.988Z", "id": "", "metadata": {"key": 6965.21, "key1": 727000}, "name": "", "code": "", "starts_at": "2023-08-16T05:03:04.814Z", "ends_at": "2023-11-17T21:19:16.987Z", "max_redemptions": 65553, "redemptions_count": 331792, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://forsaken-hamburger.info/"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "trial_interval": "week", "trial_interval_count": 656194, "metadata": {"key": 269522}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://wretched-peony.com/", "return_url": "https://uniform-gallery.org/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 379186, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "month", "trial_interval_count": 743139, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 379186, "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": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-01-30T11:54:59.602Z", "modified_at": "2025-12-23T14:11:20.089Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 267903, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}, {"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}]}], "discount": {"duration": "once", "duration_in_months": 354366, "type": "fixed", "basis_points": 140653, "created_at": "2024-08-19T15:49:46.374Z", "modified_at": "2024-11-08T09:13:07.988Z", "id": "", "metadata": {"key": 6965.21, "key1": 727000}, "name": "", "code": "", "starts_at": "2023-08-16T05:03:04.814Z", "ends_at": "2023-11-17T21:19:16.987Z", "max_redemptions": 65553, "redemptions_count": 331792, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://forsaken-hamburger.info/"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "trial_interval": "week", "trial_interval_count": 958373, "metadata": {"key": 269522}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://wretched-peony.com/", "return_url": "https://tidy-reorganisation.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 438333, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "year", "trial_interval_count": 470214, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 438333, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-07-07T18:45:01.201Z", "modified_at": "2023-05-16T12:45:34.730Z", "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": "2023-04-05T16:33:44.616Z", "modified_at": "2023-12-19T09:15:06.533Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 363007, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}, {"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}]}], "discount": {"duration": "once", "duration_in_months": 354366, "type": "fixed", "basis_points": 140653, "created_at": "2024-08-19T15:49:46.374Z", "modified_at": "2024-11-08T09:13:07.988Z", "id": "", "metadata": {"key": 6965.21, "key1": 727000}, "name": "", "code": "", "starts_at": "2023-08-16T05:03:04.814Z", "ends_at": "2023-11-17T21:19:16.987Z", "max_redemptions": 65553, "redemptions_count": 331792, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://forsaken-hamburger.info/"}], "pagination": {"total_count": 226341, "max_page": 804607}} + application/json: {"items": [{"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "trial_interval": "year", "trial_interval_count": 379186, "metadata": {"key": 269522}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://wretched-peony.com/", "return_url": "https://punctual-glider.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 962255, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "week", "trial_interval_count": 269522, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "visibility": "private", "recurring_interval": "year", "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"}}, {"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": [{"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}, {"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}]}], "discount": {"duration": "once", "duration_in_months": 354366, "type": "fixed", "basis_points": 140653, "created_at": "2024-08-19T15:49:46.374Z", "modified_at": "2024-11-08T09:13:07.988Z", "id": "", "metadata": {"key": 6965.21, "key1": 727000}, "name": "", "code": "", "starts_at": "2023-08-16T05:03:04.814Z", "ends_at": "2023-11-17T21:19:16.987Z", "max_redemptions": 65553, "redemptions_count": 331792, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://forsaken-hamburger.info/"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "trial_interval": "week", "trial_interval_count": 656194, "metadata": {"key": 269522}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://wretched-peony.com/", "return_url": "https://uniform-gallery.org/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 379186, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "month", "trial_interval_count": 743139, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 379186, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-12-08T18:31:28.967Z", "modified_at": "2026-08-25T12:12:46.370Z", "id": "", "source": "catalog", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "seat_tiers": {"tiers": [], "minimum_seats": 987277, "maximum_seats": 161318}}, {"created_at": "2025-01-30T11:54:59.602Z", "modified_at": "2025-12-23T14:11:20.089Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 267903, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}, {"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}]}], "discount": {"duration": "once", "duration_in_months": 354366, "type": "fixed", "basis_points": 140653, "created_at": "2024-08-19T15:49:46.374Z", "modified_at": "2024-11-08T09:13:07.988Z", "id": "", "metadata": {"key": 6965.21, "key1": 727000}, "name": "", "code": "", "starts_at": "2023-08-16T05:03:04.814Z", "ends_at": "2023-11-17T21:19:16.987Z", "max_redemptions": 65553, "redemptions_count": 331792, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://forsaken-hamburger.info/"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "trial_interval": "week", "trial_interval_count": 958373, "metadata": {"key": 269522}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://wretched-peony.com/", "return_url": "https://tidy-reorganisation.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 438333, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "year", "trial_interval_count": 470214, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 438333, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2026-03-25T11:30:39.715Z", "modified_at": "2025-03-02T10:02:24.454Z", "id": "", "source": "catalog", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "seat_tiers": {"tiers": [], "minimum_seats": 987277, "maximum_seats": 161318}}, {"created_at": "2023-04-05T16:33:44.616Z", "modified_at": "2023-12-19T09:15:06.533Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 363007, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-01-11T23:38:31.265Z", "modified_at": "2023-05-01T01:24:54.811Z", "type": "downloadables", "description": "gosh french or slow bin competent tuba follower oof", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}, {"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 397996, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-12-04T19:29:48.554Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-11-06T19:24:06.160Z", "size_readable": "", "public_url": "https://pitiful-flint.org"}]}], "discount": {"duration": "once", "duration_in_months": 354366, "type": "fixed", "basis_points": 140653, "created_at": "2024-08-19T15:49:46.374Z", "modified_at": "2024-11-08T09:13:07.988Z", "id": "", "metadata": {"key": 6965.21, "key1": 727000}, "name": "", "code": "", "starts_at": "2023-08-16T05:03:04.814Z", "ends_at": "2023-11-17T21:19:16.987Z", "max_redemptions": 65553, "redemptions_count": 331792, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://forsaken-hamburger.info/"}], "pagination": {"total_count": 226341, "max_page": 804607}} "422": application/json: {} checkout-links:create: @@ -3128,7 +3093,7 @@ examples: application/json: {} responses: "200": - application/json: {"id": "", "created_at": "2024-02-14T03:05:16.462Z", "modified_at": "2023-10-02T17:43:12.732Z", "trial_interval": "year", "trial_interval_count": 763251, "metadata": {"key": 634930, "key1": 386368, "key2": 65111}, "payment_processor": "stripe", "client_secret": "", "success_url": null, "return_url": "https://extroverted-role.info", "label": "", "allow_discount_codes": false, "require_billing_address": true, "discount_id": "", "seats": 758989, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": true}, "id": "", "created_at": "2025-10-17T09:34:18.549Z", "modified_at": "2023-05-08T01:48:20.829Z", "trial_interval": "month", "trial_interval_count": 386368, "name": "", "description": "gloat quadruple baggy wealthy definitive gummy", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 758989, "is_recurring": true, "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}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 93657, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-07T04:45:04.362Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-05-27T13:57:42.899Z", "size_readable": "", "public_url": "https://thorny-underneath.net/"}]}], "discount": {"duration": "once", "duration_in_months": 714829, "type": "fixed", "basis_points": 328433, "created_at": "2024-10-09T01:37:50.990Z", "modified_at": "2024-09-18T07:54:19.084Z", "id": "", "metadata": {"key": true, "key1": 836096}, "name": "", "code": "", "starts_at": "2023-07-16T07:36:44.270Z", "ends_at": "2024-02-21T08:23:11.430Z", "max_redemptions": 998703, "redemptions_count": 730226, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://empty-importance.org"} + application/json: {"id": "", "created_at": "2024-02-14T03:05:16.462Z", "modified_at": "2023-10-02T17:43:12.732Z", "trial_interval": "year", "trial_interval_count": 763251, "metadata": {"key": 634930, "key1": 386368, "key2": 65111}, "payment_processor": "stripe", "client_secret": "", "success_url": null, "return_url": "https://extroverted-role.info", "label": "", "allow_discount_codes": false, "require_billing_address": true, "discount_id": "", "seats": 758989, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": true}, "id": "", "created_at": "2025-10-17T09:34:18.549Z", "modified_at": "2023-05-08T01:48:20.829Z", "trial_interval": "month", "trial_interval_count": 386368, "name": "", "description": "gloat quadruple baggy wealthy definitive gummy", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 758989, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2024-10-01T17:43:12.732Z", "modified_at": "2025-03-22T06:34:43.285Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "day", "price_amount": 99989, "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}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 93657, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-07T04:45:04.362Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-05-27T13:57:42.899Z", "size_readable": "", "public_url": "https://thorny-underneath.net/"}]}], "discount": {"duration": "once", "duration_in_months": 714829, "type": "fixed", "basis_points": 328433, "created_at": "2024-10-09T01:37:50.990Z", "modified_at": "2024-09-18T07:54:19.084Z", "id": "", "metadata": {"key": true, "key1": 836096}, "name": "", "code": "", "starts_at": "2023-07-16T07:36:44.270Z", "ends_at": "2024-02-21T08:23:11.430Z", "max_redemptions": 998703, "redemptions_count": 730226, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://empty-importance.org"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3373,7 +3338,7 @@ examples: id: "" responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-23T10:33:06.148Z", "modified_at": "2023-02-27T08:27:16.536Z", "metadata": {"key": "", "key1": 633662}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-06-17T08:42:23.682Z", "active_subscriptions": [], "granted_benefits": [{"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-04-30T21:47:35.026Z", "modified_at": "2025-07-24T18:39:25.292Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "meter_credit", "benefit_metadata": {"key": "value"}, "properties": {}}], "active_meters": [{"id": "", "created_at": "2023-09-20T07:57:07.722Z", "modified_at": "2025-03-26T21:37:11.251Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-23T10:33:06.148Z", "modified_at": "2023-02-27T08:27:16.536Z", "metadata": {"key": "", "key1": 633662}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-06-17T08:42:23.682Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404", "active_subscriptions": [], "granted_benefits": [{"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-04-30T21:47:35.026Z", "modified_at": "2025-07-24T18:39:25.292Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "meter_credit", "benefit_metadata": {"key": "value"}, "properties": {}}], "active_meters": [{"id": "", "created_at": "2023-09-20T07:57:07.722Z", "modified_at": "2025-03-26T21:37:11.251Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3385,7 +3350,7 @@ examples: external_id: "" responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-30T17:22:51.531Z", "modified_at": "2023-11-29T18:51:49.385Z", "metadata": {"key": 7243, "key1": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-22T13:58:19.637Z", "active_subscriptions": [{"id": "e5149aae-e521-42b9-b24c-abb3d71eea2e", "created_at": "2023-08-11T03:25:00.199Z", "modified_at": "2023-09-26T12:48:54.200Z", "metadata": {}, "status": "active", "amount": 1000, "currency": "usd", "recurring_interval": "month", "current_period_start": "2025-02-03T13:37:00Z", "current_period_end": "2025-03-03T13:37:00Z", "trial_start": "2025-02-03T13:37:00Z", "trial_end": "2025-03-03T13:37:00Z", "cancel_at_period_end": false, "canceled_at": null, "started_at": "2025-01-03T13:37:00Z", "ends_at": null, "product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "discount_id": null, "meters": [{"created_at": "2024-10-14T09:52:27.345Z", "modified_at": "2025-03-01T08:36:48.449Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22"}]}], "granted_benefits": [{"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-05-11T12:04:47.637Z", "modified_at": "2024-06-03T16:51:15.542Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "github_repository", "benefit_metadata": {"key": "value"}, "properties": {}}], "active_meters": [], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-30T17:22:51.531Z", "modified_at": "2023-11-29T18:51:49.385Z", "metadata": {"key": 7243, "key1": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-22T13:58:19.637Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404", "active_subscriptions": [{"id": "e5149aae-e521-42b9-b24c-abb3d71eea2e", "created_at": "2023-08-11T03:25:00.199Z", "modified_at": "2023-09-26T12:48:54.200Z", "metadata": {}, "status": "active", "amount": 1000, "currency": "usd", "recurring_interval": "month", "current_period_start": "2025-02-03T13:37:00Z", "current_period_end": "2025-03-03T13:37:00Z", "trial_start": "2025-02-03T13:37:00Z", "trial_end": "2025-03-03T13:37:00Z", "cancel_at_period_end": false, "canceled_at": null, "started_at": "2025-01-03T13:37:00Z", "ends_at": null, "product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "discount_id": null, "meters": [{"created_at": "2024-10-14T09:52:27.345Z", "modified_at": "2025-03-01T08:36:48.449Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22"}]}], "granted_benefits": [{"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-05-11T12:04:47.637Z", "modified_at": "2024-06-03T16:51:15.542Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "github_repository", "benefit_metadata": {"key": "value"}, "properties": {}}], "active_meters": []} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3603,7 +3568,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2025-11-07T01:29:33.239Z", "modified_at": "2025-10-01T14:10:31.444Z", "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": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2023-11-19T04:53:34.522Z", "modified_at": "2025-11-25T20:27:43.607Z", "trial_interval": "week", "trial_interval_count": 836532, "name": "", "description": "too jubilantly empty meh", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 460383, "is_recurring": false, "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}], "benefits": [{"id": "", "created_at": "2025-07-23T03:55:01.103Z", "modified_at": "2025-05-14T03:22:06.100Z", "type": "meter_credit", "description": "ah coagulate not thankfully buzzing boohoo mask vulgarise far-off drat", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-07-23T03:55:01.103Z", "modified_at": "2025-05-14T03:22:06.100Z", "type": "meter_credit", "description": "ah coagulate not thankfully buzzing boohoo mask vulgarise far-off drat", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-07-23T03:55:01.103Z", "modified_at": "2025-05-14T03:22:06.100Z", "type": "meter_credit", "description": "ah coagulate not thankfully buzzing boohoo mask vulgarise far-off drat", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [], "organization": {"created_at": "2023-07-27T19:30:57.624Z", "modified_at": "2025-02-13T12:23:44.948Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://hot-amendment.biz/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": true}}}}, "subscription": {"created_at": "2025-03-12T22:14:21.224Z", "modified_at": "2024-03-29T21:03:44.806Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 916598, "status": "canceled", "current_period_start": "2023-10-08T20:14:11.453Z", "current_period_end": "2023-01-11T05:31:47.928Z", "trial_start": "2025-01-24T05:08:03.541Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2024-11-02T16:16:11.516Z", "started_at": "2024-04-10T15:06:14.767Z", "ends_at": "2023-08-09T06:47:34.634Z", "ended_at": "2023-05-14T07:05:36.107Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_expensive", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-15T16:46:25.288Z", "modified_at": "2023-06-13T07:31:24.272Z", "id": "", "label": "", "amount": 846674, "tax_amount": 465593, "proration": true, "product_price_id": ""}, {"created_at": "2023-03-15T16:46:25.288Z", "modified_at": "2023-06-13T07:31:24.272Z", "id": "", "label": "", "amount": 846674, "tax_amount": 465593, "proration": true, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} + application/json: {"id": "", "created_at": "2025-11-07T01:29:33.239Z", "modified_at": "2025-10-01T14:10:31.444Z", "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": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2023-11-19T04:53:34.522Z", "modified_at": "2025-11-25T20:27:43.607Z", "trial_interval": "week", "trial_interval_count": 836532, "name": "", "description": "too jubilantly empty meh", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 460383, "is_recurring": false, "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": "2026-10-01T14:10:31.444Z", "modified_at": "2026-11-12T18:03:36.492Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 1252, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-07-23T03:55:01.103Z", "modified_at": "2025-05-14T03:22:06.100Z", "type": "meter_credit", "description": "ah coagulate not thankfully buzzing boohoo mask vulgarise far-off drat", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-07-23T03:55:01.103Z", "modified_at": "2025-05-14T03:22:06.100Z", "type": "meter_credit", "description": "ah coagulate not thankfully buzzing boohoo mask vulgarise far-off drat", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-07-23T03:55:01.103Z", "modified_at": "2025-05-14T03:22:06.100Z", "type": "meter_credit", "description": "ah coagulate not thankfully buzzing boohoo mask vulgarise far-off drat", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [], "organization": {"created_at": "2023-07-27T19:30:57.624Z", "modified_at": "2025-02-13T12:23:44.948Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://hot-amendment.biz/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": true}}}}, "subscription": {"created_at": "2025-03-12T22:14:21.224Z", "modified_at": "2024-03-29T21:03:44.806Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 916598, "status": "canceled", "current_period_start": "2023-10-08T20:14:11.453Z", "current_period_end": "2023-01-11T05:31:47.928Z", "trial_start": "2025-01-24T05:08:03.541Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2024-11-02T16:16:11.516Z", "started_at": "2024-04-10T15:06:14.767Z", "ends_at": "2023-08-09T06:47:34.634Z", "ended_at": "2023-05-14T07:05:36.107Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_expensive", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-15T16:46:25.288Z", "modified_at": "2023-06-13T07:31:24.272Z", "id": "", "label": "", "amount": 846674, "tax_amount": 465593, "proration": true, "product_price_id": ""}, {"created_at": "2023-03-15T16:46:25.288Z", "modified_at": "2023-06-13T07:31:24.272Z", "id": "", "label": "", "amount": 846674, "tax_amount": 465593, "proration": true, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3627,7 +3592,7 @@ examples: slug: "" responses: "200": - application/json: {"organization": {"created_at": "2025-06-05T07:04:36.562Z", "modified_at": "2024-07-19T19:10:17.295Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://doting-lifestyle.name/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": true}}}, "products": [{"id": "", "created_at": "2025-01-07T03:20:40.621Z", "modified_at": "2024-05-04T02:49:36.301Z", "trial_interval": "month", "trial_interval_count": 846548, "name": "", "description": "behold whereas once gleefully", "visibility": "public", "recurring_interval": null, "recurring_interval_count": 614752, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2024-07-19T19:10:17.295Z", "modified_at": "2023-10-04T14:51:08.320Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2023-05-14T06:28:28.766Z", "modified_at": "2024-09-04T10:55:17.085Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 668979, "maximum_amount": 629088, "preset_amount": 687565, "legacy": true}, {"created_at": "2024-07-30T22:43:06.764Z", "modified_at": "2024-06-03T04:21:14.567Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 672573, "maximum_amount": 446275, "preset_amount": 235699, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-06-10T21:02:03.324Z", "modified_at": "2023-10-23T22:10:37.289Z", "type": "meter_credit", "description": "oh dirty dirty ribbon rear yippee", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/bin", "mime_type": "", "size": 187628, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2025-02-06T06:31:05.333Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-09-02T03:48:53.348Z", "size_readable": "", "public_url": "https://ragged-icebreaker.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/bin", "mime_type": "", "size": 187628, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2025-02-06T06:31:05.333Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-09-02T03:48:53.348Z", "size_readable": "", "public_url": "https://ragged-icebreaker.info/"}]}]} + application/json: {"organization": {"created_at": "2025-06-05T07:04:36.562Z", "modified_at": "2024-07-19T19:10:17.295Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://doting-lifestyle.name/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": true}}}, "products": [{"id": "", "created_at": "2025-01-07T03:20:40.621Z", "modified_at": "2024-05-04T02:49:36.301Z", "trial_interval": "month", "trial_interval_count": 846548, "name": "", "description": "behold whereas once gleefully", "visibility": "public", "recurring_interval": null, "recurring_interval_count": 614752, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-19T19:10:17.295Z", "modified_at": "2024-10-03T14:51:08.320Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": null, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar"}}, {"created_at": "2023-05-14T06:28:28.766Z", "modified_at": "2024-09-04T10:55:17.085Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 668979, "maximum_amount": 629088, "preset_amount": 687565, "legacy": true}, {"created_at": "2024-07-30T22:43:06.764Z", "modified_at": "2024-06-03T04:21:14.567Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 672573, "maximum_amount": 446275, "preset_amount": 235699, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-06-10T21:02:03.324Z", "modified_at": "2023-10-23T22:10:37.289Z", "type": "meter_credit", "description": "oh dirty dirty ribbon rear yippee", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/bin", "mime_type": "", "size": 187628, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2025-02-06T06:31:05.333Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-09-02T03:48:53.348Z", "size_readable": "", "public_url": "https://ragged-icebreaker.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/bin", "mime_type": "", "size": 187628, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2025-02-06T06:31:05.333Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-09-02T03:48:53.348Z", "size_readable": "", "public_url": "https://ragged-icebreaker.info/"}]}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3641,7 +3606,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2023-02-04T21:40:45.220Z", "id": "", "amount": 678476, "currency": "Bahraini Dinar", "recurring_interval": "year", "recurring_interval_count": 180288, "status": "incomplete_expired", "current_period_start": "2025-01-25T11:12:42.694Z", "current_period_end": "2023-11-12T13:08:09.571Z", "trial_start": "2024-07-18T17:21:46.759Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2025-10-28T08:23:28.446Z", "started_at": "2024-01-04T03:39:38.578Z", "ends_at": "2024-09-23T17:15:31.139Z", "ended_at": "2024-04-21T13:12:27.764Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-06-21T23:07:53.931Z", "modified_at": "2024-07-17T01:06:55.024Z", "trial_interval": "day", "trial_interval_count": 96114, "name": "", "description": "an when upwardly", "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-12-28T06:49:52.968Z", "modified_at": "2025-12-13T05:34:39.641Z", "type": "discord", "description": "square back cuddly stack coop descent ick oil concrete give", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [], "organization": {"created_at": "2025-09-28T20:26:17.846Z", "modified_at": "2025-08-10T14:48:44.687Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://front-equal.com", "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}, {"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}], "meters": [{"created_at": "2025-05-02T07:49:21.214Z", "modified_at": "2023-02-10T02:24:08.500Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-02-01T06:30:45.854Z", "modified_at": "2025-08-13T09:16:38.863Z", "id": "", "name": ""}}, {"created_at": "2025-05-02T07:49:21.214Z", "modified_at": "2023-02-10T02:24:08.500Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-02-01T06:30:45.854Z", "modified_at": "2025-08-13T09:16:38.863Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-04-15T08:10:49.325Z", "modified_at": "2024-11-08T06:12:04.123Z", "id": "", "applies_at": "2026-01-25T11:12:42.694Z", "product_id": "", "seats": 196623}}, {"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2023-02-04T21:40:45.220Z", "id": "", "amount": 678476, "currency": "Bahraini Dinar", "recurring_interval": "year", "recurring_interval_count": 580419, "status": "incomplete_expired", "current_period_start": "2025-01-25T11:12:42.694Z", "current_period_end": "2023-11-12T13:08:09.571Z", "trial_start": "2023-11-09T06:12:04.123Z", "trial_end": "2024-04-28T23:59:29.324Z", "cancel_at_period_end": true, "canceled_at": "2025-10-28T08:23:28.446Z", "started_at": "2024-01-04T03:39:38.578Z", "ends_at": "2024-09-23T17:15:31.139Z", "ended_at": "2024-04-21T13:12:27.764Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-06-21T23:07:53.931Z", "modified_at": "2024-07-17T01:06:55.024Z", "trial_interval": "day", "trial_interval_count": 941013, "name": "", "description": "an when upwardly", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": false, "organization_id": "", "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"}}], "benefits": [{"id": "", "created_at": "2024-12-28T06:49:52.968Z", "modified_at": "2025-12-13T05:34:39.641Z", "type": "discord", "description": "square back cuddly stack coop descent ick oil concrete give", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [], "organization": {"created_at": "2025-09-28T20:26:17.846Z", "modified_at": "2025-08-10T14:48:44.687Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://front-equal.com", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2023-08-23T16:58:58.285Z", "modified_at": "2023-06-20T17:27:13.322Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 850254, "legacy": true}, {"created_at": "2024-10-04T17:29:24.326Z", "modified_at": "2024-12-24T08:26:33.925Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 886852, "maximum_amount": 660944, "preset_amount": null, "legacy": true}], "meters": [{"created_at": "2025-05-02T07:49:21.214Z", "modified_at": "2023-02-10T02:24:08.500Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-02-01T06:30:45.854Z", "modified_at": "2025-08-13T09:16:38.863Z", "id": "", "name": ""}}, {"created_at": "2025-05-02T07:49:21.214Z", "modified_at": "2023-02-10T02:24:08.500Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-02-01T06:30:45.854Z", "modified_at": "2025-08-13T09:16:38.863Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-04-15T08:10:49.325Z", "modified_at": "2024-11-08T06:12:04.123Z", "id": "", "applies_at": "2026-01-25T11:12:42.694Z", "product_id": "", "seats": 196623}}], "pagination": {"total_count": 843077, "max_page": 721699}} + application/json: {"items": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2023-02-04T21:40:45.220Z", "id": "", "amount": 678476, "currency": "Bahraini Dinar", "recurring_interval": "year", "recurring_interval_count": 180288, "status": "incomplete_expired", "current_period_start": "2025-01-25T11:12:42.694Z", "current_period_end": "2023-11-12T13:08:09.571Z", "trial_start": "2024-07-18T17:21:46.759Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2025-10-28T08:23:28.446Z", "started_at": "2024-01-04T03:39:38.578Z", "ends_at": "2024-09-23T17:15:31.139Z", "ended_at": "2024-04-21T13:12:27.764Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-06-21T23:07:53.931Z", "modified_at": "2024-07-17T01:06:55.024Z", "trial_interval": "day", "trial_interval_count": 96114, "name": "", "description": "an when upwardly", "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-12-28T06:49:52.968Z", "modified_at": "2025-12-13T05:34:39.641Z", "type": "discord", "description": "square back cuddly stack coop descent ick oil concrete give", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [], "organization": {"created_at": "2025-09-28T20:26:17.846Z", "modified_at": "2025-08-10T14:48:44.687Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://front-equal.com", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2024-01-03T00:35:12.592Z", "modified_at": "2024-02-04T21:40:45.220Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 689295, "legacy": true}, {"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}], "meters": [{"created_at": "2025-05-02T07:49:21.214Z", "modified_at": "2023-02-10T02:24:08.500Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-02-01T06:30:45.854Z", "modified_at": "2025-08-13T09:16:38.863Z", "id": "", "name": ""}}, {"created_at": "2025-05-02T07:49:21.214Z", "modified_at": "2023-02-10T02:24:08.500Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-02-01T06:30:45.854Z", "modified_at": "2025-08-13T09:16:38.863Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-04-15T08:10:49.325Z", "modified_at": "2024-11-08T06:12:04.123Z", "id": "", "applies_at": "2026-01-25T11:12:42.694Z", "product_id": "", "seats": 196623}}, {"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2023-02-04T21:40:45.220Z", "id": "", "amount": 678476, "currency": "Bahraini Dinar", "recurring_interval": "year", "recurring_interval_count": 580419, "status": "incomplete_expired", "current_period_start": "2025-01-25T11:12:42.694Z", "current_period_end": "2023-11-12T13:08:09.571Z", "trial_start": "2023-11-09T06:12:04.123Z", "trial_end": "2024-04-28T23:59:29.324Z", "cancel_at_period_end": true, "canceled_at": "2025-10-28T08:23:28.446Z", "started_at": "2024-01-04T03:39:38.578Z", "ends_at": "2024-09-23T17:15:31.139Z", "ended_at": "2024-04-21T13:12:27.764Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-06-21T23:07:53.931Z", "modified_at": "2024-07-17T01:06:55.024Z", "trial_interval": "day", "trial_interval_count": 941013, "name": "", "description": "an when upwardly", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": false, "organization_id": "", "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"}}], "benefits": [{"id": "", "created_at": "2024-12-28T06:49:52.968Z", "modified_at": "2025-12-13T05:34:39.641Z", "type": "discord", "description": "square back cuddly stack coop descent ick oil concrete give", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [], "organization": {"created_at": "2025-09-28T20:26:17.846Z", "modified_at": "2025-08-10T14:48:44.687Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://front-equal.com", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2023-08-23T16:58:58.285Z", "modified_at": "2023-06-20T17:27:13.322Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 850254, "legacy": true}, {"created_at": "2024-10-04T17:29:24.326Z", "modified_at": "2024-12-24T08:26:33.925Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 886852, "maximum_amount": 660944, "preset_amount": null, "legacy": true}], "meters": [{"created_at": "2025-05-02T07:49:21.214Z", "modified_at": "2023-02-10T02:24:08.500Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-02-01T06:30:45.854Z", "modified_at": "2025-08-13T09:16:38.863Z", "id": "", "name": ""}}, {"created_at": "2025-05-02T07:49:21.214Z", "modified_at": "2023-02-10T02:24:08.500Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-02-01T06:30:45.854Z", "modified_at": "2025-08-13T09:16:38.863Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-04-15T08:10:49.325Z", "modified_at": "2024-11-08T06:12:04.123Z", "id": "", "applies_at": "2026-01-25T11:12:42.694Z", "product_id": "", "seats": 196623}}], "pagination": {"total_count": 843077, "max_page": 721699}} "422": application/json: {} customer_portal:subscriptions:get: @@ -3651,7 +3616,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-07-12T17:28:38.797Z", "modified_at": "2023-06-27T14:55:14.822Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 175847, "status": "past_due", "current_period_start": "2024-12-11T03:15:34.736Z", "current_period_end": "2025-04-27T11:18:42.852Z", "trial_start": "2025-06-29T15:49:22.120Z", "trial_end": "2024-11-13T19:04:25.284Z", "cancel_at_period_end": true, "canceled_at": "2024-01-29T06:39:34.276Z", "started_at": "2024-12-08T10:29:34.380Z", "ends_at": null, "ended_at": "2025-05-26T12:14:55.999Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-01-14T05:59:18.343Z", "modified_at": null, "trial_interval": "day", "trial_interval_count": 647934, "name": "", "description": "ew far-off whoever minus perfectly scared sunbathe uh-huh", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 162063, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-11-30T13:12:22.913Z", "modified_at": "2023-04-11T08:58:03.008Z", "type": "custom", "description": "as below frozen oily beyond pomelo exactly ugh violin whoa", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2023-11-30T13:12:22.913Z", "modified_at": "2023-04-11T08:58:03.008Z", "type": "custom", "description": "as below frozen oily beyond pomelo exactly ugh violin whoa", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [], "organization": {"created_at": "2023-01-09T04:27:19.997Z", "modified_at": "2025-06-19T15:44:52.777Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://alienated-ribbon.org", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": false, "update_plan": true}}}}, "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}, {"created_at": "2025-04-27T11:18:42.852Z", "modified_at": "2025-08-05T11:04:05.877Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 125071, "legacy": true}, {"created_at": "2024-08-10T11:08:56.200Z", "modified_at": "2023-09-21T23:53:38.929Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 684767, "maximum_amount": 130976, "preset_amount": null, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-12-11T03:15:34.736Z", "modified_at": "2026-04-27T11:18:42.852Z", "id": "", "applies_at": "2024-09-10T20:47:05.678Z", "product_id": "", "seats": 540267}} + application/json: {"created_at": "2023-07-12T17:28:38.797Z", "modified_at": "2023-06-27T14:55:14.822Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 175847, "status": "past_due", "current_period_start": "2024-12-11T03:15:34.736Z", "current_period_end": "2025-04-27T11:18:42.852Z", "trial_start": "2025-06-29T15:49:22.120Z", "trial_end": "2024-11-13T19:04:25.284Z", "cancel_at_period_end": true, "canceled_at": "2024-01-29T06:39:34.276Z", "started_at": "2024-12-08T10:29:34.380Z", "ends_at": null, "ended_at": "2025-05-26T12:14:55.999Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-01-14T05:59:18.343Z", "modified_at": null, "trial_interval": "day", "trial_interval_count": 647934, "name": "", "description": "ew far-off whoever minus perfectly scared sunbathe uh-huh", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 162063, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-11-30T13:12:22.913Z", "modified_at": "2023-04-11T08:58:03.008Z", "type": "custom", "description": "as below frozen oily beyond pomelo exactly ugh violin whoa", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2023-11-30T13:12:22.913Z", "modified_at": "2023-04-11T08:58:03.008Z", "type": "custom", "description": "as below frozen oily beyond pomelo exactly ugh violin whoa", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [], "organization": {"created_at": "2023-01-09T04:27:19.997Z", "modified_at": "2025-06-19T15:44:52.777Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://alienated-ribbon.org", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": false, "update_plan": true}}}}, "prices": [{"created_at": "2024-06-26T14:55:14.822Z", "modified_at": "2025-06-06T10:00:39.244Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 231629, "legacy": true}, {"created_at": "2025-04-27T11:18:42.852Z", "modified_at": "2025-08-05T11:04:05.877Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 125071, "legacy": true}, {"created_at": "2024-08-10T11:08:56.200Z", "modified_at": "2023-09-21T23:53:38.929Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 684767, "maximum_amount": 130976, "preset_amount": null, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-12-11T03:15:34.736Z", "modified_at": "2026-04-27T11:18:42.852Z", "id": "", "applies_at": "2024-09-10T20:47:05.678Z", "product_id": "", "seats": 540267}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3665,7 +3630,7 @@ examples: application/json: {} responses: "200": - application/json: {"created_at": "2025-02-02T12:28:03.145Z", "modified_at": "2025-08-15T14:46:08.118Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 762480, "status": "active", "current_period_start": "2025-04-10T15:02:11.907Z", "current_period_end": "2026-04-15T16:15:33.406Z", "trial_start": "2025-02-02T12:28:03.145Z", "trial_end": "2025-08-15T14:46:08.118Z", "cancel_at_period_end": false, "canceled_at": "2024-03-16T11:27:11.204Z", "started_at": "2025-10-09T15:39:35.938Z", "ends_at": "2023-05-18T04:03:20.458Z", "ended_at": "2023-06-12T13:50:06.969Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2023-01-10T05:56:40.811Z", "modified_at": "2023-11-19T12:28:15.778Z", "trial_interval": "day", "trial_interval_count": 444374, "name": "", "description": "lest after until mantua colon dual tremendously well fairly", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 447532, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/home", "mime_type": "", "size": 323960, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-01-15T07:43:32.319Z", "size_readable": "", "public_url": "https://pitiful-cauliflower.com"}], "organization": {"created_at": "2024-01-05T08:15:54.903Z", "modified_at": "2023-05-06T23:49:18.498Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://taut-necklace.net/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": false, "update_plan": true}}}}, "prices": [{"created_at": "2024-05-05T11:52:58.589Z", "modified_at": "2023-07-27T15:38:08.165Z", "id": "", "source": "catalog", "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": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": [], "pending_update": {"created_at": "2024-07-03T22:27:22.248Z", "modified_at": "2025-05-02T00:48:47.943Z", "id": "", "applies_at": "2026-04-10T15:02:11.907Z", "product_id": null, "seats": 700335}} + application/json: {"created_at": "2025-02-02T12:28:03.145Z", "modified_at": "2025-08-15T14:46:08.118Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 762480, "status": "active", "current_period_start": "2025-04-10T15:02:11.907Z", "current_period_end": "2026-04-15T16:15:33.406Z", "trial_start": "2025-02-02T12:28:03.145Z", "trial_end": "2025-08-15T14:46:08.118Z", "cancel_at_period_end": false, "canceled_at": "2024-03-16T11:27:11.204Z", "started_at": "2025-10-09T15:39:35.938Z", "ends_at": "2023-05-18T04:03:20.458Z", "ended_at": "2023-06-12T13:50:06.969Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2023-01-10T05:56:40.811Z", "modified_at": "2023-11-19T12:28:15.778Z", "trial_interval": "day", "trial_interval_count": 444374, "name": "", "description": "lest after until mantua colon dual tremendously well fairly", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 447532, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/home", "mime_type": "", "size": 323960, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-01-15T07:43:32.319Z", "size_readable": "", "public_url": "https://pitiful-cauliflower.com"}], "organization": {"created_at": "2024-01-05T08:15:54.903Z", "modified_at": "2023-05-06T23:49:18.498Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://taut-necklace.net/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": false, "update_plan": true}}}}, "prices": [{"created_at": "2025-05-05T11:52:58.589Z", "modified_at": "2024-07-26T15:38:08.165Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": null, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom"}}, {"created_at": "2026-11-12T16:20:13.096Z", "modified_at": "2026-10-01T04:09:15.514Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 155024, "legacy": true}], "meters": [], "pending_update": {"created_at": "2024-07-03T22:27:22.248Z", "modified_at": "2025-05-02T00:48:47.943Z", "id": "", "applies_at": "2026-04-10T15:02:11.907Z", "product_id": null, "seats": 700335}} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -3681,7 +3646,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-03-14T00:34:28.136Z", "modified_at": "2025-03-22T12:28:05.757Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 65715, "status": "canceled", "current_period_start": "2024-04-07T12:57:17.210Z", "current_period_end": "2025-10-10T15:35:40.020Z", "trial_start": null, "trial_end": "2025-03-22T12:28:05.757Z", "cancel_at_period_end": true, "canceled_at": null, "started_at": "2023-04-12T10:07:43.423Z", "ends_at": "2025-04-12T20:30:15.370Z", "ended_at": "2023-12-08T22:19:01.857Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-10-08T08:23:23.829Z", "modified_at": "2025-05-19T19:23:05.590Z", "trial_interval": "year", "trial_interval_count": 766852, "name": "", "description": "once yuck how inasmuch pish but more webbed", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 740438, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-03-22T12:28:05.757Z", "modified_at": "2025-04-16T15:43:34.874Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 948870, "maximum_amount": 383437, "preset_amount": null, "legacy": true}, {"created_at": "2025-09-28T07:43:04.431Z", "modified_at": "2023-06-14T21:44:38.981Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 920948, "maximum_amount": 928517, "preset_amount": 351570, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-04-07T10:08:15.900Z", "modified_at": "2024-08-29T05:11:58.842Z", "type": "license_keys", "description": "when regarding woot mockingly um greatly sturdy incidentally accept save", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr", "mime_type": "", "size": 188787, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-25T08:19:44.256Z", "size_readable": "", "public_url": "https://direct-recovery.info"}, {"id": "", "organization_id": "", "name": "", "path": "/usr", "mime_type": "", "size": 188787, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-25T08:19:44.256Z", "size_readable": "", "public_url": "https://direct-recovery.info"}, {"id": "", "organization_id": "", "name": "", "path": "/usr", "mime_type": "", "size": 188787, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-25T08:19:44.256Z", "size_readable": "", "public_url": "https://direct-recovery.info"}], "organization": {"created_at": "2023-03-23T07:37:57.258Z", "modified_at": "2024-09-08T02:10:05.056Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://urban-account.info/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2025-11-16T11:22:00.864Z", "modified_at": "2025-05-23T05:24:01.371Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2024-08-30T20:56:44.463Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "meters": [{"created_at": "2025-08-20T07:04:02.136Z", "modified_at": "2025-09-17T00:16:23.454Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2023-04-12T05:19:54.807Z", "modified_at": "2024-07-24T15:24:05.776Z", "id": "", "name": ""}}, {"created_at": "2025-08-20T07:04:02.136Z", "modified_at": "2025-09-17T00:16:23.454Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2023-04-12T05:19:54.807Z", "modified_at": "2024-07-24T15:24:05.776Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2026-11-05T23:03:31.551Z", "modified_at": "2025-02-24T05:56:22.572Z", "id": "", "applies_at": "2024-02-16T10:11:42.223Z", "product_id": "", "seats": null}} + application/json: {"created_at": "2023-03-14T00:34:28.136Z", "modified_at": "2025-03-22T12:28:05.757Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 65715, "status": "canceled", "current_period_start": "2024-04-07T12:57:17.210Z", "current_period_end": "2025-10-10T15:35:40.020Z", "trial_start": null, "trial_end": "2025-03-22T12:28:05.757Z", "cancel_at_period_end": true, "canceled_at": null, "started_at": "2023-04-12T10:07:43.423Z", "ends_at": "2025-04-12T20:30:15.370Z", "ended_at": "2023-12-08T22:19:01.857Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-10-08T08:23:23.829Z", "modified_at": "2025-05-19T19:23:05.590Z", "trial_interval": "year", "trial_interval_count": 766852, "name": "", "description": "once yuck how inasmuch pish but more webbed", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 740438, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-03-22T12:28:05.757Z", "modified_at": "2025-04-16T15:43:34.874Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 948870, "maximum_amount": 383437, "preset_amount": null, "legacy": true}, {"created_at": "2025-09-28T07:43:04.431Z", "modified_at": "2023-06-14T21:44:38.981Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 920948, "maximum_amount": 928517, "preset_amount": 351570, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-04-07T10:08:15.900Z", "modified_at": "2024-08-29T05:11:58.842Z", "type": "license_keys", "description": "when regarding woot mockingly um greatly sturdy incidentally accept save", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr", "mime_type": "", "size": 188787, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-25T08:19:44.256Z", "size_readable": "", "public_url": "https://direct-recovery.info"}, {"id": "", "organization_id": "", "name": "", "path": "/usr", "mime_type": "", "size": 188787, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-25T08:19:44.256Z", "size_readable": "", "public_url": "https://direct-recovery.info"}, {"id": "", "organization_id": "", "name": "", "path": "/usr", "mime_type": "", "size": 188787, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-25T08:19:44.256Z", "size_readable": "", "public_url": "https://direct-recovery.info"}], "organization": {"created_at": "2023-03-23T07:37:57.258Z", "modified_at": "2024-09-08T02:10:05.056Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://urban-account.info/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2026-03-22T12:28:05.757Z", "modified_at": "2026-04-16T15:43:34.874Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 383437, "maximum_amount": null, "preset_amount": 92538, "legacy": true}, {"created_at": "2024-06-13T21:44:38.981Z", "modified_at": "2025-04-03T00:03:50.784Z", "id": "", "source": "catalog", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "seat_tiers": {"tiers": [{"min_seats": 928517, "price_per_seat": 793620}], "minimum_seats": 351570, "maximum_seats": 613373}}], "meters": [{"created_at": "2025-08-20T07:04:02.136Z", "modified_at": "2025-09-17T00:16:23.454Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2023-04-12T05:19:54.807Z", "modified_at": "2024-07-24T15:24:05.776Z", "id": "", "name": ""}}, {"created_at": "2025-08-20T07:04:02.136Z", "modified_at": "2025-09-17T00:16:23.454Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2023-04-12T05:19:54.807Z", "modified_at": "2024-07-24T15:24:05.776Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2026-11-05T23:03:31.551Z", "modified_at": "2025-02-24T05:56:22.572Z", "id": "", "applies_at": "2024-02-16T10:11:42.223Z", "product_id": "", "seats": null}} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -3880,6 +3845,8 @@ examples: application/json: {"error": "InvoiceAlreadyExists", "detail": ""} "422": application/json: {"error": "MissingInvoiceBillingDetails", "detail": ""} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} customer_portal:orders:update: speakeasy-default-customer-portal:orders:update: parameters: @@ -3906,6 +3873,8 @@ examples: application/json: {"error": "InvoiceAlreadyExists", "detail": ""} "422": application/json: {"error": "MissingInvoiceBillingDetails", "detail": ""} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} webhooks:list_webhook_endpoints: speakeasy-default-webhooks:list-webhook-endpoints: parameters: @@ -4373,7 +4342,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2025-12-27T06:17:28.713Z", "modified_at": "2024-10-30T18:31:05.642Z", "id": "", "status": "won", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"} + application/json: {"created_at": "2025-12-27T06:17:28.713Z", "modified_at": "2024-10-30T18:31:05.642Z", "id": "", "status": "won", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353", "case_id": ""} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -4559,7 +4528,7 @@ examples: path: id: "8319ae11-ed5f-4642-81e4-4b40731df195" requestBody: - application/json: {} + application/json: {"name": "Jane Doe"} responses: "200": application/json: {"created_at": "2024-04-06T21:37:42.462Z", "modified_at": "2024-11-02T08:32:45.844Z", "id": "", "email": "Conrad33@gmail.com", "name": "", "role": "owner"} @@ -4808,7 +4777,7 @@ examples: application/json: {} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Python SDK Changes Detected:\n* `polar._endpointcustomer_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointcustomer_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointcustomer_deleted_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointcustomer_state_changed_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointorder_created_post()`: \n * `request.data.customer.billing_name` **Added** **Breaking** :warning:\n* `polar._endpointorder_updated_post()`: \n * `request.data.customer.billing_name` **Added** **Breaking** :warning:\n* `polar._endpointorder_paid_post()`: \n * `request.data.customer.billing_name` **Added** **Breaking** :warning:\n* `polar._endpointorder_refunded_post()`: \n * `request.data.customer.billing_name` **Added** **Breaking** :warning:\n* `polar._endpointsubscription_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_active_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_canceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_uncanceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_revoked_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_past_due_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointproduct_created_post()`: \n * `request.data.benefits.[]` **Changed** **Breaking** :warning:\n* `polar._endpointproduct_updated_post()`: \n * `request.data.benefits.[]` **Changed** **Breaking** :warning:\n* `polar._endpointorganization_updated_post()`: \n * `request.data.feature_settings.account_review_v2_enabled` **Removed** **Breaking** :warning:\n* `polar._endpointbenefit_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_grant_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_grant_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_grant_cycled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_grant_revoked_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar.organizations.list_organizations()`: `response.items.[].feature_settings.account_review_v2_enabled` **Removed** **Breaking** :warning:\n* `polar.organizations.create()`: \n * `request.feature_settings` **Changed** **Breaking** :warning:\n * `response.feature_settings.account_review_v2_enabled` **Removed** **Breaking** :warning:\n* `polar.organizations.get()`: `response.feature_settings.account_review_v2_enabled` **Removed** **Breaking** :warning:\n* `polar.organizations.update()`: \n * `request.organization_update.feature_settings` **Changed** **Breaking** :warning:\n * `response.feature_settings.account_review_v2_enabled` **Removed** **Breaking** :warning:\n* `polar.customer_portal.benefit-grants.update()`: \n * `request.customer_benefit_grant_update.[slack_shared_channel]` **Added**\n * `response` **Changed** **Breaking** :warning:\n* `polar.customer_portal.benefit-grants.get()`: `response` **Changed** **Breaking** :warning:\n* `polar.customer_portal.benefit-grants.list()`: \n * `request.type_filter` **Changed**\n * `response.items.[]` **Changed** **Breaking** :warning:\n* `polar.orders.list()`: `response.items.[].customer.billing_name` **Added**\n* `polar.customers.create()`: `response` **Changed**\n* `polar.benefits.list()`: \n * `request.type_filter` **Changed**\n * `response.items.[]` **Changed**\n* `polar.benefits.create()`: \n * `request` **Changed**\n * `response` **Changed**\n* `polar.benefits.get()`: `response` **Changed**\n* `polar.benefits.update()`: \n * `request_body` **Changed**\n * `response` **Changed**\n* `polar.benefits.grants()`: `response.items.[]` **Changed**\n* `polar.benefit-grants.list()`: `response.items.[]` **Changed**\n* `polar.products.list()`: `response.items.[].benefits.[]` **Changed**\n* `polar.products.create()`: `response.benefits.[]` **Changed**\n* `polar.products.get()`: `response.benefits.[]` **Changed**\n* `polar.products.update()`: `response.benefits.[]` **Changed**\n* `polar.products.update_benefits()`: `response.benefits.[]` **Changed**\n* `polar.subscriptions.revoke()`: `response` **Changed**\n* `polar.orders.create()`: `response.customer.billing_name` **Added**\n* `polar.orders.get()`: `response.customer.billing_name` **Added**\n* `polar.orders.update()`: `response.customer.billing_name` **Added**\n* `polar.orders.finalize()`: `response.customer.billing_name` **Added**\n* `polar.license_keys.list()`: `response.items.[].customer.billing_name` **Added**\n* `polar.license_keys.get()`: `response.customer.billing_name` **Added**\n* `polar.license_keys.update()`: `response.customer.billing_name` **Added**\n* `polar.license_keys.get_activation()`: `response.license_key.customer.billing_name` **Added**\n* `polar.license_keys.validate()`: `response.customer.billing_name` **Added**\n* `polar.license_keys.activate()`: `response.license_key.customer.billing_name` **Added**\n* `polar.checkout-links.list()`: `response.items.[].seats` **Added**\n* `polar.checkout-links.create()`: \n * `request` **Changed**\n * `response.seats` **Added**\n* `polar.checkout-links.get()`: `response.seats` **Added**\n* `polar.checkout-links.update()`: \n * `request.checkout_link_update.seats` **Added**\n * `response.seats` **Added**\n* `polar.customers.list()`: `response.items.[]` **Changed**\n* `polar.subscriptions.update()`: `response` **Changed**\n* `polar.customers.get()`: `response` **Changed**\n* `polar.customers.update()`: `response` **Changed**\n* `polar.customers.get_external()`: `response` **Changed**\n* `polar.customers.update_external()`: `response` **Changed**\n* `polar.customers.get_state()`: `response` **Changed**\n* `polar.customers.get_state_external()`: `response` **Changed**\n* `polar.subscriptions.get()`: `response` **Changed**\n* `polar.subscriptions.create()`: `response` **Changed**\n* `polar.subscriptions.list()`: \n * `request.status` **Added**\n * `response.items.[]` **Changed**\n* `polar.customer_portal.customers.get()`: `response.locale` **Added**\n* `polar.customer_portal.customers.update()`: `response.locale` **Added**\n* `polar.customer_portal.seats.list_claimed_subscriptions()`: `response.items.[].product.organization.organization_features.checkout_localization_enabled` **Added**\n* `polar.customer_portal.license_keys.list()`: `response.items.[].customer.billing_name` **Added**\n* `polar.customer_portal.license_keys.get()`: `response.customer.billing_name` **Added**\n* `polar.customer_portal.license_keys.validate()`: `response.customer.billing_name` **Added**\n* `polar.customer_portal.license_keys.activate()`: `response.license_key.customer.billing_name` **Added**\n* `polar.customer_portal.orders.list()`: `response.items.[].product.organization.organization_features.checkout_localization_enabled` **Added**\n* `polar.customer_portal.orders.get()`: `response.product.organization.organization_features.checkout_localization_enabled` **Added**\n* `polar.customer_portal.orders.update()`: `response.product.organization.organization_features.checkout_localization_enabled` **Added**\n* `polar.customer_portal.organizations.get()`: `response.organization.organization_features.checkout_localization_enabled` **Added**\n* `polar.customer_portal.subscriptions.list()`: `response.items.[].product.organization.organization_features.checkout_localization_enabled` **Added**\n* `polar.customer_portal.subscriptions.get()`: `response.product.organization.organization_features.checkout_localization_enabled` **Added**\n* `polar.customer_portal.subscriptions.cancel()`: `response.product.organization.organization_features.checkout_localization_enabled` **Added**\n* `polar.customer_portal.subscriptions.update()`: `response.product.organization.organization_features.checkout_localization_enabled` **Added**\n* `polar.customer-sessions.create()`: `response.customer` **Changed**\n* `polar.events.list()`: `response.[list_resource_event_].items.[].[system_event]` **Changed**\n* `polar.events.get()`: `response` **Changed**\n* `polar.customer_meters.list()`: `response.items.[].customer` **Changed**\n* `polar.customer_meters.get()`: `response.customer` **Changed**\n" +releaseNotes: "## Python SDK Changes Detected:\n* `polar.organizations.create()`: \n * `request.notification_settings` **Removed** **Breaking** :warning:\n * `response` **Changed** **Breaking** :warning:\n* `polar.subscriptions.get()`: `response` **Changed** **Breaking** :warning:\n* `polar.customer_meters.list()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.events.get()`: `response.[user_event].customer` **Changed** **Breaking** :warning:\n* `polar._endpointcheckout_created_post()`: \n * `request.data.products.[].prices.[]` **Changed** **Breaking** :warning:\n* `polar._endpointcheckout_updated_post()`: \n * `request.data.products.[].prices.[]` **Changed** **Breaking** :warning:\n* `polar._endpointcheckout_expired_post()`: \n * `request.data.products.[].prices.[]` **Changed** **Breaking** :warning:\n* `polar.events.list()`: `response.[list_resource_with_cursor_pagination_event_].items.[].[system_event].[balance.credit_order].customer` **Changed** **Breaking** :warning:\n* `polar.customer-sessions.create()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.customer_portal.orders.generate_invoice()`: `error` **Changed** **Breaking** :warning:\n* `polar.customer_portal.license_keys.activate()`: `response.license_key.customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar.customer_portal.license_keys.validate()`: `response.customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar.customer_portal.license_keys.get()`: `response.customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar.customer_portal.license_keys.list()`: `response.items.[].customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar.customers.get_state_external()`: `response` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_active_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_canceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_uncanceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_revoked_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_past_due_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointproduct_created_post()`: \n * `request.data.prices.[]` **Changed** **Breaking** :warning:\n* `polar._endpointproduct_updated_post()`: \n * `request.data.prices.[]` **Changed** **Breaking** :warning:\n* `polar._endpointorganization_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar.customers.get_state()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.update_external()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.get_external()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.update()`: `response` **Changed** **Breaking** :warning:\n* `polar.organizations.list_organizations()`: `response.items.[]` **Changed** **Breaking** :warning:\n* `polar.customer_meters.get()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.metrics.export()`: `response.status[200]` **Removed** **Breaking** :warning:\n* `polar.orders.finalize()`: `response` **Changed** **Breaking** :warning:\n* `polar.subscriptions.list()`: `response.items.[]` **Changed** **Breaking** :warning:\n* `polar.subscriptions.create()`: `response` **Changed** **Breaking** :warning:\n* `polar.subscriptions.export()`: `response.status[200]` **Removed** **Breaking** :warning:\n* `polar.organizations.get()`: `response` **Changed** **Breaking** :warning:\n* `polar.subscriptions.revoke()`: `response` **Changed** **Breaking** :warning:\n* `polar.subscriptions.update()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.get()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.export()`: `response.status[200]` **Removed** **Breaking** :warning:\n* `polar.benefits.update()`: `request_body` **Changed** **Breaking** :warning:\n* `polar.benefits.grants()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.benefit-grants.list()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.customers.create()`: `response` **Changed** **Breaking** :warning:\n* `polar.products.create()`: \n * `request` **Changed** **Breaking** :warning:\n * `response.prices.[]` **Changed**\n* `polar.customers.list()`: `response.items.[]` **Changed** **Breaking** :warning:\n* `polar.products.update()`: \n * `request.product_update.prices.[].[2].[free]` **Removed** **Breaking** :warning:\n * `response.prices.[]` **Changed**\n* `polar.license_keys.activate()`: `response.license_key.customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar.orders.list()`: `response.items.[]` **Changed** **Breaking** :warning:\n* `polar.orders.create()`: `response` **Changed** **Breaking** :warning:\n* `polar.orders.export()`: `response.status[200]` **Removed** **Breaking** :warning:\n* `polar.orders.get()`: `response` **Changed** **Breaking** :warning:\n* `polar.orders.update()`: `response` **Changed** **Breaking** :warning:\n* `polar.organizations.update()`: \n * `request.organization_update.notification_settings` **Removed** **Breaking** :warning:\n * `response` **Changed** **Breaking** :warning:\n* `polar.orders.generate_invoice()`: `error` **Changed** **Breaking** :warning:\n* `polar.license_keys.validate()`: `response.customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar.license_keys.get_activation()`: `response.license_key.customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar.license_keys.update()`: `response.customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar.checkouts.create()`: \n * `request.prices.{}.[].[free]` **Removed** **Breaking** :warning:\n * `response.products.[].prices.[]` **Changed**\n* `polar.license_keys.get()`: `response.customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar.license_keys.list()`: `response.items.[].customer.avatar_url` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_grant_cycled_post()`: \n * `request.data.[benefit_grant_git_hub_repository_webhook].customer` **Changed**\n* `polar.checkouts.client_update()`: `response.products.[].prices.[]` **Changed**\n* `polar.checkouts.client_confirm()`: `response.products.[].prices.[]` **Changed**\n* `polar.files.list()`: `response.items.[].[support_case_attachment]` **Added**\n* `polar.files.create()`: \n * `request.[support_case_attachment]` **Added**\n* `polar.files.uploaded()`: `response.[support_case_attachment]` **Added**\n* `polar.files.update()`: `response.[support_case_attachment]` **Added**\n* `polar.checkouts.client_get()`: `response.products.[].prices.[]` **Changed**\n* `polar.checkouts.update()`: `response.products.[].prices.[]` **Changed**\n* `polar.checkouts.get()`: `response.products.[].prices.[]` **Changed**\n* `polar.checkouts.list()`: `response.items.[].products.[].prices.[]` **Changed**\n* `polar.disputes.get()`: `response.case_id` **Added**\n* `polar.disputes.list()`: `response.items.[].case_id` **Added**\n* `polar.products.update_benefits()`: `response.prices.[]` **Changed**\n* `polar.checkout-links.list()`: `response.items.[].products.[].prices.[]` **Changed**\n* `polar.checkout-links.create()`: `response.products.[].prices.[]` **Changed**\n* `polar.checkout-links.get()`: `response.products.[].prices.[]` **Changed**\n* `polar.checkout-links.update()`: `response.products.[].prices.[]` **Changed**\n* `polar.products.get()`: `response.prices.[]` **Changed**\n* `polar.products.list()`: `response.items.[].prices.[]` **Changed**\n* `polar.oauth2.introspect()`: `response.organizations` **Added**\n* `polar.oauth2.authorize()`: `response.[user].organizations` **Added**\n* `polar._endpointbenefit_grant_revoked_post()`: \n * `request.data.[benefit_grant_license_keys_webhook].customer` **Changed**\n* `polar.organization_access_tokens.list()`: **Deleted** **Breaking** :warning:\n* `polar._endpointbenefit_grant_updated_post()`: \n * `request.data.[benefit_grant_downloadables_webhook].customer` **Changed**\n* `polar._endpointbenefit_grant_created_post()`: \n * `request.data.[benefit_grant_git_hub_repository_webhook].customer` **Changed**\n* `polar._endpointorder_refunded_post()`: \n * `request.data` **Changed**\n* `polar.members.update_member()`: \n * `request.member_update.email` **Added**\n* `polar.members.update_member_by_external_id()`: \n * `request.member_update.email` **Added**\n* `polar.customer_portal.seats.list_claimed_subscriptions()`: `response.items.[]` **Changed**\n* `polar._endpointorder_paid_post()`: \n * `request.data` **Changed**\n* `polar._endpointorder_updated_post()`: \n * `request.data` **Changed**\n* `polar._endpointorder_created_post()`: \n * `request.data` **Changed**\n* `polar._endpointcustomer_state_changed_post()`: \n * `request.data` **Changed**\n* `polar.customer_portal.members.update_member()`: \n * `request.customer_portal_member_update.name` **Added**\n* `polar.customer_portal.orders.list()`: `response.items.[]` **Changed**\n* `polar.customer_portal.orders.get()`: `response` **Changed**\n* `polar.customer_portal.orders.update()`: `response` **Changed**\n* `polar._endpointcustomer_deleted_post()`: \n * `request.data` **Changed**\n* `polar.customer_portal.organizations.get()`: `response.products.[].prices.[]` **Changed**\n* `polar.customer_portal.subscriptions.list()`: `response.items.[]` **Changed**\n* `polar.customer_portal.subscriptions.get()`: `response` **Changed**\n* `polar.customer_portal.subscriptions.cancel()`: `response` **Changed**\n* `polar.customer_portal.subscriptions.update()`: `response` **Changed**\n* `polar._endpointcustomer_updated_post()`: \n * `request.data` **Changed**\n* `polar._endpointcustomer_created_post()`: \n * `request.data` **Changed**\n* `polar.organization_access_tokens.update()`: **Deleted** **Breaking** :warning:\n* `polar.organization_access_tokens.delete()`: **Deleted** **Breaking** :warning:\n* `polar.organization_access_tokens.create()`: **Deleted** **Breaking** :warning:\n* `polar.payments.list()`: `response.items.[]` **Changed**\n* `polar.payments.get()`: `response` **Changed**\n" trackedFiles: .devcontainer/README.md: last_write_checksum: sha1:e2a191a1fa8ceb27387eb32eabf36f7ad16a532c @@ -4857,13 +4826,11 @@ trackedFiles: docs/models/authorizeorganization.md: last_write_checksum: sha1:79e37d6875e1cb3410dcb28f9d673ef34a6a51f4 docs/models/authorizeresponseorganization.md: - last_write_checksum: sha1:49669170aae64b219d80c43764bf73d86788f943 + last_write_checksum: sha1:95062f6417cae13b91a67b10b7230e8d0d529205 docs/models/authorizeresponseuser.md: - last_write_checksum: sha1:3040ef7dc61e1e2c63b97e72ad84f80e5d773204 + last_write_checksum: sha1:5aaf69f05edc8c6199ab15c204a1663e987e79fd docs/models/authorizeuser.md: last_write_checksum: sha1:e44eafd43e6b2f3c07aca75b5643f609f822bedf - docs/models/availablescope.md: - last_write_checksum: sha1:d5374b7ed204c423c3c55544f089880a19ae8134 docs/models/averageordervalue.md: last_write_checksum: sha1:cdb0b5525cc2a84fa569f0f1fe9fcfae7fde7fae docs/models/averagerevenueperuser.md: @@ -4929,7 +4896,7 @@ trackedFiles: docs/models/benefitdiscordsubscriberproperties.md: last_write_checksum: sha1:779747f7bdb171b7abae83f6df8704bbcad3e6c1 docs/models/benefitdiscordupdate.md: - last_write_checksum: sha1:ae93159960c484e2d8b8464ee98d983fd30410a9 + last_write_checksum: sha1:c9691208611e0131fd2c9b263ee1b114ee09fe0a docs/models/benefitdiscordupdatemetadata.md: last_write_checksum: sha1:00f020082569456352ad9138a0018d18d718b0a6 docs/models/benefitdownloadables.md: @@ -4947,7 +4914,7 @@ trackedFiles: docs/models/benefitdownloadablessubscriberproperties.md: last_write_checksum: sha1:c64b45999cc8697d45205eba713c316921c8e81a docs/models/benefitdownloadablesupdate.md: - last_write_checksum: sha1:36ebbf249c0347405b2877a750a143eb0b6d2839 + last_write_checksum: sha1:d5c4ad52f4856e18c88fbb08112f9715367a0548 docs/models/benefitdownloadablesupdatemetadata.md: last_write_checksum: sha1:299e7c53534a66e0760f80684dec0f7c4636f517 docs/models/benefitfeatureflag.md: @@ -4985,7 +4952,7 @@ trackedFiles: docs/models/benefitgithubrepositorysubscriberproperties.md: last_write_checksum: sha1:cd9d3594fac0d8a755207c59a6f3c88fac0f0abb docs/models/benefitgithubrepositoryupdate.md: - last_write_checksum: sha1:7fc93f87c0ee4c9ae8fe957b1d16fee902b25235 + last_write_checksum: sha1:4ec2db68faaacda875676b954539e124d09c5088 docs/models/benefitgithubrepositoryupdatemetadata.md: last_write_checksum: sha1:98e37f59f1c52381260fe98a38043280fbcf2396 docs/models/benefitgrant.md: @@ -5113,7 +5080,7 @@ trackedFiles: docs/models/benefitslacksharedchannelsubscriberproperties.md: last_write_checksum: sha1:7b6cb51c2ad353214c77921328b253ae2a3908ad docs/models/benefitslacksharedchannelupdate.md: - last_write_checksum: sha1:700df1d709d783c0b4a3bdfe4cbd8c60cbffa264 + last_write_checksum: sha1:1fbd1014a51d67a66d038f6e6a4cfef16afde0f7 docs/models/benefitslacksharedchannelupdatemetadata.md: last_write_checksum: sha1:9d91da80eea2f4bd0a82d3a68102a0e0940e9290 docs/models/benefitslistrequest.md: @@ -5157,7 +5124,7 @@ trackedFiles: docs/models/canceledsubscriptionsunused.md: last_write_checksum: sha1:84ab1011043dfc65ffc9ddf9776c76c86aa0b69a docs/models/cardpayment.md: - last_write_checksum: sha1:82e048959be6f817bec3560a38a71bf6fa309df5 + last_write_checksum: sha1:125848dafa35293ae0c4eef92062a6389530665c docs/models/cardpaymentmetadata.md: last_write_checksum: sha1:0819c2f5e47298bd6f4959e8fd6cde859d0358e1 docs/models/cashflow.md: @@ -5183,7 +5150,7 @@ trackedFiles: docs/models/checkoutcreatemetadata.md: last_write_checksum: sha1:f76f88443f2a3025b5b16cde086837884e6a05b5 docs/models/checkoutcreateprices.md: - last_write_checksum: sha1:69bac6932800e9c0382a2f24e330031d176bdc73 + last_write_checksum: sha1:38b0a1e014212a41897c9dbc1ad9a1d638d2a5b5 docs/models/checkoutcustomfielddata.md: last_write_checksum: sha1:ee292c78881aac65ec8df895b86aace4098db9b4 docs/models/checkoutdiscount.md: @@ -5219,7 +5186,7 @@ trackedFiles: docs/models/checkoutlinkdiscount.md: last_write_checksum: sha1:2064a2807b31a1775300c5e607c152d345c0dd22 docs/models/checkoutlinkproduct.md: - last_write_checksum: sha1:4802c60cd5e48c9cee84689c7a94ebd8c022f6f4 + last_write_checksum: sha1:008cec11bed7d7aa455c013186ac09216bbb64eb docs/models/checkoutlinkproductprices.md: last_write_checksum: sha1:8fa30e194ef1393ff28fb6919b732c372d8f2d8e docs/models/checkoutlinksdeleterequest.md: @@ -5247,7 +5214,7 @@ trackedFiles: docs/models/checkoutprices.md: last_write_checksum: sha1:ee52e462d7d8e4a7ebc00498ce0953c81cbfb854 docs/models/checkoutproduct.md: - last_write_checksum: sha1:af836b950a62e94434ba8dedaf279f7b624494c4 + last_write_checksum: sha1:0a37fd6f365b0aecaf5ecdfe0b285a2fab77f5e3 docs/models/checkoutproductprice.md: last_write_checksum: sha1:4cef65822fa8be291684d9cd175de6e54dbf91e7 docs/models/checkoutproductprices.md: @@ -5435,7 +5402,7 @@ trackedFiles: docs/models/customeridfilter.md: last_write_checksum: sha1:9e9ff05b6e673fadfd6d483a95b64c9d43878d42 docs/models/customerindividual.md: - last_write_checksum: sha1:3f205a12c12a92140f20b46273f7641bfc96446f + last_write_checksum: sha1:afa397ea0be0fba9bd0a7b711e8033b7f0a20f15 docs/models/customerindividualcreate.md: last_write_checksum: sha1:8e45ab29d04cf4b0b73e4f40adfac99a34da05de docs/models/customerindividualcreatemetadata.md: @@ -5463,7 +5430,7 @@ trackedFiles: docs/models/customernotready.md: last_write_checksum: sha1:2faa3980f943abc75095106230343a3e8b67e67a docs/models/customerorder.md: - last_write_checksum: sha1:a5649ac4b004556de0f03305e3a6aea83b0864a9 + last_write_checksum: sha1:49c4f1559ef0416505b8107a98c769655d4c1de3 docs/models/customerorderconfirmpayment.md: last_write_checksum: sha1:d1082e2ca6e98078093253308617e3f1e9039acc docs/models/customerorderinvoice.md: @@ -5473,7 +5440,7 @@ trackedFiles: docs/models/customerorderpaymentstatus.md: last_write_checksum: sha1:7a465d0593b98926a46ecb18efbbbd3c79a9c3f9 docs/models/customerorderproduct.md: - last_write_checksum: sha1:913a4cc80c420a0a41c432ebe5ad34548fc44f9c + last_write_checksum: sha1:a2bafa0762abf7dec8cf16c4ecd05e1b602f70bb docs/models/customerorderproductprices.md: last_write_checksum: sha1:7b4f72ad6e0771acfae65a99e496380017be3672 docs/models/customerorderreceipt.md: @@ -5481,7 +5448,7 @@ trackedFiles: docs/models/customerordersortproperty.md: last_write_checksum: sha1:2c5ed2215d04834a03a21da08d9abaaea757d8a7 docs/models/customerordersubscription.md: - last_write_checksum: sha1:4d8c098e56a618c8e273e6596189b1ad24a144b6 + last_write_checksum: sha1:eed5e23cec801c7b149591efab6af789f20cc917 docs/models/customerorderupdate.md: last_write_checksum: sha1:40d6b3d4ec47f4f7a01e3dac7a2689ce77c178c4 docs/models/customerorganization.md: @@ -5601,7 +5568,7 @@ trackedFiles: docs/models/customerportalmembersupdatememberrequest.md: last_write_checksum: sha1:73dff769015b87fa599def19bc8bdef2aa275e01 docs/models/customerportalmemberupdate.md: - last_write_checksum: sha1:d9e06bb6f1ca0f84ed0e10f81be6f37d71670047 + last_write_checksum: sha1:395f191f7ca861927c9f0b7936a9201c66fafbb8 docs/models/customerportaloauthaccount.md: last_write_checksum: sha1:a7ada537a6650cba160636757306cbc04523df8b docs/models/customerportalordersconfirmretrypaymentrequest.md: @@ -5610,8 +5577,6 @@ trackedFiles: last_write_checksum: sha1:a92451b38e6decb8996872be484a44a520c360c1 docs/models/customerportalordersgenerateinvoicerequest.md: last_write_checksum: sha1:787e28f3d3dbff34866deeb9e5ea56d0af9ec373 - docs/models/customerportalordersgenerateinvoiceresponse422customerportalordersgenerateinvoice.md: - last_write_checksum: sha1:43ddb765a2010b2cb9344a326c0489533b43a672 docs/models/customerportalordersgenerateinvoicesecurity.md: last_write_checksum: sha1:622d81127db8bb35243f574e0ba35e0f059dd76f docs/models/customerportalordersgetpaymentstatusrequest.md: @@ -5703,7 +5668,7 @@ trackedFiles: docs/models/customerportalwalletslistsecurity.md: last_write_checksum: sha1:e1a22d1ae4f8555d9821b963ed9a39287968ce86 docs/models/customerproduct.md: - last_write_checksum: sha1:eb3a238aa5e52c49d519d3b401a480cdc4a32f5c + last_write_checksum: sha1:6e48d8525a64adf875bfd8c1f0899a1e9a19954e docs/models/customerproductprices.md: last_write_checksum: sha1:a6c8e9f2e2cad0d954e92f791d67bf0722e811c9 docs/models/customersdeleteexternalrequest.md: @@ -5736,8 +5701,6 @@ trackedFiles: last_write_checksum: sha1:710c5364e36ddf1af7149ebe218fccea4f45ff80 docs/models/customersexportrequest.md: last_write_checksum: sha1:90162c8bb41cad7f971cf918e9ac44b93bfa39a0 - docs/models/customersexportresponse.md: - last_write_checksum: sha1:28887153ce82022bc96f16991017b55006d49b1f docs/models/customersgetexternalrequest.md: last_write_checksum: sha1:ee037f03acf251243bb2e5e6b5a2ce11499ebc14 docs/models/customersgetrequest.md: @@ -5769,23 +5732,23 @@ trackedFiles: docs/models/customerstatebenefitgrantproperties.md: last_write_checksum: sha1:f112f3570d1e321d0d749fa9c7fe7a2ebf635728 docs/models/customerstateindividual.md: - last_write_checksum: sha1:9da044bc0099b3e428ebdc0c4728344b15be0413 + last_write_checksum: sha1:9ff674e75b2f26c1a0498259da645901dc8fbfdb docs/models/customerstateindividualtaxid.md: last_write_checksum: sha1:51c0fa6e66a608c1d8464e49dbdff699b0378353 docs/models/customerstatemeter.md: last_write_checksum: sha1:1ba8ac262f0636091a3ce06800e51c29ceedd0d7 docs/models/customerstatesubscription.md: - last_write_checksum: sha1:755e0c9579c085942dd9aa5a0e81d35160402e8f + last_write_checksum: sha1:8efba3cc44a944f0f03986dfd771c109376fc11f docs/models/customerstatesubscriptioncustomfielddata.md: last_write_checksum: sha1:c04fbeb00da810348c90975c31fc0616ac6c1def docs/models/customerstatesubscriptionmeter.md: last_write_checksum: sha1:3af44933abda2103b86c7e035b60bf89359d6257 docs/models/customerstateteam.md: - last_write_checksum: sha1:e704da637fb53b7c38434e94dc2d3b8f91bafe0d + last_write_checksum: sha1:048310da49ef07f5d643d7eba20ca31d02bd9b9b docs/models/customerstateteamtaxid.md: last_write_checksum: sha1:8a9d30f4c311997bd4afe831296a43d7d6a953a5 docs/models/customersubscription.md: - last_write_checksum: sha1:0688cd6a63437aef874d5071714198d20f1e9d5e + last_write_checksum: sha1:54b96585e8605bfe716606b6f8112ab35b28f054 docs/models/customersubscriptioncancel.md: last_write_checksum: sha1:e77bd64f95923c220036361a527001b621869501 docs/models/customersubscriptionmeter.md: @@ -5795,7 +5758,7 @@ trackedFiles: docs/models/customersubscriptionprices.md: last_write_checksum: sha1:9782be7c1c5fd3be399292d9c6fac4657a11c6aa docs/models/customersubscriptionproduct.md: - last_write_checksum: sha1:2ff1b229cf3359fafd3dc5ea10dd176dc850e7e2 + last_write_checksum: sha1:f698f30dc40598f516c3a369b63f03b2ed06bcd7 docs/models/customersubscriptionproductprices.md: last_write_checksum: sha1:c06f0a0d26903f5844d773c935868fa60065c8c0 docs/models/customersubscriptionsortproperty.md: @@ -5813,7 +5776,7 @@ trackedFiles: docs/models/customersupdaterequest.md: last_write_checksum: sha1:1e071c37ea30d848c52e6d64c6a372d0ca658d6c docs/models/customerteam.md: - last_write_checksum: sha1:8676c71e4267ebebdff66152f700f5f4e096a3dd + last_write_checksum: sha1:2b34b91381d486a6c58245c0758e26ba46ccfb05 docs/models/customerteamcreate.md: last_write_checksum: sha1:4c5b6ab7b7834472b1b7ada9d29f823bf9885aaf docs/models/customerteamcreatemetadata.md: @@ -5963,7 +5926,7 @@ trackedFiles: docs/models/discountpercentagerepeatdurationbase.md: last_write_checksum: sha1:18452516be93cfcf3ca12e1649d6c1c2d5342528 docs/models/discountproduct.md: - last_write_checksum: sha1:65e38a0eef0d905674478e762dcdf5b051d9124f + last_write_checksum: sha1:677219babe39ef79553c77017dbc5ba12e218fb6 docs/models/discountsdeleterequest.md: last_write_checksum: sha1:3ef7357772d63be24d9f449d1c04f9184562d959 docs/models/discountsgetrequest.md: @@ -5985,7 +5948,7 @@ trackedFiles: docs/models/discountupdatemetadata.md: last_write_checksum: sha1:e2a05aac2467d19b74e68e4c44929bd3368cf4cd docs/models/dispute.md: - last_write_checksum: sha1:6a18832b0b8b07a34f649ee922d4755e82b063b6 + last_write_checksum: sha1:192be17dbcfe5001b8deab6245a272572b5f1c1a docs/models/disputesgetrequest.md: last_write_checksum: sha1:4d3c863548662991488939a7f48f96c3065afa2d docs/models/disputeslistqueryparamorganizationidfilter.md: @@ -6081,7 +6044,7 @@ trackedFiles: docs/models/externalcustomeridfilter.md: last_write_checksum: sha1:bc8eb1b1eb121de28f582e755df1ddd67a66c827 docs/models/filecreate.md: - last_write_checksum: sha1:93ce5d4e0fd698dfab22cde302d7e8e52cf75e4a + last_write_checksum: sha1:eee6f9f98d987b84318557eb377fe69e58e33428 docs/models/filedownload.md: last_write_checksum: sha1:002adebc41dc9b6fdc802b75df0882b11bcb94df docs/models/fileidfilter.md: @@ -6089,11 +6052,11 @@ trackedFiles: docs/models/filepatch.md: last_write_checksum: sha1:4c440f280165ffd459c9c9b16dfdc88ee6d5997a docs/models/fileread.md: - last_write_checksum: sha1:bb04936036059700e170c4936c9a716592635096 + last_write_checksum: sha1:45ada7eb76ea6258f57eb8a97de8f2c2758c2650 docs/models/filesdeleterequest.md: last_write_checksum: sha1:41ea8effdd7ad4d5e3569128578665cdc346c5de docs/models/fileservicetypes.md: - last_write_checksum: sha1:8531d2e33b26097cdfa400428e86e3943c6099aa + last_write_checksum: sha1:f142e639b218fc418e066f76cc57c1b9e81dda51 docs/models/fileslistqueryparamorganizationidfilter.md: last_write_checksum: sha1:e2e75e45ac9bb84348d5d6c4749b46c046acc8da docs/models/fileslistrequest.md: @@ -6103,11 +6066,11 @@ trackedFiles: docs/models/filesupdaterequest.md: last_write_checksum: sha1:1d683d8cd34341f6fc629c006c6692dc3c6de513 docs/models/filesupdateresponsefilesupdate.md: - last_write_checksum: sha1:59a8131ff4a05dce66fdd244e28c0d927d1d2ff4 + last_write_checksum: sha1:3dbe19a8be8ec1da50d298fedcc15c99130ab099 docs/models/filesuploadedrequest.md: last_write_checksum: sha1:35924bed06f46dfec7eb9aa6783fbf60c5958652 docs/models/filesuploadedresponsefilesuploaded.md: - last_write_checksum: sha1:cc1ff68968b60643f762aa4476ea8ecf7b75e682 + last_write_checksum: sha1:900e2247b0c4d7201e0e085e1231705e0e2cccc0 docs/models/fileupload.md: last_write_checksum: sha1:d81e8d110a414a1d7ca0846eb8a75739dba527f6 docs/models/fileuploadcompleted.md: @@ -6125,7 +6088,7 @@ trackedFiles: docs/models/func.md: last_write_checksum: sha1:66406b08f51cabf47572e63e4fc05f3bf33bde7e docs/models/genericpayment.md: - last_write_checksum: sha1:88f2a6114edc10307432e99cd0899d2f8d60bb9b + last_write_checksum: sha1:768fbaa7c7def8d3bd62358f424f6faca20ca942 docs/models/granttypes.md: last_write_checksum: sha1:105c9a7d4bf4f986b6f13cfa32cd5ee397f52347 docs/models/grossmargin.md: @@ -6141,15 +6104,13 @@ trackedFiles: docs/models/introspecttokenrequesttokentypehint.md: last_write_checksum: sha1:96cce298f495b75e2deb76a12f9dc5a030c2bb9d docs/models/introspecttokenresponse.md: - last_write_checksum: sha1:be620489347a2dbe1d4dd2eea27e74b7bf1d0abc + last_write_checksum: sha1:ea25bbca3a23d797db48714771c59a3bb5db304f docs/models/legacyrecurringproductprice.md: - last_write_checksum: sha1:9d82f03d36e6bfbc8d648c7f92cadd6204230bc5 + last_write_checksum: sha1:6511ecd85f748c8f8123fe9e3adee9d80b7cadf9 docs/models/legacyrecurringproductpricecustom.md: - last_write_checksum: sha1:0424cad8b3f6a79b4a305b52c51ba58a94f6eb42 + last_write_checksum: sha1:5921ac9d149a2cd377abd6b9337ee225236f69a3 docs/models/legacyrecurringproductpricefixed.md: - last_write_checksum: sha1:52b6786864ccf57bc5c54b2c0970504474cb342c - docs/models/legacyrecurringproductpricefree.md: - last_write_checksum: sha1:886a91d69641d65ee66b0062d4aae7e23f07987b + last_write_checksum: sha1:49ecdc1e3c17fe4681da4a83e969c59dc418ef96 docs/models/legalentity.md: last_write_checksum: sha1:2c1299f2f0a37e6a6e4292c6710b57f1e51afd36 docs/models/licensekeyactivate.md: @@ -6165,7 +6126,7 @@ trackedFiles: docs/models/licensekeyactivationreadmeta.md: last_write_checksum: sha1:04c6c266c45dba0b3d18e64b4a7202fbbfc5533e docs/models/licensekeycustomer.md: - last_write_checksum: sha1:f15174912e4bfb320f5c9aec85cd010a399bef5c + last_write_checksum: sha1:e783dc20303bff844a1792847d30a178ee4c5eec docs/models/licensekeycustomertaxid.md: last_write_checksum: sha1:17f958a0d1a86b1370561ba966159f1fb2dc2f77 docs/models/licensekeydeactivate.md: @@ -6246,8 +6207,6 @@ trackedFiles: last_write_checksum: sha1:44cfcfb2f15d390f163cab1a61cf9d001cbff6fd docs/models/listresourceorganization.md: last_write_checksum: sha1:e649bc60aaecd9a3ab0024407df3a408ded1bd13 - docs/models/listresourceorganizationaccesstoken.md: - last_write_checksum: sha1:8ee642de6103083f1d2fd838611140ce3fa90eb0 docs/models/listresourcepayment.md: last_write_checksum: sha1:4f7f0a738348e89b72ef17ac2c97a0cbf19db2ea docs/models/listresourcepaymentmethod.md: @@ -6301,7 +6260,7 @@ trackedFiles: docs/models/membersupdatememberrequest.md: last_write_checksum: sha1:cce637d553b5a8e5771d409bae5001138a8ae426 docs/models/memberupdate.md: - last_write_checksum: sha1:b56f50fffd65c999e567d2bbcdfae6c57969c5c9 + last_write_checksum: sha1:13f20323361e97281670b9889a078dfc8ec0db1e docs/models/meta.md: last_write_checksum: sha1:dbf98d946a473db5020afb56db51669718d6ca26 docs/models/metadata.md: @@ -6384,8 +6343,6 @@ trackedFiles: last_write_checksum: sha1:35b160cdfa972c7ccfaf23f5e318be67eb65f64e docs/models/metricsexportrequest.md: last_write_checksum: sha1:c2978cee0bfe5969c2aa7e8d452a99da898443f7 - docs/models/metricsexportresponse.md: - last_write_checksum: sha1:bc257092233d5a734bf762a01cdb1fc6722eec87 docs/models/metricsgetdashboardrequest.md: last_write_checksum: sha1:eaba13c84c17d529421a6afe08c1f2732ebfa3ba docs/models/metricsgetqueryparamcustomeridfilter.md: @@ -6546,8 +6503,6 @@ trackedFiles: last_write_checksum: sha1:cbe116ed28d321bf9da681f14cd1561d3dbb6697 docs/models/notopencheckout.md: last_write_checksum: sha1:00dec7c3c31a9164b2055c4b5e2bf52c9434b935 - docs/models/notpaidorder.md: - last_write_checksum: sha1:0a50a64c51968b64ed1bc183f852f6e23a6b3205 docs/models/notpermitted.md: last_write_checksum: sha1:d063570ae2b40abb10d9bd98da67a5a9993d06a6 docs/models/oauth2authorizeresponseoauth2authorize.md: @@ -6581,7 +6536,7 @@ trackedFiles: docs/models/onetimeproductsrevenue.md: last_write_checksum: sha1:8e7c90912be37abe552adac8531990fe41efb803 docs/models/order.md: - last_write_checksum: sha1:e3a67db7fd287ce28d4ad583103971b2df0911bf + last_write_checksum: sha1:3e31c92cafa4f0558bfa55d3298e1d42458abab1 docs/models/orderbillingreason.md: last_write_checksum: sha1:fdbf3af4604ebfc3f7d5cf2b5bed2528ab3d7cab docs/models/ordercreate.md: @@ -6591,7 +6546,7 @@ trackedFiles: docs/models/ordercreatemetadata.md: last_write_checksum: sha1:91f7d995ed96b594b0ec042db2438c51b58adc4f docs/models/ordercustomer.md: - last_write_checksum: sha1:d94a0b145ba7a76d2e68a45418ecbd6f502f79b0 + last_write_checksum: sha1:676d987cdeb2413532f370da9bd877395fd745a3 docs/models/ordercustomertaxid.md: last_write_checksum: sha1:2b00fc78c61f7408167a1d75173b7882d6adad2e docs/models/ordercustomfielddata.md: @@ -6615,7 +6570,7 @@ trackedFiles: docs/models/orderpaidmetadata.md: last_write_checksum: sha1:34bc475217f4bd7de6609d41fb1d848c5d9cafde docs/models/orderproduct.md: - last_write_checksum: sha1:2402f2a81b88b2ae280e568bc75259c0e614344f + last_write_checksum: sha1:3ebe51dd3b8ea7274e2c2f8036c041ff1b5a2b9f docs/models/orderreceipt.md: last_write_checksum: sha1:0d88b533beff489174574e4d0ebfcef43edcea5e docs/models/orderrefundedevent.md: @@ -6628,8 +6583,6 @@ trackedFiles: last_write_checksum: sha1:d1a9ca6d9d032275d534515c7b92066aa4cf64b0 docs/models/ordersexportrequest.md: last_write_checksum: sha1:eccdd1e558f250211cde2d8844ba288820548558 - docs/models/ordersexportresponse.md: - last_write_checksum: sha1:ffc26b1180e3b5967e7a5b33b494167fe1a53cae docs/models/ordersfinalizerequest.md: last_write_checksum: sha1:22fc892ee81af3570632b826ca42e48b3c4ebd74 docs/models/ordersfinalizeresponse402ordersfinalize.md: @@ -6638,8 +6591,6 @@ trackedFiles: last_write_checksum: sha1:46b4ad14bdafb453ed7d1ae5265856aa5ef0b39d docs/models/ordersgenerateinvoicerequest.md: last_write_checksum: sha1:e1bd44ba32fdca15b5526ac870ed157b7e5ff7b1 - docs/models/ordersgenerateinvoiceresponse422ordersgenerateinvoice.md: - last_write_checksum: sha1:f79ae43047ee576b99009f4e84973cddd7e2cbaa docs/models/ordersgetrequest.md: last_write_checksum: sha1:a0940db933577393c9922f33b9aaa497f6eb5f1c docs/models/ordersinvoicerequest.md: @@ -6665,7 +6616,7 @@ trackedFiles: docs/models/orderstatus.md: last_write_checksum: sha1:fc12a2988f8de5657634a8f68ec8b8a6c64de664 docs/models/ordersubscription.md: - last_write_checksum: sha1:400c3a0718f96c2038b98f62334c9d08bd4357eb + last_write_checksum: sha1:4ca684ac71cba314405cc162bf9a543299a11459 docs/models/ordersupdaterequest.md: last_write_checksum: sha1:378b0a113c24421c253510a4533c7e20d4c4fee2 docs/models/orderupdate.md: @@ -6675,27 +6626,7 @@ trackedFiles: docs/models/ordervoidedmetadata.md: last_write_checksum: sha1:5ff75e9101fbdc3fbbbfa0264e622bc4f80ae4e3 docs/models/organization.md: - last_write_checksum: sha1:29f0e1305eb0d9edab3191eadd5d29188d3015bc - docs/models/organizationaccesstoken.md: - last_write_checksum: sha1:9904324b19b1ebfd3118b57e94ef7f0137be3139 - docs/models/organizationaccesstokencreate.md: - last_write_checksum: sha1:98dd73871eaf865bf7ce3c461abf07daf206a285 - docs/models/organizationaccesstokencreateresponse.md: - last_write_checksum: sha1:d5631aaf15aafa9c62704e140760c20caa78a755 - docs/models/organizationaccesstokensdeleterequest.md: - last_write_checksum: sha1:0a0d3ad8de50fffed8be785e1b95625bd196ed7c - docs/models/organizationaccesstokenslistqueryparamorganizationidfilter.md: - last_write_checksum: sha1:fc2792afc695b0f4a70ab467f16bdde4a3e172d9 - docs/models/organizationaccesstokenslistrequest.md: - last_write_checksum: sha1:d8a1b72bec09db12b9975362b26c5f68f98f264e - docs/models/organizationaccesstokenslistresponse.md: - last_write_checksum: sha1:97b839815193c7927ea08f0680e3bbc4f3d2cbcb - docs/models/organizationaccesstokensortproperty.md: - last_write_checksum: sha1:ff039e2aa231490fbc51b3d31b5c7f0d38144be3 - docs/models/organizationaccesstokensupdaterequest.md: - last_write_checksum: sha1:4117717b34bf61da4d0a97084fc962143c6435b4 - docs/models/organizationaccesstokenupdate.md: - last_write_checksum: sha1:a7d4ae69f3cc6da32b19d1e739abd2e4c382a94d + last_write_checksum: sha1:bc6d1ccc32fa8250d08a296765ae07c0e61ca8d7 docs/models/organizationavatarfilecreate.md: last_write_checksum: sha1:0a60b83dae5456f7ac858805abcb97d2b93c428d docs/models/organizationavatarfileread.md: @@ -6705,7 +6636,7 @@ trackedFiles: docs/models/organizationcompanylegalentityschema.md: last_write_checksum: sha1:b8ef575e6f5bef416de4bceb6d5dfdcf5a476b5b docs/models/organizationcreate.md: - last_write_checksum: sha1:8a14620a07f849cfa2657607ba60bd91e74e7a7f + last_write_checksum: sha1:1fd44f6881d9575d3aa63cbf879215a5ce93a037 docs/models/organizationcustomeremailsettings.md: last_write_checksum: sha1:6ab0e3789dee237e5708572bd838991ed496825d docs/models/organizationcustomerportalsettings.md: @@ -6713,7 +6644,7 @@ trackedFiles: docs/models/organizationdetails.md: last_write_checksum: sha1:59784eef0c4fcb65f8c7006ffd0c3df8a7cfba0b docs/models/organizationfeaturesettings.md: - last_write_checksum: sha1:d4a5af9805b57239eeed2a1dde3031024217fbcb + last_write_checksum: sha1:4908582b301bb5da8b8a2a85ff5ef6d197bc4b14 docs/models/organizationfeaturesettingsupdate.md: last_write_checksum: sha1:1d2c54c3d246f71ac19f858be4a6895a21a6eaf0 docs/models/organizationid.md: @@ -6722,8 +6653,6 @@ trackedFiles: last_write_checksum: sha1:563cdbd6d0676af755e6049d3067242e0f816e53 docs/models/organizationindividuallegalentityschema.md: last_write_checksum: sha1:2ea97cdbe83c90aed9605835a6bc942ee2a67596 - docs/models/organizationnotificationsettings.md: - last_write_checksum: sha1:9dfa31a45e5c019bee16f7633b023be3524d8f42 docs/models/organizationnotreadyforpayments.md: last_write_checksum: sha1:02f405d8a3a23fe497d285b25a14032b346e83c4 docs/models/organizationsgetrequest.md: @@ -6739,13 +6668,13 @@ trackedFiles: docs/models/organizationsortproperty.md: last_write_checksum: sha1:f67a71777c3d7aeb738655f7c7142e44fcdc656f docs/models/organizationstatus.md: - last_write_checksum: sha1:d7338dfbaade9ade3563d8877a53ecf0662602d1 + last_write_checksum: sha1:57da91b0a049e9a6ff466513925b5d8d40bf458d docs/models/organizationsubscriptionsettings.md: last_write_checksum: sha1:ff4a9245cf80cd1af1e00e7e57e34cae2295231e docs/models/organizationsupdaterequest.md: last_write_checksum: sha1:82706bcd42b79c644b18f80c221a18df21a3ea9d docs/models/organizationupdate.md: - last_write_checksum: sha1:a5806f6784ec662e622f8f87c2b4f18e4c6b9dd6 + last_write_checksum: sha1:1c7b2a225455856d2cdffa620fc5537a65f73712 docs/models/pagination.md: last_write_checksum: sha1:1aedcef9b4f0bc5ab25ef1e9542e22d82088682a docs/models/payment.md: @@ -6794,6 +6723,8 @@ trackedFiles: last_write_checksum: sha1:25b182b092815e4b1230e5f9f3b4a55623641bbd docs/models/paymentstatus.md: last_write_checksum: sha1:65ec2fdffac467d08beee1dac0ad6edda52b81a6 + docs/models/paymenttrigger.md: + last_write_checksum: sha1:098a823833b1f4a4a53c49d02aa99bb589dff699 docs/models/pendingsubscriptionupdate.md: last_write_checksum: sha1:05eaa3ecdfcb3783ca96b57462d7f0e6fe7e0f9d docs/models/permission.md: @@ -6805,7 +6736,7 @@ trackedFiles: docs/models/prices.md: last_write_checksum: sha1:81e08224e6fab8c1342367d2f4fc4006a4cd0d49 docs/models/product.md: - last_write_checksum: sha1:7a6d90c0d6ef17514523f767a04ec19bae0c2043 + last_write_checksum: sha1:c575c1965970e7d986da0859baaf11ad598ef116 docs/models/productbenefitsupdate.md: last_write_checksum: sha1:add31ccf622639c241a7b3672191587086c2fc41 docs/models/productbillingtype.md: @@ -6819,13 +6750,13 @@ trackedFiles: docs/models/productcreateonetimemetadata.md: last_write_checksum: sha1:1838ddbb6a1a91e74e5e8cac5e53564adb0a669f docs/models/productcreateonetimeprices.md: - last_write_checksum: sha1:eb1d1caa97e3b2ce1a58cb4976559d0fb977a71d + last_write_checksum: sha1:84a640e0069a758e8870d7768e35c100b2a8d1f4 docs/models/productcreaterecurring.md: - last_write_checksum: sha1:87938ce94d394a1e0f3d557e1a8b2af9b6eb736a + last_write_checksum: sha1:c5dc0753c43323fc171933df710eb69baaf6def5 docs/models/productcreaterecurringmetadata.md: last_write_checksum: sha1:fb8e7aa229b33299336dd873627eeaeda16de634 docs/models/productcreaterecurringprices.md: - last_write_checksum: sha1:fd1314613106354882d107975e8b5f6cf63e4671 + last_write_checksum: sha1:6b133385a665e7e44c66b48cb1138f8c81cee28a docs/models/productidfilter.md: last_write_checksum: sha1:635235777683481a542a079f0f9313357900d4ed docs/models/productmediafilecreate.md: @@ -6833,7 +6764,7 @@ trackedFiles: docs/models/productmediafileread.md: last_write_checksum: sha1:fa0b32c4b5490b44719602f25306e99537a528e6 docs/models/productprice.md: - last_write_checksum: sha1:54252dc04b8dce358f89a2a3bf8ec394d4d5499d + last_write_checksum: sha1:2febc2729b4d5a5f4cc4459edbc7bc31db25dac9 docs/models/productpricecustom.md: last_write_checksum: sha1:4f1e0f5d1209426a562d94a9eb8c70ec99e16312 docs/models/productpricecustomcreate.md: @@ -6842,10 +6773,6 @@ trackedFiles: last_write_checksum: sha1:0456129d409689286ceea9254e1f45498566e4da docs/models/productpricefixedcreate.md: last_write_checksum: sha1:e67b49b4f924532a1a0b4fd08804227faee8d03e - docs/models/productpricefree.md: - last_write_checksum: sha1:5877a4eecbae4dc7951c1733461c1dab37fef3bb - docs/models/productpricefreecreate.md: - last_write_checksum: sha1:9686ca2e4eda46a830f4160d2393b82bd761497f docs/models/productpricemeter.md: last_write_checksum: sha1:d175be31df2795493f7c42b92b425fd8543c591a docs/models/productpricemeteredunit.md: @@ -6879,7 +6806,7 @@ trackedFiles: docs/models/productsupdaterequest.md: last_write_checksum: sha1:87c5d9a2249aa770446eb5114c6b07622bc84ba7 docs/models/productupdate.md: - last_write_checksum: sha1:9c4620d3ed4e803b70d9835eeab61c98c556b70c + last_write_checksum: sha1:58f29157539c91f43398b53217f97d0913548443 docs/models/productupdatemetadata.md: last_write_checksum: sha1:a942e8e48537f9c605091039d28adc1b9441f4f6 docs/models/productupdateprices.md: @@ -6926,6 +6853,8 @@ trackedFiles: last_write_checksum: sha1:ee4e46fc6fe9419670d56db341d1b73c5f9e6fbb docs/models/queryparamsubscriptionidfilter.md: last_write_checksum: sha1:6549f7db4a0832e4bcd52f020b183820a63a7377 + docs/models/recurringinterval.md: + last_write_checksum: sha1:0fee051125c312695603a88be9f172c317459d83 docs/models/refreshtokenrequest.md: last_write_checksum: sha1:502656afb35a5e95d90418cafa6479d56ba34714 docs/models/refund.md: @@ -7017,7 +6946,7 @@ trackedFiles: docs/models/statusfilter.md: last_write_checksum: sha1:978123f46208c1d897dc4b8fdd8157b27be92ed4 docs/models/subscription.md: - last_write_checksum: sha1:80555dc92f6a8ce97c748e70c133042e6401c5ef + last_write_checksum: sha1:26e6ea6066753fecdcf5412a974b17815d5601b0 docs/models/subscriptionbillingperiodupdatedevent.md: last_write_checksum: sha1:cbb5ec95e9c17a9c6bce8d472de554baac345fe1 docs/models/subscriptionbillingperiodupdatedmetadata.md: @@ -7039,7 +6968,7 @@ trackedFiles: docs/models/subscriptioncreateexternalcustomermetadata.md: last_write_checksum: sha1:85e1b41fa20c903f06f408a26e86b33224ddf631 docs/models/subscriptioncustomer.md: - last_write_checksum: sha1:ce524918ae506be11bd3d43761cda35f40d18516 + last_write_checksum: sha1:b11c065317d6eef36a323bf020e7455df5b9ac60 docs/models/subscriptioncycledevent.md: last_write_checksum: sha1:4d909d313cd1c1c5861038d4e7d3bd8665b3c5e6 docs/models/subscriptioncycledmetadata.md: @@ -7068,8 +6997,6 @@ trackedFiles: last_write_checksum: sha1:f1fb6f57c58be2b80e4253b8195a9fec1248db43 docs/models/subscriptionreactivatedmetadata.md: last_write_checksum: sha1:7b2b5827aed162375fca34898ab7f19196e13b5d - docs/models/subscriptionrecurringinterval.md: - last_write_checksum: sha1:97fe5695e6d3da484321d67ff05ce3b41714473f docs/models/subscriptionrevoke.md: last_write_checksum: sha1:745530b69842ee7f24f1d85a9a77e4fcacb08f4d docs/models/subscriptionrevokedevent.md: @@ -7084,8 +7011,6 @@ trackedFiles: last_write_checksum: sha1:f2a7748052e66803159e00e9860c824ea47e41b1 docs/models/subscriptionsexportrequest.md: last_write_checksum: sha1:296faf22e3f77764603f42d55324010517e21a64 - docs/models/subscriptionsexportresponse.md: - last_write_checksum: sha1:715e3409fe38bfb70d799638382d828041ea74cd docs/models/subscriptionsgetrequest.md: last_write_checksum: sha1:954b9a8e0a36e302350a1aaba6bf4b7f96d3a19f docs/models/subscriptionslistrequest.md: @@ -7126,6 +7051,10 @@ trackedFiles: last_write_checksum: sha1:fff1ae2bf27eb6c1c8372ad52ac847a2f6aaf2b5 docs/models/succeededcheckouts.md: last_write_checksum: sha1:fcefd2cc388ea0e4c60515a6bb668859b68c05d9 + docs/models/supportcaseattachmentfilecreate.md: + last_write_checksum: sha1:3fe92536a450669b5ab0a22ee85adc1f7d82496d + docs/models/supportcaseattachmentfileread.md: + last_write_checksum: sha1:3ce2eb3d621a8be9c6b252ae736fb1177e1902f0 docs/models/switchingfrom.md: last_write_checksum: sha1:242623693cd6649aa665db76babcf7ff2531fd68 docs/models/systemevent.md: @@ -7137,7 +7066,7 @@ trackedFiles: docs/models/taxid.md: last_write_checksum: sha1:64208aafb3624e2eaf1d29edd54f62caf9bc2951 docs/models/taxidformat.md: - last_write_checksum: sha1:59a32f37544c05a44cecbf5900f2c65b67692da2 + last_write_checksum: sha1:12656d8149101e381a65949a49bca4a92e0a1d49 docs/models/timeframe.md: last_write_checksum: sha1:4d8d86126ccf7afd55068436058e3e63906f5e55 docs/models/timeinterval.md: @@ -7159,7 +7088,7 @@ trackedFiles: docs/models/trialmonthlyrecurringrevenue.md: last_write_checksum: sha1:e7013864fdd9a2a62f3a021aec82efc41ae9a0ac docs/models/two.md: - last_write_checksum: sha1:5dc701d452525b63f1f75b7cfbb9a13f5adae705 + last_write_checksum: sha1:daed16bfc9a5262c8db2d5b8855804a3ad4a7bdd docs/models/unauthorized.md: last_write_checksum: sha1:4868a4ce31b20cdb7fcaeec7be69cdb6f83a6ffe docs/models/uniqueaggregation.md: @@ -7299,9 +7228,9 @@ trackedFiles: docs/sdks/customermeters/README.md: last_write_checksum: sha1:b90c86939a9133539681534059241026b501c783 docs/sdks/customers/README.md: - last_write_checksum: sha1:0b6ecb457a0f5760fb11816794fb56acc1435e4c + last_write_checksum: sha1:4653cd2f83bb492b6cdf4b66aa4ed3931d63a736 docs/sdks/customerseats/README.md: - last_write_checksum: sha1:7f63eb8dd09fcc98ffb4dc15cb4c9241bab5ae7d + last_write_checksum: sha1:e903f569de529cb2bc5ad6a89bf57b5cd275f68f docs/sdks/customersessions/README.md: last_write_checksum: sha1:9ae2590a2b0c1cddce14e669b7c11bb850e2d8ce docs/sdks/customersessionsdk/README.md: @@ -7323,17 +7252,15 @@ trackedFiles: docs/sdks/licensekeys/README.md: last_write_checksum: sha1:7f32b84a24634c37b4403b42aaa972d4886f59a9 docs/sdks/members/README.md: - last_write_checksum: sha1:efb819c9e01bfcf32311eebc75c2483a4fdeef5a + last_write_checksum: sha1:b522eb9403aa5df4452f2991aa494ed9164900dd docs/sdks/meters/README.md: last_write_checksum: sha1:780e81712d38d5a5bfbb6f72832b23a8bbed9bd9 docs/sdks/metricssdk/README.md: - last_write_checksum: sha1:75865e1ee40e6d0d047a617160bd350d78bf1af8 + last_write_checksum: sha1:fee188b5516bfee3b416d50b03662598f57890a7 docs/sdks/oauth2/README.md: last_write_checksum: sha1:41ab71747a1ea845eb6e342b3a827d347b0209d9 docs/sdks/orders/README.md: - last_write_checksum: sha1:c0ac2a63cb65001a8b86a844273c09cc98d2d6cc - docs/sdks/organizationaccesstokens/README.md: - last_write_checksum: sha1:05bb349d7b4ac8d0feda927af81a9a71de2e4684 + last_write_checksum: sha1:8b557f7373dd05cc2046736e22b4045be9890582 docs/sdks/organizations/README.md: last_write_checksum: sha1:3fdbe442ff036467bbe8bfcd5befafc7d04c9d40 docs/sdks/payments/README.md: @@ -7347,9 +7274,9 @@ trackedFiles: docs/sdks/polarlicensekeys/README.md: last_write_checksum: sha1:01f6ad4f58453a9ef561beee742f8aebf20f42d8 docs/sdks/polarmembers/README.md: - last_write_checksum: sha1:fee692177c33292dcd1d50cd81629bad7f5b8b3f + last_write_checksum: sha1:067b524eefbc8f3f4f54471ae7fd1388b123fafc docs/sdks/polarorders/README.md: - last_write_checksum: sha1:d1608b0531686cba55afdab92208be84a63ba04f + last_write_checksum: sha1:262e29d4763032fbf317e1fd233a83b07cabfffc docs/sdks/polarorganizations/README.md: last_write_checksum: sha1:a66f3e70e90bcafd1d61bed65d5dd4e98750fc3d docs/sdks/polarsubscriptions/README.md: @@ -7361,7 +7288,7 @@ trackedFiles: docs/sdks/seats/README.md: last_write_checksum: sha1:0ba286da3012b4d238cd39eccb03bc7c736b3fd6 docs/sdks/subscriptions/README.md: - last_write_checksum: sha1:5e9833791b1fc3a1bfcb0450cd637679d8a660ce + last_write_checksum: sha1:d2d17611f83e700724cb14ea13f5d11d788871b3 docs/sdks/wallets/README.md: last_write_checksum: sha1:f8a655313c213e9c6a2900a2c12b499935f815bf docs/sdks/webhooks/README.md: @@ -7387,7 +7314,7 @@ trackedFiles: src/polar_sdk/_hooks/types.py: last_write_checksum: sha1:a218c66f3e2d1f1b9af54f270472b970b0cc1913 src/polar_sdk/_version.py: - last_write_checksum: sha1:16da024ffd37254096cc5d99913377b5bda90792 + last_write_checksum: sha1:d9735e8170ee829db5cde813c1ecee2c7667686f src/polar_sdk/basesdk.py: last_write_checksum: sha1:4523ea81f1381f171fe2d4e60f85b82203208d02 src/polar_sdk/benefit_grants.py: @@ -7407,13 +7334,13 @@ trackedFiles: src/polar_sdk/customer_portal.py: last_write_checksum: sha1:c0a5dfdf0dc3b8caea86156f6f5685ab9b73964f src/polar_sdk/customer_seats.py: - last_write_checksum: sha1:cbb11ec575851e65e474c41aca1e79a510229fb0 + last_write_checksum: sha1:f1e42f73d2dec7e0b7790fa20194b9af65965c8a src/polar_sdk/customer_session_sdk.py: last_write_checksum: sha1:500e5b99d3c54f18ada23b887b9c4589fe38d6ef src/polar_sdk/customer_sessions.py: last_write_checksum: sha1:25f6cc89c87320a87e76bb4c2548989a145c1303 src/polar_sdk/customers.py: - last_write_checksum: sha1:ea4adf552d152661b4c98de5b1819ad13a5b1f0a + last_write_checksum: sha1:3169fe6bb31e99641ac142c62957b753862eb2e9 src/polar_sdk/discounts.py: last_write_checksum: sha1:68d7945290c4e3da3835bd1416ccea640d4f72c4 src/polar_sdk/disputes.py: @@ -7431,13 +7358,13 @@ trackedFiles: src/polar_sdk/license_keys.py: last_write_checksum: sha1:312f11596be5315913892cb224bb833e37615ee4 src/polar_sdk/members.py: - last_write_checksum: sha1:c9590dedc2e8a0b35e3b96da4a699c6e9559db0a + last_write_checksum: sha1:957ee15d0c8dbef6effc5fe9a39fb74e3c72f8dd src/polar_sdk/meters.py: last_write_checksum: sha1:6793565c8880936987cbc503b4456bc405650ed9 src/polar_sdk/metrics_sdk.py: - last_write_checksum: sha1:296283edd527916f50c4a6c17c73354232c98240 + last_write_checksum: sha1:1fda0c43f9e98956e73a235e4098cdbe0ab361b2 src/polar_sdk/models/__init__.py: - last_write_checksum: sha1:8449aea264e34572f2c6fa09418bd93e5f63e905 + last_write_checksum: sha1:4dd0487177b86e6fb4616025d901bd7ae99d7d35 src/polar_sdk/models/address.py: last_write_checksum: sha1:083edb7f045174ac1aea30545e9981c33f07d57d src/polar_sdk/models/addressdict.py: @@ -7461,11 +7388,9 @@ trackedFiles: src/polar_sdk/models/authorizeresponseorganization.py: last_write_checksum: sha1:c4763120d45d5a25636e621c22a3302e4d1f8bd6 src/polar_sdk/models/authorizeresponseuser.py: - last_write_checksum: sha1:eb7d32018bac7fc7db1a81c2a0245e811aa773cd + last_write_checksum: sha1:cdcb355cf6f9879ef5a0b918b41517bc8fe0a391 src/polar_sdk/models/authorizeuser.py: last_write_checksum: sha1:75fe863046d9f4f5726f04630b18a9da0b8d0360 - src/polar_sdk/models/availablescope.py: - last_write_checksum: sha1:3d37b8cd5cddd62924c9ab5e6c6c672537925b75 src/polar_sdk/models/balancecreditorderevent.py: last_write_checksum: sha1:d32eb800cc69b764b102575c68f128b22c9c02c9 src/polar_sdk/models/balancecreditordermetadata.py: @@ -7521,7 +7446,7 @@ trackedFiles: src/polar_sdk/models/benefitdiscordsubscriberproperties.py: last_write_checksum: sha1:5553ecb6757a2a7e675b970ae0ccfcafd88e8635 src/polar_sdk/models/benefitdiscordupdate.py: - last_write_checksum: sha1:9de2d108844ce08c45e7bebd80fec5e096a138e2 + last_write_checksum: sha1:7ada95b130b6d68f7a78d3352cfa89de1a24cb99 src/polar_sdk/models/benefitdownloadables.py: last_write_checksum: sha1:c66fa35bb1bbf1118e09f27721d54f1f3ea32cdc src/polar_sdk/models/benefitdownloadablescreate.py: @@ -7535,7 +7460,7 @@ trackedFiles: src/polar_sdk/models/benefitdownloadablessubscriberproperties.py: last_write_checksum: sha1:a6b5334b254773e57ff782573bc3171863c0d502 src/polar_sdk/models/benefitdownloadablesupdate.py: - last_write_checksum: sha1:d3c25a28b0b6f58b3cf55433c02f2738777f3811 + last_write_checksum: sha1:2913b1be7e29317ea7045893fc59f0b9c5c5d4ba src/polar_sdk/models/benefitfeatureflag.py: last_write_checksum: sha1:14e8667143b0e43e9a6af6b47f430098984d9864 src/polar_sdk/models/benefitfeatureflagcreate.py: @@ -7563,7 +7488,7 @@ trackedFiles: src/polar_sdk/models/benefitgithubrepositorysubscriberproperties.py: last_write_checksum: sha1:2dad7be0986169f2fff35bc0b0a6e638f80aa0d7 src/polar_sdk/models/benefitgithubrepositoryupdate.py: - last_write_checksum: sha1:9c9aff39035403510fb9823dd42418807d88a4cb + last_write_checksum: sha1:69435ace4958334e63c75f5ee2d57d1b3fb7cfc4 src/polar_sdk/models/benefitgrant.py: last_write_checksum: sha1:4c07cf5c8472b4a433bbfb59b37fd1501bd73fc2 src/polar_sdk/models/benefitgrantcustomproperties.py: @@ -7653,7 +7578,7 @@ trackedFiles: src/polar_sdk/models/benefits_grantsop.py: last_write_checksum: sha1:fbc84dd5807a068b561573368c1fa2b2ed617ce8 src/polar_sdk/models/benefits_updateop.py: - last_write_checksum: sha1:8c511ffbd851333eb44cfdc0dbdab781fe76b37f + last_write_checksum: sha1:7ffaf3be2e834c225472066714d2751d202e51b1 src/polar_sdk/models/benefitslacksharedchannel.py: last_write_checksum: sha1:497c7525effbfe2fbdf9c6406f9b5f37468b3388 src/polar_sdk/models/benefitslacksharedchannelcreate.py: @@ -7667,7 +7592,7 @@ trackedFiles: src/polar_sdk/models/benefitslacksharedchannelsubscriberproperties.py: last_write_checksum: sha1:1ff4a00631cc78eba698be798b03296fe478984d src/polar_sdk/models/benefitslacksharedchannelupdate.py: - last_write_checksum: sha1:ce7a2fe76b122dc5c577f2cf2a48ad1146d01935 + last_write_checksum: sha1:8b05b1242e0af95a8bdb0a3e369043d5b228ef4d src/polar_sdk/models/benefitsortproperty.py: last_write_checksum: sha1:f58ff5c986166b50d352ec9bb675e708d1aa11ac src/polar_sdk/models/benefitsubscriberorganization.py: @@ -7681,7 +7606,7 @@ trackedFiles: src/polar_sdk/models/billingaddressfieldmode.py: last_write_checksum: sha1:9cf3221bdf95c98300c69a39ab39393a69447613 src/polar_sdk/models/cardpayment.py: - last_write_checksum: sha1:c2316fe7da9464d215119fe8358d66ac9240428e + last_write_checksum: sha1:f9e75bae191117440845a56d036d32d932fd93f3 src/polar_sdk/models/cardpaymentmetadata.py: last_write_checksum: sha1:2fe22cf53af2f2fe9b5d9dbd4097c00838cf90d7 src/polar_sdk/models/checkout.py: @@ -7699,7 +7624,7 @@ trackedFiles: src/polar_sdk/models/checkoutconfirmstripe.py: last_write_checksum: sha1:b365fdd5310a110374dd6d3f7bd86104373da7eb src/polar_sdk/models/checkoutcreate.py: - last_write_checksum: sha1:0d816d095bc7ca5f3c49890852dc0506b6cbdb56 + last_write_checksum: sha1:c446512d921bafa9e98cc25c9920ca1daa4f3273 src/polar_sdk/models/checkoutcreatedevent.py: last_write_checksum: sha1:afddc103d7a33228836ddab5adb54408d12fd212 src/polar_sdk/models/checkoutcreatedmetadata.py: @@ -7725,7 +7650,7 @@ trackedFiles: src/polar_sdk/models/checkoutlinkcreateproducts.py: last_write_checksum: sha1:48680fc922d72e1427284b0ede826fb5b8b48e29 src/polar_sdk/models/checkoutlinkproduct.py: - last_write_checksum: sha1:fe1b96ab0068cfeb310e82c6dec721dab55b0b1c + last_write_checksum: sha1:ec3941235d89a68a2a79bd1ce3172c8c175a5fb2 src/polar_sdk/models/checkoutlinksortproperty.py: last_write_checksum: sha1:03a44cbe66933bcbe64d8f6c3435c30a50e2a428 src/polar_sdk/models/checkoutlinkupdate.py: @@ -7733,7 +7658,7 @@ trackedFiles: src/polar_sdk/models/checkoutorganization.py: last_write_checksum: sha1:4f24cd90c3b36bbef10931fa62af679d920a803c src/polar_sdk/models/checkoutproduct.py: - last_write_checksum: sha1:bc289d12dac265c70cbf4f26f9c3b890e127e6f6 + last_write_checksum: sha1:70efbb8951bfe8ea15a72a4a14a6734710e68008 src/polar_sdk/models/checkoutpublic.py: last_write_checksum: sha1:ec413e34e63012a97ab862e60a4247dfb7fe1765 src/polar_sdk/models/checkoutpublicconfirmed.py: @@ -7825,7 +7750,7 @@ trackedFiles: src/polar_sdk/models/customer_portal_orders_confirm_retry_paymentop.py: last_write_checksum: sha1:6fa6d8de484acbc7434eae5fa047599905a3f46b src/polar_sdk/models/customer_portal_orders_generate_invoiceop.py: - last_write_checksum: sha1:357305c919d0c33f9bb43bbb6fe3eaeb3c48e7e7 + last_write_checksum: sha1:30aa7f064c667f621cdb464cac6cb3938f1f5fe1 src/polar_sdk/models/customer_portal_orders_get_payment_statusop.py: last_write_checksum: sha1:5b424e45155549e3e0f62c4b27f9567fb473a463 src/polar_sdk/models/customer_portal_orders_getop.py: @@ -7943,7 +7868,7 @@ trackedFiles: src/polar_sdk/models/customeremailupdateverifyresponse.py: last_write_checksum: sha1:35348f86c0237ec5da0f80df98cc1933f7b9d38b src/polar_sdk/models/customerindividual.py: - last_write_checksum: sha1:39bc2cd2a1081aa6e7db8646b430d049be9efa72 + last_write_checksum: sha1:647819b84d358db5758ffed6ef88cd6b6621cfeb src/polar_sdk/models/customerindividualcreate.py: last_write_checksum: sha1:cad00ae0088103811e414898946fa01a4cafcd39 src/polar_sdk/models/customermeter.py: @@ -7953,7 +7878,7 @@ trackedFiles: src/polar_sdk/models/customernotready.py: last_write_checksum: sha1:bfcfe22b088cbbf10854f6e6bb9f22c046362d28 src/polar_sdk/models/customerorder.py: - last_write_checksum: sha1:1b833b6ac2a1ffdb925ab8403d790801b05ad4af + last_write_checksum: sha1:39f0441c9afcb53eaae8bbf161c4ce74f4c75014 src/polar_sdk/models/customerorderconfirmpayment.py: last_write_checksum: sha1:1a363d74823980436253fc208c5ad3a508e5f97f src/polar_sdk/models/customerorderinvoice.py: @@ -7963,13 +7888,13 @@ trackedFiles: src/polar_sdk/models/customerorderpaymentstatus.py: last_write_checksum: sha1:4fecf9c7f44d942f06f815522ab53cae8cbe73e7 src/polar_sdk/models/customerorderproduct.py: - last_write_checksum: sha1:945e817fe1cbf2110968b3a018b6c6244807fc0f + last_write_checksum: sha1:eb3920118b3bba4484b03852e97aa68c82c450db src/polar_sdk/models/customerorderreceipt.py: last_write_checksum: sha1:aad74540220e3f961d4a01fc70d3464d5e18017c src/polar_sdk/models/customerordersortproperty.py: last_write_checksum: sha1:729c15710575f450523ec6cca5f57d3d7044c527 src/polar_sdk/models/customerordersubscription.py: - last_write_checksum: sha1:0136ab5f0a9bca1c6d09c4ffc03098cc94059fdc + last_write_checksum: sha1:6d6d45d3f3ad7167c2357badd58cf869c33f2567 src/polar_sdk/models/customerorderupdate.py: last_write_checksum: sha1:4dc62133d107914cb91a7a26587bd058d46215a4 src/polar_sdk/models/customerorganization.py: @@ -8005,7 +7930,7 @@ trackedFiles: src/polar_sdk/models/customerportalmembercreate.py: last_write_checksum: sha1:fede8f236a9da71d9aabc6d91869c2b961158ae9 src/polar_sdk/models/customerportalmemberupdate.py: - last_write_checksum: sha1:b3e772306ce4aabae8cbd94e1dce75f3da16c862 + last_write_checksum: sha1:63aaee3e5a28c10d1ebf552c9fbe3eb653c56a2c src/polar_sdk/models/customerportaloauthaccount.py: last_write_checksum: sha1:1d9412bdbf72cef56dd030d997b9407c2169d522 src/polar_sdk/models/customerportalsubscriptionsettings.py: @@ -8013,13 +7938,13 @@ trackedFiles: src/polar_sdk/models/customerportalusagesettings.py: last_write_checksum: sha1:f3f7e775c73cffc71eb3ba71b3894693cd106471 src/polar_sdk/models/customerproduct.py: - last_write_checksum: sha1:a62f9191a455e31b94ca55befe8726c10d7171e8 + last_write_checksum: sha1:f21a1ec8032ad3530978bdc34988f1f1ac27e210 src/polar_sdk/models/customers_delete_externalop.py: last_write_checksum: sha1:44d87619a95055ac3824d29fcd00eb87e7784dfe src/polar_sdk/models/customers_deleteop.py: last_write_checksum: sha1:39c9731cd892f3354f6f46b0faad950a12fb2c11 src/polar_sdk/models/customers_exportop.py: - last_write_checksum: sha1:c931cac3c3c23695c106d7ad5431700cfe3591b0 + last_write_checksum: sha1:6836b775f2ac72fc439fbbaa776814dd2686a383 src/polar_sdk/models/customers_get_externalop.py: last_write_checksum: sha1:e3d21e1110d8f9d89640789df68383fb59d9c0f3 src/polar_sdk/models/customers_get_state_externalop.py: @@ -8055,17 +7980,17 @@ trackedFiles: src/polar_sdk/models/customerstatebenefitgrant.py: last_write_checksum: sha1:48187e38461c22690b6c25054d0407433c16a84a src/polar_sdk/models/customerstateindividual.py: - last_write_checksum: sha1:af51489093d2a062d0d59042ca3ea660ae02a6e8 + last_write_checksum: sha1:da6ad87273885fd7539760827f8f2b455af74953 src/polar_sdk/models/customerstatemeter.py: last_write_checksum: sha1:80a0c50fba7bb8939c5d13c6c61d00a192bcc337 src/polar_sdk/models/customerstatesubscription.py: - last_write_checksum: sha1:7a5582409db7d5fb9609e0dceb766412c337a09b + last_write_checksum: sha1:cde5813678f1bd79bdcc7b491dde7d13858dded6 src/polar_sdk/models/customerstatesubscriptionmeter.py: last_write_checksum: sha1:68b7f0d40544c69e4720cb950ed4167726757625 src/polar_sdk/models/customerstateteam.py: - last_write_checksum: sha1:176d70657ea6896479453ff0451f54eaef95ab95 + last_write_checksum: sha1:f397a560f6bd97599e8868a65df729a8b67f28b2 src/polar_sdk/models/customersubscription.py: - last_write_checksum: sha1:014bbf96d19594571faa35d563993e478f5cc831 + last_write_checksum: sha1:283a8d9a3df51f9e7301dc8cebd029ab5f2eba19 src/polar_sdk/models/customersubscriptioncancel.py: last_write_checksum: sha1:ebc12793a83e18b17e2647b91018d2f361842243 src/polar_sdk/models/customersubscriptionmeter.py: @@ -8073,7 +7998,7 @@ trackedFiles: src/polar_sdk/models/customersubscriptionmetermeter.py: last_write_checksum: sha1:6f944277f26c070a6d8979635d0c59c4ea6bc41c src/polar_sdk/models/customersubscriptionproduct.py: - last_write_checksum: sha1:17dc7e83ae52a90b3850c0a1dda26ba8fae10ef9 + last_write_checksum: sha1:4b9662a3a76685eca340939b2da017265e02d8ce src/polar_sdk/models/customersubscriptionsortproperty.py: last_write_checksum: sha1:a4ea6e34c23d78cfd19b17124e21682a9e665a7b src/polar_sdk/models/customersubscriptionupdate.py: @@ -8085,7 +8010,7 @@ trackedFiles: src/polar_sdk/models/customersubscriptionupdateseats.py: last_write_checksum: sha1:27bb7fe72d93014b227449cc4189317550030ac1 src/polar_sdk/models/customerteam.py: - last_write_checksum: sha1:7c7313e3242747e55aa19f0fdc46498cd7df34a7 + last_write_checksum: sha1:721d7eddba4b6c5e8d88ab60a11da16667d0d54d src/polar_sdk/models/customerteamcreate.py: last_write_checksum: sha1:7de6e3bc6b32990f841af1716b70cf9755ab11d7 src/polar_sdk/models/customertype.py: @@ -8183,7 +8108,7 @@ trackedFiles: src/polar_sdk/models/discountpercentagerepeatdurationbase.py: last_write_checksum: sha1:6f9daf7d0dc684163e17f2365d48617585848dd3 src/polar_sdk/models/discountproduct.py: - last_write_checksum: sha1:9813bffa8f88bb8a37b7714afcd1680f199d3b50 + last_write_checksum: sha1:f4a8546b4d43cb3cf15ac97a6d1f305b08423ee1 src/polar_sdk/models/discounts_deleteop.py: last_write_checksum: sha1:6e1203ee74ed8a606404ba443efa7526039f845f src/polar_sdk/models/discounts_getop.py: @@ -8199,7 +8124,7 @@ trackedFiles: src/polar_sdk/models/discountupdate.py: last_write_checksum: sha1:25d7ae95dab457272ad49fcd1c3033972e5ca6a4 src/polar_sdk/models/dispute.py: - last_write_checksum: sha1:63c9cb03779d6f796818f880b0fd0756233eaead + last_write_checksum: sha1:c680afd5d2f4f9fd72f4e1f69afab9dc629bd695 src/polar_sdk/models/disputes_getop.py: last_write_checksum: sha1:13769440ccbd2d627ce5b6ea0c177470ba1e1fc2 src/polar_sdk/models/disputes_listop.py: @@ -8257,7 +8182,7 @@ trackedFiles: src/polar_sdk/models/expiredcheckouterror.py: last_write_checksum: sha1:50c0cf7b96f45f12cf32b285463cd0bf582d8a34 src/polar_sdk/models/filecreate.py: - last_write_checksum: sha1:f4ca233d72ed14b70aa508525ef4f045bd27f02c + last_write_checksum: sha1:b18f789672a3a05ee1f64e0a0588d4ccdbf99c7d src/polar_sdk/models/filedownload.py: last_write_checksum: sha1:0d02b7f7dbe1225d7230891a3466e9373361dbec src/polar_sdk/models/filepatch.py: @@ -8267,11 +8192,11 @@ trackedFiles: src/polar_sdk/models/files_listop.py: last_write_checksum: sha1:5ad63fa9eb8fb55445211b1f4a6e27c3534c58e6 src/polar_sdk/models/files_updateop.py: - last_write_checksum: sha1:cea0b489d555407b29f8431cc23c96443c1d16fc + last_write_checksum: sha1:04d8cd678cf7f57c2dfb145541c56ee752ac3684 src/polar_sdk/models/files_uploadedop.py: - last_write_checksum: sha1:3e07403eff67b4c37a1e013a82b6f33c51c25a72 + last_write_checksum: sha1:2e627f7a330586cc2d47edfdadcbc035dc075643 src/polar_sdk/models/fileservicetypes.py: - last_write_checksum: sha1:0cb36e6fbbe95e01473109e2fa508653a545bf32 + last_write_checksum: sha1:957f7529de2e8d4ee95e3fb7e73713ff85fe7d29 src/polar_sdk/models/fileupload.py: last_write_checksum: sha1:13bee3485f7d42eb123cb7c93bfd2e442aedfae3 src/polar_sdk/models/fileuploadcompleted.py: @@ -8285,21 +8210,19 @@ trackedFiles: src/polar_sdk/models/filteroperator.py: last_write_checksum: sha1:0271648f54e52e3c88ad9b77fb11091ebffdea70 src/polar_sdk/models/genericpayment.py: - last_write_checksum: sha1:8df3584be3226740777ce5e291f2459d78a58ece + last_write_checksum: sha1:6d3c41e4b4742e1fb01958e591ee6ad5f0941b2f src/polar_sdk/models/httpvalidationerror.py: last_write_checksum: sha1:2d17eaa14a59323d61e64b3dc2af89b1bb80ecc3 src/polar_sdk/models/introspecttokenrequest.py: last_write_checksum: sha1:622b3237cb236dfccb00ad297cfa49d5050b18c6 src/polar_sdk/models/introspecttokenresponse.py: - last_write_checksum: sha1:db17332be1f7a93a4f91b3089e902fa2c1a6f2a1 + last_write_checksum: sha1:b981fc90ddc705a8f5640155eee23817eb32660c src/polar_sdk/models/legacyrecurringproductprice.py: - last_write_checksum: sha1:ffec681fbd5c09606933303539d942cb4a47af23 + last_write_checksum: sha1:47bfd01beeaab096fd75c07d88f5d24f09bf45b6 src/polar_sdk/models/legacyrecurringproductpricecustom.py: - last_write_checksum: sha1:adf2de4508b66099bc46df452c65eb1087ac68ec + last_write_checksum: sha1:0255e91fac904d0db944d43fb939af9b7cd329d3 src/polar_sdk/models/legacyrecurringproductpricefixed.py: - last_write_checksum: sha1:33b8e366d03dd12fdac176bc92c646e108cd18f6 - src/polar_sdk/models/legacyrecurringproductpricefree.py: - last_write_checksum: sha1:31788434f154815c98e0874e57da6405bf42821b + last_write_checksum: sha1:67f3d1712e75eda3d4fe96bb8fab475f8c1e98f0 src/polar_sdk/models/license_keys_get_activationop.py: last_write_checksum: sha1:4421b41d10d32d4a1cdafc69e2aa11c2c068b03d src/polar_sdk/models/license_keys_getop.py: @@ -8315,7 +8238,7 @@ trackedFiles: src/polar_sdk/models/licensekeyactivationread.py: last_write_checksum: sha1:73ffced48dd1a99d33b6a091e19f4cc9d42ae6d2 src/polar_sdk/models/licensekeycustomer.py: - last_write_checksum: sha1:d7979cf79ab5df9fc71a3a237817d2399729ace0 + last_write_checksum: sha1:3b507f8f45616f5c38a269e17b6765513acbfe7f src/polar_sdk/models/licensekeydeactivate.py: last_write_checksum: sha1:11c04cc65dbaeff84247ac2c3eeae27ec69a200d src/polar_sdk/models/licensekeyread.py: @@ -8369,7 +8292,7 @@ trackedFiles: src/polar_sdk/models/listresource_eventtypewithstats_.py: last_write_checksum: sha1:afa772bde25fb6a9292aa63f1a6c86191b47e361 src/polar_sdk/models/listresource_fileread_.py: - last_write_checksum: sha1:b16a98eb61c759a5d9b8facbbdeef87fddcc1297 + last_write_checksum: sha1:21c61e2e5152efc642fa006ec1edd1cbbddec955 src/polar_sdk/models/listresource_licensekeyread_.py: last_write_checksum: sha1:ca5c854e3f225d3aa04749374fb4bebcb9a70423 src/polar_sdk/models/listresource_member_.py: @@ -8380,8 +8303,6 @@ trackedFiles: last_write_checksum: sha1:c0384b85d318bf841ab969ca02a09b3547352ab4 src/polar_sdk/models/listresource_organization_.py: last_write_checksum: sha1:517796b83d04df45823ed9355600ceaca97a3e24 - src/polar_sdk/models/listresource_organizationaccesstoken_.py: - last_write_checksum: sha1:a0868ded974218dfb8699f5703e79fc24d8d0989 src/polar_sdk/models/listresource_payment_.py: last_write_checksum: sha1:f6a46091ff51a183738fce8430c9f31e711a37d0 src/polar_sdk/models/listresource_paymentmethod_.py: @@ -8427,7 +8348,7 @@ trackedFiles: src/polar_sdk/models/membersortproperty.py: last_write_checksum: sha1:568b6a8d21268718d6803e13422eb59f9c4d54d1 src/polar_sdk/models/memberupdate.py: - last_write_checksum: sha1:a53e4e5c175d42018a6e342b34944a2978cb9e6c + last_write_checksum: sha1:d22071e5d3c5fd437170ccfebe6ada505b29253e src/polar_sdk/models/metadataoutputtype.py: last_write_checksum: sha1:3c57abe09e4552576029c7faf56d66d9e02ece4e src/polar_sdk/models/meter.py: @@ -8471,7 +8392,7 @@ trackedFiles: src/polar_sdk/models/metrics_delete_dashboardop.py: last_write_checksum: sha1:87ffc930359793d9e04b59045f746dafe53aed1a src/polar_sdk/models/metrics_exportop.py: - last_write_checksum: sha1:ae8d80b31f2138dede9d106fb94c6ec2c9539587 + last_write_checksum: sha1:491d615d43775cf23ca9352985577cf14f4bf3bf src/polar_sdk/models/metrics_get_dashboardop.py: last_write_checksum: sha1:8fe2bd4421ad4cef1236d7694f13d1101383b7a9 src/polar_sdk/models/metrics_getop.py: @@ -8498,14 +8419,12 @@ trackedFiles: last_write_checksum: sha1:7f326424a7d5ae1bcd5c89a0d6b3dbda9138942f src/polar_sdk/models/notopencheckout.py: last_write_checksum: sha1:b861df7706816508b7de2dd4194a45bca43e03cc - src/polar_sdk/models/notpaidorder.py: - last_write_checksum: sha1:b4b2aa5b78b978744bfd6f1bcec2810a46067b4d src/polar_sdk/models/notpermitted.py: last_write_checksum: sha1:168d8616b88e1554c8a05eebf7d94048ea1b4da7 src/polar_sdk/models/oauth2clientconfiguration.py: - last_write_checksum: sha1:656e74f687057180f81b802064bd4c8a80662db9 + last_write_checksum: sha1:852250c0e2f88cb7131c030210cdb106aa6af230 src/polar_sdk/models/oauth2clientconfigurationupdate.py: - last_write_checksum: sha1:c42fdd42a80d4f397d9813dd63ae0eb237988295 + last_write_checksum: sha1:b3fe13320833ce4abcaef8c5c6efed8006c9ec48 src/polar_sdk/models/oauth2clientpublic.py: last_write_checksum: sha1:613274439501d3284f7424e6059b07e0a62fd659 src/polar_sdk/models/oauth2_authorizeop.py: @@ -8523,13 +8442,13 @@ trackedFiles: src/polar_sdk/models/offsessionchargesnotenabled.py: last_write_checksum: sha1:425ffa5dc180558667b7012c33c11825594de78d src/polar_sdk/models/order.py: - last_write_checksum: sha1:1a8a7007718a3b433ffae64b6e2bee5b9526e0b9 + last_write_checksum: sha1:06926efc6a2a83298314dda99ebd2c6e8a49a25b src/polar_sdk/models/orderbillingreason.py: last_write_checksum: sha1:3b294070e89e6d9f91bdd42c34207bc44769b5b1 src/polar_sdk/models/ordercreate.py: last_write_checksum: sha1:a803e616a894b5332a612883a13f038c81e76457 src/polar_sdk/models/ordercustomer.py: - last_write_checksum: sha1:c520e1f77cbfd553de581c3c4f07856bc857bf05 + last_write_checksum: sha1:62773e99b6a15da11c37bfa1a00e17b49e4b43d0 src/polar_sdk/models/orderfinalize.py: last_write_checksum: sha1:af747340ca25c4cb133681da07d058680aae25f1 src/polar_sdk/models/orderinvoice.py: @@ -8545,7 +8464,7 @@ trackedFiles: src/polar_sdk/models/orderpaidmetadata.py: last_write_checksum: sha1:4f0ee4229ab6a6d8867cd3962ec5ca9beb5e7fc1 src/polar_sdk/models/orderproduct.py: - last_write_checksum: sha1:ebd239f2edd30810b00b7c37fc0a64da0b0511fb + last_write_checksum: sha1:5b7f95cd04931a7cc2d3dc4999c14d36f3f6edfc src/polar_sdk/models/orderreceipt.py: last_write_checksum: sha1:e604791f84136674720964010a90bfb81b30d42c src/polar_sdk/models/orderrefundedevent.py: @@ -8553,11 +8472,11 @@ trackedFiles: src/polar_sdk/models/orderrefundedmetadata.py: last_write_checksum: sha1:3ce8e61cc2ef8c8368ee802783a7783e2c4b9660 src/polar_sdk/models/orders_exportop.py: - last_write_checksum: sha1:c8f2b41b7aef39762404a08bf44984e7627e38d8 + last_write_checksum: sha1:484ffe471e51ac4d9dfafe3f3c6eead049ab42c9 src/polar_sdk/models/orders_finalizeop.py: last_write_checksum: sha1:aea31f009298498eac4ea40c60ebe63aeffc4b4f src/polar_sdk/models/orders_generate_invoiceop.py: - last_write_checksum: sha1:f08138259c636da7da4048963a03f8ddf3e4038a + last_write_checksum: sha1:cf31b9bd0a3bb1ce3670a046b46dfb683c1b21ff src/polar_sdk/models/orders_getop.py: last_write_checksum: sha1:23e161223672c30de58d0f01f82e42f48b339bad src/polar_sdk/models/orders_invoiceop.py: @@ -8571,7 +8490,7 @@ trackedFiles: src/polar_sdk/models/orderstatus.py: last_write_checksum: sha1:d22b6b744e74c156612aa03b907c16e362de836e src/polar_sdk/models/ordersubscription.py: - last_write_checksum: sha1:2c562ae7ec8743fd25c0808d968da454be0abada + last_write_checksum: sha1:69d54563deffd7547d612c4a8621b74687b113a9 src/polar_sdk/models/orderupdate.py: last_write_checksum: sha1:89edd80c248803382ab77cfef04497d1d6f4dab1 src/polar_sdk/models/ordervoidedevent.py: @@ -8579,23 +8498,7 @@ trackedFiles: src/polar_sdk/models/ordervoidedmetadata.py: last_write_checksum: sha1:33d77ec34e627989d491dbf1fc9a9fd6232ca18b src/polar_sdk/models/organization.py: - last_write_checksum: sha1:e5835743b58592705c57ce4aab233cc700511fe0 - src/polar_sdk/models/organization_access_tokens_deleteop.py: - last_write_checksum: sha1:d1a2e56defb6bb2b7036b7311b28a99174880b1d - src/polar_sdk/models/organization_access_tokens_listop.py: - last_write_checksum: sha1:6d9baad3a5eb334b97d1964065d5eca74d451b6a - src/polar_sdk/models/organization_access_tokens_updateop.py: - last_write_checksum: sha1:3f1600b2f966eecaa3bacd9671d555349409e404 - src/polar_sdk/models/organizationaccesstoken.py: - last_write_checksum: sha1:66e1bc20eed7486f75e09972eeb2da3993803fe7 - src/polar_sdk/models/organizationaccesstokencreate.py: - last_write_checksum: sha1:dd19216e9126b059b281c2bef931c6b27395a530 - src/polar_sdk/models/organizationaccesstokencreateresponse.py: - last_write_checksum: sha1:cc7a2006754e3d37d84e433f00f192a325f59c47 - src/polar_sdk/models/organizationaccesstokensortproperty.py: - last_write_checksum: sha1:fea0e38599517b148b04b23fecdfd02f3c5e53a6 - src/polar_sdk/models/organizationaccesstokenupdate.py: - last_write_checksum: sha1:351cd14421dcaa777d2853d86c6c33efe9e608bb + last_write_checksum: sha1:9fc65de7c3a9b5facd446767147d752243fb221f src/polar_sdk/models/organizationavatarfilecreate.py: last_write_checksum: sha1:b7259ea58bda0b8385bf6916f03a90e8e1393096 src/polar_sdk/models/organizationavatarfileread.py: @@ -8605,7 +8508,7 @@ trackedFiles: src/polar_sdk/models/organizationcompanylegalentityschema.py: last_write_checksum: sha1:1ef480d7d0ddf4a07efbca15fbf0c3cf71790b54 src/polar_sdk/models/organizationcreate.py: - last_write_checksum: sha1:735571eeb459bfbcb9b66938d346976faff27c53 + last_write_checksum: sha1:cef25c8030590df1ad6d9deb92a678df7e58f421 src/polar_sdk/models/organizationcustomeremailsettings.py: last_write_checksum: sha1:22d037fa5aa65cc2b5171d0da1588cd145a1bd16 src/polar_sdk/models/organizationcustomerportalsettings.py: @@ -8613,13 +8516,11 @@ trackedFiles: src/polar_sdk/models/organizationdetails.py: last_write_checksum: sha1:74233062d4ab6a42a6799705ac3cfd820ba3244c src/polar_sdk/models/organizationfeaturesettings.py: - last_write_checksum: sha1:2306679a2af0ecddadeac2ca25d8dd3f6fda53a7 + last_write_checksum: sha1:1feae80217f34a512faedb376ca0c668db9682a4 src/polar_sdk/models/organizationfeaturesettingsupdate.py: last_write_checksum: sha1:5242996869faeaa0d758801a4adf3f654bad5c3e src/polar_sdk/models/organizationindividuallegalentityschema.py: last_write_checksum: sha1:33b021299f8a9ef86b315e3030acf6e34ccedeb4 - src/polar_sdk/models/organizationnotificationsettings.py: - last_write_checksum: sha1:d56d2a800ac2800e155ca918ff4e6765797ee3ed src/polar_sdk/models/organizationnotreadyforpayments.py: last_write_checksum: sha1:759a373d584d830a2fde026d9692726c5b83dcec src/polar_sdk/models/organizations_getop.py: @@ -8635,11 +8536,11 @@ trackedFiles: src/polar_sdk/models/organizationsortproperty.py: last_write_checksum: sha1:66e31e5bb02cf397e53af46fee2505eb38f5bd95 src/polar_sdk/models/organizationstatus.py: - last_write_checksum: sha1:eeb6ac3665cf39d05289c60612468178dc9d4ccb + last_write_checksum: sha1:8a7bc760e03b0e7c789329272fa730105985a3f7 src/polar_sdk/models/organizationsubscriptionsettings.py: last_write_checksum: sha1:203cd8a2032d20862ee82c4c8efbd020d4839f56 src/polar_sdk/models/organizationupdate.py: - last_write_checksum: sha1:5867d486bbfe65c06357ecdf21a8999b432ce838 + last_write_checksum: sha1:5df7b2ca66458ce64c622648acf285cb78b50a57 src/polar_sdk/models/pagination.py: last_write_checksum: sha1:88b8cafcf8bbbb722ffc53957982fecae18d95bf src/polar_sdk/models/payment.py: @@ -8676,6 +8577,8 @@ trackedFiles: last_write_checksum: sha1:2803a0c85f1046a5e19a3f7f136d789e5b0ca439 src/polar_sdk/models/paymentstatus.py: last_write_checksum: sha1:244c8b0d56fc98007d9b0a8d2a58b43367a2ad38 + src/polar_sdk/models/paymenttrigger.py: + last_write_checksum: sha1:ff0feb60f47e2bf4b086880028f9128f28e5e6f0 src/polar_sdk/models/pendingsubscriptionupdate.py: last_write_checksum: sha1:106e83d23e6f364912ad4a23c7ea5b21acf19b4a src/polar_sdk/models/polarerror.py: @@ -8685,7 +8588,7 @@ trackedFiles: src/polar_sdk/models/presentmentcurrency.py: last_write_checksum: sha1:53af7a67f99d4e9d7d55180102c4218f5abad366 src/polar_sdk/models/product.py: - last_write_checksum: sha1:ef59d2a9fda758c49c4dad6be2571dd640a184ac + last_write_checksum: sha1:be653c58e9870946d3636e7c3eaad0db848cdbfb src/polar_sdk/models/productbenefitsupdate.py: last_write_checksum: sha1:14900af3b1200e10fb292f5ab862d69ec1714ae9 src/polar_sdk/models/productbillingtype.py: @@ -8693,15 +8596,15 @@ trackedFiles: src/polar_sdk/models/productcreate.py: last_write_checksum: sha1:b4b0e18f2d9e0a3087f41f0f3d0c2367e4a3b066 src/polar_sdk/models/productcreateonetime.py: - last_write_checksum: sha1:e12a56d49e793cbe529d32c96f17a1ef172c99fb + last_write_checksum: sha1:737e2664aba0d91c7aed79d4be46607fcf4b6233 src/polar_sdk/models/productcreaterecurring.py: - last_write_checksum: sha1:6948b6988f2676ec56e833da0655a9faac7407ba + last_write_checksum: sha1:26bbb40890ff7dc3d89f20fddd03667543ceaace src/polar_sdk/models/productmediafilecreate.py: last_write_checksum: sha1:61a8627e33a348ea6ad6194b4534ac9805620442 src/polar_sdk/models/productmediafileread.py: last_write_checksum: sha1:02cb8c4034cc3966c88833a55f6501b9eb04c990 src/polar_sdk/models/productprice.py: - last_write_checksum: sha1:94940ba8feb6d3d69a0b63c7ecbd7602892c5de2 + last_write_checksum: sha1:de9d418b88490c9cbe3f976eb18e56cee0d60be1 src/polar_sdk/models/productpricecustom.py: last_write_checksum: sha1:60c580ba1d7e5755b2e273a5141319d20eadc166 src/polar_sdk/models/productpricecustomcreate.py: @@ -8710,10 +8613,6 @@ trackedFiles: last_write_checksum: sha1:9b5e42ece47c918221067ce8ea86005edf364c93 src/polar_sdk/models/productpricefixedcreate.py: last_write_checksum: sha1:240b0113ce48bf8d63dbae613857b5de806c9854 - src/polar_sdk/models/productpricefree.py: - last_write_checksum: sha1:bfacb3a8115f8a96ed2adc4c4e6660abf99632fe - src/polar_sdk/models/productpricefreecreate.py: - last_write_checksum: sha1:502b04d4bc7b36fe8f6fc18e2db7dc9cac7ce397 src/polar_sdk/models/productpricemeter.py: last_write_checksum: sha1:cc9474703ce9d29d400e15def880e7587e29597f src/polar_sdk/models/productpricemeteredunit.py: @@ -8741,11 +8640,13 @@ trackedFiles: src/polar_sdk/models/productsortproperty.py: last_write_checksum: sha1:e2721f46be9707be06b4842fccc6e38e3d98f890 src/polar_sdk/models/productupdate.py: - last_write_checksum: sha1:03a318eeb51a632c8b029ac779d1e65940391d7f + last_write_checksum: sha1:460bdbfe12c0b201c99b01a60997de3849effb85 src/polar_sdk/models/productvisibility.py: last_write_checksum: sha1:cf05d90c2deae8bf904ed655e5f2469989651efb src/polar_sdk/models/propertyaggregation.py: last_write_checksum: sha1:b33f6537fcaefbca69f345a2a1645322d6c9e139 + src/polar_sdk/models/recurringinterval.py: + last_write_checksum: sha1:dafe7de1b7e1363b3dc46a5d382cdf005522177f src/polar_sdk/models/refreshtokenrequest.py: last_write_checksum: sha1:b4fec4fc3721b3c422ae9086faa7f6c2fb364478 src/polar_sdk/models/refund.py: @@ -8803,7 +8704,7 @@ trackedFiles: src/polar_sdk/models/security.py: last_write_checksum: sha1:df865d7651d0546f24c98e31068f5abc6d81d45d src/polar_sdk/models/subscription.py: - last_write_checksum: sha1:eee3357d5965290e4bf0f1e9c413698fb2ff825c + last_write_checksum: sha1:582794a817653c866abf1c7a2978c285711620ba src/polar_sdk/models/subscriptionbillingperiodupdatedevent.py: last_write_checksum: sha1:9212d212f02d75cd097d0d547b917dd31a0186b1 src/polar_sdk/models/subscriptionbillingperiodupdatedmetadata.py: @@ -8823,7 +8724,7 @@ trackedFiles: src/polar_sdk/models/subscriptioncreateexternalcustomer.py: last_write_checksum: sha1:671691e0be327af0275f10fbd3fefc81f3a61115 src/polar_sdk/models/subscriptioncustomer.py: - last_write_checksum: sha1:6298b95e1c4451dfa40ab0b728e0259fe274f126 + last_write_checksum: sha1:f8dc894aa357c03ab8a7c033a61d7934b8d5c4c8 src/polar_sdk/models/subscriptioncycledevent.py: last_write_checksum: sha1:75242e5fcffb7d293053b6e3ae967b48f8dbd36c src/polar_sdk/models/subscriptioncycledmetadata.py: @@ -8846,8 +8747,6 @@ trackedFiles: last_write_checksum: sha1:1ca76c933a241105f31db64c3f643b4fc85a5403 src/polar_sdk/models/subscriptionreactivatedmetadata.py: last_write_checksum: sha1:ff6fa132f778882ae37cbd3fe2bda057627f8df9 - src/polar_sdk/models/subscriptionrecurringinterval.py: - last_write_checksum: sha1:50e3c8d161461516c61f3e5ff97fe69ce52648fd src/polar_sdk/models/subscriptionrevoke.py: last_write_checksum: sha1:223ca15a2d3479eadb23b8cac94a612261fc77a0 src/polar_sdk/models/subscriptionrevokedevent.py: @@ -8857,7 +8756,7 @@ trackedFiles: src/polar_sdk/models/subscriptions_createop.py: last_write_checksum: sha1:0349d35d1705760189f0e0d394fecb8dc85a0ca9 src/polar_sdk/models/subscriptions_exportop.py: - last_write_checksum: sha1:2ddafdebcc7bfa02f6bfa6e3bd2fca028a36abf0 + last_write_checksum: sha1:7ee6786aceba074225827496595634d315087dac src/polar_sdk/models/subscriptions_getop.py: last_write_checksum: sha1:74872cc7de547940f4189bbabea5d8d4803837e1 src/polar_sdk/models/subscriptions_listop.py: @@ -8898,6 +8797,10 @@ trackedFiles: last_write_checksum: sha1:81b8edbe158653a9a6a64886200f3827560122b9 src/polar_sdk/models/subtype.py: last_write_checksum: sha1:af98f25883c063ee99b2a99ec3e7fb8c5af32957 + src/polar_sdk/models/supportcaseattachmentfilecreate.py: + last_write_checksum: sha1:75edecf4d30fa9c56f64cf37273485a38fffa83b + src/polar_sdk/models/supportcaseattachmentfileread.py: + last_write_checksum: sha1:64399f6fb1748b969d196084584292ef27c2940e src/polar_sdk/models/systemevent.py: last_write_checksum: sha1:643afaeecbca24ae7cec10ba910e0fec3af18b90 src/polar_sdk/models/taxbehavior.py: @@ -8905,7 +8808,7 @@ trackedFiles: src/polar_sdk/models/taxbehavioroption.py: last_write_checksum: sha1:5edc2dfc05982fc7b3b43d1bf942863ae98f15d4 src/polar_sdk/models/taxidformat.py: - last_write_checksum: sha1:862c1fee94f466b97bca3dbb729c1434e48c4068 + last_write_checksum: sha1:2dcc56370ca93b4a28072292fc113ce16fdf7373 src/polar_sdk/models/timeinterval.py: last_write_checksum: sha1:81b94d52df8f0e87d6fc770144d3d381fd9dee9b src/polar_sdk/models/tokenresponse.py: @@ -9031,9 +8934,7 @@ trackedFiles: src/polar_sdk/oauth2.py: last_write_checksum: sha1:4d04c5a98c3a4b5219d1ff484e7e1c8295b01f47 src/polar_sdk/orders.py: - last_write_checksum: sha1:71afb53f80a7643a1456865862cf6d5b90ff233f - src/polar_sdk/organization_access_tokens.py: - last_write_checksum: sha1:ae27492b6be28b436d83c9830dcc22ee419e5235 + last_write_checksum: sha1:7b12c242181addf0c0b97aab58fa2a7b81551847 src/polar_sdk/organizations.py: last_write_checksum: sha1:3e49a94280b9c334432809b6466c4e2271f4174a src/polar_sdk/payments.py: @@ -9047,9 +8948,9 @@ trackedFiles: src/polar_sdk/polar_license_keys.py: last_write_checksum: sha1:21662dddfbe9a0df7f9e4d2992bb493d6fc60f4b src/polar_sdk/polar_members.py: - last_write_checksum: sha1:c695ea4a45b91db28e39c6f427b6172903877931 + last_write_checksum: sha1:3ce936a8bba661f9f506e9622cee1ce081e11bb2 src/polar_sdk/polar_orders.py: - last_write_checksum: sha1:0aceb2c0635e04b6e4243371ffc8b2445e413e6c + last_write_checksum: sha1:33abd8f54ec8082476b06dc37ac35645906d4a11 src/polar_sdk/polar_organizations.py: last_write_checksum: sha1:08700e2912aa022146b05d0d1ba74b433b9b5feb src/polar_sdk/polar_subscriptions.py: @@ -9061,17 +8962,17 @@ trackedFiles: src/polar_sdk/refunds.py: last_write_checksum: sha1:897e314c3040921653a65d8b9855226ea187c3f0 src/polar_sdk/sdk.py: - last_write_checksum: sha1:7a44c48c491ac2c41d1b0d049bacfd04fbcfcc00 + last_write_checksum: sha1:cba9202d75bca69a0fba826112a940724b3769d4 src/polar_sdk/sdkconfiguration.py: last_write_checksum: sha1:b9b14902f71407dd21a4b209f2e342c54a0a86a7 src/polar_sdk/seats.py: last_write_checksum: sha1:157c57cd5aceea3ed4d99e7a78803123d1125de8 src/polar_sdk/subscriptions.py: - last_write_checksum: sha1:fab620e68e6ef05a06d3a5e264a5940b3eb8df77 + last_write_checksum: sha1:5d923ec6603d5f11e6eb5a3d2e9a775aadb6a213 src/polar_sdk/types/__init__.py: last_write_checksum: sha1:f9ad14217f832e74f594285960125add50324be9 src/polar_sdk/types/base64fileinput.py: - last_write_checksum: sha1:4780e893d3853b5a6e28d9a6ca3ee102ce0f502d + last_write_checksum: sha1:1522687ae3398374c35710cad993a6e82b5ab99d src/polar_sdk/types/basemodel.py: last_write_checksum: sha1:10d84aedeb9d35edfdadf2c3020caa1d24d8b584 src/polar_sdk/utils/__init__.py: @@ -9085,9 +8986,9 @@ trackedFiles: src/polar_sdk/utils/enums.py: last_write_checksum: sha1:bc8c3c1285ae09ba8a094ee5c3d9c7f41fa1284d src/polar_sdk/utils/eventstreaming.py: - last_write_checksum: sha1:cad7e4feff4f1b2824afd0d30f2b1964a604f4dd + last_write_checksum: sha1:7d1dc68f8b48486ab646653aa05cc38752e1f912 src/polar_sdk/utils/forms.py: - last_write_checksum: sha1:15fa7e9ab1611e062a9984cf06cb20969713d295 + last_write_checksum: sha1:a971cdb120ad3d416d296d5d0ad89e4808350a7f src/polar_sdk/utils/headers.py: last_write_checksum: sha1:7c6df233ee006332b566a8afa9ce9a245941d935 src/polar_sdk/utils/logger.py: @@ -9099,7 +9000,7 @@ trackedFiles: src/polar_sdk/utils/requestbodies.py: last_write_checksum: sha1:e1fef575283b7fe7fe2ad392dbbb3fb105309124 src/polar_sdk/utils/retries.py: - last_write_checksum: sha1:471372f5c5d1dd5583239c9cf3c75f1b636e5d87 + last_write_checksum: sha1:3585b891142f30a597fbf7a2f0340700babef8e4 src/polar_sdk/utils/security.py: last_write_checksum: sha1:c11eef495b6aaa249178c24c796940cc540b7a00 src/polar_sdk/utils/serializers.py: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 732b4ec2..594fc331 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: persistentEdits: {} versioningStrategy: automatic python: - version: 0.31.7 + version: 0.32.0 additionalDependencies: dev: pydantic-ai-slim: ^0.1.0 @@ -54,6 +54,7 @@ python: description: Polar SDK for Python enableCustomCodeRegions: true enumFormat: enum + errorSchemaValidation: true eventStreamClassNames: async: EventStreamAsync sync: EventStream @@ -92,6 +93,7 @@ python: pytestTimeout: 0 rawResponseHelpers: false responseFormat: flat + responseSchemaValidation: true sseFlatResponse: false templateVersion: v2 useAsyncHooks: false diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 3e605ead..e74eabe6 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,20 +2,20 @@ speakeasyVersion: 1.648.0 sources: Polar-OAS: sourceNamespace: polar-oas - sourceRevisionDigest: sha256:2e876fec381971a288210e5d8709f9f5d1ce5fdceb4ab9f9081a12d2706b66a3 - sourceBlobDigest: sha256:121b4b199951de0444a9d01f4b9ae901c6f73bedd842db8c73380dfdbd1b7108 + sourceRevisionDigest: sha256:94dca7e7309178d2378cd1b35bb80b79d53d91baed12b142303d32d1f7b9d984 + sourceBlobDigest: sha256:8c65d5ecbace79703e92b31c42a53a9653fa28e7ce48e0962b0fe3df80aa741a tags: - latest - - speakeasy-sdk-regen-1780965532 - - 0.1.0 + - speakeasy-sdk-regen-1781311562 + - 2026-04 targets: polar: source: Polar-OAS sourceNamespace: polar-oas - sourceRevisionDigest: sha256:2e876fec381971a288210e5d8709f9f5d1ce5fdceb4ab9f9081a12d2706b66a3 - sourceBlobDigest: sha256:121b4b199951de0444a9d01f4b9ae901c6f73bedd842db8c73380dfdbd1b7108 + sourceRevisionDigest: sha256:94dca7e7309178d2378cd1b35bb80b79d53d91baed12b142303d32d1f7b9d984 + sourceBlobDigest: sha256:8c65d5ecbace79703e92b31c42a53a9653fa28e7ce48e0962b0fe3df80aa741a codeSamplesNamespace: polar-oas-py-code-samples - codeSamplesRevisionDigest: sha256:17f9306179ab5bf2b495f6c13089ff02e295fbb688aac7bbbbd89f340615971d + codeSamplesRevisionDigest: sha256:03cf45a6e8581bd5dc7ee84f546bc6330119f7729810c092456718923119300f workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index bb0531b1..24bffe54 100644 --- a/README.md +++ b/README.md @@ -455,13 +455,6 @@ of crashing on a `pydantic.ValidationError`. * [invoice](docs/sdks/orders/README.md#invoice) - Get Order Invoice * [receipt](docs/sdks/orders/README.md#receipt) - Get Order Receipt -### [organization_access_tokens](docs/sdks/organizationaccesstokens/README.md) - -* [list](docs/sdks/organizationaccesstokens/README.md#list) - List -* [create](docs/sdks/organizationaccesstokens/README.md#create) - Create -* [update](docs/sdks/organizationaccesstokens/README.md#update) - Update -* [delete](docs/sdks/organizationaccesstokens/README.md#delete) - Delete - ### [organizations](docs/sdks/organizations/README.md) * [list_organizations](docs/sdks/organizations/README.md#list_organizations) - List Organizations @@ -608,7 +601,7 @@ with Polar( * [`PolarError`](./src/polar_sdk/models/polarerror.py): The base class for HTTP error responses. * [`HTTPValidationError`](./src/polar_sdk/models/httpvalidationerror.py): Validation Error. Status code `422`. * -
Less common errors (30) +
Less common errors (29)
@@ -619,31 +612,30 @@ with Polar( **Inherit from [`PolarError`](./src/polar_sdk/models/polarerror.py)**: -* [`ResourceNotFound`](./src/polar_sdk/models/resourcenotfound.py): Status code `404`. Applicable to 90 of 187 methods.* -* [`NotPermitted`](./src/polar_sdk/models/notpermitted.py): Status code `403`. Applicable to 10 of 187 methods.* -* [`Unauthorized`](./src/polar_sdk/models/unauthorized.py): Not authorized to manage license key. Status code `401`. Applicable to 5 of 187 methods.* -* [`AlreadyCanceledSubscription`](./src/polar_sdk/models/alreadycanceledsubscription.py): Status code `403`. Applicable to 4 of 187 methods.* -* [`PaymentFailed`](./src/polar_sdk/models/paymentfailed.py): Status code `402`. Applicable to 3 of 187 methods.* -* [`AlreadyActiveSubscriptionError`](./src/polar_sdk/models/alreadyactivesubscriptionerror.py): The checkout is expired, the customer already has an active subscription, or the organization is not ready to accept payments. Status code `403`. Applicable to 3 of 187 methods.* -* [`NotOpenCheckout`](./src/polar_sdk/models/notopencheckout.py): The checkout is expired, the customer already has an active subscription, or the organization is not ready to accept payments. Status code `403`. Applicable to 3 of 187 methods.* -* [`PaymentNotReady`](./src/polar_sdk/models/paymentnotready.py): The checkout is expired, the customer already has an active subscription, or the organization is not ready to accept payments. Status code `403`. Applicable to 3 of 187 methods.* -* [`TrialAlreadyRedeemed`](./src/polar_sdk/models/trialalreadyredeemed.py): The checkout is expired, the customer already has an active subscription, or the organization is not ready to accept payments. Status code `403`. Applicable to 3 of 187 methods.* -* [`ExpiredCheckoutError`](./src/polar_sdk/models/expiredcheckouterror.py): The checkout session is expired. Status code `410`. Applicable to 3 of 187 methods.* -* [`SubscriptionLocked`](./src/polar_sdk/models/subscriptionlocked.py): Subscription is pending an update. Status code `409`. Applicable to 2 of 187 methods.* -* [`MissingInvoiceBillingDetails`](./src/polar_sdk/models/missinginvoicebillingdetails.py): Order is not paid or is missing billing name or address. Status code `422`. Applicable to 2 of 187 methods.* -* [`NotPaidOrder`](./src/polar_sdk/models/notpaidorder.py): Order is not paid or is missing billing name or address. Status code `422`. Applicable to 2 of 187 methods.* -* [`PaymentError`](./src/polar_sdk/models/paymenterror.py): The payment failed. Status code `400`. Applicable to 1 of 187 methods.* -* [`PaymentMethodSetupFailed`](./src/polar_sdk/models/paymentmethodsetupfailed.py): The card was declined while setting up the payment method. Status code `400`. Applicable to 1 of 187 methods.* -* [`CustomerNotReady`](./src/polar_sdk/models/customernotready.py): Customer is not ready to confirm a payment method. Status code `400`. Applicable to 1 of 187 methods.* -* [`PaymentMethodInUseByActiveSubscription`](./src/polar_sdk/models/paymentmethodinusebyactivesubscription.py): Payment method is used by active subscription(s). Status code `400`. Applicable to 1 of 187 methods.* -* [`PaymentActionRequired`](./src/polar_sdk/models/paymentactionrequired.py): The charge failed, or requires customer authentication (e.g. a 3DS challenge) that can't be completed off-session. Status code `402`. Applicable to 1 of 187 methods.* -* [`OffSessionChargesNotEnabled`](./src/polar_sdk/models/offsessionchargesnotenabled.py): Off-session charges are not enabled for this organization, or its account can't currently accept payments. Status code `403`. Applicable to 1 of 187 methods.* -* [`OrganizationNotReadyForPayments`](./src/polar_sdk/models/organizationnotreadyforpayments.py): Off-session charges are not enabled for this organization, or its account can't currently accept payments. Status code `403`. Applicable to 1 of 187 methods.* -* [`RefundedAlready`](./src/polar_sdk/models/refundedalready.py): Order is already fully refunded. Status code `403`. Applicable to 1 of 187 methods.* -* [`PaymentAlreadyInProgress`](./src/polar_sdk/models/paymentalreadyinprogress.py): Payment already in progress. Status code `409`. Applicable to 1 of 187 methods.* -* [`OrderNotDraft`](./src/polar_sdk/models/ordernotdraft.py): The order is not in `draft` status. Status code `412`. Applicable to 1 of 187 methods.* -* [`OrderNotEligibleForRetry`](./src/polar_sdk/models/ordernoteligibleforretry.py): Order not eligible for retry or payment confirmation failed. Status code `422`. Applicable to 1 of 187 methods.* -* [`ManualRetryLimitExceeded`](./src/polar_sdk/models/manualretrylimitexceeded.py): Manual retry limit exceeded. Status code `429`. Applicable to 1 of 187 methods.* +* [`ResourceNotFound`](./src/polar_sdk/models/resourcenotfound.py): Status code `404`. Applicable to 92 of 183 methods.* +* [`NotPermitted`](./src/polar_sdk/models/notpermitted.py): Status code `403`. Applicable to 10 of 183 methods.* +* [`Unauthorized`](./src/polar_sdk/models/unauthorized.py): Not authorized to manage license key. Status code `401`. Applicable to 5 of 183 methods.* +* [`AlreadyCanceledSubscription`](./src/polar_sdk/models/alreadycanceledsubscription.py): Status code `403`. Applicable to 4 of 183 methods.* +* [`PaymentFailed`](./src/polar_sdk/models/paymentfailed.py): Status code `402`. Applicable to 3 of 183 methods.* +* [`AlreadyActiveSubscriptionError`](./src/polar_sdk/models/alreadyactivesubscriptionerror.py): The checkout is expired, the customer already has an active subscription, or the organization is not ready to accept payments. Status code `403`. Applicable to 3 of 183 methods.* +* [`NotOpenCheckout`](./src/polar_sdk/models/notopencheckout.py): The checkout is expired, the customer already has an active subscription, or the organization is not ready to accept payments. Status code `403`. Applicable to 3 of 183 methods.* +* [`PaymentNotReady`](./src/polar_sdk/models/paymentnotready.py): The checkout is expired, the customer already has an active subscription, or the organization is not ready to accept payments. Status code `403`. Applicable to 3 of 183 methods.* +* [`TrialAlreadyRedeemed`](./src/polar_sdk/models/trialalreadyredeemed.py): The checkout is expired, the customer already has an active subscription, or the organization is not ready to accept payments. Status code `403`. Applicable to 3 of 183 methods.* +* [`ExpiredCheckoutError`](./src/polar_sdk/models/expiredcheckouterror.py): The checkout session is expired. Status code `410`. Applicable to 3 of 183 methods.* +* [`SubscriptionLocked`](./src/polar_sdk/models/subscriptionlocked.py): Subscription is pending an update. Status code `409`. Applicable to 2 of 183 methods.* +* [`MissingInvoiceBillingDetails`](./src/polar_sdk/models/missinginvoicebillingdetails.py): Order is missing billing name or address. Status code `422`. Applicable to 2 of 183 methods.* +* [`PaymentError`](./src/polar_sdk/models/paymenterror.py): The payment failed. Status code `400`. Applicable to 1 of 183 methods.* +* [`PaymentMethodSetupFailed`](./src/polar_sdk/models/paymentmethodsetupfailed.py): The card was declined while setting up the payment method. Status code `400`. Applicable to 1 of 183 methods.* +* [`CustomerNotReady`](./src/polar_sdk/models/customernotready.py): Customer is not ready to confirm a payment method. Status code `400`. Applicable to 1 of 183 methods.* +* [`PaymentMethodInUseByActiveSubscription`](./src/polar_sdk/models/paymentmethodinusebyactivesubscription.py): Payment method is used by active subscription(s). Status code `400`. Applicable to 1 of 183 methods.* +* [`PaymentActionRequired`](./src/polar_sdk/models/paymentactionrequired.py): The charge failed, or requires customer authentication (e.g. a 3DS challenge) that can't be completed off-session. Status code `402`. Applicable to 1 of 183 methods.* +* [`OffSessionChargesNotEnabled`](./src/polar_sdk/models/offsessionchargesnotenabled.py): Off-session charges are not enabled for this organization, or its account can't currently accept payments. Status code `403`. Applicable to 1 of 183 methods.* +* [`OrganizationNotReadyForPayments`](./src/polar_sdk/models/organizationnotreadyforpayments.py): Off-session charges are not enabled for this organization, or its account can't currently accept payments. Status code `403`. Applicable to 1 of 183 methods.* +* [`RefundedAlready`](./src/polar_sdk/models/refundedalready.py): Order is already fully refunded. Status code `403`. Applicable to 1 of 183 methods.* +* [`PaymentAlreadyInProgress`](./src/polar_sdk/models/paymentalreadyinprogress.py): Payment already in progress. Status code `409`. Applicable to 1 of 183 methods.* +* [`OrderNotDraft`](./src/polar_sdk/models/ordernotdraft.py): The order is not in `draft` status. Status code `412`. Applicable to 1 of 183 methods.* +* [`OrderNotEligibleForRetry`](./src/polar_sdk/models/ordernoteligibleforretry.py): Order not eligible for retry or payment confirmation failed. Status code `422`. Applicable to 1 of 183 methods.* +* [`ManualRetryLimitExceeded`](./src/polar_sdk/models/manualretrylimitexceeded.py): Manual retry limit exceeded. Status code `429`. Applicable to 1 of 183 methods.* * [`ResponseValidationError`](./src/polar_sdk/models/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute.
diff --git a/RELEASES.md b/RELEASES.md index 51a97d6b..39f6db08 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1143,4 +1143,14 @@ Based on: ### Generated - [python v0.31.7] . ### Releases -- [PyPI v0.31.7] https://pypi.org/project/polar-sdk/0.31.7 - . \ No newline at end of file +- [PyPI v0.31.7] https://pypi.org/project/polar-sdk/0.31.7 - . + +## 2026-06-26 00:42:30 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.648.0 (2.737.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.32.0] . +### Releases +- [PyPI v0.32.0] https://pypi.org/project/polar-sdk/0.32.0 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 2579c8f2..193c3cf9 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -302,7 +302,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "from polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.customer_portal.members.update_member(id=\"8319ae11-ed5f-4642-81e4-4b40731df195\", customer_portal_member_update={})\n\n # Handle response\n print(res)" + "source": "from polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.customer_portal.members.update_member(id=\"8319ae11-ed5f-4642-81e4-4b40731df195\", customer_portal_member_update={\n \"name\": \"Jane Doe\",\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/customer-portal/meters/"]["get"] update: "x-codeSamples": @@ -644,7 +644,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "from polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.files.create(request={\n \"name\": \"\",\n \"mime_type\": \"\",\n \"size\": 612128,\n \"upload\": {\n \"parts\": [],\n },\n \"service\": \"downloadable\",\n })\n\n # Handle response\n print(res)" + "source": "from polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.files.create(request={\n \"name\": \"\",\n \"mime_type\": \"\",\n \"size\": 612128,\n \"upload\": {\n \"parts\": [],\n },\n \"service\": \"organization_avatar\",\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/files/{id}"]["delete"] update: "x-codeSamples": @@ -939,30 +939,6 @@ actions: - "lang": "python" "label": "Python (SDK)" "source": "from polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.orders.receipt(id=\"\")\n\n assert res is not None\n\n # Handle response\n print(res)" - - target: $["paths"]["/v1/organization-access-tokens/"]["get"] - update: - "x-codeSamples": - - "lang": "python" - "label": "Python (SDK)" - "source": "from polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.organization_access_tokens.list(organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\", page=1, limit=10)\n\n while res is not None:\n # Handle items\n\n res = res.next()" - - target: $["paths"]["/v1/organization-access-tokens/"]["post"] - update: - "x-codeSamples": - - "lang": "python" - "label": "Python (SDK)" - "source": "from polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.organization_access_tokens.create(request={\n \"comment\": \"The Football Is Good For Training And Recreational Purposes\",\n \"scopes\": [],\n })\n\n # Handle response\n print(res)" - - target: $["paths"]["/v1/organization-access-tokens/{id}"]["delete"] - update: - "x-codeSamples": - - "lang": "python" - "label": "Python (SDK)" - "source": "from polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n polar.organization_access_tokens.delete(id=\"\")\n\n # Use the SDK ..." - - target: $["paths"]["/v1/organization-access-tokens/{id}"]["patch"] - update: - "x-codeSamples": - - "lang": "python" - "label": "Python (SDK)" - "source": "from polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.organization_access_tokens.update(id=\"\", organization_access_token_update={})\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/organizations/"]["get"] update: "x-codeSamples": @@ -1166,7 +1142,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointcheckout_created_post(request=polar_sdk.WebhookCheckoutCreatedPayload(\n timestamp=parse_datetime(\"2024-02-15T15:44:21.478Z\"),\n data=polar_sdk.Checkout(\n id=\"\",\n created_at=parse_datetime(\"2026-09-12T19:48:15.814Z\"),\n modified_at=parse_datetime(\"2024-09-13T02:01:27.394Z\"),\n payment_processor=polar_sdk.PaymentProcessor.STRIPE,\n status=polar_sdk.CheckoutStatus.EXPIRED,\n client_secret=\"\",\n url=\"https://agreeable-reboot.biz\",\n expires_at=parse_datetime(\"2025-05-02T18:25:33.974Z\"),\n success_url=\"https://rural-outrun.org\",\n return_url=\"https://clean-humidity.com/\",\n embed_origin=\"\",\n amount=275553,\n discount_amount=9980,\n net_amount=266632,\n tax_amount=348968,\n tax_behavior=polar_sdk.TaxBehavior.INCLUSIVE,\n total_amount=322400,\n currency=\"Boliviano boliviano\",\n allow_trial=False,\n active_trial_interval=polar_sdk.TrialInterval.DAY,\n active_trial_interval_count=None,\n trial_end=parse_datetime(\"2024-05-07T13:53:51.913Z\"),\n organization_id=\"\",\n product_id=\"\",\n product_price_id=\"\",\n discount_id=\"\",\n allow_discount_codes=False,\n require_billing_address=False,\n is_discount_applicable=False,\n is_free_product_price=False,\n is_payment_required=False,\n is_payment_setup_required=True,\n is_payment_form_required=False,\n customer_id=\"\",\n is_business_customer=True,\n customer_name=\"\",\n customer_email=\"\",\n customer_ip_address=\"\",\n customer_billing_name=\"\",\n customer_billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n customer_tax_id=\"\",\n payment_processor_metadata={\n \"key\": \"\",\n \"key1\": \"\",\n \"key2\": \"\",\n },\n billing_address_fields=polar_sdk.CheckoutBillingAddressFields(\n country=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n state=polar_sdk.BillingAddressFieldMode.REQUIRED,\n city=polar_sdk.BillingAddressFieldMode.DISABLED,\n postal_code=polar_sdk.BillingAddressFieldMode.REQUIRED,\n line1=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n line2=polar_sdk.BillingAddressFieldMode.DISABLED,\n ),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=None,\n metadata={\n\n },\n external_customer_id=\"\",\n products=[\n polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2024-01-06T18:09:03.676Z\"),\n modified_at=parse_datetime(\"2025-05-28T21:42:41.690Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=590205,\n name=\"\",\n description=\"structure tenderly dirty colon though\",\n visibility=polar_sdk.ProductVisibility.DRAFT,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=265994,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2024-04-20T04:12:36.083Z\"),\n modified_at=None,\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.INCLUSIVE,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n minimum_amount=721879,\n maximum_amount=559368,\n preset_amount=552660,\n ),\n ],\n benefits=[\n polar_sdk.BenefitPublic(\n id=\"\",\n created_at=parse_datetime(\"2026-03-07T18:00:48.486Z\"),\n modified_at=parse_datetime(\"2026-07-24T22:06:51.276Z\"),\n type=polar_sdk.BenefitType.METER_CREDIT,\n description=\"drat meanwhile ah lest neighboring zowie zowie greedily black\",\n selectable=False,\n deletable=False,\n is_deleted=True,\n organization_id=\"\",\n ),\n ],\n medias=[],\n ),\n ],\n product=None,\n product_price=polar_sdk.LegacyRecurringProductPriceFree(\n created_at=parse_datetime(\"2025-01-08T19:17:50.328Z\"),\n modified_at=parse_datetime(\"2026-12-06T19:58:41.789Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.EXCLUSIVE,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n ),\n prices={\n \"key\": [],\n },\n discount=polar_sdk.CheckoutDiscountFixedRepeatDuration(\n duration=polar_sdk.DiscountDuration.REPEATING,\n duration_in_months=670493,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n id=\"\",\n name=\"\",\n code=\"\",\n ),\n subscription_id=\"\",\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldDate(\n created_at=parse_datetime(\"2026-07-02T13:05:31.034Z\"),\n modified_at=parse_datetime(\"2026-03-01T15:09:47.026Z\"),\n id=\"\",\n metadata={\n \"key\": 2325.29,\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldDateProperties(),\n ),\n order=55223,\n required=False,\n ),\n ],\n customer_metadata={\n \"key\": \"\",\n },\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointcheckout_created_post(request=polar_sdk.WebhookCheckoutCreatedPayload(\n timestamp=parse_datetime(\"2024-02-15T15:44:21.478Z\"),\n data=polar_sdk.Checkout(\n id=\"\",\n created_at=parse_datetime(\"2026-09-12T19:48:15.814Z\"),\n modified_at=parse_datetime(\"2024-09-13T02:01:27.394Z\"),\n payment_processor=polar_sdk.PaymentProcessor.STRIPE,\n status=polar_sdk.CheckoutStatus.EXPIRED,\n client_secret=\"\",\n url=\"https://agreeable-reboot.biz\",\n expires_at=parse_datetime(\"2025-05-02T18:25:33.974Z\"),\n success_url=\"https://rural-outrun.org\",\n return_url=\"https://clean-humidity.com/\",\n embed_origin=\"\",\n amount=275553,\n discount_amount=9980,\n net_amount=266632,\n tax_amount=348968,\n tax_behavior=polar_sdk.TaxBehavior.INCLUSIVE,\n total_amount=322400,\n currency=\"Boliviano boliviano\",\n allow_trial=False,\n active_trial_interval=polar_sdk.TrialInterval.DAY,\n active_trial_interval_count=None,\n trial_end=parse_datetime(\"2024-05-07T13:53:51.913Z\"),\n organization_id=\"\",\n product_id=\"\",\n product_price_id=\"\",\n discount_id=\"\",\n allow_discount_codes=False,\n require_billing_address=False,\n is_discount_applicable=False,\n is_free_product_price=False,\n is_payment_required=False,\n is_payment_setup_required=True,\n is_payment_form_required=False,\n customer_id=\"\",\n is_business_customer=True,\n customer_name=\"\",\n customer_email=\"\",\n customer_ip_address=\"\",\n customer_billing_name=\"\",\n customer_billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n customer_tax_id=\"\",\n payment_processor_metadata={\n \"key\": \"\",\n \"key1\": \"\",\n \"key2\": \"\",\n },\n billing_address_fields=polar_sdk.CheckoutBillingAddressFields(\n country=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n state=polar_sdk.BillingAddressFieldMode.REQUIRED,\n city=polar_sdk.BillingAddressFieldMode.DISABLED,\n postal_code=polar_sdk.BillingAddressFieldMode.REQUIRED,\n line1=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n line2=polar_sdk.BillingAddressFieldMode.DISABLED,\n ),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=None,\n metadata={\n\n },\n external_customer_id=\"\",\n products=[\n polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2024-01-06T18:09:03.676Z\"),\n modified_at=parse_datetime(\"2025-05-28T21:42:41.690Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=590205,\n name=\"\",\n description=\"structure tenderly dirty colon though\",\n visibility=polar_sdk.ProductVisibility.DRAFT,\n recurring_interval=polar_sdk.RecurringInterval.YEAR,\n recurring_interval_count=265994,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2024-04-20T04:12:36.083Z\"),\n modified_at=None,\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.INCLUSIVE,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n minimum_amount=721879,\n maximum_amount=559368,\n preset_amount=552660,\n ),\n ],\n benefits=[\n polar_sdk.BenefitPublic(\n id=\"\",\n created_at=parse_datetime(\"2026-03-07T18:00:48.486Z\"),\n modified_at=parse_datetime(\"2026-07-24T22:06:51.276Z\"),\n type=polar_sdk.BenefitType.METER_CREDIT,\n description=\"drat meanwhile ah lest neighboring zowie zowie greedily black\",\n selectable=False,\n deletable=False,\n is_deleted=True,\n organization_id=\"\",\n ),\n ],\n medias=[],\n ),\n ],\n product=None,\n product_price=polar_sdk.ProductPriceMeteredUnit(\n created_at=parse_datetime(\"2025-01-08T19:17:50.328Z\"),\n modified_at=parse_datetime(\"2026-12-06T19:58:41.789Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.EXCLUSIVE,\n is_archived=False,\n product_id=\"\",\n unit_amount=\"\",\n cap_amount=470604,\n meter_id=\"\",\n meter=polar_sdk.ProductPriceMeter(\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.SCALAR,\n ),\n ),\n prices={\n \"key\": [\n polar_sdk.ProductPriceMeteredUnit(\n created_at=parse_datetime(\"2025-01-26T12:44:05.844Z\"),\n modified_at=parse_datetime(\"2024-11-11T13:10:44.040Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.EXCLUSIVE,\n is_archived=False,\n product_id=\"\",\n unit_amount=\"\",\n cap_amount=786803,\n meter_id=\"\",\n meter=polar_sdk.ProductPriceMeter(\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.SCALAR,\n ),\n ),\n ],\n },\n discount=polar_sdk.CheckoutDiscountFixedOnceForeverDuration(\n duration=polar_sdk.DiscountDuration.ONCE,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n id=\"\",\n name=\"\",\n code=\"\",\n ),\n subscription_id=\"\",\n attached_custom_fields=None,\n customer_metadata={\n \"key\": False,\n },\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["checkout.expired"]["post"] update: "x-codeSamples": @@ -1178,7 +1154,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointcheckout_updated_post(request=polar_sdk.WebhookCheckoutUpdatedPayload(\n timestamp=parse_datetime(\"2024-03-18T05:40:46.816Z\"),\n data=polar_sdk.Checkout(\n id=\"\",\n created_at=parse_datetime(\"2025-09-17T13:52:37.257Z\"),\n modified_at=parse_datetime(\"2025-11-07T08:23:01.152Z\"),\n payment_processor=polar_sdk.PaymentProcessor.STRIPE,\n status=polar_sdk.CheckoutStatus.EXPIRED,\n client_secret=\"\",\n url=\"https://male-punctuation.name\",\n expires_at=parse_datetime(\"2026-03-26T06:13:51.386Z\"),\n success_url=\"https://monumental-mathematics.info\",\n return_url=\"https://scary-valley.com/\",\n embed_origin=\"\",\n amount=867510,\n discount_amount=469340,\n net_amount=139232,\n tax_amount=373760,\n tax_behavior=None,\n total_amount=59172,\n currency=\"New Taiwan Dollar\",\n allow_trial=True,\n active_trial_interval=polar_sdk.TrialInterval.MONTH,\n active_trial_interval_count=675563,\n trial_end=parse_datetime(\"2024-11-02T00:27:36.754Z\"),\n organization_id=\"\",\n product_id=\"\",\n product_price_id=\"\",\n discount_id=\"\",\n allow_discount_codes=False,\n require_billing_address=False,\n is_discount_applicable=True,\n is_free_product_price=True,\n is_payment_required=True,\n is_payment_setup_required=False,\n is_payment_form_required=False,\n customer_id=\"\",\n is_business_customer=False,\n customer_name=\"\",\n customer_email=\"\",\n customer_ip_address=\"\",\n customer_billing_name=\"\",\n customer_billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n customer_tax_id=\"\",\n payment_processor_metadata={\n \"key\": \"\",\n \"key1\": \"\",\n },\n billing_address_fields=polar_sdk.CheckoutBillingAddressFields(\n country=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n state=polar_sdk.BillingAddressFieldMode.REQUIRED,\n city=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n postal_code=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n line1=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n line2=polar_sdk.BillingAddressFieldMode.DISABLED,\n ),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=899080,\n metadata={\n\n },\n external_customer_id=\"\",\n products=[],\n product=polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2025-09-06T09:34:57.464Z\"),\n modified_at=parse_datetime(\"2024-01-24T09:30:59.881Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=881833,\n name=\"\",\n description=\"needily past pause different wallaby micromanage yahoo thin instead woeful\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=297888,\n is_recurring=False,\n is_archived=True,\n organization_id=\"\",\n prices=[\n polar_sdk.LegacyRecurringProductPriceFree(\n created_at=parse_datetime(\"2024-12-18T01:07:08.468Z\"),\n modified_at=parse_datetime(\"2024-11-04T07:41:56.715Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.INCLUSIVE,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n ),\n ],\n benefits=[],\n medias=[],\n ),\n product_price=polar_sdk.LegacyRecurringProductPriceFree(\n created_at=parse_datetime(\"2026-09-07T16:26:35.659Z\"),\n modified_at=parse_datetime(\"2025-08-12T14:24:20.342Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.EXCLUSIVE,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n ),\n prices={\n \"key\": [],\n \"key1\": [],\n },\n discount=polar_sdk.CheckoutDiscountFixedRepeatDuration(\n duration=polar_sdk.DiscountDuration.ONCE,\n duration_in_months=698656,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n id=\"\",\n name=\"\",\n code=\"\",\n ),\n subscription_id=\"\",\n attached_custom_fields=[],\n customer_metadata={\n \"key\": False,\n },\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointcheckout_updated_post(request=polar_sdk.WebhookCheckoutUpdatedPayload(\n timestamp=parse_datetime(\"2024-03-18T05:40:46.816Z\"),\n data=polar_sdk.Checkout(\n id=\"\",\n created_at=parse_datetime(\"2025-09-17T13:52:37.257Z\"),\n modified_at=parse_datetime(\"2025-11-07T08:23:01.152Z\"),\n payment_processor=polar_sdk.PaymentProcessor.STRIPE,\n status=polar_sdk.CheckoutStatus.EXPIRED,\n client_secret=\"\",\n url=\"https://male-punctuation.name\",\n expires_at=parse_datetime(\"2026-03-26T06:13:51.386Z\"),\n success_url=\"https://monumental-mathematics.info\",\n return_url=\"https://scary-valley.com/\",\n embed_origin=\"\",\n amount=867510,\n discount_amount=469340,\n net_amount=139232,\n tax_amount=373760,\n tax_behavior=None,\n total_amount=59172,\n currency=\"New Taiwan Dollar\",\n allow_trial=True,\n active_trial_interval=polar_sdk.TrialInterval.MONTH,\n active_trial_interval_count=675563,\n trial_end=parse_datetime(\"2024-11-02T00:27:36.754Z\"),\n organization_id=\"\",\n product_id=\"\",\n product_price_id=\"\",\n discount_id=\"\",\n allow_discount_codes=False,\n require_billing_address=False,\n is_discount_applicable=True,\n is_free_product_price=True,\n is_payment_required=True,\n is_payment_setup_required=False,\n is_payment_form_required=False,\n customer_id=\"\",\n is_business_customer=False,\n customer_name=\"\",\n customer_email=\"\",\n customer_ip_address=\"\",\n customer_billing_name=\"\",\n customer_billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n customer_tax_id=\"\",\n payment_processor_metadata={\n \"key\": \"\",\n \"key1\": \"\",\n },\n billing_address_fields=polar_sdk.CheckoutBillingAddressFields(\n country=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n state=polar_sdk.BillingAddressFieldMode.REQUIRED,\n city=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n postal_code=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n line1=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n line2=polar_sdk.BillingAddressFieldMode.DISABLED,\n ),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=899080,\n metadata={\n\n },\n external_customer_id=\"\",\n products=[],\n product=polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2025-09-06T09:34:57.464Z\"),\n modified_at=parse_datetime(\"2024-01-24T09:30:59.881Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=881833,\n name=\"\",\n description=\"needily past pause different wallaby micromanage yahoo thin instead woeful\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n recurring_interval_count=297888,\n is_recurring=False,\n is_archived=True,\n organization_id=\"\",\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2024-12-18T01:07:08.468Z\"),\n modified_at=parse_datetime(\"2024-11-04T07:41:56.715Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.INCLUSIVE,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n price_amount=80840,\n ),\n ],\n benefits=[],\n medias=[],\n ),\n product_price=polar_sdk.ProductPriceSeatBased(\n created_at=parse_datetime(\"2026-05-23T13:52:40.471Z\"),\n modified_at=parse_datetime(\"2026-04-03T10:36:18.387Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.EXCLUSIVE,\n is_archived=False,\n product_id=\"\",\n seat_tiers=polar_sdk.ProductPriceSeatTiersOutput(\n tiers=[],\n minimum_seats=519931,\n maximum_seats=148431,\n ),\n ),\n prices={\n \"key\": [],\n },\n discount=polar_sdk.CheckoutDiscountPercentageOnceForeverDuration(\n duration=polar_sdk.DiscountDuration.ONCE,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n id=\"\",\n name=\"\",\n code=\"\",\n ),\n subscription_id=\"\",\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldNumber(\n created_at=parse_datetime(\"2026-08-20T09:31:34.380Z\"),\n modified_at=parse_datetime(\"2026-09-23T04:02:06.143Z\"),\n id=\"\",\n metadata={\n \"key\": 8591.85,\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldNumberProperties(),\n ),\n order=571909,\n required=False,\n ),\n ],\n customer_metadata={\n \"key\": True,\n },\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["customer.created"]["post"] update: "x-codeSamples": @@ -1196,7 +1172,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointcustomer_state_changed_post(request=polar_sdk.WebhookCustomerStateChangedPayload(\n timestamp=parse_datetime(\"2026-05-22T16:03:32.369Z\"),\n data=polar_sdk.CustomerStateIndividual(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2024-04-16T22:11:17.879Z\"),\n modified_at=None,\n metadata={\n\n },\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-05-14T11:40:16.140Z\"),\n active_subscriptions=[\n polar_sdk.CustomerStateSubscription(\n id=\"e5149aae-e521-42b9-b24c-abb3d71eea2e\",\n created_at=parse_datetime(\"2026-09-01T02:21:29.525Z\"),\n modified_at=parse_datetime(\"2024-11-11T17:51:37.646Z\"),\n metadata={\n \"key\": \"\",\n },\n status=polar_sdk.Status.ACTIVE,\n amount=1000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n current_period_start=parse_datetime(\"2025-02-03T13:37:00Z\"),\n current_period_end=parse_datetime(\"2025-03-03T13:37:00Z\"),\n trial_start=parse_datetime(\"2025-02-03T13:37:00Z\"),\n trial_end=parse_datetime(\"2025-03-03T13:37:00Z\"),\n cancel_at_period_end=False,\n canceled_at=None,\n started_at=parse_datetime(\"2025-01-03T13:37:00Z\"),\n ends_at=None,\n product_id=\"d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23\",\n discount_id=None,\n meters=[],\n ),\n ],\n granted_benefits=[],\n active_meters=[\n polar_sdk.CustomerStateMeter(\n id=\"\",\n created_at=parse_datetime(\"2024-10-03T09:01:19.436Z\"),\n modified_at=parse_datetime(\"2026-07-31T21:26:56.213Z\"),\n meter_id=\"d498a884-e2cd-4d3e-8002-f536468a8b22\",\n consumed_units=25,\n credited_units=100,\n balance=75,\n ),\n ],\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointcustomer_state_changed_post(request=polar_sdk.WebhookCustomerStateChangedPayload(\n timestamp=parse_datetime(\"2026-05-22T16:03:32.369Z\"),\n data=polar_sdk.CustomerStateIndividual(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2024-04-16T22:11:17.879Z\"),\n modified_at=None,\n metadata={\n\n },\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-05-14T11:40:16.140Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n active_subscriptions=[\n polar_sdk.CustomerStateSubscription(\n id=\"e5149aae-e521-42b9-b24c-abb3d71eea2e\",\n created_at=parse_datetime(\"2026-09-01T02:21:29.525Z\"),\n modified_at=parse_datetime(\"2024-11-11T17:51:37.646Z\"),\n metadata={\n \"key\": \"\",\n },\n status=polar_sdk.Status.ACTIVE,\n amount=1000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.MONTH,\n current_period_start=parse_datetime(\"2025-02-03T13:37:00Z\"),\n current_period_end=parse_datetime(\"2025-03-03T13:37:00Z\"),\n trial_start=parse_datetime(\"2025-02-03T13:37:00Z\"),\n trial_end=parse_datetime(\"2025-03-03T13:37:00Z\"),\n cancel_at_period_end=False,\n canceled_at=None,\n started_at=parse_datetime(\"2025-01-03T13:37:00Z\"),\n ends_at=None,\n product_id=\"d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23\",\n discount_id=None,\n meters=[],\n ),\n ],\n granted_benefits=[],\n active_meters=[\n polar_sdk.CustomerStateMeter(\n id=\"\",\n created_at=parse_datetime(\"2024-10-03T09:01:19.436Z\"),\n modified_at=parse_datetime(\"2026-07-31T21:26:56.213Z\"),\n meter_id=\"d498a884-e2cd-4d3e-8002-f536468a8b22\",\n consumed_units=25,\n credited_units=100,\n balance=75,\n ),\n ],\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["customer.updated"]["post"] update: "x-codeSamples": @@ -1244,43 +1220,43 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorder_created_post(request=polar_sdk.WebhookOrderCreatedPayload(\n timestamp=parse_datetime(\"2025-08-21T06:55:49.348Z\"),\n data=polar_sdk.Order(\n id=\"\",\n created_at=parse_datetime(\"2024-01-02T23:31:01.991Z\"),\n modified_at=parse_datetime(\"2026-11-09T23:45:36.352Z\"),\n status=polar_sdk.OrderStatus.DRAFT,\n paid=True,\n subtotal_amount=10000,\n discount_amount=1000,\n net_amount=9000,\n tax_amount=720,\n total_amount=9720,\n applied_balance_amount=0,\n due_amount=0,\n refunded_amount=0,\n refunded_tax_amount=0,\n currency=\"usd\",\n billing_reason=polar_sdk.OrderBillingReason.PURCHASE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n receipt_number=\"\",\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n \"key\": 9213.65,\n },\n platform_fee_amount=500,\n platform_fee_currency=\"usd\",\n customer=polar_sdk.OrderCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-07-26T23:28:05.716Z\"),\n modified_at=parse_datetime(\"2026-02-07T21:01:19.424Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.INDIVIDUAL,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2026-06-03T19:46:15.179Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.OrderProduct(\n metadata={\n\n },\n id=\"\",\n created_at=parse_datetime(\"2025-07-30T20:36:36.637Z\"),\n modified_at=parse_datetime(\"2024-10-17T19:16:06.791Z\"),\n trial_interval=polar_sdk.TrialInterval.DAY,\n trial_interval_count=213971,\n name=\"\",\n description=None,\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=673056,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountFixedOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n type=polar_sdk.DiscountType.FIXED,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n created_at=parse_datetime(\"2026-10-18T21:36:17.336Z\"),\n modified_at=parse_datetime(\"2025-11-12T14:01:42.212Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-08-11T07:51:56.436Z\"),\n ends_at=parse_datetime(\"2024-05-05T17:33:16.103Z\"),\n max_redemptions=254706,\n redemptions_count=852483,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=polar_sdk.OrderSubscription(\n metadata={\n \"key\": 5558.24,\n },\n created_at=parse_datetime(\"2025-05-10T05:33:12.990Z\"),\n modified_at=parse_datetime(\"2025-10-27T02:55:38.822Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n recurring_interval_count=415154,\n status=polar_sdk.SubscriptionStatus.CANCELED,\n current_period_start=parse_datetime(\"2026-03-16T08:37:15.714Z\"),\n current_period_end=parse_datetime(\"2024-01-30T13:01:14.788Z\"),\n trial_start=parse_datetime(\"2026-12-27T11:04:16.188Z\"),\n trial_end=parse_datetime(\"2024-06-30T09:05:58.012Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2026-03-18T15:38:59.923Z\"),\n started_at=parse_datetime(\"2025-11-16T22:02:37.250Z\"),\n ends_at=parse_datetime(\"2025-09-10T19:42:40.294Z\"),\n ended_at=None,\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=None,\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.SWITCHED_SERVICE,\n customer_cancellation_comment=\"\",\n ),\n items=[],\n description=\"Pro Plan\",\n refundable_amount=9000,\n refundable_tax_amount=720,\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorder_created_post(request=polar_sdk.WebhookOrderCreatedPayload(\n timestamp=parse_datetime(\"2025-08-21T06:55:49.348Z\"),\n data=polar_sdk.Order(\n id=\"\",\n created_at=parse_datetime(\"2024-01-02T23:31:01.991Z\"),\n modified_at=parse_datetime(\"2026-11-09T23:45:36.352Z\"),\n status=polar_sdk.OrderStatus.DRAFT,\n paid=True,\n subtotal_amount=10000,\n discount_amount=1000,\n net_amount=9000,\n tax_amount=720,\n total_amount=9720,\n applied_balance_amount=0,\n due_amount=0,\n refunded_amount=0,\n refunded_tax_amount=0,\n currency=\"usd\",\n billing_reason=polar_sdk.OrderBillingReason.PURCHASE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n receipt_number=\"\",\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n \"key\": 9213.65,\n },\n platform_fee_amount=500,\n platform_fee_currency=\"usd\",\n customer=polar_sdk.OrderCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-07-26T23:28:05.716Z\"),\n modified_at=parse_datetime(\"2026-02-07T21:01:19.424Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.INDIVIDUAL,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2026-06-03T19:46:15.179Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.OrderProduct(\n metadata={\n\n },\n id=\"\",\n created_at=parse_datetime(\"2025-07-30T20:36:36.637Z\"),\n modified_at=parse_datetime(\"2024-10-17T19:16:06.791Z\"),\n trial_interval=polar_sdk.TrialInterval.DAY,\n trial_interval_count=213971,\n name=\"\",\n description=None,\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.RecurringInterval.WEEK,\n recurring_interval_count=673056,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountFixedOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n type=polar_sdk.DiscountType.FIXED,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n created_at=parse_datetime(\"2026-10-18T21:36:17.336Z\"),\n modified_at=parse_datetime(\"2025-11-12T14:01:42.212Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-08-11T07:51:56.436Z\"),\n ends_at=parse_datetime(\"2024-05-05T17:33:16.103Z\"),\n max_redemptions=254706,\n redemptions_count=852483,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=polar_sdk.OrderSubscription(\n metadata={\n \"key\": 5558.24,\n },\n created_at=parse_datetime(\"2025-05-10T05:33:12.990Z\"),\n modified_at=parse_datetime(\"2025-10-27T02:55:38.822Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.MONTH,\n recurring_interval_count=415154,\n status=polar_sdk.SubscriptionStatus.CANCELED,\n current_period_start=parse_datetime(\"2026-03-16T08:37:15.714Z\"),\n current_period_end=parse_datetime(\"2024-01-30T13:01:14.788Z\"),\n trial_start=parse_datetime(\"2026-12-27T11:04:16.188Z\"),\n trial_end=parse_datetime(\"2024-06-30T09:05:58.012Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2026-03-18T15:38:59.923Z\"),\n started_at=parse_datetime(\"2025-11-16T22:02:37.250Z\"),\n ends_at=parse_datetime(\"2025-09-10T19:42:40.294Z\"),\n ended_at=None,\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=None,\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.SWITCHED_SERVICE,\n customer_cancellation_comment=\"\",\n ),\n items=[],\n description=\"Pro Plan\",\n refundable_amount=9000,\n refundable_tax_amount=720,\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["order.paid"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorder_paid_post(request=polar_sdk.WebhookOrderPaidPayload(\n timestamp=parse_datetime(\"2026-12-05T07:44:21.172Z\"),\n data=polar_sdk.Order(\n id=\"\",\n created_at=parse_datetime(\"2026-07-27T09:45:49.517Z\"),\n modified_at=parse_datetime(\"2025-12-13T20:55:19.644Z\"),\n status=polar_sdk.OrderStatus.PARTIALLY_REFUNDED,\n paid=True,\n subtotal_amount=10000,\n discount_amount=1000,\n net_amount=9000,\n tax_amount=720,\n total_amount=9720,\n applied_balance_amount=0,\n due_amount=0,\n refunded_amount=0,\n refunded_tax_amount=0,\n currency=\"usd\",\n billing_reason=polar_sdk.OrderBillingReason.SUBSCRIPTION_UPDATE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n receipt_number=\"\",\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n\n },\n platform_fee_amount=500,\n platform_fee_currency=\"usd\",\n customer=polar_sdk.OrderCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-07-24T12:09:26.716Z\"),\n modified_at=parse_datetime(\"2024-04-03T05:45:29.640Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-06-20T08:16:19.561Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.OrderProduct(\n metadata={\n \"key\": False,\n },\n id=\"\",\n created_at=parse_datetime(\"2024-12-19T02:23:05.399Z\"),\n modified_at=parse_datetime(\"2024-05-17T09:50:39.456Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=928538,\n name=\"\",\n description=\"peony um portray since frank rudely mask\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n recurring_interval_count=None,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountPercentageOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n type=polar_sdk.DiscountType.FIXED,\n basis_points=1000,\n created_at=parse_datetime(\"2026-01-18T14:11:17.140Z\"),\n modified_at=parse_datetime(\"2025-01-31T23:45:02.476Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2026-12-02T15:10:04.656Z\"),\n ends_at=parse_datetime(\"2025-10-30T18:07:50.242Z\"),\n max_redemptions=568756,\n redemptions_count=465215,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=polar_sdk.OrderSubscription(\n metadata={\n\n },\n created_at=parse_datetime(\"2024-11-23T17:59:56.836Z\"),\n modified_at=parse_datetime(\"2026-08-12T18:11:29.547Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n recurring_interval_count=727805,\n status=polar_sdk.SubscriptionStatus.PAST_DUE,\n current_period_start=parse_datetime(\"2025-09-10T07:58:34.888Z\"),\n current_period_end=parse_datetime(\"2024-09-10T23:54:04.035Z\"),\n trial_start=parse_datetime(\"2024-09-15T09:43:57.152Z\"),\n trial_end=parse_datetime(\"2025-08-15T07:25:23.875Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2026-06-10T20:57:22.896Z\"),\n started_at=None,\n ends_at=parse_datetime(\"2024-12-06T15:09:08.144Z\"),\n ended_at=parse_datetime(\"2024-11-19T10:20:23.628Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.MISSING_FEATURES,\n customer_cancellation_comment=None,\n ),\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2024-12-01T06:46:04.196Z\"),\n modified_at=parse_datetime(\"2025-06-19T05:54:14.128Z\"),\n id=\"\",\n label=\"Pro Plan\",\n amount=10000,\n tax_amount=720,\n proration=False,\n product_price_id=\"\",\n ),\n ],\n description=\"Pro Plan\",\n refundable_amount=9000,\n refundable_tax_amount=720,\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorder_paid_post(request=polar_sdk.WebhookOrderPaidPayload(\n timestamp=parse_datetime(\"2026-12-05T07:44:21.172Z\"),\n data=polar_sdk.Order(\n id=\"\",\n created_at=parse_datetime(\"2026-07-27T09:45:49.517Z\"),\n modified_at=parse_datetime(\"2025-12-13T20:55:19.644Z\"),\n status=polar_sdk.OrderStatus.PARTIALLY_REFUNDED,\n paid=True,\n subtotal_amount=10000,\n discount_amount=1000,\n net_amount=9000,\n tax_amount=720,\n total_amount=9720,\n applied_balance_amount=0,\n due_amount=0,\n refunded_amount=0,\n refunded_tax_amount=0,\n currency=\"usd\",\n billing_reason=polar_sdk.OrderBillingReason.SUBSCRIPTION_UPDATE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n receipt_number=\"\",\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n\n },\n platform_fee_amount=500,\n platform_fee_currency=\"usd\",\n customer=polar_sdk.OrderCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-07-24T12:09:26.716Z\"),\n modified_at=parse_datetime(\"2024-04-03T05:45:29.640Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-06-20T08:16:19.561Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.OrderProduct(\n metadata={\n \"key\": False,\n },\n id=\"\",\n created_at=parse_datetime(\"2024-12-19T02:23:05.399Z\"),\n modified_at=parse_datetime(\"2024-05-17T09:50:39.456Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=928538,\n name=\"\",\n description=\"peony um portray since frank rudely mask\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.RecurringInterval.MONTH,\n recurring_interval_count=None,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountPercentageOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n type=polar_sdk.DiscountType.FIXED,\n basis_points=1000,\n created_at=parse_datetime(\"2026-01-18T14:11:17.140Z\"),\n modified_at=parse_datetime(\"2025-01-31T23:45:02.476Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2026-12-02T15:10:04.656Z\"),\n ends_at=parse_datetime(\"2025-10-30T18:07:50.242Z\"),\n max_redemptions=568756,\n redemptions_count=465215,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=polar_sdk.OrderSubscription(\n metadata={\n\n },\n created_at=parse_datetime(\"2024-11-23T17:59:56.836Z\"),\n modified_at=parse_datetime(\"2026-08-12T18:11:29.547Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.MONTH,\n recurring_interval_count=727805,\n status=polar_sdk.SubscriptionStatus.PAST_DUE,\n current_period_start=parse_datetime(\"2025-09-10T07:58:34.888Z\"),\n current_period_end=parse_datetime(\"2024-09-10T23:54:04.035Z\"),\n trial_start=parse_datetime(\"2024-09-15T09:43:57.152Z\"),\n trial_end=parse_datetime(\"2025-08-15T07:25:23.875Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2026-06-10T20:57:22.896Z\"),\n started_at=None,\n ends_at=parse_datetime(\"2024-12-06T15:09:08.144Z\"),\n ended_at=parse_datetime(\"2024-11-19T10:20:23.628Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.MISSING_FEATURES,\n customer_cancellation_comment=None,\n ),\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2024-12-01T06:46:04.196Z\"),\n modified_at=parse_datetime(\"2025-06-19T05:54:14.128Z\"),\n id=\"\",\n label=\"Pro Plan\",\n amount=10000,\n tax_amount=720,\n proration=False,\n product_price_id=\"\",\n ),\n ],\n description=\"Pro Plan\",\n refundable_amount=9000,\n refundable_tax_amount=720,\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["order.refunded"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorder_refunded_post(request=polar_sdk.WebhookOrderRefundedPayload(\n timestamp=parse_datetime(\"2025-07-23T18:00:11.615Z\"),\n data=polar_sdk.Order(\n id=\"\",\n created_at=parse_datetime(\"2026-03-19T11:53:59.744Z\"),\n modified_at=parse_datetime(\"2025-12-01T04:03:14.906Z\"),\n status=polar_sdk.OrderStatus.PARTIALLY_REFUNDED,\n paid=True,\n subtotal_amount=10000,\n discount_amount=1000,\n net_amount=9000,\n tax_amount=720,\n total_amount=9720,\n applied_balance_amount=0,\n due_amount=0,\n refunded_amount=0,\n refunded_tax_amount=0,\n currency=\"usd\",\n billing_reason=polar_sdk.OrderBillingReason.SUBSCRIPTION_CREATE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n receipt_number=\"\",\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n \"key\": 7503.02,\n },\n platform_fee_amount=500,\n platform_fee_currency=\"usd\",\n customer=polar_sdk.OrderCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-02-02T04:00:16.399Z\"),\n modified_at=parse_datetime(\"2025-05-12T21:39:32.718Z\"),\n metadata={\n \"key\": 494.76,\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=None,\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.OrderProduct(\n metadata={\n \"key\": \"\",\n },\n id=\"\",\n created_at=parse_datetime(\"2024-11-14T20:33:24.727Z\"),\n modified_at=None,\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=718503,\n name=\"\",\n description=\"that sensitize helpfully usher barring frequent kowtow sock boohoo so\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=None,\n recurring_interval_count=477690,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountPercentageRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n duration_in_months=329481,\n type=polar_sdk.DiscountType.FIXED,\n basis_points=1000,\n created_at=parse_datetime(\"2026-05-28T09:04:03.584Z\"),\n modified_at=None,\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-09-12T23:30:42.892Z\"),\n ends_at=parse_datetime(\"2026-01-12T08:55:29.027Z\"),\n max_redemptions=287547,\n redemptions_count=818398,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=polar_sdk.OrderSubscription(\n metadata={\n \"key\": 348392,\n },\n created_at=parse_datetime(\"2025-11-02T04:41:56.340Z\"),\n modified_at=parse_datetime(\"2024-07-14T14:19:42.078Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=366035,\n status=polar_sdk.SubscriptionStatus.UNPAID,\n current_period_start=parse_datetime(\"2025-10-07T20:29:14.854Z\"),\n current_period_end=parse_datetime(\"2025-06-01T22:10:54.514Z\"),\n trial_start=None,\n trial_end=parse_datetime(\"2025-06-25T04:37:29.420Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2026-06-19T17:25:09.928Z\"),\n started_at=parse_datetime(\"2025-12-22T05:39:47.270Z\"),\n ends_at=parse_datetime(\"2024-11-09T02:18:02.434Z\"),\n ended_at=parse_datetime(\"2025-03-09T07:27:38.032Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=None,\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.MISSING_FEATURES,\n customer_cancellation_comment=\"\",\n ),\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2026-06-15T09:12:55.866Z\"),\n modified_at=parse_datetime(\"2024-03-17T21:35:07.139Z\"),\n id=\"\",\n label=\"Pro Plan\",\n amount=10000,\n tax_amount=720,\n proration=False,\n product_price_id=\"\",\n ),\n ],\n description=\"Pro Plan\",\n refundable_amount=9000,\n refundable_tax_amount=720,\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorder_refunded_post(request=polar_sdk.WebhookOrderRefundedPayload(\n timestamp=parse_datetime(\"2025-07-23T18:00:11.615Z\"),\n data=polar_sdk.Order(\n id=\"\",\n created_at=parse_datetime(\"2026-03-19T11:53:59.744Z\"),\n modified_at=parse_datetime(\"2025-12-01T04:03:14.906Z\"),\n status=polar_sdk.OrderStatus.PARTIALLY_REFUNDED,\n paid=True,\n subtotal_amount=10000,\n discount_amount=1000,\n net_amount=9000,\n tax_amount=720,\n total_amount=9720,\n applied_balance_amount=0,\n due_amount=0,\n refunded_amount=0,\n refunded_tax_amount=0,\n currency=\"usd\",\n billing_reason=polar_sdk.OrderBillingReason.SUBSCRIPTION_CREATE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n receipt_number=\"\",\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n \"key\": 7503.02,\n },\n platform_fee_amount=500,\n platform_fee_currency=\"usd\",\n customer=polar_sdk.OrderCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-02-02T04:00:16.399Z\"),\n modified_at=parse_datetime(\"2025-05-12T21:39:32.718Z\"),\n metadata={\n \"key\": 494.76,\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=None,\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.OrderProduct(\n metadata={\n \"key\": \"\",\n },\n id=\"\",\n created_at=parse_datetime(\"2024-11-14T20:33:24.727Z\"),\n modified_at=None,\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=718503,\n name=\"\",\n description=\"that sensitize helpfully usher barring frequent kowtow sock boohoo so\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=None,\n recurring_interval_count=477690,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountPercentageRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n duration_in_months=329481,\n type=polar_sdk.DiscountType.FIXED,\n basis_points=1000,\n created_at=parse_datetime(\"2026-05-28T09:04:03.584Z\"),\n modified_at=None,\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-09-12T23:30:42.892Z\"),\n ends_at=parse_datetime(\"2026-01-12T08:55:29.027Z\"),\n max_redemptions=287547,\n redemptions_count=818398,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=polar_sdk.OrderSubscription(\n metadata={\n \"key\": 348392,\n },\n created_at=parse_datetime(\"2025-11-02T04:41:56.340Z\"),\n modified_at=parse_datetime(\"2024-07-14T14:19:42.078Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.WEEK,\n recurring_interval_count=366035,\n status=polar_sdk.SubscriptionStatus.UNPAID,\n current_period_start=parse_datetime(\"2025-10-07T20:29:14.854Z\"),\n current_period_end=parse_datetime(\"2025-06-01T22:10:54.514Z\"),\n trial_start=None,\n trial_end=parse_datetime(\"2025-06-25T04:37:29.420Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2026-06-19T17:25:09.928Z\"),\n started_at=parse_datetime(\"2025-12-22T05:39:47.270Z\"),\n ends_at=parse_datetime(\"2024-11-09T02:18:02.434Z\"),\n ended_at=parse_datetime(\"2025-03-09T07:27:38.032Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=None,\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.MISSING_FEATURES,\n customer_cancellation_comment=\"\",\n ),\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2026-06-15T09:12:55.866Z\"),\n modified_at=parse_datetime(\"2024-03-17T21:35:07.139Z\"),\n id=\"\",\n label=\"Pro Plan\",\n amount=10000,\n tax_amount=720,\n proration=False,\n product_price_id=\"\",\n ),\n ],\n description=\"Pro Plan\",\n refundable_amount=9000,\n refundable_tax_amount=720,\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["order.updated"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorder_updated_post(request=polar_sdk.WebhookOrderUpdatedPayload(\n timestamp=parse_datetime(\"2024-10-24T00:08:50.290Z\"),\n data=polar_sdk.Order(\n id=\"\",\n created_at=parse_datetime(\"2025-04-30T23:35:35.375Z\"),\n modified_at=parse_datetime(\"2026-06-01T02:02:46.580Z\"),\n status=polar_sdk.OrderStatus.PENDING,\n paid=True,\n subtotal_amount=10000,\n discount_amount=1000,\n net_amount=9000,\n tax_amount=720,\n total_amount=9720,\n applied_balance_amount=0,\n due_amount=0,\n refunded_amount=0,\n refunded_tax_amount=0,\n currency=\"usd\",\n billing_reason=polar_sdk.OrderBillingReason.SUBSCRIPTION_CREATE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n receipt_number=\"\",\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n \"key\": 395058,\n },\n platform_fee_amount=500,\n platform_fee_currency=\"usd\",\n customer=polar_sdk.OrderCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-02-15T17:44:03.209Z\"),\n modified_at=parse_datetime(\"2025-10-23T02:39:12.424Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.INDIVIDUAL,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2024-03-10T05:58:05.184Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=None,\n discount=None,\n subscription=polar_sdk.OrderSubscription(\n metadata={\n\n },\n created_at=parse_datetime(\"2024-09-08T23:29:46.282Z\"),\n modified_at=parse_datetime(\"2024-12-06T14:52:42.853Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n recurring_interval_count=887482,\n status=polar_sdk.SubscriptionStatus.ACTIVE,\n current_period_start=parse_datetime(\"2026-06-11T19:05:49.465Z\"),\n current_period_end=parse_datetime(\"2026-09-25T12:24:57.702Z\"),\n trial_start=parse_datetime(\"2025-10-18T03:50:03.596Z\"),\n trial_end=parse_datetime(\"2026-09-02T02:15:18.698Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2025-05-01T21:40:14.334Z\"),\n started_at=parse_datetime(\"2026-06-21T08:18:53.167Z\"),\n ends_at=parse_datetime(\"2026-12-02T23:08:13.339Z\"),\n ended_at=parse_datetime(\"2024-03-30T21:02:29.805Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.UNUSED,\n customer_cancellation_comment=\"\",\n ),\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2025-02-19T16:08:02.133Z\"),\n modified_at=parse_datetime(\"2025-08-24T19:13:05.462Z\"),\n id=\"\",\n label=\"Pro Plan\",\n amount=10000,\n tax_amount=720,\n proration=False,\n product_price_id=None,\n ),\n ],\n description=\"Pro Plan\",\n refundable_amount=9000,\n refundable_tax_amount=720,\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorder_updated_post(request=polar_sdk.WebhookOrderUpdatedPayload(\n timestamp=parse_datetime(\"2024-10-24T00:08:50.290Z\"),\n data=polar_sdk.Order(\n id=\"\",\n created_at=parse_datetime(\"2025-04-30T23:35:35.375Z\"),\n modified_at=parse_datetime(\"2026-06-01T02:02:46.580Z\"),\n status=polar_sdk.OrderStatus.PENDING,\n paid=True,\n subtotal_amount=10000,\n discount_amount=1000,\n net_amount=9000,\n tax_amount=720,\n total_amount=9720,\n applied_balance_amount=0,\n due_amount=0,\n refunded_amount=0,\n refunded_tax_amount=0,\n currency=\"usd\",\n billing_reason=polar_sdk.OrderBillingReason.SUBSCRIPTION_CREATE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n receipt_number=\"\",\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n \"key\": 395058,\n },\n platform_fee_amount=500,\n platform_fee_currency=\"usd\",\n customer=polar_sdk.OrderCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-02-15T17:44:03.209Z\"),\n modified_at=parse_datetime(\"2025-10-23T02:39:12.424Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.INDIVIDUAL,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2024-03-10T05:58:05.184Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=None,\n discount=None,\n subscription=polar_sdk.OrderSubscription(\n metadata={\n\n },\n created_at=parse_datetime(\"2024-09-08T23:29:46.282Z\"),\n modified_at=parse_datetime(\"2024-12-06T14:52:42.853Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.MONTH,\n recurring_interval_count=887482,\n status=polar_sdk.SubscriptionStatus.ACTIVE,\n current_period_start=parse_datetime(\"2026-06-11T19:05:49.465Z\"),\n current_period_end=parse_datetime(\"2026-09-25T12:24:57.702Z\"),\n trial_start=parse_datetime(\"2025-10-18T03:50:03.596Z\"),\n trial_end=parse_datetime(\"2026-09-02T02:15:18.698Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2025-05-01T21:40:14.334Z\"),\n started_at=parse_datetime(\"2026-06-21T08:18:53.167Z\"),\n ends_at=parse_datetime(\"2026-12-02T23:08:13.339Z\"),\n ended_at=parse_datetime(\"2024-03-30T21:02:29.805Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.UNUSED,\n customer_cancellation_comment=\"\",\n ),\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2025-02-19T16:08:02.133Z\"),\n modified_at=parse_datetime(\"2025-08-24T19:13:05.462Z\"),\n id=\"\",\n label=\"Pro Plan\",\n amount=10000,\n tax_amount=720,\n proration=False,\n product_price_id=None,\n ),\n ],\n description=\"Pro Plan\",\n refundable_amount=9000,\n refundable_tax_amount=720,\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["organization.updated"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorganization_updated_post(request={\n \"type\": \"organization.updated\",\n \"timestamp\": parse_datetime(\"2026-08-19T15:02:44.139Z\"),\n \"data\": {\n \"created_at\": parse_datetime(\"2026-05-07T21:24:48.059Z\"),\n \"modified_at\": parse_datetime(\"2024-04-15T23:18:12.986Z\"),\n \"id\": \"\",\n \"name\": \"\",\n \"slug\": \"\",\n \"avatar_url\": \"https://pessimistic-going.name/\",\n \"proration_behavior\": polar_sdk.SubscriptionProrationBehavior.NEXT_PERIOD,\n \"allow_customer_updates\": True,\n \"email\": \"Marianne.Haag@yahoo.com\",\n \"website\": None,\n \"socials\": [],\n \"status\": polar_sdk.OrganizationStatus.DENIED,\n \"details_submitted_at\": parse_datetime(\"2025-06-29T16:05:16.127Z\"),\n \"default_presentment_currency\": \"\",\n \"default_tax_behavior\": polar_sdk.TaxBehaviorOption.EXCLUSIVE,\n \"feature_settings\": {},\n \"subscription_settings\": {\n \"allow_multiple_subscriptions\": True,\n \"proration_behavior\": polar_sdk.PublicSubscriptionProrationBehavior.PRORATE,\n \"benefit_revocation_grace_period\": 778168,\n \"prevent_trial_abuse\": False,\n \"allow_customer_updates\": True,\n },\n \"notification_settings\": {\n \"new_order\": False,\n \"new_subscription\": True,\n },\n \"customer_email_settings\": {\n \"order_confirmation\": True,\n \"subscription_cancellation\": True,\n \"subscription_confirmation\": False,\n \"subscription_cycled\": True,\n \"subscription_cycled_after_trial\": False,\n \"subscription_past_due\": False,\n \"subscription_renewal_reminder\": True,\n \"subscription_revoked\": True,\n \"subscription_trial_conversion_reminder\": True,\n \"subscription_uncanceled\": False,\n \"subscription_updated\": True,\n },\n \"customer_portal_settings\": {\n \"usage\": {\n \"show\": False,\n },\n \"subscription\": {\n \"update_seats\": False,\n \"update_plan\": False,\n },\n },\n \"account_id\": \"\",\n \"payout_account_id\": \"\",\n \"capabilities\": {\n \"checkout_payments\": True,\n \"subscription_renewals\": False,\n \"payouts\": False,\n \"refunds\": True,\n \"api_access\": True,\n \"dashboard_access\": False,\n },\n },\n })\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointorganization_updated_post(request={\n \"type\": \"organization.updated\",\n \"timestamp\": parse_datetime(\"2026-08-19T15:02:44.139Z\"),\n \"data\": {\n \"created_at\": parse_datetime(\"2026-05-07T21:24:48.059Z\"),\n \"modified_at\": parse_datetime(\"2024-04-15T23:18:12.986Z\"),\n \"id\": \"\",\n \"name\": \"\",\n \"slug\": \"\",\n \"avatar_url\": \"https://pessimistic-going.name/\",\n \"proration_behavior\": polar_sdk.SubscriptionProrationBehavior.NEXT_PERIOD,\n \"allow_customer_updates\": True,\n \"email\": \"Marianne.Haag@yahoo.com\",\n \"website\": None,\n \"socials\": [],\n \"status\": polar_sdk.OrganizationStatus.DENIED,\n \"details_submitted_at\": parse_datetime(\"2025-06-29T16:05:16.127Z\"),\n \"default_presentment_currency\": \"\",\n \"default_tax_behavior\": polar_sdk.TaxBehaviorOption.EXCLUSIVE,\n \"feature_settings\": {},\n \"subscription_settings\": {\n \"allow_multiple_subscriptions\": True,\n \"proration_behavior\": polar_sdk.PublicSubscriptionProrationBehavior.PRORATE,\n \"benefit_revocation_grace_period\": 778168,\n \"prevent_trial_abuse\": False,\n \"allow_customer_updates\": True,\n },\n \"customer_email_settings\": {\n \"order_confirmation\": False,\n \"subscription_cancellation\": True,\n \"subscription_confirmation\": True,\n \"subscription_cycled\": True,\n \"subscription_cycled_after_trial\": False,\n \"subscription_past_due\": True,\n \"subscription_renewal_reminder\": False,\n \"subscription_revoked\": False,\n \"subscription_trial_conversion_reminder\": True,\n \"subscription_uncanceled\": True,\n \"subscription_updated\": True,\n },\n \"customer_portal_settings\": {\n \"usage\": {\n \"show\": False,\n },\n \"subscription\": {\n \"update_seats\": True,\n \"update_plan\": False,\n },\n },\n \"account_id\": \"\",\n \"payout_account_id\": \"\",\n \"capabilities\": {\n \"checkout_payments\": False,\n \"subscription_renewals\": False,\n \"payouts\": True,\n \"refunds\": False,\n \"api_access\": False,\n \"dashboard_access\": True,\n },\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["product.created"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointproduct_created_post(request={\n \"type\": \"product.created\",\n \"timestamp\": parse_datetime(\"2024-10-12T02:47:55.082Z\"),\n \"data\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2024-01-15T03:15:59.062Z\"),\n \"modified_at\": parse_datetime(\"2024-07-03T11:33:29.001Z\"),\n \"trial_interval\": polar_sdk.TrialInterval.DAY,\n \"trial_interval_count\": 130829,\n \"name\": \"\",\n \"description\": \"generously as at filthy busy athwart\",\n \"visibility\": polar_sdk.ProductVisibility.DRAFT,\n \"recurring_interval\": polar_sdk.SubscriptionRecurringInterval.WEEK,\n \"recurring_interval_count\": 580203,\n \"is_recurring\": True,\n \"is_archived\": True,\n \"organization_id\": \"\",\n \"metadata\": {\n\n },\n \"prices\": [\n {\n \"created_at\": parse_datetime(\"2024-08-02T23:19:06.054Z\"),\n \"modified_at\": parse_datetime(\"2025-01-29T21:27:39.006Z\"),\n \"id\": \"\",\n \"source\": polar_sdk.ProductPriceSource.CATALOG,\n \"amount_type\": \"custom\",\n \"price_currency\": \"\",\n \"tax_behavior\": polar_sdk.TaxBehaviorOption.INCLUSIVE,\n \"is_archived\": True,\n \"product_id\": \"\",\n \"type\": \"recurring\",\n \"recurring_interval\": polar_sdk.SubscriptionRecurringInterval.YEAR,\n \"minimum_amount\": 927218,\n \"maximum_amount\": 804154,\n \"preset_amount\": 279270,\n \"legacy\": True,\n },\n ],\n \"benefits\": [],\n \"medias\": [],\n \"attached_custom_fields\": [],\n },\n })\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointproduct_created_post(request={\n \"type\": \"product.created\",\n \"timestamp\": parse_datetime(\"2024-10-12T02:47:55.082Z\"),\n \"data\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2024-01-15T03:15:59.062Z\"),\n \"modified_at\": parse_datetime(\"2024-07-03T11:33:29.001Z\"),\n \"trial_interval\": polar_sdk.TrialInterval.DAY,\n \"trial_interval_count\": 130829,\n \"name\": \"\",\n \"description\": \"generously as at filthy busy athwart\",\n \"visibility\": polar_sdk.ProductVisibility.DRAFT,\n \"recurring_interval\": polar_sdk.RecurringInterval.WEEK,\n \"recurring_interval_count\": 580203,\n \"is_recurring\": True,\n \"is_archived\": True,\n \"organization_id\": \"\",\n \"metadata\": {\n\n },\n \"prices\": [\n {\n \"created_at\": parse_datetime(\"2024-08-02T23:19:06.054Z\"),\n \"modified_at\": parse_datetime(\"2025-01-29T21:27:39.006Z\"),\n \"id\": \"\",\n \"source\": polar_sdk.ProductPriceSource.CATALOG,\n \"amount_type\": \"custom\",\n \"price_currency\": \"\",\n \"tax_behavior\": polar_sdk.TaxBehaviorOption.INCLUSIVE,\n \"is_archived\": True,\n \"product_id\": \"\",\n \"type\": \"recurring\",\n \"recurring_interval\": polar_sdk.RecurringInterval.YEAR,\n \"minimum_amount\": 927218,\n \"maximum_amount\": 804154,\n \"preset_amount\": 279270,\n \"legacy\": True,\n },\n ],\n \"benefits\": [],\n \"medias\": [],\n \"attached_custom_fields\": [],\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["product.updated"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointproduct_updated_post(request={\n \"type\": \"product.updated\",\n \"timestamp\": parse_datetime(\"2025-08-25T02:00:54.049Z\"),\n \"data\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2026-02-11T18:19:05.372Z\"),\n \"modified_at\": parse_datetime(\"2026-07-31T19:14:23.351Z\"),\n \"trial_interval\": polar_sdk.TrialInterval.YEAR,\n \"trial_interval_count\": 907633,\n \"name\": \"\",\n \"description\": \"square extract modulo bossy outlandish pecan\",\n \"visibility\": polar_sdk.ProductVisibility.DRAFT,\n \"recurring_interval\": polar_sdk.SubscriptionRecurringInterval.MONTH,\n \"recurring_interval_count\": 844227,\n \"is_recurring\": True,\n \"is_archived\": True,\n \"organization_id\": \"\",\n \"metadata\": {\n \"key\": 731170,\n },\n \"prices\": [\n {\n \"created_at\": parse_datetime(\"2024-02-07T02:48:19.584Z\"),\n \"modified_at\": parse_datetime(\"2024-06-19T05:51:14.673Z\"),\n \"id\": \"\",\n \"source\": polar_sdk.ProductPriceSource.CATALOG,\n \"amount_type\": \"free\",\n \"price_currency\": \"\",\n \"tax_behavior\": polar_sdk.TaxBehaviorOption.EXCLUSIVE,\n \"is_archived\": False,\n \"product_id\": \"\",\n \"type\": \"recurring\",\n \"recurring_interval\": polar_sdk.SubscriptionRecurringInterval.MONTH,\n \"legacy\": True,\n },\n ],\n \"benefits\": [\n {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2025-06-26T23:01:23.486Z\"),\n \"modified_at\": parse_datetime(\"2024-10-21T14:48:34.794Z\"),\n \"type\": \"downloadables\",\n \"description\": \"phew if archaeology vibrant than uh-huh inasmuch hmph but rosemary\",\n \"selectable\": False,\n \"deletable\": False,\n \"is_deleted\": False,\n \"organization_id\": \"\",\n \"metadata\": {\n \"key\": 319725,\n },\n \"visibility\": polar_sdk.BenefitVisibility.DRAFT,\n \"properties\": {\n \"archived\": {\n \"key\": False,\n },\n \"files\": [\n \"\",\n \"\",\n \"\",\n ],\n },\n \"visibility_configurable\": False,\n },\n ],\n \"medias\": [],\n \"attached_custom_fields\": [\n {\n \"custom_field_id\": \"\",\n \"custom_field\": {\n \"created_at\": parse_datetime(\"2025-02-01T14:55:41.194Z\"),\n \"modified_at\": parse_datetime(\"2024-11-10T11:26:33.780Z\"),\n \"id\": \"\",\n \"metadata\": {\n\n },\n \"type\": \"text\",\n \"slug\": \"\",\n \"name\": \"\",\n \"organization_id\": \"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n \"properties\": {},\n },\n \"order\": 248643,\n \"required\": True,\n },\n ],\n },\n })\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointproduct_updated_post(request={\n \"type\": \"product.updated\",\n \"timestamp\": parse_datetime(\"2025-08-25T02:00:54.049Z\"),\n \"data\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2026-02-11T18:19:05.372Z\"),\n \"modified_at\": parse_datetime(\"2026-07-31T19:14:23.351Z\"),\n \"trial_interval\": polar_sdk.TrialInterval.YEAR,\n \"trial_interval_count\": 907633,\n \"name\": \"\",\n \"description\": \"square extract modulo bossy outlandish pecan\",\n \"visibility\": polar_sdk.ProductVisibility.DRAFT,\n \"recurring_interval\": polar_sdk.RecurringInterval.MONTH,\n \"recurring_interval_count\": 844227,\n \"is_recurring\": True,\n \"is_archived\": True,\n \"organization_id\": \"\",\n \"metadata\": {\n \"key\": 731170,\n },\n \"prices\": [\n {\n \"created_at\": parse_datetime(\"2024-02-07T02:48:19.584Z\"),\n \"modified_at\": parse_datetime(\"2024-06-19T05:51:14.673Z\"),\n \"id\": \"\",\n \"source\": polar_sdk.ProductPriceSource.CATALOG,\n \"amount_type\": \"fixed\",\n \"price_currency\": \"\",\n \"tax_behavior\": polar_sdk.TaxBehaviorOption.EXCLUSIVE,\n \"is_archived\": False,\n \"product_id\": \"\",\n \"type\": \"recurring\",\n \"recurring_interval\": polar_sdk.RecurringInterval.MONTH,\n \"price_amount\": 741622,\n \"legacy\": True,\n },\n ],\n \"benefits\": [],\n \"medias\": [],\n \"attached_custom_fields\": [\n {\n \"custom_field_id\": \"\",\n \"custom_field\": {\n \"created_at\": parse_datetime(\"2026-10-10T23:54:17.582Z\"),\n \"modified_at\": parse_datetime(\"2024-02-06T07:22:30.755Z\"),\n \"id\": \"\",\n \"metadata\": {\n\n },\n \"type\": \"date\",\n \"slug\": \"\",\n \"name\": \"\",\n \"organization_id\": \"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n \"properties\": {},\n },\n \"order\": 285217,\n \"required\": True,\n },\n ],\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["refund.created"]["post"] update: "x-codeSamples": @@ -1298,40 +1274,40 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_active_post(request=polar_sdk.WebhookSubscriptionActivePayload(\n timestamp=parse_datetime(\"2024-08-12T01:28:21.362Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2024-10-11T10:17:29.274Z\"),\n modified_at=parse_datetime(\"2024-12-17T04:45:55.702Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=291908,\n status=polar_sdk.SubscriptionStatus.PAST_DUE,\n current_period_start=parse_datetime(\"2024-06-08T14:14:48.363Z\"),\n current_period_end=parse_datetime(\"2024-04-08T09:06:19.384Z\"),\n trial_start=None,\n trial_end=None,\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2025-09-14T15:19:58.463Z\"),\n started_at=parse_datetime(\"2025-07-30T05:01:30.550Z\"),\n ends_at=parse_datetime(\"2025-02-01T06:13:13.441Z\"),\n ended_at=parse_datetime(\"2024-10-09T03:15:20.759Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.UNUSED,\n customer_cancellation_comment=\"\",\n metadata={\n \"key\": 667866,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-02-14T12:59:50.680Z\"),\n modified_at=parse_datetime(\"2026-03-11T11:17:02.540Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=None,\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2026-11-05T10:18:40.300Z\"),\n modified_at=parse_datetime(\"2025-04-23T18:24:43.408Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=714669,\n name=\"\",\n description=\"amongst incidentally irritably cauliflower antique\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=None,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n metadata={\n \"key\": False,\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2026-03-24T10:57:36.466Z\"),\n modified_at=parse_datetime(\"2025-10-17T11:42:46.643Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=None,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n minimum_amount=389288,\n maximum_amount=177303,\n preset_amount=561657,\n ),\n ],\n benefits=[],\n medias=[],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldCheckbox(\n created_at=parse_datetime(\"2025-01-11T08:39:00.463Z\"),\n modified_at=parse_datetime(\"2026-03-02T23:03:24.214Z\"),\n id=\"\",\n metadata={\n\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldCheckboxProperties(),\n ),\n order=977457,\n required=False,\n ),\n ],\n ),\n discount=polar_sdk.DiscountFixedOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n type=polar_sdk.DiscountType.FIXED,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n created_at=parse_datetime(\"2024-01-15T17:33:02.691Z\"),\n modified_at=parse_datetime(\"2025-04-26T17:17:19.419Z\"),\n id=\"\",\n metadata={\n \"key\": 123196,\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-04-08T13:01:30.211Z\"),\n ends_at=parse_datetime(\"2026-04-05T20:05:32.381Z\"),\n max_redemptions=751909,\n redemptions_count=518919,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[\n polar_sdk.SubscriptionMeter(\n created_at=parse_datetime(\"2025-02-20T06:23:41.365Z\"),\n modified_at=parse_datetime(\"2026-09-30T12:23:41.262Z\"),\n id=\"\",\n consumed_units=25,\n credited_units=100,\n amount=0,\n meter_id=\"d498a884-e2cd-4d3e-8002-f536468a8b22\",\n meter=polar_sdk.Meter(\n metadata={\n \"key\": True,\n },\n created_at=parse_datetime(\"2024-11-12T01:54:07.938Z\"),\n modified_at=parse_datetime(\"2024-12-17T08:10:47.455Z\"),\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.SCALAR,\n filter_=polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[\n polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[],\n ),\n ],\n ),\n aggregation=polar_sdk.PropertyAggregation(\n func=polar_sdk.Func.MIN,\n property=\"\",\n ),\n organization_id=\"\",\n ),\n ),\n ],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2024-01-21T00:13:21.130Z\"),\n modified_at=parse_datetime(\"2026-10-14T21:02:51.234Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2026-04-30T23:31:10.261Z\"),\n product_id=\"\",\n seats=89994,\n ),\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_active_post(request=polar_sdk.WebhookSubscriptionActivePayload(\n timestamp=parse_datetime(\"2024-08-12T01:28:21.362Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2024-10-11T10:17:29.274Z\"),\n modified_at=parse_datetime(\"2024-12-17T04:45:55.702Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.YEAR,\n recurring_interval_count=291908,\n status=polar_sdk.SubscriptionStatus.PAST_DUE,\n current_period_start=parse_datetime(\"2024-06-08T14:14:48.363Z\"),\n current_period_end=parse_datetime(\"2024-04-08T09:06:19.384Z\"),\n trial_start=None,\n trial_end=None,\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2025-09-14T15:19:58.463Z\"),\n started_at=parse_datetime(\"2025-07-30T05:01:30.550Z\"),\n ends_at=parse_datetime(\"2025-02-01T06:13:13.441Z\"),\n ended_at=parse_datetime(\"2024-10-09T03:15:20.759Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.UNUSED,\n customer_cancellation_comment=\"\",\n metadata={\n \"key\": 667866,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-02-14T12:59:50.680Z\"),\n modified_at=parse_datetime(\"2026-03-11T11:17:02.540Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=None,\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2026-11-05T10:18:40.300Z\"),\n modified_at=parse_datetime(\"2025-04-23T18:24:43.408Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=714669,\n name=\"\",\n description=\"amongst incidentally irritably cauliflower antique\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n recurring_interval_count=None,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n metadata={\n \"key\": False,\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2026-03-24T10:57:36.466Z\"),\n modified_at=parse_datetime(\"2025-10-17T11:42:46.643Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=None,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n minimum_amount=389288,\n maximum_amount=177303,\n preset_amount=561657,\n ),\n ],\n benefits=[],\n medias=[],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldCheckbox(\n created_at=parse_datetime(\"2025-01-11T08:39:00.463Z\"),\n modified_at=parse_datetime(\"2026-03-02T23:03:24.214Z\"),\n id=\"\",\n metadata={\n\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldCheckboxProperties(),\n ),\n order=977457,\n required=False,\n ),\n ],\n ),\n discount=polar_sdk.DiscountFixedOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n type=polar_sdk.DiscountType.FIXED,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n created_at=parse_datetime(\"2024-01-15T17:33:02.691Z\"),\n modified_at=parse_datetime(\"2025-04-26T17:17:19.419Z\"),\n id=\"\",\n metadata={\n \"key\": 123196,\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-04-08T13:01:30.211Z\"),\n ends_at=parse_datetime(\"2026-04-05T20:05:32.381Z\"),\n max_redemptions=751909,\n redemptions_count=518919,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[\n polar_sdk.SubscriptionMeter(\n created_at=parse_datetime(\"2025-02-20T06:23:41.365Z\"),\n modified_at=parse_datetime(\"2026-09-30T12:23:41.262Z\"),\n id=\"\",\n consumed_units=25,\n credited_units=100,\n amount=0,\n meter_id=\"d498a884-e2cd-4d3e-8002-f536468a8b22\",\n meter=polar_sdk.Meter(\n metadata={\n \"key\": True,\n },\n created_at=parse_datetime(\"2024-11-12T01:54:07.938Z\"),\n modified_at=parse_datetime(\"2024-12-17T08:10:47.455Z\"),\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.SCALAR,\n filter_=polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[\n polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[],\n ),\n ],\n ),\n aggregation=polar_sdk.PropertyAggregation(\n func=polar_sdk.Func.MIN,\n property=\"\",\n ),\n organization_id=\"\",\n ),\n ),\n ],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2024-01-21T00:13:21.130Z\"),\n modified_at=parse_datetime(\"2026-10-14T21:02:51.234Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2026-04-30T23:31:10.261Z\"),\n product_id=\"\",\n seats=89994,\n ),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["subscription.canceled"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_canceled_post(request=polar_sdk.WebhookSubscriptionCanceledPayload(\n timestamp=parse_datetime(\"2026-02-09T04:39:02.332Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2026-04-09T17:46:08.645Z\"),\n modified_at=None,\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=867179,\n status=polar_sdk.SubscriptionStatus.INCOMPLETE_EXPIRED,\n current_period_start=parse_datetime(\"2025-08-12T22:41:41.907Z\"),\n current_period_end=parse_datetime(\"2024-06-16T04:15:56.819Z\"),\n trial_start=parse_datetime(\"2024-06-01T15:48:16.857Z\"),\n trial_end=parse_datetime(\"2026-07-17T03:56:59.092Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2026-02-23T12:23:49.579Z\"),\n started_at=parse_datetime(\"2024-11-15T08:24:59.166Z\"),\n ends_at=parse_datetime(\"2024-07-20T16:25:14.433Z\"),\n ended_at=None,\n customer_id=\"\",\n product_id=\"\",\n discount_id=None,\n checkout_id=None,\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.LOW_QUALITY,\n customer_cancellation_comment=\"\",\n metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2024-09-19T10:20:50.540Z\"),\n modified_at=parse_datetime(\"2026-12-01T17:01:38.429Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2026-06-11T17:21:10.206Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2024-12-02T02:27:29.470Z\"),\n modified_at=parse_datetime(\"2025-08-22T01:08:59.550Z\"),\n trial_interval=None,\n trial_interval_count=72014,\n name=\"\",\n description=\"for for average aw weakly inside beneath ack stylish or\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=839446,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n metadata={\n\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2024-05-15T03:39:22.008Z\"),\n modified_at=parse_datetime(\"2025-12-06T03:04:40.212Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.LOCATION,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n price_amount=840150,\n ),\n ],\n benefits=[],\n medias=[],\n attached_custom_fields=[],\n ),\n discount=None,\n prices=[],\n meters=[\n polar_sdk.SubscriptionMeter(\n created_at=parse_datetime(\"2025-03-25T15:50:28.196Z\"),\n modified_at=parse_datetime(\"2024-04-26T03:07:49.939Z\"),\n id=\"\",\n consumed_units=25,\n credited_units=100,\n amount=0,\n meter_id=\"d498a884-e2cd-4d3e-8002-f536468a8b22\",\n meter=polar_sdk.Meter(\n metadata={\n\n },\n created_at=parse_datetime(\"2026-01-10T23:59:33.152Z\"),\n modified_at=parse_datetime(\"2026-12-09T20:48:19.909Z\"),\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.TOKEN,\n filter_=polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[\n polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[],\n ),\n ],\n ),\n aggregation=polar_sdk.CountAggregation(),\n organization_id=\"\",\n ),\n ),\n ],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2025-01-23T04:52:40.375Z\"),\n modified_at=parse_datetime(\"2025-10-30T06:29:08.081Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2024-06-15T02:20:52.456Z\"),\n product_id=\"\",\n seats=None,\n ),\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_canceled_post(request=polar_sdk.WebhookSubscriptionCanceledPayload(\n timestamp=parse_datetime(\"2026-02-09T04:39:02.332Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2026-04-09T17:46:08.645Z\"),\n modified_at=None,\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n recurring_interval_count=867179,\n status=polar_sdk.SubscriptionStatus.INCOMPLETE_EXPIRED,\n current_period_start=parse_datetime(\"2025-08-12T22:41:41.907Z\"),\n current_period_end=parse_datetime(\"2024-06-16T04:15:56.819Z\"),\n trial_start=parse_datetime(\"2024-06-01T15:48:16.857Z\"),\n trial_end=parse_datetime(\"2026-07-17T03:56:59.092Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2026-02-23T12:23:49.579Z\"),\n started_at=parse_datetime(\"2024-11-15T08:24:59.166Z\"),\n ends_at=parse_datetime(\"2024-07-20T16:25:14.433Z\"),\n ended_at=None,\n customer_id=\"\",\n product_id=\"\",\n discount_id=None,\n checkout_id=None,\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.LOW_QUALITY,\n customer_cancellation_comment=\"\",\n metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2024-09-19T10:20:50.540Z\"),\n modified_at=parse_datetime(\"2026-12-01T17:01:38.429Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2026-06-11T17:21:10.206Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2024-12-02T02:27:29.470Z\"),\n modified_at=parse_datetime(\"2025-08-22T01:08:59.550Z\"),\n trial_interval=None,\n trial_interval_count=72014,\n name=\"\",\n description=\"for for average aw weakly inside beneath ack stylish or\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n recurring_interval_count=839446,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n metadata={\n\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2024-05-15T03:39:22.008Z\"),\n modified_at=parse_datetime(\"2025-12-06T03:04:40.212Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.LOCATION,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.RecurringInterval.WEEK,\n price_amount=840150,\n ),\n ],\n benefits=[],\n medias=[],\n attached_custom_fields=[],\n ),\n discount=None,\n prices=[],\n meters=[\n polar_sdk.SubscriptionMeter(\n created_at=parse_datetime(\"2025-03-25T15:50:28.196Z\"),\n modified_at=parse_datetime(\"2024-04-26T03:07:49.939Z\"),\n id=\"\",\n consumed_units=25,\n credited_units=100,\n amount=0,\n meter_id=\"d498a884-e2cd-4d3e-8002-f536468a8b22\",\n meter=polar_sdk.Meter(\n metadata={\n\n },\n created_at=parse_datetime(\"2026-01-10T23:59:33.152Z\"),\n modified_at=parse_datetime(\"2026-12-09T20:48:19.909Z\"),\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.TOKEN,\n filter_=polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[\n polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[],\n ),\n ],\n ),\n aggregation=polar_sdk.CountAggregation(),\n organization_id=\"\",\n ),\n ),\n ],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2025-01-23T04:52:40.375Z\"),\n modified_at=parse_datetime(\"2025-10-30T06:29:08.081Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2024-06-15T02:20:52.456Z\"),\n product_id=\"\",\n seats=None,\n ),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["subscription.created"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_created_post(request=polar_sdk.WebhookSubscriptionCreatedPayload(\n timestamp=parse_datetime(\"2025-05-03T11:46:21.459Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2024-12-02T10:52:23.880Z\"),\n modified_at=parse_datetime(\"2025-05-29T05:21:44.072Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=990795,\n status=polar_sdk.SubscriptionStatus.INCOMPLETE,\n current_period_start=parse_datetime(\"2025-01-06T06:33:36.381Z\"),\n current_period_end=parse_datetime(\"2025-02-02T21:22:53.116Z\"),\n trial_start=parse_datetime(\"2024-10-19T18:48:25.568Z\"),\n trial_end=parse_datetime(\"2024-09-09T18:39:16.136Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2025-09-02T19:02:23.015Z\"),\n started_at=parse_datetime(\"2024-08-18T21:45:43.735Z\"),\n ends_at=parse_datetime(\"2024-03-14T19:14:53.866Z\"),\n ended_at=parse_datetime(\"2025-04-01T08:29:51.925Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.UNUSED,\n customer_cancellation_comment=\"\",\n metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-09-10T08:59:46.091Z\"),\n modified_at=parse_datetime(\"2025-07-06T00:27:46.272Z\"),\n metadata={\n \"key\": 9576.45,\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2024-05-14T22:05:41.858Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2025-05-25T09:51:02.679Z\"),\n modified_at=parse_datetime(\"2026-12-23T23:39:23.705Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=417452,\n name=\"\",\n description=\"outnumber micromanage bah competent\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=283869,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n metadata={\n \"key\": True,\n },\n prices=[\n polar_sdk.ProductPriceMeteredUnit(\n created_at=parse_datetime(\"2025-04-19T06:25:18.071Z\"),\n modified_at=parse_datetime(\"2024-03-13T05:31:10.865Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.INCLUSIVE,\n is_archived=True,\n product_id=\"\",\n unit_amount=\"\",\n cap_amount=784251,\n meter_id=\"\",\n meter=polar_sdk.ProductPriceMeter(\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.CUSTOM,\n ),\n ),\n ],\n benefits=[\n polar_sdk.BenefitGitHubRepository(\n id=\"\",\n created_at=parse_datetime(\"2024-04-03T00:17:33.346Z\"),\n modified_at=parse_datetime(\"2024-04-30T17:43:11.175Z\"),\n description=\"softly above yahoo\",\n selectable=False,\n deletable=True,\n is_deleted=False,\n organization_id=\"\",\n metadata={\n\n },\n visibility=polar_sdk.BenefitVisibility.PUBLIC,\n properties=polar_sdk.BenefitGitHubRepositoryProperties(\n repository_owner=\"polarsource\",\n repository_name=\"private_repo\",\n permission=polar_sdk.Permission.MAINTAIN,\n ),\n visibility_configurable=False,\n ),\n ],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/var/tmp\",\n mime_type=\"\",\n size=390142,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2026-02-14T18:32:51.036Z\"),\n version=\"\",\n is_uploaded=True,\n created_at=parse_datetime(\"2026-03-09T13:41:01.524Z\"),\n size_readable=\"\",\n public_url=\"https://live-championship.biz\",\n ),\n ],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountPercentageRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n duration_in_months=521439,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n created_at=parse_datetime(\"2024-07-01T01:44:46.996Z\"),\n modified_at=parse_datetime(\"2024-08-15T18:36:48.951Z\"),\n id=\"\",\n metadata={\n \"key\": False,\n },\n name=\"\",\n code=\"\",\n starts_at=None,\n ends_at=parse_datetime(\"2024-04-05T04:38:07.420Z\"),\n max_redemptions=752842,\n redemptions_count=231146,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2024-12-26T16:06:24.658Z\"),\n modified_at=parse_datetime(\"2025-02-28T15:12:34.204Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2024-09-09T02:16:42.461Z\"),\n product_id=\"\",\n seats=217190,\n ),\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_created_post(request=polar_sdk.WebhookSubscriptionCreatedPayload(\n timestamp=parse_datetime(\"2025-05-03T11:46:21.459Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2024-12-02T10:52:23.880Z\"),\n modified_at=parse_datetime(\"2025-05-29T05:21:44.072Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n recurring_interval_count=990795,\n status=polar_sdk.SubscriptionStatus.INCOMPLETE,\n current_period_start=parse_datetime(\"2025-01-06T06:33:36.381Z\"),\n current_period_end=parse_datetime(\"2025-02-02T21:22:53.116Z\"),\n trial_start=parse_datetime(\"2024-10-19T18:48:25.568Z\"),\n trial_end=parse_datetime(\"2024-09-09T18:39:16.136Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2025-09-02T19:02:23.015Z\"),\n started_at=parse_datetime(\"2024-08-18T21:45:43.735Z\"),\n ends_at=parse_datetime(\"2024-03-14T19:14:53.866Z\"),\n ended_at=parse_datetime(\"2025-04-01T08:29:51.925Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.UNUSED,\n customer_cancellation_comment=\"\",\n metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-09-10T08:59:46.091Z\"),\n modified_at=parse_datetime(\"2025-07-06T00:27:46.272Z\"),\n metadata={\n \"key\": 9576.45,\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2024-05-14T22:05:41.858Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2025-05-25T09:51:02.679Z\"),\n modified_at=parse_datetime(\"2026-12-23T23:39:23.705Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=417452,\n name=\"\",\n description=\"outnumber micromanage bah competent\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n recurring_interval_count=283869,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n metadata={\n \"key\": True,\n },\n prices=[\n polar_sdk.ProductPriceMeteredUnit(\n created_at=parse_datetime(\"2025-04-19T06:25:18.071Z\"),\n modified_at=parse_datetime(\"2024-03-13T05:31:10.865Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.INCLUSIVE,\n is_archived=True,\n product_id=\"\",\n unit_amount=\"\",\n cap_amount=784251,\n meter_id=\"\",\n meter=polar_sdk.ProductPriceMeter(\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.CUSTOM,\n ),\n ),\n ],\n benefits=[\n polar_sdk.BenefitGitHubRepository(\n id=\"\",\n created_at=parse_datetime(\"2024-04-03T00:17:33.346Z\"),\n modified_at=parse_datetime(\"2024-04-30T17:43:11.175Z\"),\n description=\"softly above yahoo\",\n selectable=False,\n deletable=True,\n is_deleted=False,\n organization_id=\"\",\n metadata={\n\n },\n visibility=polar_sdk.BenefitVisibility.PUBLIC,\n properties=polar_sdk.BenefitGitHubRepositoryProperties(\n repository_owner=\"polarsource\",\n repository_name=\"private_repo\",\n permission=polar_sdk.Permission.MAINTAIN,\n ),\n visibility_configurable=False,\n ),\n ],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/var/tmp\",\n mime_type=\"\",\n size=390142,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2026-02-14T18:32:51.036Z\"),\n version=\"\",\n is_uploaded=True,\n created_at=parse_datetime(\"2026-03-09T13:41:01.524Z\"),\n size_readable=\"\",\n public_url=\"https://live-championship.biz\",\n ),\n ],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountPercentageRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n duration_in_months=521439,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n created_at=parse_datetime(\"2024-07-01T01:44:46.996Z\"),\n modified_at=parse_datetime(\"2024-08-15T18:36:48.951Z\"),\n id=\"\",\n metadata={\n \"key\": False,\n },\n name=\"\",\n code=\"\",\n starts_at=None,\n ends_at=parse_datetime(\"2024-04-05T04:38:07.420Z\"),\n max_redemptions=752842,\n redemptions_count=231146,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2024-12-26T16:06:24.658Z\"),\n modified_at=parse_datetime(\"2025-02-28T15:12:34.204Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2024-09-09T02:16:42.461Z\"),\n product_id=\"\",\n seats=217190,\n ),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["subscription.past_due"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_past_due_post(request=polar_sdk.WebhookSubscriptionPastDuePayload(\n timestamp=parse_datetime(\"2025-08-08T08:08:34.879Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2025-08-04T16:17:07.577Z\"),\n modified_at=parse_datetime(\"2025-12-31T22:57:08.265Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=546644,\n status=polar_sdk.SubscriptionStatus.PAST_DUE,\n current_period_start=parse_datetime(\"2025-11-30T09:38:02.409Z\"),\n current_period_end=parse_datetime(\"2025-09-12T10:41:08.869Z\"),\n trial_start=parse_datetime(\"2025-04-18T01:48:54.159Z\"),\n trial_end=parse_datetime(\"2026-12-17T23:19:51.561Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2026-03-24T06:54:09.981Z\"),\n started_at=parse_datetime(\"2026-07-30T18:40:35.200Z\"),\n ends_at=parse_datetime(\"2026-05-14T09:53:26.015Z\"),\n ended_at=parse_datetime(\"2025-05-26T17:14:22.064Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.OTHER,\n customer_cancellation_comment=None,\n metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-04-22T03:52:11.592Z\"),\n modified_at=parse_datetime(\"2024-04-06T18:32:38.832Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=None,\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-10-20T02:40:06.328Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2026-11-18T20:34:51.217Z\"),\n modified_at=parse_datetime(\"2025-12-22T12:33:51.204Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=869031,\n name=\"\",\n description=\"meanwhile ouch wherever as\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=None,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[],\n benefits=[],\n medias=[],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldText(\n created_at=parse_datetime(\"2024-11-12T15:19:47.732Z\"),\n modified_at=parse_datetime(\"2024-07-22T09:40:53.247Z\"),\n id=\"\",\n metadata={\n \"key\": 9155.35,\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldTextProperties(),\n ),\n order=398353,\n required=True,\n ),\n ],\n ),\n discount=None,\n prices=[],\n meters=[],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2025-08-30T23:33:41.919Z\"),\n modified_at=parse_datetime(\"2025-11-28T22:15:45.496Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2026-03-25T22:30:33.825Z\"),\n product_id=\"\",\n seats=776454,\n ),\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_past_due_post(request=polar_sdk.WebhookSubscriptionPastDuePayload(\n timestamp=parse_datetime(\"2025-08-08T08:08:34.879Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2025-08-04T16:17:07.577Z\"),\n modified_at=parse_datetime(\"2025-12-31T22:57:08.265Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.WEEK,\n recurring_interval_count=546644,\n status=polar_sdk.SubscriptionStatus.PAST_DUE,\n current_period_start=parse_datetime(\"2025-11-30T09:38:02.409Z\"),\n current_period_end=parse_datetime(\"2025-09-12T10:41:08.869Z\"),\n trial_start=parse_datetime(\"2025-04-18T01:48:54.159Z\"),\n trial_end=parse_datetime(\"2026-12-17T23:19:51.561Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2026-03-24T06:54:09.981Z\"),\n started_at=parse_datetime(\"2026-07-30T18:40:35.200Z\"),\n ends_at=parse_datetime(\"2026-05-14T09:53:26.015Z\"),\n ended_at=parse_datetime(\"2025-05-26T17:14:22.064Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.OTHER,\n customer_cancellation_comment=None,\n metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-04-22T03:52:11.592Z\"),\n modified_at=parse_datetime(\"2024-04-06T18:32:38.832Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=None,\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-10-20T02:40:06.328Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2026-11-18T20:34:51.217Z\"),\n modified_at=parse_datetime(\"2025-12-22T12:33:51.204Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=869031,\n name=\"\",\n description=\"meanwhile ouch wherever as\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.RecurringInterval.YEAR,\n recurring_interval_count=None,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[],\n benefits=[],\n medias=[],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldText(\n created_at=parse_datetime(\"2024-11-12T15:19:47.732Z\"),\n modified_at=parse_datetime(\"2024-07-22T09:40:53.247Z\"),\n id=\"\",\n metadata={\n \"key\": 9155.35,\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldTextProperties(),\n ),\n order=398353,\n required=True,\n ),\n ],\n ),\n discount=None,\n prices=[],\n meters=[],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2025-08-30T23:33:41.919Z\"),\n modified_at=parse_datetime(\"2025-11-28T22:15:45.496Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2026-03-25T22:30:33.825Z\"),\n product_id=\"\",\n seats=776454,\n ),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["subscription.revoked"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_revoked_post(request=polar_sdk.WebhookSubscriptionRevokedPayload(\n timestamp=parse_datetime(\"2025-01-01T06:40:50.860Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2024-03-15T08:42:29.566Z\"),\n modified_at=parse_datetime(\"2024-10-27T01:20:21.930Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=811590,\n status=polar_sdk.SubscriptionStatus.ACTIVE,\n current_period_start=parse_datetime(\"2024-05-29T02:07:20.021Z\"),\n current_period_end=parse_datetime(\"2026-03-19T11:29:47.842Z\"),\n trial_start=parse_datetime(\"2024-11-19T08:24:19.529Z\"),\n trial_end=None,\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2026-06-25T06:14:56.835Z\"),\n started_at=parse_datetime(\"2024-11-12T16:37:04.348Z\"),\n ends_at=parse_datetime(\"2024-12-27T07:35:48.028Z\"),\n ended_at=parse_datetime(\"2025-01-25T10:24:50.250Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.MISSING_FEATURES,\n customer_cancellation_comment=\"\",\n metadata={\n \"key\": False,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-11-12T05:10:40.368Z\"),\n modified_at=parse_datetime(\"2025-05-28T06:09:58.228Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2026-12-09T13:41:39.970Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2026-05-31T05:10:14.997Z\"),\n modified_at=parse_datetime(\"2025-05-08T09:12:04.956Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=162579,\n name=\"\",\n description=\"from rich energetically at wherever inwardly pharmacopoeia times mortally\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=None,\n recurring_interval_count=811460,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[],\n benefits=[],\n medias=[],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldNumber(\n created_at=parse_datetime(\"2024-03-07T18:49:48.348Z\"),\n modified_at=parse_datetime(\"2024-01-12T15:01:17.401Z\"),\n id=\"\",\n metadata={\n \"key\": 976298,\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldNumberProperties(),\n ),\n order=383583,\n required=True,\n ),\n ],\n ),\n discount=polar_sdk.DiscountPercentageOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n type=polar_sdk.DiscountType.FIXED,\n basis_points=1000,\n created_at=parse_datetime(\"2026-06-08T22:31:19.307Z\"),\n modified_at=parse_datetime(\"2025-03-04T14:42:37.936Z\"),\n id=\"\",\n metadata={\n \"key\": 848758,\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-01-18T21:14:41.001Z\"),\n ends_at=None,\n max_redemptions=293179,\n redemptions_count=783049,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2024-03-20T01:28:15.606Z\"),\n modified_at=parse_datetime(\"2025-12-06T23:54:25.381Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.INCLUSIVE,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n minimum_amount=484393,\n maximum_amount=926857,\n preset_amount=968821,\n ),\n ],\n meters=[],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2025-11-30T21:52:10.855Z\"),\n modified_at=parse_datetime(\"2024-05-20T00:17:32.770Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2024-08-07T17:21:00.549Z\"),\n product_id=\"\",\n seats=235645,\n ),\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_revoked_post(request=polar_sdk.WebhookSubscriptionRevokedPayload(\n timestamp=parse_datetime(\"2025-01-01T06:40:50.860Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2024-03-15T08:42:29.566Z\"),\n modified_at=parse_datetime(\"2024-10-27T01:20:21.930Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n recurring_interval_count=811590,\n status=polar_sdk.SubscriptionStatus.ACTIVE,\n current_period_start=parse_datetime(\"2024-05-29T02:07:20.021Z\"),\n current_period_end=parse_datetime(\"2026-03-19T11:29:47.842Z\"),\n trial_start=parse_datetime(\"2024-11-19T08:24:19.529Z\"),\n trial_end=None,\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2026-06-25T06:14:56.835Z\"),\n started_at=parse_datetime(\"2024-11-12T16:37:04.348Z\"),\n ends_at=parse_datetime(\"2024-12-27T07:35:48.028Z\"),\n ended_at=parse_datetime(\"2025-01-25T10:24:50.250Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.MISSING_FEATURES,\n customer_cancellation_comment=\"\",\n metadata={\n \"key\": False,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-11-12T05:10:40.368Z\"),\n modified_at=parse_datetime(\"2025-05-28T06:09:58.228Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2026-12-09T13:41:39.970Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2026-05-31T05:10:14.997Z\"),\n modified_at=parse_datetime(\"2025-05-08T09:12:04.956Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=162579,\n name=\"\",\n description=\"from rich energetically at wherever inwardly pharmacopoeia times mortally\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=None,\n recurring_interval_count=811460,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[],\n benefits=[],\n medias=[],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldNumber(\n created_at=parse_datetime(\"2024-03-07T18:49:48.348Z\"),\n modified_at=parse_datetime(\"2024-01-12T15:01:17.401Z\"),\n id=\"\",\n metadata={\n \"key\": 976298,\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldNumberProperties(),\n ),\n order=383583,\n required=True,\n ),\n ],\n ),\n discount=polar_sdk.DiscountPercentageOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n type=polar_sdk.DiscountType.FIXED,\n basis_points=1000,\n created_at=parse_datetime(\"2026-06-08T22:31:19.307Z\"),\n modified_at=parse_datetime(\"2025-03-04T14:42:37.936Z\"),\n id=\"\",\n metadata={\n \"key\": 848758,\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-01-18T21:14:41.001Z\"),\n ends_at=None,\n max_redemptions=293179,\n redemptions_count=783049,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2024-03-20T01:28:15.606Z\"),\n modified_at=parse_datetime(\"2025-12-06T23:54:25.381Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.INCLUSIVE,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.RecurringInterval.WEEK,\n minimum_amount=484393,\n maximum_amount=926857,\n preset_amount=968821,\n ),\n ],\n meters=[],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2025-11-30T21:52:10.855Z\"),\n modified_at=parse_datetime(\"2024-05-20T00:17:32.770Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2024-08-07T17:21:00.549Z\"),\n product_id=\"\",\n seats=235645,\n ),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["subscription.uncanceled"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_uncanceled_post(request=polar_sdk.WebhookSubscriptionUncanceledPayload(\n timestamp=parse_datetime(\"2024-02-06T17:25:10.106Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2024-05-12T11:53:26.507Z\"),\n modified_at=None,\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=406654,\n status=polar_sdk.SubscriptionStatus.INCOMPLETE_EXPIRED,\n current_period_start=parse_datetime(\"2026-06-06T02:06:49.326Z\"),\n current_period_end=parse_datetime(\"2025-04-11T19:08:16.655Z\"),\n trial_start=parse_datetime(\"2024-08-22T01:03:59.107Z\"),\n trial_end=parse_datetime(\"2025-08-30T15:34:10.479Z\"),\n cancel_at_period_end=False,\n canceled_at=None,\n started_at=parse_datetime(\"2024-12-22T04:50:00.016Z\"),\n ends_at=parse_datetime(\"2025-10-18T16:25:47.209Z\"),\n ended_at=parse_datetime(\"2024-01-21T06:39:24.599Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.CUSTOMER_SERVICE,\n customer_cancellation_comment=\"\",\n metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-07-04T17:30:56.477Z\"),\n modified_at=parse_datetime(\"2025-12-23T09:30:11.195Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-05-11T18:08:21.251Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2024-09-21T11:20:51.361Z\"),\n modified_at=parse_datetime(\"2026-08-12T15:20:08.030Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=909493,\n name=\"\",\n description=\"proliferate yet vanish mooch yowza hopeful drat\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=660617,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n metadata={\n \"key\": 9172.75,\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2024-08-07T15:56:24.673Z\"),\n modified_at=parse_datetime(\"2026-08-21T10:59:16.897Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.LOCATION,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n minimum_amount=930,\n maximum_amount=None,\n preset_amount=946014,\n ),\n ],\n benefits=[],\n medias=[],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldDate(\n created_at=parse_datetime(\"2026-01-07T18:49:53.331Z\"),\n modified_at=parse_datetime(\"2024-11-20T17:11:26.125Z\"),\n id=\"\",\n metadata={\n\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldDateProperties(),\n ),\n order=198129,\n required=False,\n ),\n ],\n ),\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n duration_in_months=964795,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n created_at=parse_datetime(\"2026-12-02T22:46:25.569Z\"),\n modified_at=None,\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-06-19T01:32:05.669Z\"),\n ends_at=parse_datetime(\"2025-08-07T07:38:27.510Z\"),\n max_redemptions=409446,\n redemptions_count=945633,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[\n polar_sdk.SubscriptionMeter(\n created_at=parse_datetime(\"2026-06-18T19:23:29.003Z\"),\n modified_at=parse_datetime(\"2024-01-05T01:01:18.756Z\"),\n id=\"\",\n consumed_units=25,\n credited_units=100,\n amount=0,\n meter_id=\"d498a884-e2cd-4d3e-8002-f536468a8b22\",\n meter=polar_sdk.Meter(\n metadata={\n \"key\": \"\",\n },\n created_at=parse_datetime(\"2024-01-27T13:13:52.293Z\"),\n modified_at=parse_datetime(\"2024-05-31T04:28:19.613Z\"),\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.SCALAR,\n filter_=polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[\n polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[],\n ),\n ],\n ),\n aggregation=polar_sdk.PropertyAggregation(\n func=polar_sdk.Func.AVG,\n property=\"\",\n ),\n organization_id=\"\",\n ),\n ),\n ],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2024-08-16T10:43:36.241Z\"),\n modified_at=parse_datetime(\"2024-03-12T22:18:03.414Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2025-03-11T14:22:09.117Z\"),\n product_id=\"\",\n seats=959847,\n ),\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_uncanceled_post(request=polar_sdk.WebhookSubscriptionUncanceledPayload(\n timestamp=parse_datetime(\"2024-02-06T17:25:10.106Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2024-05-12T11:53:26.507Z\"),\n modified_at=None,\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.YEAR,\n recurring_interval_count=406654,\n status=polar_sdk.SubscriptionStatus.INCOMPLETE_EXPIRED,\n current_period_start=parse_datetime(\"2026-06-06T02:06:49.326Z\"),\n current_period_end=parse_datetime(\"2025-04-11T19:08:16.655Z\"),\n trial_start=parse_datetime(\"2024-08-22T01:03:59.107Z\"),\n trial_end=parse_datetime(\"2025-08-30T15:34:10.479Z\"),\n cancel_at_period_end=False,\n canceled_at=None,\n started_at=parse_datetime(\"2024-12-22T04:50:00.016Z\"),\n ends_at=parse_datetime(\"2025-10-18T16:25:47.209Z\"),\n ended_at=parse_datetime(\"2024-01-21T06:39:24.599Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.CUSTOMER_SERVICE,\n customer_cancellation_comment=\"\",\n metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-07-04T17:30:56.477Z\"),\n modified_at=parse_datetime(\"2025-12-23T09:30:11.195Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-05-11T18:08:21.251Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2024-09-21T11:20:51.361Z\"),\n modified_at=parse_datetime(\"2026-08-12T15:20:08.030Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=909493,\n name=\"\",\n description=\"proliferate yet vanish mooch yowza hopeful drat\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.RecurringInterval.YEAR,\n recurring_interval_count=660617,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n metadata={\n \"key\": 9172.75,\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2024-08-07T15:56:24.673Z\"),\n modified_at=parse_datetime(\"2026-08-21T10:59:16.897Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.LOCATION,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.RecurringInterval.YEAR,\n minimum_amount=930,\n maximum_amount=None,\n preset_amount=946014,\n ),\n ],\n benefits=[],\n medias=[],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldDate(\n created_at=parse_datetime(\"2026-01-07T18:49:53.331Z\"),\n modified_at=parse_datetime(\"2024-11-20T17:11:26.125Z\"),\n id=\"\",\n metadata={\n\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldDateProperties(),\n ),\n order=198129,\n required=False,\n ),\n ],\n ),\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n duration_in_months=964795,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n created_at=parse_datetime(\"2026-12-02T22:46:25.569Z\"),\n modified_at=None,\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-06-19T01:32:05.669Z\"),\n ends_at=parse_datetime(\"2025-08-07T07:38:27.510Z\"),\n max_redemptions=409446,\n redemptions_count=945633,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[\n polar_sdk.SubscriptionMeter(\n created_at=parse_datetime(\"2026-06-18T19:23:29.003Z\"),\n modified_at=parse_datetime(\"2024-01-05T01:01:18.756Z\"),\n id=\"\",\n consumed_units=25,\n credited_units=100,\n amount=0,\n meter_id=\"d498a884-e2cd-4d3e-8002-f536468a8b22\",\n meter=polar_sdk.Meter(\n metadata={\n \"key\": \"\",\n },\n created_at=parse_datetime(\"2024-01-27T13:13:52.293Z\"),\n modified_at=parse_datetime(\"2024-05-31T04:28:19.613Z\"),\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.SCALAR,\n filter_=polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[\n polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[],\n ),\n ],\n ),\n aggregation=polar_sdk.PropertyAggregation(\n func=polar_sdk.Func.AVG,\n property=\"\",\n ),\n organization_id=\"\",\n ),\n ),\n ],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2024-08-16T10:43:36.241Z\"),\n modified_at=parse_datetime(\"2024-03-12T22:18:03.414Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2025-03-11T14:22:09.117Z\"),\n product_id=\"\",\n seats=959847,\n ),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["subscription.updated"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_updated_post(request=polar_sdk.WebhookSubscriptionUpdatedPayload(\n timestamp=parse_datetime(\"2024-06-23T13:26:25.969Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2025-05-25T12:11:24.717Z\"),\n modified_at=parse_datetime(\"2025-07-08T02:17:23.799Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=489836,\n status=polar_sdk.SubscriptionStatus.CANCELED,\n current_period_start=parse_datetime(\"2025-06-19T12:29:28.503Z\"),\n current_period_end=parse_datetime(\"2024-06-13T15:07:05.619Z\"),\n trial_start=parse_datetime(\"2026-04-17T18:51:57.213Z\"),\n trial_end=parse_datetime(\"2026-08-31T06:08:08.476Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2025-10-12T01:39:46.850Z\"),\n started_at=parse_datetime(\"2025-08-23T08:17:41.246Z\"),\n ends_at=parse_datetime(\"2026-04-28T14:07:35.212Z\"),\n ended_at=parse_datetime(\"2026-04-23T18:41:38.111Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.MISSING_FEATURES,\n customer_cancellation_comment=\"\",\n metadata={\n \"key\": 384298,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-06-15T22:53:11.971Z\"),\n modified_at=parse_datetime(\"2025-03-20T00:06:47.924Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-08-19T16:06:29.687Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2026-07-20T14:48:07.590Z\"),\n modified_at=parse_datetime(\"2026-07-02T08:42:56.558Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=729960,\n name=\"\",\n description=\"obnoxiously save following clinch striking juicy\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=951036,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceFree(\n created_at=parse_datetime(\"2025-06-11T00:10:41.493Z\"),\n modified_at=parse_datetime(\"2026-06-08T03:34:59.881Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.LOCATION,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n ),\n ],\n benefits=[\n polar_sdk.BenefitDiscord(\n id=\"\",\n created_at=parse_datetime(\"2025-11-17T23:33:54.714Z\"),\n modified_at=parse_datetime(\"2024-02-02T03:58:40.691Z\"),\n description=\"gah contradict gosh colligate overstay unethically wholly\",\n selectable=True,\n deletable=True,\n is_deleted=True,\n organization_id=\"\",\n metadata={\n \"key\": 117069,\n },\n visibility=polar_sdk.BenefitVisibility.DRAFT,\n properties=polar_sdk.BenefitDiscordProperties(\n guild_id=\"\",\n role_id=\"\",\n kick_member=False,\n guild_token=\"\",\n ),\n visibility_configurable=False,\n ),\n ],\n medias=[],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldSelect(\n created_at=parse_datetime(\"2025-12-16T20:50:35.317Z\"),\n modified_at=parse_datetime(\"2024-05-26T19:23:38.918Z\"),\n id=\"\",\n metadata={\n \"key\": \"\",\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldSelectProperties(\n options=[\n polar_sdk.CustomFieldSelectOption(\n value=\"\",\n label=\"\",\n ),\n ],\n ),\n ),\n order=461888,\n required=True,\n ),\n ],\n ),\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n duration_in_months=507732,\n type=polar_sdk.DiscountType.FIXED,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n created_at=parse_datetime(\"2024-12-17T05:51:05.895Z\"),\n modified_at=parse_datetime(\"2026-07-18T10:46:50.494Z\"),\n id=\"\",\n metadata={\n \"key\": True,\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-07-08T21:15:32.827Z\"),\n ends_at=parse_datetime(\"2026-08-05T21:19:30.774Z\"),\n max_redemptions=36052,\n redemptions_count=210743,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2026-06-26T08:27:30.248Z\"),\n modified_at=parse_datetime(\"2025-02-19T20:04:55.596Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.LOCATION,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n minimum_amount=437001,\n maximum_amount=None,\n preset_amount=510987,\n ),\n ],\n meters=[],\n pending_update=None,\n ),\n ))\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointsubscription_updated_post(request=polar_sdk.WebhookSubscriptionUpdatedPayload(\n timestamp=parse_datetime(\"2024-06-23T13:26:25.969Z\"),\n data=polar_sdk.Subscription(\n created_at=parse_datetime(\"2025-05-25T12:11:24.717Z\"),\n modified_at=parse_datetime(\"2025-07-08T02:17:23.799Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.RecurringInterval.WEEK,\n recurring_interval_count=489836,\n status=polar_sdk.SubscriptionStatus.CANCELED,\n current_period_start=parse_datetime(\"2025-06-19T12:29:28.503Z\"),\n current_period_end=parse_datetime(\"2024-06-13T15:07:05.619Z\"),\n trial_start=parse_datetime(\"2026-04-17T18:51:57.213Z\"),\n trial_end=parse_datetime(\"2026-08-31T06:08:08.476Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2025-10-12T01:39:46.850Z\"),\n started_at=parse_datetime(\"2025-08-23T08:17:41.246Z\"),\n ends_at=parse_datetime(\"2026-04-28T14:07:35.212Z\"),\n ended_at=parse_datetime(\"2026-04-23T18:41:38.111Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.MISSING_FEATURES,\n customer_cancellation_comment=\"\",\n metadata={\n \"key\": 384298,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-06-15T22:53:11.971Z\"),\n modified_at=parse_datetime(\"2025-03-20T00:06:47.924Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n type=polar_sdk.CustomerType.TEAM,\n name=\"John Doe\",\n billing_name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.AddressCountryAlpha2.US,\n ),\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2025-08-19T16:06:29.687Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n product=polar_sdk.Product(\n id=\"\",\n created_at=parse_datetime(\"2026-07-20T14:48:07.590Z\"),\n modified_at=parse_datetime(\"2026-07-02T08:42:56.558Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=729960,\n name=\"\",\n description=\"obnoxiously save following clinch striking juicy\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n recurring_interval_count=951036,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2025-06-11T00:10:41.493Z\"),\n modified_at=parse_datetime(\"2026-06-08T03:34:59.881Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n tax_behavior=polar_sdk.TaxBehaviorOption.LOCATION,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.RecurringInterval.DAY,\n price_amount=657408,\n ),\n ],\n benefits=[],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/srv\",\n mime_type=\"\",\n size=29348,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=None,\n last_modified_at=parse_datetime(\"2024-10-02T10:28:13.472Z\"),\n version=\"\",\n is_uploaded=True,\n created_at=parse_datetime(\"2025-10-07T09:47:56.854Z\"),\n size_readable=\"\",\n public_url=\"https://flowery-promise.org/\",\n ),\n ],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n duration_in_months=66236,\n type=polar_sdk.DiscountType.FIXED,\n amount=1000,\n currency=\"usd\",\n amounts={\n \"eur\": 900,\n \"usd\": 1000,\n },\n created_at=parse_datetime(\"2026-04-19T17:57:35.152Z\"),\n modified_at=parse_datetime(\"2026-07-12T02:33:56.088Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-11-30T07:28:53.282Z\"),\n ends_at=parse_datetime(\"2024-06-22T20:22:02.420Z\"),\n max_redemptions=754422,\n redemptions_count=580493,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2025-05-25T04:21:31.587Z\"),\n modified_at=parse_datetime(\"2025-02-18T12:40:10.475Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n tax_behavior=None,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.RecurringInterval.MONTH,\n price_amount=262394,\n ),\n ],\n meters=[\n polar_sdk.SubscriptionMeter(\n created_at=parse_datetime(\"2025-12-22T09:16:00.139Z\"),\n modified_at=None,\n id=\"\",\n consumed_units=25,\n credited_units=100,\n amount=0,\n meter_id=\"d498a884-e2cd-4d3e-8002-f536468a8b22\",\n meter=polar_sdk.Meter(\n metadata={\n \"key\": True,\n },\n created_at=parse_datetime(\"2024-12-05T20:26:36.699Z\"),\n modified_at=parse_datetime(\"2025-05-20T08:57:13.995Z\"),\n id=\"\",\n name=\"\",\n unit=polar_sdk.MeterUnit.SCALAR,\n filter_=polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.AND,\n clauses=[\n polar_sdk.FilterClause(\n property=\"\",\n operator=polar_sdk.FilterOperator.EQ,\n value=\"\",\n ),\n ],\n ),\n aggregation=polar_sdk.UniqueAggregation(\n property=\"\",\n ),\n organization_id=\"\",\n ),\n ),\n ],\n pending_update=polar_sdk.PendingSubscriptionUpdate(\n created_at=parse_datetime(\"2025-01-28T20:33:11.380Z\"),\n modified_at=parse_datetime(\"2025-11-07T12:08:57.166Z\"),\n id=\"\",\n applies_at=parse_datetime(\"2025-12-16T20:50:35.317Z\"),\n product_id=\"\",\n seats=610480,\n ),\n ),\n ))\n\n # Handle response\n print(res)" diff --git a/docs/models/authorizeresponseorganization.md b/docs/models/authorizeresponseorganization.md index 7c8e5de6..26e63a32 100644 --- a/docs/models/authorizeresponseorganization.md +++ b/docs/models/authorizeresponseorganization.md @@ -9,5 +9,5 @@ | `sub_type` | *Literal["organization"]* | :heavy_check_mark: | N/A | | `sub` | [Nullable[models.AuthorizeOrganization]](../models/authorizeorganization.md) | :heavy_check_mark: | N/A | | `scopes` | List[[models.Scope](../models/scope.md)] | :heavy_check_mark: | N/A | -| `scope_display_names` | Dict[str, *str*] | :heavy_minus_sign: | N/A | -| `organizations` | List[[models.AuthorizeOrganization](../models/authorizeorganization.md)] | :heavy_check_mark: | N/A | \ No newline at end of file +| `organizations` | List[[models.AuthorizeOrganization](../models/authorizeorganization.md)] | :heavy_check_mark: | N/A | +| `scope_display_names` | Dict[str, *str*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/authorizeresponseuser.md b/docs/models/authorizeresponseuser.md index ca7092a3..1a913658 100644 --- a/docs/models/authorizeresponseuser.md +++ b/docs/models/authorizeresponseuser.md @@ -3,10 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| `client` | [models.OAuth2ClientPublic](../models/oauth2clientpublic.md) | :heavy_check_mark: | N/A | -| `sub_type` | *Literal["user"]* | :heavy_check_mark: | N/A | -| `sub` | [Nullable[models.AuthorizeUser]](../models/authorizeuser.md) | :heavy_check_mark: | N/A | -| `scopes` | List[[models.Scope](../models/scope.md)] | :heavy_check_mark: | N/A | -| `scope_display_names` | Dict[str, *str*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `client` | [models.OAuth2ClientPublic](../models/oauth2clientpublic.md) | :heavy_check_mark: | N/A | +| `sub_type` | *Literal["user"]* | :heavy_check_mark: | N/A | +| `sub` | [Nullable[models.AuthorizeUser]](../models/authorizeuser.md) | :heavy_check_mark: | N/A | +| `scopes` | List[[models.Scope](../models/scope.md)] | :heavy_check_mark: | N/A | +| `organizations` | List[[models.AuthorizeOrganization](../models/authorizeorganization.md)] | :heavy_check_mark: | N/A | +| `scope_display_names` | Dict[str, *str*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/availablescope.md b/docs/models/availablescope.md deleted file mode 100644 index 1190bb38..00000000 --- a/docs/models/availablescope.md +++ /dev/null @@ -1,69 +0,0 @@ -# AvailableScope - - -## Values - -| Name | Value | -| ---------------------------------- | ---------------------------------- | -| `OPENID` | openid | -| `PROFILE` | profile | -| `EMAIL` | email | -| `USER_READ` | user:read | -| `USER_WRITE` | user:write | -| `ORGANIZATIONS_READ` | organizations:read | -| `ORGANIZATIONS_WRITE` | organizations:write | -| `CUSTOM_FIELDS_READ` | custom_fields:read | -| `CUSTOM_FIELDS_WRITE` | custom_fields:write | -| `DISCOUNTS_READ` | discounts:read | -| `DISCOUNTS_WRITE` | discounts:write | -| `CHECKOUT_LINKS_READ` | checkout_links:read | -| `CHECKOUT_LINKS_WRITE` | checkout_links:write | -| `CHECKOUTS_READ` | checkouts:read | -| `CHECKOUTS_WRITE` | checkouts:write | -| `TRANSACTIONS_READ` | transactions:read | -| `TRANSACTIONS_WRITE` | transactions:write | -| `PAYOUTS_READ` | payouts:read | -| `PAYOUTS_WRITE` | payouts:write | -| `PRODUCTS_READ` | products:read | -| `PRODUCTS_WRITE` | products:write | -| `BENEFITS_READ` | benefits:read | -| `BENEFITS_WRITE` | benefits:write | -| `EVENTS_READ` | events:read | -| `EVENTS_WRITE` | events:write | -| `METERS_READ` | meters:read | -| `METERS_WRITE` | meters:write | -| `FILES_READ` | files:read | -| `FILES_WRITE` | files:write | -| `SUBSCRIPTIONS_READ` | subscriptions:read | -| `SUBSCRIPTIONS_WRITE` | subscriptions:write | -| `CUSTOMERS_READ` | customers:read | -| `CUSTOMERS_WRITE` | customers:write | -| `MEMBERS_READ` | members:read | -| `MEMBERS_WRITE` | members:write | -| `WALLETS_READ` | wallets:read | -| `WALLETS_WRITE` | wallets:write | -| `DISPUTES_READ` | disputes:read | -| `CUSTOMER_METERS_READ` | customer_meters:read | -| `CUSTOMER_SESSIONS_WRITE` | customer_sessions:write | -| `MEMBER_SESSIONS_WRITE` | member_sessions:write | -| `CUSTOMER_SEATS_READ` | customer_seats:read | -| `CUSTOMER_SEATS_WRITE` | customer_seats:write | -| `ORDERS_READ` | orders:read | -| `ORDERS_WRITE` | orders:write | -| `REFUNDS_READ` | refunds:read | -| `REFUNDS_WRITE` | refunds:write | -| `PAYMENTS_READ` | payments:read | -| `METRICS_READ` | metrics:read | -| `METRICS_WRITE` | metrics:write | -| `WEBHOOKS_READ` | webhooks:read | -| `WEBHOOKS_WRITE` | webhooks:write | -| `LICENSE_KEYS_READ` | license_keys:read | -| `LICENSE_KEYS_WRITE` | license_keys:write | -| `CUSTOMER_PORTAL_READ` | customer_portal:read | -| `CUSTOMER_PORTAL_WRITE` | customer_portal:write | -| `NOTIFICATIONS_READ` | notifications:read | -| `NOTIFICATIONS_WRITE` | notifications:write | -| `NOTIFICATION_RECIPIENTS_READ` | notification_recipients:read | -| `NOTIFICATION_RECIPIENTS_WRITE` | notification_recipients:write | -| `ORGANIZATION_ACCESS_TOKENS_READ` | organization_access_tokens:read | -| `ORGANIZATION_ACCESS_TOKENS_WRITE` | organization_access_tokens:write | \ No newline at end of file diff --git a/docs/models/benefitdiscordupdate.md b/docs/models/benefitdiscordupdate.md index 4191d4fe..cd1c3636 100644 --- a/docs/models/benefitdiscordupdate.md +++ b/docs/models/benefitdiscordupdate.md @@ -7,6 +7,5 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | Dict[str, [models.BenefitDiscordUpdateMetadata](../models/benefitdiscordupdatemetadata.md)] | :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**. | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | The description of the benefit. Will be displayed on products having this benefit. | -| `visibility` | [OptionalNullable[models.BenefitVisibility]](../models/benefitvisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | `type` | *Literal["discord"]* | :heavy_check_mark: | N/A | | `properties` | [OptionalNullable[models.BenefitDiscordCreateProperties]](../models/benefitdiscordcreateproperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/benefitdownloadablesupdate.md b/docs/models/benefitdownloadablesupdate.md index 46340fee..bcf2dbf2 100644 --- a/docs/models/benefitdownloadablesupdate.md +++ b/docs/models/benefitdownloadablesupdate.md @@ -7,6 +7,5 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | Dict[str, [models.BenefitDownloadablesUpdateMetadata](../models/benefitdownloadablesupdatemetadata.md)] | :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**. | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | The description of the benefit. Will be displayed on products having this benefit. | -| `visibility` | [OptionalNullable[models.BenefitVisibility]](../models/benefitvisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | `type` | *Literal["downloadables"]* | :heavy_check_mark: | N/A | | `properties` | [OptionalNullable[models.BenefitDownloadablesCreateProperties]](../models/benefitdownloadablescreateproperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/benefitgithubrepositoryupdate.md b/docs/models/benefitgithubrepositoryupdate.md index 8565a819..6f8e48e8 100644 --- a/docs/models/benefitgithubrepositoryupdate.md +++ b/docs/models/benefitgithubrepositoryupdate.md @@ -7,6 +7,5 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | Dict[str, [models.BenefitGitHubRepositoryUpdateMetadata](../models/benefitgithubrepositoryupdatemetadata.md)] | :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**. | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | The description of the benefit. Will be displayed on products having this benefit. | -| `visibility` | [OptionalNullable[models.BenefitVisibility]](../models/benefitvisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | `type` | *Literal["github_repository"]* | :heavy_check_mark: | N/A | | `properties` | [OptionalNullable[models.BenefitGitHubRepositoryCreateProperties]](../models/benefitgithubrepositorycreateproperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/benefitslacksharedchannelupdate.md b/docs/models/benefitslacksharedchannelupdate.md index 7a47ed85..d8050251 100644 --- a/docs/models/benefitslacksharedchannelupdate.md +++ b/docs/models/benefitslacksharedchannelupdate.md @@ -7,6 +7,5 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | Dict[str, [models.BenefitSlackSharedChannelUpdateMetadata](../models/benefitslacksharedchannelupdatemetadata.md)] | :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**. | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | The description of the benefit. Will be displayed on products having this benefit. | -| `visibility` | [OptionalNullable[models.BenefitVisibility]](../models/benefitvisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | `type` | *Literal["slack_shared_channel"]* | :heavy_check_mark: | N/A | | `properties` | [OptionalNullable[models.BenefitSlackSharedChannelCreateProperties]](../models/benefitslacksharedchannelcreateproperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/cardpayment.md b/docs/models/cardpayment.md index e0ffe0e5..5688d4ae 100644 --- a/docs/models/cardpayment.md +++ b/docs/models/cardpayment.md @@ -5,20 +5,21 @@ Schema of a payment with a card payment method. ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modified_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *str* | :heavy_check_mark: | The ID of the object. | | -| `processor` | [models.PaymentProcessor](../models/paymentprocessor.md) | :heavy_check_mark: | N/A | | -| `status` | [models.PaymentStatus](../models/paymentstatus.md) | :heavy_check_mark: | N/A | | -| `amount` | *int* | :heavy_check_mark: | The payment amount in cents. | 1000 | -| `currency` | *str* | :heavy_check_mark: | The payment currency. Currently, only `usd` is supported. | usd | -| `method` | *Literal["card"]* | :heavy_check_mark: | The payment method used. | card | -| `decline_reason` | *Nullable[str]* | :heavy_check_mark: | Error code, if the payment was declined. | insufficient_funds | -| `decline_message` | *Nullable[str]* | :heavy_check_mark: | Human-readable error message, if the payment was declined. | Your card has insufficient funds. | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization that owns the payment. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `checkout_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the checkout session associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | -| `order_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the order associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | -| `processor_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | Additional metadata from the payment processor for internal use. | | -| `method_metadata` | [models.CardPaymentMetadata](../models/cardpaymentmetadata.md) | :heavy_check_mark: | Additional metadata for a card payment method. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modified_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `id` | *str* | :heavy_check_mark: | The ID of the object. | | +| `processor` | [models.PaymentProcessor](../models/paymentprocessor.md) | :heavy_check_mark: | N/A | | +| `status` | [models.PaymentStatus](../models/paymentstatus.md) | :heavy_check_mark: | N/A | | +| `amount` | *int* | :heavy_check_mark: | The payment amount in cents. | 1000 | +| `currency` | *str* | :heavy_check_mark: | The payment currency. Currently, only `usd` is supported. | usd | +| `method` | *Literal["card"]* | :heavy_check_mark: | The payment method used. | card | +| `trigger` | [OptionalNullable[models.PaymentTrigger]](../models/paymenttrigger.md) | :heavy_minus_sign: | What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry. | subscription_cycle | +| `decline_reason` | *Nullable[str]* | :heavy_check_mark: | Error code, if the payment was declined. | insufficient_funds | +| `decline_message` | *Nullable[str]* | :heavy_check_mark: | Human-readable error message, if the payment was declined. | Your card has insufficient funds. | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization that owns the payment. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `checkout_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the checkout session associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | +| `order_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the order associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | +| `processor_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | Additional metadata from the payment processor for internal use. | | +| `method_metadata` | [models.CardPaymentMetadata](../models/cardpaymentmetadata.md) | :heavy_check_mark: | Additional metadata for a card payment method. | | \ No newline at end of file diff --git a/docs/models/checkoutcreateprices.md b/docs/models/checkoutcreateprices.md index d5cc6c41..d2df29ed 100644 --- a/docs/models/checkoutcreateprices.md +++ b/docs/models/checkoutcreateprices.md @@ -15,12 +15,6 @@ value: models.ProductPriceCustomCreate = /* values here */ value: models.ProductPriceFixedCreate = /* values here */ ``` -### `models.ProductPriceFreeCreate` - -```python -value: models.ProductPriceFreeCreate = /* values here */ -``` - ### `models.ProductPriceMeteredUnitCreate` ```python diff --git a/docs/models/checkoutlinkproduct.md b/docs/models/checkoutlinkproduct.md index 71717d79..165a4f64 100644 --- a/docs/models/checkoutlinkproduct.md +++ b/docs/models/checkoutlinkproduct.md @@ -16,7 +16,7 @@ Product data for a checkout link. | `name` | *str* | :heavy_check_mark: | The name of the product. | | `description` | *Nullable[str]* | :heavy_check_mark: | The description of the product. | | `visibility` | [models.ProductVisibility](../models/productvisibility.md) | :heavy_check_mark: | N/A | -| `recurring_interval` | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurring_interval` | [Nullable[models.RecurringInterval]](../models/recurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurring_interval_count` | *Nullable[int]* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | | `is_recurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `is_archived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | diff --git a/docs/models/checkoutproduct.md b/docs/models/checkoutproduct.md index 74170b1f..1c9221ad 100644 --- a/docs/models/checkoutproduct.md +++ b/docs/models/checkoutproduct.md @@ -15,7 +15,7 @@ Product data for a checkout session. | `name` | *str* | :heavy_check_mark: | The name of the product. | | `description` | *Nullable[str]* | :heavy_check_mark: | The description of the product. | | `visibility` | [models.ProductVisibility](../models/productvisibility.md) | :heavy_check_mark: | N/A | -| `recurring_interval` | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurring_interval` | [Nullable[models.RecurringInterval]](../models/recurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurring_interval_count` | *Nullable[int]* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | | `is_recurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `is_archived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | diff --git a/docs/models/customerindividual.md b/docs/models/customerindividual.md index d05a72ef..ebc2a987 100644 --- a/docs/models/customerindividual.md +++ b/docs/models/customerindividual.md @@ -23,4 +23,4 @@ A customer in an organization. | `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | | `default_payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | -| `avatar_url` | *str* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/models/customerorder.md b/docs/models/customerorder.md index c496cb1b..8fbd230d 100644 --- a/docs/models/customerorder.md +++ b/docs/models/customerorder.md @@ -32,10 +32,10 @@ | `discount_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `subscription_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `checkout_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `next_payment_attempt_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted. | | | `product` | [Nullable[models.CustomerOrderProduct]](../models/customerorderproduct.md) | :heavy_check_mark: | N/A | | | `subscription` | [Nullable[models.CustomerOrderSubscription]](../models/customerordersubscription.md) | :heavy_check_mark: | N/A | | | `items` | List[[models.OrderItemSchema](../models/orderitemschema.md)] | :heavy_check_mark: | Line items composing the order. | | | `description` | *str* | :heavy_check_mark: | A summary description of the order. | Pro Plan | -| `next_payment_attempt_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | When the next payment retry is scheduled | | | `refundable_amount` | *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 | | `refundable_tax_amount` | *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/customerorderproduct.md b/docs/models/customerorderproduct.md index 7e110a00..1db68028 100644 --- a/docs/models/customerorderproduct.md +++ b/docs/models/customerorderproduct.md @@ -13,7 +13,7 @@ | `name` | *str* | :heavy_check_mark: | The name of the product. | | `description` | *Nullable[str]* | :heavy_check_mark: | The description of the product. | | `visibility` | [models.ProductVisibility](../models/productvisibility.md) | :heavy_check_mark: | N/A | -| `recurring_interval` | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurring_interval` | [Nullable[models.RecurringInterval]](../models/recurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurring_interval_count` | *Nullable[int]* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | | `is_recurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `is_archived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | diff --git a/docs/models/customerordersubscription.md b/docs/models/customerordersubscription.md index f0c33158..b51bea4b 100644 --- a/docs/models/customerordersubscription.md +++ b/docs/models/customerordersubscription.md @@ -10,7 +10,7 @@ | `id` | *str* | :heavy_check_mark: | The ID of the object. | | | `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | | `currency` | *str* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurring_interval` | [models.SubscriptionRecurringInterval](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | N/A | | +| `recurring_interval` | [models.RecurringInterval](../models/recurringinterval.md) | :heavy_check_mark: | N/A | | | `recurring_interval_count` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | | `status` | [models.SubscriptionStatus](../models/subscriptionstatus.md) | :heavy_check_mark: | N/A | | | `current_period_start` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start timestamp of the current billing period. | | @@ -22,6 +22,7 @@ | `started_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription started. | | | `ends_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription will end. | | | `ended_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription ended. | | +| `past_due_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The timestamp when the subscription entered `past_due` status. | | | `customer_id` | *str* | :heavy_check_mark: | The ID of the subscribed customer. | | | `product_id` | *str* | :heavy_check_mark: | The ID of the subscribed product. | | | `discount_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the applied discount, if any. | | diff --git a/docs/models/customerportalmemberupdate.md b/docs/models/customerportalmemberupdate.md index 48fc8ddd..e01f500e 100644 --- a/docs/models/customerportalmemberupdate.md +++ b/docs/models/customerportalmemberupdate.md @@ -1,10 +1,11 @@ # CustomerPortalMemberUpdate -Schema for updating a member's role in the customer portal. +Schema for updating a member in the customer portal. ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `role` | [OptionalNullable[models.MemberRole]](../models/memberrole.md) | :heavy_minus_sign: | The new role for the member. | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | The new name for the member. | Jane Doe | +| `role` | [OptionalNullable[models.MemberRole]](../models/memberrole.md) | :heavy_minus_sign: | The new role for the member. | | \ No newline at end of file diff --git a/docs/models/customerportalordersgenerateinvoiceresponse422customerportalordersgenerateinvoice.md b/docs/models/customerportalordersgenerateinvoiceresponse422customerportalordersgenerateinvoice.md deleted file mode 100644 index 895d3e44..00000000 --- a/docs/models/customerportalordersgenerateinvoiceresponse422customerportalordersgenerateinvoice.md +++ /dev/null @@ -1,19 +0,0 @@ -# CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice - -Order is not paid or is missing billing name or address. - - -## Supported Types - -### `models.MissingInvoiceBillingDetails` - -```python -value: models.MissingInvoiceBillingDetails = /* values here */ -``` - -### `models.NotPaidOrder` - -```python -value: models.NotPaidOrder = /* values here */ -``` - diff --git a/docs/models/customerproduct.md b/docs/models/customerproduct.md index ed29baf2..133991ff 100644 --- a/docs/models/customerproduct.md +++ b/docs/models/customerproduct.md @@ -15,11 +15,11 @@ Schema of a product for customer portal. | `name` | *str* | :heavy_check_mark: | The name of the product. | | `description` | *Nullable[str]* | :heavy_check_mark: | The description of the product. | | `visibility` | [models.ProductVisibility](../models/productvisibility.md) | :heavy_check_mark: | N/A | -| `recurring_interval` | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurring_interval` | [Nullable[models.RecurringInterval]](../models/recurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurring_interval_count` | *Nullable[int]* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | | `is_recurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `is_archived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | | `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the product. | | `prices` | List[[models.CustomerProductPrices](../models/customerproductprices.md)] | :heavy_check_mark: | List of available prices for this product. | -| `benefits` | List[[models.BenefitPublic](../models/benefitpublic.md)] | :heavy_check_mark: | The benefits granted by the product. | +| `benefits` | List[[models.BenefitPublic](../models/benefitpublic.md)] | :heavy_check_mark: | List of benefits granted by the product. | | `medias` | List[[models.ProductMediaFileRead](../models/productmediafileread.md)] | :heavy_check_mark: | The medias associated to the product. | \ No newline at end of file diff --git a/docs/models/customersexportresponse.md b/docs/models/customersexportresponse.md deleted file mode 100644 index 0b6446a6..00000000 --- a/docs/models/customersexportresponse.md +++ /dev/null @@ -1,17 +0,0 @@ -# CustomersExportResponse - - -## Supported Types - -### `Any` - -```python -value: Any = /* values here */ -``` - -### `str` - -```python -value: str = /* values here */ -``` - diff --git a/docs/models/customerstateindividual.md b/docs/models/customerstateindividual.md index d5b44924..110d985a 100644 --- a/docs/models/customerstateindividual.md +++ b/docs/models/customerstateindividual.md @@ -27,7 +27,7 @@ A customer along with additional state information: | `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | | `default_payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | +| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | | `active_subscriptions` | List[[models.CustomerStateSubscription](../models/customerstatesubscription.md)] | :heavy_check_mark: | The customer's active subscriptions. | | | `granted_benefits` | List[[models.CustomerStateBenefitGrant](../models/customerstatebenefitgrant.md)] | :heavy_check_mark: | The customer's active benefit grants. | | -| `active_meters` | List[[models.CustomerStateMeter](../models/customerstatemeter.md)] | :heavy_check_mark: | The customer's active meters. | | -| `avatar_url` | *str* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| `active_meters` | List[[models.CustomerStateMeter](../models/customerstatemeter.md)] | :heavy_check_mark: | The customer's active meters. | | \ No newline at end of file diff --git a/docs/models/customerstatesubscription.md b/docs/models/customerstatesubscription.md index 021c13d5..cd2b1f80 100644 --- a/docs/models/customerstatesubscription.md +++ b/docs/models/customerstatesubscription.md @@ -15,7 +15,7 @@ An active customer subscription. | `status` | [models.Status](../models/status.md) | :heavy_check_mark: | N/A | active | | `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 1000 | | `currency` | *str* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurring_interval` | [models.SubscriptionRecurringInterval](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | N/A | | +| `recurring_interval` | [models.RecurringInterval](../models/recurringinterval.md) | :heavy_check_mark: | N/A | | | `current_period_start` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start timestamp of the current billing period. | 2025-02-03T13:37:00Z | | `current_period_end` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The end timestamp of the current billing period. | 2025-03-03T13:37:00Z | | `trial_start` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start timestamp of the trial period, if any. | 2025-02-03T13:37:00Z | diff --git a/docs/models/customerstateteam.md b/docs/models/customerstateteam.md index 5770841e..858e863a 100644 --- a/docs/models/customerstateteam.md +++ b/docs/models/customerstateteam.md @@ -27,7 +27,7 @@ A team customer along with additional state information: | `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | | `default_payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | +| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | | `active_subscriptions` | List[[models.CustomerStateSubscription](../models/customerstatesubscription.md)] | :heavy_check_mark: | The customer's active subscriptions. | | | `granted_benefits` | List[[models.CustomerStateBenefitGrant](../models/customerstatebenefitgrant.md)] | :heavy_check_mark: | The customer's active benefit grants. | | -| `active_meters` | List[[models.CustomerStateMeter](../models/customerstatemeter.md)] | :heavy_check_mark: | The customer's active meters. | | -| `avatar_url` | *str* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| `active_meters` | List[[models.CustomerStateMeter](../models/customerstatemeter.md)] | :heavy_check_mark: | The customer's active meters. | | \ No newline at end of file diff --git a/docs/models/customersubscription.md b/docs/models/customersubscription.md index 6b79fdea..feb04f5f 100644 --- a/docs/models/customersubscription.md +++ b/docs/models/customersubscription.md @@ -10,7 +10,7 @@ | `id` | *str* | :heavy_check_mark: | The ID of the object. | | | `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | | `currency` | *str* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurring_interval` | [models.SubscriptionRecurringInterval](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | N/A | | +| `recurring_interval` | [models.RecurringInterval](../models/recurringinterval.md) | :heavy_check_mark: | N/A | | | `recurring_interval_count` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | | `status` | [models.SubscriptionStatus](../models/subscriptionstatus.md) | :heavy_check_mark: | N/A | | | `current_period_start` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start timestamp of the current billing period. | | @@ -22,6 +22,7 @@ | `started_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription started. | | | `ends_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription will end. | | | `ended_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription ended. | | +| `past_due_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The timestamp when the subscription entered `past_due` status. | | | `customer_id` | *str* | :heavy_check_mark: | The ID of the subscribed customer. | | | `product_id` | *str* | :heavy_check_mark: | The ID of the subscribed product. | | | `discount_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the applied discount, if any. | | diff --git a/docs/models/customersubscriptionproduct.md b/docs/models/customersubscriptionproduct.md index 598a2851..b1d052ae 100644 --- a/docs/models/customersubscriptionproduct.md +++ b/docs/models/customersubscriptionproduct.md @@ -13,7 +13,7 @@ | `name` | *str* | :heavy_check_mark: | The name of the product. | | `description` | *Nullable[str]* | :heavy_check_mark: | The description of the product. | | `visibility` | [models.ProductVisibility](../models/productvisibility.md) | :heavy_check_mark: | N/A | -| `recurring_interval` | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurring_interval` | [Nullable[models.RecurringInterval]](../models/recurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurring_interval_count` | *Nullable[int]* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | | `is_recurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `is_archived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | diff --git a/docs/models/customerteam.md b/docs/models/customerteam.md index a2875453..b7a72d37 100644 --- a/docs/models/customerteam.md +++ b/docs/models/customerteam.md @@ -23,4 +23,4 @@ A team customer in an organization. | `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | | `default_payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | -| `avatar_url` | *str* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/models/discountproduct.md b/docs/models/discountproduct.md index f3efd73c..3a433f2f 100644 --- a/docs/models/discountproduct.md +++ b/docs/models/discountproduct.md @@ -16,7 +16,7 @@ A product that a discount can be applied to. | `name` | *str* | :heavy_check_mark: | The name of the product. | | `description` | *Nullable[str]* | :heavy_check_mark: | The description of the product. | | `visibility` | [models.ProductVisibility](../models/productvisibility.md) | :heavy_check_mark: | N/A | -| `recurring_interval` | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurring_interval` | [Nullable[models.RecurringInterval]](../models/recurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurring_interval_count` | *Nullable[int]* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | | `is_recurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `is_archived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | diff --git a/docs/models/dispute.md b/docs/models/dispute.md index a315c771..79c25706 100644 --- a/docs/models/dispute.md +++ b/docs/models/dispute.md @@ -19,4 +19,5 @@ A dispute is a challenge raised by a customer or their bank regarding a payment. | `tax_amount` | *int* | :heavy_check_mark: | Tax amount in cents disputed. | 200 | | `currency` | *str* | :heavy_check_mark: | Currency code of the dispute. | usd | | `order_id` | *str* | :heavy_check_mark: | The ID of the order associated with the dispute. | 57107b74-8400-4d80-a2fc-54c2b4239cb3 | -| `payment_id` | *str* | :heavy_check_mark: | The ID of the payment associated with the dispute. | 42b94870-36b9-4573-96b6-b90b1c99a353 | \ No newline at end of file +| `payment_id` | *str* | :heavy_check_mark: | The ID of the payment associated with the dispute. | 42b94870-36b9-4573-96b6-b90b1c99a353 | +| `case_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the support case for this dispute, if one was opened. | | \ No newline at end of file diff --git a/docs/models/filecreate.md b/docs/models/filecreate.md index 8c6f2acd..36546a67 100644 --- a/docs/models/filecreate.md +++ b/docs/models/filecreate.md @@ -21,3 +21,9 @@ value: models.OrganizationAvatarFileCreate = /* values here */ value: models.ProductMediaFileCreate = /* values here */ ``` +### `models.SupportCaseAttachmentFileCreate` + +```python +value: models.SupportCaseAttachmentFileCreate = /* values here */ +``` + diff --git a/docs/models/fileread.md b/docs/models/fileread.md index 2ff490c7..00cb2fb1 100644 --- a/docs/models/fileread.md +++ b/docs/models/fileread.md @@ -21,3 +21,9 @@ value: models.OrganizationAvatarFileRead = /* values here */ value: models.ProductMediaFileRead = /* values here */ ``` +### `models.SupportCaseAttachmentFileRead` + +```python +value: models.SupportCaseAttachmentFileRead = /* values here */ +``` + diff --git a/docs/models/fileservicetypes.md b/docs/models/fileservicetypes.md index d2e77e6b..8daf594e 100644 --- a/docs/models/fileservicetypes.md +++ b/docs/models/fileservicetypes.md @@ -3,8 +3,9 @@ ## Values -| Name | Value | -| --------------------- | --------------------- | -| `DOWNLOADABLE` | downloadable | -| `PRODUCT_MEDIA` | product_media | -| `ORGANIZATION_AVATAR` | organization_avatar | \ No newline at end of file +| Name | Value | +| ------------------------- | ------------------------- | +| `DOWNLOADABLE` | downloadable | +| `PRODUCT_MEDIA` | product_media | +| `ORGANIZATION_AVATAR` | organization_avatar | +| `SUPPORT_CASE_ATTACHMENT` | support_case_attachment | \ No newline at end of file diff --git a/docs/models/filesupdateresponsefilesupdate.md b/docs/models/filesupdateresponsefilesupdate.md index bbb45674..8eba7e82 100644 --- a/docs/models/filesupdateresponsefilesupdate.md +++ b/docs/models/filesupdateresponsefilesupdate.md @@ -23,3 +23,9 @@ value: models.ProductMediaFileRead = /* values here */ value: models.OrganizationAvatarFileRead = /* values here */ ``` +### `models.SupportCaseAttachmentFileRead` + +```python +value: models.SupportCaseAttachmentFileRead = /* values here */ +``` + diff --git a/docs/models/filesuploadedresponsefilesuploaded.md b/docs/models/filesuploadedresponsefilesuploaded.md index d12a0efe..c323adbc 100644 --- a/docs/models/filesuploadedresponsefilesuploaded.md +++ b/docs/models/filesuploadedresponsefilesuploaded.md @@ -23,3 +23,9 @@ value: models.ProductMediaFileRead = /* values here */ value: models.OrganizationAvatarFileRead = /* values here */ ``` +### `models.SupportCaseAttachmentFileRead` + +```python +value: models.SupportCaseAttachmentFileRead = /* values here */ +``` + diff --git a/docs/models/genericpayment.md b/docs/models/genericpayment.md index 7bf62579..332faba0 100644 --- a/docs/models/genericpayment.md +++ b/docs/models/genericpayment.md @@ -5,19 +5,20 @@ Schema of a payment with a generic payment method. ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modified_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *str* | :heavy_check_mark: | The ID of the object. | | -| `processor` | [models.PaymentProcessor](../models/paymentprocessor.md) | :heavy_check_mark: | N/A | | -| `status` | [models.PaymentStatus](../models/paymentstatus.md) | :heavy_check_mark: | N/A | | -| `amount` | *int* | :heavy_check_mark: | The payment amount in cents. | 1000 | -| `currency` | *str* | :heavy_check_mark: | The payment currency. Currently, only `usd` is supported. | usd | -| `method` | *str* | :heavy_check_mark: | The payment method used. | card | -| `decline_reason` | *Nullable[str]* | :heavy_check_mark: | Error code, if the payment was declined. | insufficient_funds | -| `decline_message` | *Nullable[str]* | :heavy_check_mark: | Human-readable error message, if the payment was declined. | Your card has insufficient funds. | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization that owns the payment. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `checkout_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the checkout session associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | -| `order_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the order associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | -| `processor_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | Additional metadata from the payment processor for internal use. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modified_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `id` | *str* | :heavy_check_mark: | The ID of the object. | | +| `processor` | [models.PaymentProcessor](../models/paymentprocessor.md) | :heavy_check_mark: | N/A | | +| `status` | [models.PaymentStatus](../models/paymentstatus.md) | :heavy_check_mark: | N/A | | +| `amount` | *int* | :heavy_check_mark: | The payment amount in cents. | 1000 | +| `currency` | *str* | :heavy_check_mark: | The payment currency. Currently, only `usd` is supported. | usd | +| `method` | *str* | :heavy_check_mark: | The payment method used. | card | +| `trigger` | [OptionalNullable[models.PaymentTrigger]](../models/paymenttrigger.md) | :heavy_minus_sign: | What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry. | subscription_cycle | +| `decline_reason` | *Nullable[str]* | :heavy_check_mark: | Error code, if the payment was declined. | insufficient_funds | +| `decline_message` | *Nullable[str]* | :heavy_check_mark: | Human-readable error message, if the payment was declined. | Your card has insufficient funds. | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization that owns the payment. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `checkout_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the checkout session associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | +| `order_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the order associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | +| `processor_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | Additional metadata from the payment processor for internal use. | | \ No newline at end of file diff --git a/docs/models/introspecttokenresponse.md b/docs/models/introspecttokenresponse.md index 1c46b965..f9c504fe 100644 --- a/docs/models/introspecttokenresponse.md +++ b/docs/models/introspecttokenresponse.md @@ -11,6 +11,7 @@ | `scope` | *str* | :heavy_check_mark: | N/A | | `sub_type` | [models.SubType](../models/subtype.md) | :heavy_check_mark: | N/A | | `sub` | *str* | :heavy_check_mark: | N/A | +| `organizations` | List[*str*] | :heavy_check_mark: | N/A | | `aud` | *str* | :heavy_check_mark: | N/A | | `iss` | *str* | :heavy_check_mark: | N/A | | `exp` | *int* | :heavy_check_mark: | N/A | diff --git a/docs/models/legacyrecurringproductprice.md b/docs/models/legacyrecurringproductprice.md index ebb47650..019d1ff4 100644 --- a/docs/models/legacyrecurringproductprice.md +++ b/docs/models/legacyrecurringproductprice.md @@ -15,9 +15,3 @@ value: models.LegacyRecurringProductPriceCustom = /* values here */ value: models.LegacyRecurringProductPriceFixed = /* values here */ ``` -### `models.LegacyRecurringProductPriceFree` - -```python -value: models.LegacyRecurringProductPriceFree = /* values here */ -``` - diff --git a/docs/models/legacyrecurringproductpricecustom.md b/docs/models/legacyrecurringproductpricecustom.md index 0cd3ba5f..9b655454 100644 --- a/docs/models/legacyrecurringproductpricecustom.md +++ b/docs/models/legacyrecurringproductpricecustom.md @@ -19,7 +19,7 @@ A pay-what-you-want recurring price for a product, i.e. a subscription. | `is_archived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | | `product_id` | *str* | :heavy_check_mark: | The ID of the product owning the price. | | `type` | *Literal["recurring"]* | :heavy_check_mark: | The type of the price. | -| `recurring_interval` | [models.SubscriptionRecurringInterval](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | N/A | +| `recurring_interval` | [models.RecurringInterval](../models/recurringinterval.md) | :heavy_check_mark: | N/A | | `minimum_amount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. | | `maximum_amount` | *Nullable[int]* | :heavy_check_mark: | The maximum amount the customer can pay. | | `preset_amount` | *Nullable[int]* | :heavy_check_mark: | The initial amount shown to the customer. | diff --git a/docs/models/legacyrecurringproductpricefixed.md b/docs/models/legacyrecurringproductpricefixed.md index eb1f7353..df05cd44 100644 --- a/docs/models/legacyrecurringproductpricefixed.md +++ b/docs/models/legacyrecurringproductpricefixed.md @@ -19,6 +19,6 @@ A recurring price for a product, i.e. a subscription. | `is_archived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | | `product_id` | *str* | :heavy_check_mark: | The ID of the product owning the price. | | `type` | *Literal["recurring"]* | :heavy_check_mark: | The type of the price. | -| `recurring_interval` | [models.SubscriptionRecurringInterval](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | N/A | +| `recurring_interval` | [models.RecurringInterval](../models/recurringinterval.md) | :heavy_check_mark: | N/A | | `price_amount` | *int* | :heavy_check_mark: | The price in cents. | | `legacy` | *Literal[True]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/legacyrecurringproductpricefree.md b/docs/models/legacyrecurringproductpricefree.md deleted file mode 100644 index 6a9476f7..00000000 --- a/docs/models/legacyrecurringproductpricefree.md +++ /dev/null @@ -1,23 +0,0 @@ -# LegacyRecurringProductPriceFree - -A free recurring price for a product, i.e. a subscription. - -**Deprecated**: The recurring interval should be set on the product itself. - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Creation timestamp of the object. | -| `modified_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *str* | :heavy_check_mark: | The ID of the price. | -| `source` | [models.ProductPriceSource](../models/productpricesource.md) | :heavy_check_mark: | N/A | -| `amount_type` | *Literal["free"]* | :heavy_check_mark: | N/A | -| `price_currency` | *str* | :heavy_check_mark: | The currency in which the customer will be charged. | -| `tax_behavior` | [Nullable[models.TaxBehaviorOption]](../models/taxbehavioroption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | -| `is_archived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | -| `product_id` | *str* | :heavy_check_mark: | The ID of the product owning the price. | -| `type` | *Literal["recurring"]* | :heavy_check_mark: | The type of the price. | -| `recurring_interval` | [models.SubscriptionRecurringInterval](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | N/A | -| `legacy` | *Literal[True]* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/licensekeycustomer.md b/docs/models/licensekeycustomer.md index 8334f29e..2ad66191 100644 --- a/docs/models/licensekeycustomer.md +++ b/docs/models/licensekeycustomer.md @@ -21,4 +21,4 @@ | `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | | `default_payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | -| `avatar_url` | *str* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/models/listresourceorganizationaccesstoken.md b/docs/models/listresourceorganizationaccesstoken.md deleted file mode 100644 index 6e54f1b8..00000000 --- a/docs/models/listresourceorganizationaccesstoken.md +++ /dev/null @@ -1,9 +0,0 @@ -# ListResourceOrganizationAccessToken - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `items` | List[[models.OrganizationAccessToken](../models/organizationaccesstoken.md)] | :heavy_check_mark: | N/A | -| `pagination` | [models.Pagination](../models/pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/memberupdate.md b/docs/models/memberupdate.md index d35f4d28..814fb50e 100644 --- a/docs/models/memberupdate.md +++ b/docs/models/memberupdate.md @@ -8,4 +8,5 @@ Schema for updating a member. | Field | Type | Required | Description | Example | | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | | `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | Jane Doe | +| `email` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | | `role` | [OptionalNullable[models.MemberRole]](../models/memberrole.md) | :heavy_minus_sign: | The role of the member within the customer. | | \ No newline at end of file diff --git a/docs/models/metricsexportresponse.md b/docs/models/metricsexportresponse.md deleted file mode 100644 index 06b46519..00000000 --- a/docs/models/metricsexportresponse.md +++ /dev/null @@ -1,17 +0,0 @@ -# MetricsExportResponse - - -## Supported Types - -### `Any` - -```python -value: Any = /* values here */ -``` - -### `str` - -```python -value: str = /* values here */ -``` - diff --git a/docs/models/notpaidorder.md b/docs/models/notpaidorder.md deleted file mode 100644 index 7694bd03..00000000 --- a/docs/models/notpaidorder.md +++ /dev/null @@ -1,9 +0,0 @@ -# NotPaidOrder - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | -| `error` | *Literal["NotPaidOrder"]* | :heavy_check_mark: | N/A | NotPaidOrder | -| `detail` | *str* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/order.md b/docs/models/order.md index 277fe888..524da446 100644 --- a/docs/models/order.md +++ b/docs/models/order.md @@ -32,6 +32,7 @@ | `discount_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `subscription_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `checkout_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `next_payment_attempt_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted. | | | `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | | `custom_field_data` | Dict[str, [Nullable[models.OrderCustomFieldData]](../models/ordercustomfielddata.md)] | :heavy_minus_sign: | Key-value object storing custom field values. | | | `platform_fee_amount` | *int* | :heavy_check_mark: | Platform fee amount in cents. | 500 | diff --git a/docs/models/ordercustomer.md b/docs/models/ordercustomer.md index 6c65ebc4..d6146d45 100644 --- a/docs/models/ordercustomer.md +++ b/docs/models/ordercustomer.md @@ -21,4 +21,4 @@ | `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | | `default_payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | -| `avatar_url` | *str* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/models/orderproduct.md b/docs/models/orderproduct.md index e64f9f6b..ea33514c 100644 --- a/docs/models/orderproduct.md +++ b/docs/models/orderproduct.md @@ -14,7 +14,7 @@ | `name` | *str* | :heavy_check_mark: | The name of the product. | | `description` | *Nullable[str]* | :heavy_check_mark: | The description of the product. | | `visibility` | [models.ProductVisibility](../models/productvisibility.md) | :heavy_check_mark: | N/A | -| `recurring_interval` | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurring_interval` | [Nullable[models.RecurringInterval]](../models/recurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurring_interval_count` | *Nullable[int]* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | | `is_recurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `is_archived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | diff --git a/docs/models/ordersexportresponse.md b/docs/models/ordersexportresponse.md deleted file mode 100644 index 64721daa..00000000 --- a/docs/models/ordersexportresponse.md +++ /dev/null @@ -1,17 +0,0 @@ -# OrdersExportResponse - - -## Supported Types - -### `Any` - -```python -value: Any = /* values here */ -``` - -### `str` - -```python -value: str = /* values here */ -``` - diff --git a/docs/models/ordersgenerateinvoiceresponse422ordersgenerateinvoice.md b/docs/models/ordersgenerateinvoiceresponse422ordersgenerateinvoice.md deleted file mode 100644 index f4dde0c5..00000000 --- a/docs/models/ordersgenerateinvoiceresponse422ordersgenerateinvoice.md +++ /dev/null @@ -1,19 +0,0 @@ -# OrdersGenerateInvoiceResponse422OrdersGenerateInvoice - -Order is not paid or is missing billing name or address. - - -## Supported Types - -### `models.MissingInvoiceBillingDetails` - -```python -value: models.MissingInvoiceBillingDetails = /* values here */ -``` - -### `models.NotPaidOrder` - -```python -value: models.NotPaidOrder = /* values here */ -``` - diff --git a/docs/models/ordersubscription.md b/docs/models/ordersubscription.md index afe17655..886836a1 100644 --- a/docs/models/ordersubscription.md +++ b/docs/models/ordersubscription.md @@ -11,7 +11,7 @@ | `id` | *str* | :heavy_check_mark: | The ID of the object. | | | `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | | `currency` | *str* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurring_interval` | [models.SubscriptionRecurringInterval](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | N/A | | +| `recurring_interval` | [models.RecurringInterval](../models/recurringinterval.md) | :heavy_check_mark: | N/A | | | `recurring_interval_count` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | | `status` | [models.SubscriptionStatus](../models/subscriptionstatus.md) | :heavy_check_mark: | N/A | | | `current_period_start` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start timestamp of the current billing period. | | @@ -23,6 +23,7 @@ | `started_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription started. | | | `ends_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription will end. | | | `ended_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription ended. | | +| `past_due_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The timestamp when the subscription entered `past_due` status. | | | `customer_id` | *str* | :heavy_check_mark: | The ID of the subscribed customer. | | | `product_id` | *str* | :heavy_check_mark: | The ID of the subscribed product. | | | `discount_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the applied discount, if any. | | diff --git a/docs/models/organization.md b/docs/models/organization.md index f1e2d277..55de9eb1 100644 --- a/docs/models/organization.md +++ b/docs/models/organization.md @@ -22,7 +22,6 @@ | `default_tax_behavior` | [models.TaxBehaviorOption](../models/taxbehavioroption.md) | :heavy_check_mark: | N/A | | `feature_settings` | [Nullable[models.OrganizationFeatureSettings]](../models/organizationfeaturesettings.md) | :heavy_check_mark: | Organization feature settings | | `subscription_settings` | [models.OrganizationSubscriptionSettings](../models/organizationsubscriptionsettings.md) | :heavy_check_mark: | N/A | -| `notification_settings` | [models.OrganizationNotificationSettings](../models/organizationnotificationsettings.md) | :heavy_check_mark: | N/A | | `customer_email_settings` | [models.OrganizationCustomerEmailSettings](../models/organizationcustomeremailsettings.md) | :heavy_check_mark: | N/A | | `customer_portal_settings` | [models.OrganizationCustomerPortalSettings](../models/organizationcustomerportalsettings.md) | :heavy_check_mark: | N/A | | `country` | [OptionalNullable[models.CountryAlpha2]](../models/countryalpha2.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | diff --git a/docs/models/organizationaccesstoken.md b/docs/models/organizationaccesstoken.md deleted file mode 100644 index b230793c..00000000 --- a/docs/models/organizationaccesstoken.md +++ /dev/null @@ -1,15 +0,0 @@ -# OrganizationAccessToken - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modified_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *str* | :heavy_check_mark: | N/A | | -| `scopes` | List[[models.Scope](../models/scope.md)] | :heavy_check_mark: | N/A | | -| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | | -| `comment` | *str* | :heavy_check_mark: | N/A | | -| `last_used_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | | -| `organization_id` | *str* | :heavy_check_mark: | The organization ID. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file diff --git a/docs/models/organizationaccesstokencreate.md b/docs/models/organizationaccesstokencreate.md deleted file mode 100644 index 769e2c82..00000000 --- a/docs/models/organizationaccesstokencreate.md +++ /dev/null @@ -1,11 +0,0 @@ -# OrganizationAccessTokenCreate - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | -| `organization_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `comment` | *str* | :heavy_check_mark: | N/A | -| `expires_in` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `scopes` | List[[models.AvailableScope](../models/availablescope.md)] | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/organizationaccesstokencreateresponse.md b/docs/models/organizationaccesstokencreateresponse.md deleted file mode 100644 index fe6f32ba..00000000 --- a/docs/models/organizationaccesstokencreateresponse.md +++ /dev/null @@ -1,9 +0,0 @@ -# OrganizationAccessTokenCreateResponse - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| `organization_access_token` | [models.OrganizationAccessToken](../models/organizationaccesstoken.md) | :heavy_check_mark: | N/A | -| `token` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/organizationaccesstokensdeleterequest.md b/docs/models/organizationaccesstokensdeleterequest.md deleted file mode 100644 index d71e668c..00000000 --- a/docs/models/organizationaccesstokensdeleterequest.md +++ /dev/null @@ -1,8 +0,0 @@ -# OrganizationAccessTokensDeleteRequest - - -## Fields - -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/organizationaccesstokenslistqueryparamorganizationidfilter.md b/docs/models/organizationaccesstokenslistqueryparamorganizationidfilter.md deleted file mode 100644 index b86c61b7..00000000 --- a/docs/models/organizationaccesstokenslistqueryparamorganizationidfilter.md +++ /dev/null @@ -1,19 +0,0 @@ -# OrganizationAccessTokensListQueryParamOrganizationIDFilter - -Filter by organization ID. - - -## Supported Types - -### `str` - -```python -value: str = /* values here */ -``` - -### `List[str]` - -```python -value: List[str] = /* values here */ -``` - diff --git a/docs/models/organizationaccesstokenslistrequest.md b/docs/models/organizationaccesstokenslistrequest.md deleted file mode 100644 index bfd3c999..00000000 --- a/docs/models/organizationaccesstokenslistrequest.md +++ /dev/null @@ -1,11 +0,0 @@ -# OrganizationAccessTokensListRequest - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `organization_id` | [OptionalNullable[models.OrganizationAccessTokensListQueryParamOrganizationIDFilter]](../models/organizationaccesstokenslistqueryparamorganizationidfilter.md) | :heavy_minus_sign: | Filter by organization ID. | -| `page` | *Optional[int]* | :heavy_minus_sign: | Page number, defaults to 1. | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | -| `sorting` | List[[models.OrganizationAccessTokenSortProperty](../models/organizationaccesstokensortproperty.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. | \ No newline at end of file diff --git a/docs/models/organizationaccesstokenslistresponse.md b/docs/models/organizationaccesstokenslistresponse.md deleted file mode 100644 index cb880114..00000000 --- a/docs/models/organizationaccesstokenslistresponse.md +++ /dev/null @@ -1,8 +0,0 @@ -# OrganizationAccessTokensListResponse - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `result` | [models.ListResourceOrganizationAccessToken](../models/listresourceorganizationaccesstoken.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/organizationaccesstokensortproperty.md b/docs/models/organizationaccesstokensortproperty.md deleted file mode 100644 index 84839664..00000000 --- a/docs/models/organizationaccesstokensortproperty.md +++ /dev/null @@ -1,15 +0,0 @@ -# OrganizationAccessTokenSortProperty - - -## Values - -| Name | Value | -| ----------------------- | ----------------------- | -| `CREATED_AT` | created_at | -| `MINUS_CREATED_AT` | -created_at | -| `COMMENT` | comment | -| `MINUS_COMMENT` | -comment | -| `LAST_USED_AT` | last_used_at | -| `MINUS_LAST_USED_AT` | -last_used_at | -| `ORGANIZATION_ID` | organization_id | -| `MINUS_ORGANIZATION_ID` | -organization_id | \ No newline at end of file diff --git a/docs/models/organizationaccesstokensupdaterequest.md b/docs/models/organizationaccesstokensupdaterequest.md deleted file mode 100644 index 9d7d7e57..00000000 --- a/docs/models/organizationaccesstokensupdaterequest.md +++ /dev/null @@ -1,9 +0,0 @@ -# OrganizationAccessTokensUpdateRequest - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | N/A | -| `organization_access_token_update` | [models.OrganizationAccessTokenUpdate](../models/organizationaccesstokenupdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/organizationaccesstokenupdate.md b/docs/models/organizationaccesstokenupdate.md deleted file mode 100644 index 0fa34401..00000000 --- a/docs/models/organizationaccesstokenupdate.md +++ /dev/null @@ -1,9 +0,0 @@ -# OrganizationAccessTokenUpdate - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | -| `comment` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `scopes` | List[[models.AvailableScope](../models/availablescope.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/organizationcreate.md b/docs/models/organizationcreate.md index 374b125f..6d4291c1 100644 --- a/docs/models/organizationcreate.md +++ b/docs/models/organizationcreate.md @@ -16,7 +16,6 @@ | `country` | [OptionalNullable[models.CountryAlpha2Input]](../models/countryalpha2input.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | | `feature_settings` | [OptionalNullable[models.OrganizationFeatureSettingsUpdate]](../models/organizationfeaturesettingsupdate.md) | :heavy_minus_sign: | N/A | | `subscription_settings` | [OptionalNullable[models.OrganizationSubscriptionSettings]](../models/organizationsubscriptionsettings.md) | :heavy_minus_sign: | N/A | -| `notification_settings` | [OptionalNullable[models.OrganizationNotificationSettings]](../models/organizationnotificationsettings.md) | :heavy_minus_sign: | N/A | | `customer_email_settings` | [OptionalNullable[models.OrganizationCustomerEmailSettings]](../models/organizationcustomeremailsettings.md) | :heavy_minus_sign: | N/A | | `customer_portal_settings` | [OptionalNullable[models.OrganizationCustomerPortalSettings]](../models/organizationcustomerportalsettings.md) | :heavy_minus_sign: | N/A | | `default_presentment_currency` | [Optional[models.PresentmentCurrency]](../models/presentmentcurrency.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/organizationfeaturesettings.md b/docs/models/organizationfeaturesettings.md index 8d837fa2..ecf20a33 100644 --- a/docs/models/organizationfeaturesettings.md +++ b/docs/models/organizationfeaturesettings.md @@ -13,5 +13,5 @@ | `overview_metrics` | List[*str*] | :heavy_minus_sign: | Ordered list of metric slugs shown on the dashboard overview. | | `reset_proration_behavior_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has access to reset proration behavior. | | `off_session_charges_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization can create and finalize draft orders via the API (off-session charges against a saved payment method). | -| `billing_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has billing enabled | -| `slack_benefit_enabled` | *Optional[bool]* | :heavy_minus_sign: | Enables the slack shared channel benefit | \ No newline at end of file +| `slack_benefit_enabled` | *Optional[bool]* | :heavy_minus_sign: | Enables the slack shared channel benefit | +| `preview_access_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has preview access to new features enabled | \ No newline at end of file diff --git a/docs/models/organizationnotificationsettings.md b/docs/models/organizationnotificationsettings.md deleted file mode 100644 index 35a6f9ad..00000000 --- a/docs/models/organizationnotificationsettings.md +++ /dev/null @@ -1,9 +0,0 @@ -# OrganizationNotificationSettings - - -## Fields - -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `new_order` | *bool* | :heavy_check_mark: | N/A | -| `new_subscription` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/organizationstatus.md b/docs/models/organizationstatus.md index d1292e3a..61a4f837 100644 --- a/docs/models/organizationstatus.md +++ b/docs/models/organizationstatus.md @@ -11,4 +11,5 @@ | `DENIED` | denied | | `ACTIVE` | active | | `BLOCKED` | blocked | -| `OFFBOARDING` | offboarding | \ No newline at end of file +| `OFFBOARDING` | offboarding | +| `OFFBOARDED` | offboarded | \ No newline at end of file diff --git a/docs/models/organizationupdate.md b/docs/models/organizationupdate.md index 59ce62c1..c7bab83a 100644 --- a/docs/models/organizationupdate.md +++ b/docs/models/organizationupdate.md @@ -14,7 +14,6 @@ | `country` | [OptionalNullable[models.CountryCountryAlpha2Input]](../models/countrycountryalpha2input.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | | `feature_settings` | [OptionalNullable[models.OrganizationFeatureSettingsUpdate]](../models/organizationfeaturesettingsupdate.md) | :heavy_minus_sign: | N/A | | `subscription_settings` | [OptionalNullable[models.OrganizationSubscriptionSettings]](../models/organizationsubscriptionsettings.md) | :heavy_minus_sign: | N/A | -| `notification_settings` | [OptionalNullable[models.OrganizationNotificationSettings]](../models/organizationnotificationsettings.md) | :heavy_minus_sign: | N/A | | `customer_email_settings` | [OptionalNullable[models.OrganizationCustomerEmailSettings]](../models/organizationcustomeremailsettings.md) | :heavy_minus_sign: | N/A | | `customer_portal_settings` | [OptionalNullable[models.OrganizationCustomerPortalSettings]](../models/organizationcustomerportalsettings.md) | :heavy_minus_sign: | N/A | | `default_presentment_currency` | [OptionalNullable[models.PresentmentCurrency]](../models/presentmentcurrency.md) | :heavy_minus_sign: | Default presentment currency for the organization | diff --git a/docs/models/paymenttrigger.md b/docs/models/paymenttrigger.md new file mode 100644 index 00000000..c6e40f3b --- /dev/null +++ b/docs/models/paymenttrigger.md @@ -0,0 +1,13 @@ +# PaymentTrigger + + +## Values + +| Name | Value | +| ----------------------------- | ----------------------------- | +| `PURCHASE` | purchase | +| `SUBSCRIPTION_CYCLE` | subscription_cycle | +| `RETRY_DUNNING` | retry_dunning | +| `RETRY_CUSTOMER` | retry_customer | +| `RETRY_PAYMENT_METHOD_UPDATE` | retry_payment_method_update | +| `RETRY_ADMIN` | retry_admin | \ No newline at end of file diff --git a/docs/models/product.md b/docs/models/product.md index eb51de29..17eead18 100644 --- a/docs/models/product.md +++ b/docs/models/product.md @@ -15,7 +15,7 @@ A product. | `name` | *str* | :heavy_check_mark: | The name of the product. | | `description` | *Nullable[str]* | :heavy_check_mark: | The description of the product. | | `visibility` | [models.ProductVisibility](../models/productvisibility.md) | :heavy_check_mark: | N/A | -| `recurring_interval` | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurring_interval` | [Nullable[models.RecurringInterval]](../models/recurringinterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurring_interval_count` | *Nullable[int]* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | | `is_recurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `is_archived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | diff --git a/docs/models/productcreateonetimeprices.md b/docs/models/productcreateonetimeprices.md index 3368b97f..15a52c46 100644 --- a/docs/models/productcreateonetimeprices.md +++ b/docs/models/productcreateonetimeprices.md @@ -15,12 +15,6 @@ value: models.ProductPriceCustomCreate = /* values here */ value: models.ProductPriceFixedCreate = /* values here */ ``` -### `models.ProductPriceFreeCreate` - -```python -value: models.ProductPriceFreeCreate = /* values here */ -``` - ### `models.ProductPriceMeteredUnitCreate` ```python diff --git a/docs/models/productcreaterecurring.md b/docs/models/productcreaterecurring.md index ff357ed1..e75d9fca 100644 --- a/docs/models/productcreaterecurring.md +++ b/docs/models/productcreaterecurring.md @@ -15,5 +15,5 @@ | `organization_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the organization owning the product. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | | `trial_interval` | [OptionalNullable[models.TrialInterval]](../models/trialinterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | | | `trial_interval_count` | *OptionalNullable[int]* | :heavy_minus_sign: | The number of interval units for the trial period. | | -| `recurring_interval` | [models.SubscriptionRecurringInterval](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | N/A | | +| `recurring_interval` | [models.RecurringInterval](../models/recurringinterval.md) | :heavy_check_mark: | N/A | | | `recurring_interval_count` | *Optional[int]* | :heavy_minus_sign: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | \ No newline at end of file diff --git a/docs/models/productcreaterecurringprices.md b/docs/models/productcreaterecurringprices.md index a9dc5482..9916d640 100644 --- a/docs/models/productcreaterecurringprices.md +++ b/docs/models/productcreaterecurringprices.md @@ -15,12 +15,6 @@ value: models.ProductPriceCustomCreate = /* values here */ value: models.ProductPriceFixedCreate = /* values here */ ``` -### `models.ProductPriceFreeCreate` - -```python -value: models.ProductPriceFreeCreate = /* values here */ -``` - ### `models.ProductPriceMeteredUnitCreate` ```python diff --git a/docs/models/productprice.md b/docs/models/productprice.md index e696e370..2c9d46a9 100644 --- a/docs/models/productprice.md +++ b/docs/models/productprice.md @@ -15,12 +15,6 @@ value: models.ProductPriceCustom = /* values here */ value: models.ProductPriceFixed = /* values here */ ``` -### `models.ProductPriceFree` - -```python -value: models.ProductPriceFree = /* values here */ -``` - ### `models.ProductPriceMeteredUnit` ```python diff --git a/docs/models/productpricefree.md b/docs/models/productpricefree.md deleted file mode 100644 index 4cbb0aa9..00000000 --- a/docs/models/productpricefree.md +++ /dev/null @@ -1,18 +0,0 @@ -# ProductPriceFree - -A free price for a product. - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Creation timestamp of the object. | -| `modified_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *str* | :heavy_check_mark: | The ID of the price. | -| `source` | [models.ProductPriceSource](../models/productpricesource.md) | :heavy_check_mark: | N/A | -| `amount_type` | *Literal["free"]* | :heavy_check_mark: | N/A | -| `price_currency` | *str* | :heavy_check_mark: | The currency in which the customer will be charged. | -| `tax_behavior` | [Nullable[models.TaxBehaviorOption]](../models/taxbehavioroption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | -| `is_archived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | -| `product_id` | *str* | :heavy_check_mark: | The ID of the product owning the price. | \ No newline at end of file diff --git a/docs/models/productpricefreecreate.md b/docs/models/productpricefreecreate.md deleted file mode 100644 index ef7ec575..00000000 --- a/docs/models/productpricefreecreate.md +++ /dev/null @@ -1,12 +0,0 @@ -# ProductPriceFreeCreate - -Schema to create a free price. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | -| `amount_type` | *Literal["free"]* | :heavy_check_mark: | N/A | -| `price_currency` | [Optional[models.PresentmentCurrency]](../models/presentmentcurrency.md) | :heavy_minus_sign: | N/A | -| `tax_behavior` | [OptionalNullable[models.TaxBehaviorOption]](../models/taxbehavioroption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | \ No newline at end of file diff --git a/docs/models/productupdate.md b/docs/models/productupdate.md index 216462a4..eea080b5 100644 --- a/docs/models/productupdate.md +++ b/docs/models/productupdate.md @@ -12,7 +12,7 @@ Schema to update a product. | `trial_interval_count` | *OptionalNullable[int]* | :heavy_minus_sign: | The number of interval units for the trial period. | | `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | The description of the product. | -| `recurring_interval` | [OptionalNullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_minus_sign: | The recurring interval of the product. If `None`, the product is a one-time purchase. **Can only be set on legacy recurring products. Once set, it can't be changed.** | +| `recurring_interval` | [OptionalNullable[models.RecurringInterval]](../models/recurringinterval.md) | :heavy_minus_sign: | The recurring interval of the product. If `None`, the product is a one-time purchase. **Can only be set on legacy recurring products. Once set, it can't be changed.** | | `recurring_interval_count` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. Once set, it can't be changed.** | | `is_archived` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether the product is archived. If `true`, the product won't be available for purchase anymore. Existing customers will still have access to their benefits, and subscriptions will continue normally. | | `visibility` | [OptionalNullable[models.ProductVisibility]](../models/productvisibility.md) | :heavy_minus_sign: | The visibility of the product. | diff --git a/docs/models/subscriptionrecurringinterval.md b/docs/models/recurringinterval.md similarity index 81% rename from docs/models/subscriptionrecurringinterval.md rename to docs/models/recurringinterval.md index 46b8c270..ba70a8e5 100644 --- a/docs/models/subscriptionrecurringinterval.md +++ b/docs/models/recurringinterval.md @@ -1,4 +1,4 @@ -# SubscriptionRecurringInterval +# RecurringInterval ## Values diff --git a/docs/models/subscription.md b/docs/models/subscription.md index 9cffcf4a..3f681771 100644 --- a/docs/models/subscription.md +++ b/docs/models/subscription.md @@ -10,7 +10,7 @@ | `id` | *str* | :heavy_check_mark: | The ID of the object. | | | `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | | `currency` | *str* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurring_interval` | [models.SubscriptionRecurringInterval](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | N/A | | +| `recurring_interval` | [models.RecurringInterval](../models/recurringinterval.md) | :heavy_check_mark: | N/A | | | `recurring_interval_count` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | | `status` | [models.SubscriptionStatus](../models/subscriptionstatus.md) | :heavy_check_mark: | N/A | | | `current_period_start` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The start timestamp of the current billing period. | | @@ -22,6 +22,7 @@ | `started_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription started. | | | `ends_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription will end. | | | `ended_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when the subscription ended. | | +| `past_due_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The timestamp when the subscription entered `past_due` status. | | | `customer_id` | *str* | :heavy_check_mark: | The ID of the subscribed customer. | | | `product_id` | *str* | :heavy_check_mark: | The ID of the subscribed product. | | | `discount_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the applied discount, if any. | | diff --git a/docs/models/subscriptioncustomer.md b/docs/models/subscriptioncustomer.md index 6779b41f..ba98f83b 100644 --- a/docs/models/subscriptioncustomer.md +++ b/docs/models/subscriptioncustomer.md @@ -21,4 +21,4 @@ | `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | | `default_payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | -| `avatar_url` | *str* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/models/subscriptionsexportresponse.md b/docs/models/subscriptionsexportresponse.md deleted file mode 100644 index 4e566d6c..00000000 --- a/docs/models/subscriptionsexportresponse.md +++ /dev/null @@ -1,17 +0,0 @@ -# SubscriptionsExportResponse - - -## Supported Types - -### `Any` - -```python -value: Any = /* values here */ -``` - -### `str` - -```python -value: str = /* values here */ -``` - diff --git a/docs/models/supportcaseattachmentfilecreate.md b/docs/models/supportcaseattachmentfilecreate.md new file mode 100644 index 00000000..a8ccd1e7 --- /dev/null +++ b/docs/models/supportcaseattachmentfilecreate.md @@ -0,0 +1,17 @@ +# SupportCaseAttachmentFileCreate + +Schema to create a file attached to a support case. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `organization_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `name` | *str* | :heavy_check_mark: | N/A | | +| `mime_type` | *str* | :heavy_check_mark: | MIME type of the file. Images, videos, PDF, CSV, plain text, Word and Excel documents are supported. | | +| `size` | *int* | :heavy_check_mark: | Size of the file. A maximum of 250 MB is allowed for this type of file. | | +| `checksum_sha256_base64` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `upload` | [models.S3FileCreateMultipart](../models/s3filecreatemultipart.md) | :heavy_check_mark: | N/A | | +| `service` | *Literal["support_case_attachment"]* | :heavy_check_mark: | N/A | | +| `version` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/supportcaseattachmentfileread.md b/docs/models/supportcaseattachmentfileread.md new file mode 100644 index 00000000..dec5b152 --- /dev/null +++ b/docs/models/supportcaseattachmentfileread.md @@ -0,0 +1,25 @@ +# SupportCaseAttachmentFileRead + +File attached to a support case (private; fetched via presigned URL). + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The ID of the object. | +| `organization_id` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | +| `path` | *str* | :heavy_check_mark: | N/A | +| `mime_type` | *str* | :heavy_check_mark: | N/A | +| `size` | *int* | :heavy_check_mark: | N/A | +| `storage_version` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `checksum_etag` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `checksum_sha256_base64` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `checksum_sha256_hex` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `last_modified_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | +| `version` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `service` | *Literal["support_case_attachment"]* | :heavy_check_mark: | N/A | +| `is_uploaded` | *bool* | :heavy_check_mark: | N/A | +| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | +| `size_readable` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/taxidformat.md b/docs/models/taxidformat.md index 2ce02eb6..1a504810 100644 --- a/docs/models/taxidformat.md +++ b/docs/models/taxidformat.md @@ -83,4 +83,5 @@ Ref: https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id | `UY_RUC` | uy_ruc | | `VE_RIF` | ve_rif | | `VN_TIN` | vn_tin | -| `ZA_VAT` | za_vat | \ No newline at end of file +| `ZA_VAT` | za_vat | +| `MU_TAN` | mu_tan | \ No newline at end of file diff --git a/docs/models/two.md b/docs/models/two.md index 9b2de055..e2a3a2e8 100644 --- a/docs/models/two.md +++ b/docs/models/two.md @@ -15,12 +15,6 @@ value: models.ProductPriceCustomCreate = /* values here */ value: models.ProductPriceFixedCreate = /* values here */ ``` -### `models.ProductPriceFreeCreate` - -```python -value: models.ProductPriceFreeCreate = /* values here */ -``` - ### `models.ProductPriceMeteredUnitCreate` ```python diff --git a/docs/sdks/benefits/README.md b/docs/sdks/benefits/README.md index 59271550..6f5d73ab 100644 --- a/docs/sdks/benefits/README.md +++ b/docs/sdks/benefits/README.md @@ -171,7 +171,7 @@ with Polar( ) as polar: res = polar.benefits.update(id="", request_body={ - "type": "custom", + "type": "discord", }) # Handle response diff --git a/docs/sdks/customers/README.md b/docs/sdks/customers/README.md index d29f58fd..b72fa1fb 100644 --- a/docs/sdks/customers/README.md +++ b/docs/sdks/customers/README.md @@ -161,7 +161,7 @@ with Polar( ### Response -**[models.CustomersExportResponse](../../models/customersexportresponse.md)** +**[str](../../models/.md)** ### Errors diff --git a/docs/sdks/customerseats/README.md b/docs/sdks/customerseats/README.md index e2af6e89..3e569392 100644 --- a/docs/sdks/customerseats/README.md +++ b/docs/sdks/customerseats/README.md @@ -54,7 +54,7 @@ with Polar( ## list_seats -**Scopes**: `customer_seats:write` +**Scopes**: `customer_seats:read` ### Example Usage diff --git a/docs/sdks/members/README.md b/docs/sdks/members/README.md index ec4d46a5..25cb31a0 100644 --- a/docs/sdks/members/README.md +++ b/docs/sdks/members/README.md @@ -163,7 +163,7 @@ with Polar( Update a member. -Only name and role can be updated. +Only name, email and role can be updated. The authenticated user or organization must have access to the member's organization. **Scopes**: `members:write` diff --git a/docs/sdks/metricssdk/README.md b/docs/sdks/metricssdk/README.md index 4cbebcfe..bc738e12 100644 --- a/docs/sdks/metricssdk/README.md +++ b/docs/sdks/metricssdk/README.md @@ -111,7 +111,7 @@ with Polar( ### Response -**[models.MetricsExportResponse](../../models/metricsexportresponse.md)** +**[str](../../models/.md)** ### Errors diff --git a/docs/sdks/orders/README.md b/docs/sdks/orders/README.md index 0e81722c..096ee829 100644 --- a/docs/sdks/orders/README.md +++ b/docs/sdks/orders/README.md @@ -154,7 +154,7 @@ with Polar( ### Response -**[models.OrdersExportResponse](../../models/ordersexportresponse.md)** +**[str](../../models/.md)** ### Errors @@ -349,8 +349,8 @@ with Polar( | Error Type | Status Code | Content Type | | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| models.ResourceNotFound | 404 | application/json | | models.MissingInvoiceBillingDetails | 422 | application/json | -| models.NotPaidOrder | 422 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## invoice diff --git a/docs/sdks/organizationaccesstokens/README.md b/docs/sdks/organizationaccesstokens/README.md deleted file mode 100644 index 6ed60d47..00000000 --- a/docs/sdks/organizationaccesstokens/README.md +++ /dev/null @@ -1,177 +0,0 @@ -# OrganizationAccessTokens -(*organization_access_tokens*) - -## Overview - -### Available Operations - -* [list](#list) - List -* [create](#create) - Create -* [update](#update) - Update -* [delete](#delete) - Delete - -## list - -List organization access tokens. - -**Scopes**: `organization_access_tokens:read` `organization_access_tokens:write` - -### Example Usage - - -```python -from polar_sdk import Polar - - -with Polar( - access_token="", -) as polar: - - res = polar.organization_access_tokens.list(organization_id="1dbfc517-0bbf-4301-9ba8-555ca42b9737", page=1, limit=10) - - while res is not None: - # Handle items - - res = res.next() - -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `organization_id` | [OptionalNullable[models.OrganizationAccessTokensListQueryParamOrganizationIDFilter]](../../models/organizationaccesstokenslistqueryparamorganizationidfilter.md) | :heavy_minus_sign: | Filter by organization ID. | -| `page` | *Optional[int]* | :heavy_minus_sign: | Page number, defaults to 1. | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | -| `sorting` | List[[models.OrganizationAccessTokenSortProperty](../../models/organizationaccesstokensortproperty.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. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | - -### Response - -**[models.OrganizationAccessTokensListResponse](../../models/organizationaccesstokenslistresponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| models.HTTPValidationError | 422 | application/json | -| models.SDKError | 4XX, 5XX | \*/\* | - -## create - -**Scopes**: `organization_access_tokens:write` - -### Example Usage - - -```python -from polar_sdk import Polar - - -with Polar( - access_token="", -) as polar: - - res = polar.organization_access_tokens.create(request={ - "comment": "The Football Is Good For Training And Recreational Purposes", - "scopes": [], - }) - - # Handle response - print(res) - -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| `request` | [models.OrganizationAccessTokenCreate](../../models/organizationaccesstokencreate.md) | :heavy_check_mark: | The request object to use for the request. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | - -### Response - -**[models.OrganizationAccessTokenCreateResponse](../../models/organizationaccesstokencreateresponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| models.HTTPValidationError | 422 | application/json | -| models.SDKError | 4XX, 5XX | \*/\* | - -## update - -**Scopes**: `organization_access_tokens:write` - -### Example Usage - - -```python -from polar_sdk import Polar - - -with Polar( - access_token="", -) as polar: - - res = polar.organization_access_tokens.update(id="", organization_access_token_update={}) - - # Handle response - print(res) - -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | N/A | -| `organization_access_token_update` | [models.OrganizationAccessTokenUpdate](../../models/organizationaccesstokenupdate.md) | :heavy_check_mark: | N/A | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | - -### Response - -**[models.OrganizationAccessToken](../../models/organizationaccesstoken.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| models.HTTPValidationError | 422 | application/json | -| models.SDKError | 4XX, 5XX | \*/\* | - -## delete - -**Scopes**: `organization_access_tokens:write` - -### Example Usage - - -```python -from polar_sdk import Polar - - -with Polar( - access_token="", -) as polar: - - polar.organization_access_tokens.delete(id="") - - # Use the SDK ... - -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | N/A | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| models.HTTPValidationError | 422 | application/json | -| models.SDKError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/polarmembers/README.md b/docs/sdks/polarmembers/README.md index dbae6da9..7272caf9 100644 --- a/docs/sdks/polarmembers/README.md +++ b/docs/sdks/polarmembers/README.md @@ -105,7 +105,7 @@ with Polar( ## update_member -Update a member's role. +Update a member's name or role. Only available to owners and billing managers of team customers. @@ -124,7 +124,9 @@ with Polar( access_token="", ) as polar: - res = polar.customer_portal.members.update_member(id="8319ae11-ed5f-4642-81e4-4b40731df195", customer_portal_member_update={}) + res = polar.customer_portal.members.update_member(id="8319ae11-ed5f-4642-81e4-4b40731df195", customer_portal_member_update={ + "name": "Jane Doe", + }) # Handle response print(res) diff --git a/docs/sdks/polarorders/README.md b/docs/sdks/polarorders/README.md index 452b8463..b6bbd943 100644 --- a/docs/sdks/polarorders/README.md +++ b/docs/sdks/polarorders/README.md @@ -194,8 +194,8 @@ with Polar() as polar: | Error Type | Status Code | Content Type | | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| models.ResourceNotFound | 404 | application/json | | models.MissingInvoiceBillingDetails | 422 | application/json | -| models.NotPaidOrder | 422 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## invoice diff --git a/docs/sdks/subscriptions/README.md b/docs/sdks/subscriptions/README.md index 624c47d5..fe3c574e 100644 --- a/docs/sdks/subscriptions/README.md +++ b/docs/sdks/subscriptions/README.md @@ -153,7 +153,7 @@ with Polar( ### Response -**[models.SubscriptionsExportResponse](../../models/subscriptionsexportresponse.md)** +**[str](../../models/.md)** ### Errors diff --git a/pyproject.toml b/pyproject.toml index 53ee1d3f..6b96be0f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "polar-sdk" -version = "0.31.7" +version = "0.32.0" description = "Polar SDK for Python" authors = [{ name = "Polar" },] readme = "README-PYPI.md" diff --git a/src/polar_sdk/_version.py b/src/polar_sdk/_version.py index 94443ba3..78a05afd 100644 --- a/src/polar_sdk/_version.py +++ b/src/polar_sdk/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "polar-sdk" -__version__: str = "0.31.7" -__openapi_doc_version__: str = "0.1.0" +__version__: str = "0.32.0" +__openapi_doc_version__: str = "2026-04" __gen_version__: str = "2.737.0" -__user_agent__: str = "speakeasy-sdk/python 0.31.7 2.737.0 0.1.0 polar-sdk" +__user_agent__: str = "speakeasy-sdk/python 0.32.0 2.737.0 2026-04 polar-sdk" try: if __package__ is not None: diff --git a/src/polar_sdk/customer_seats.py b/src/polar_sdk/customer_seats.py index a91e6532..0cbc2abc 100644 --- a/src/polar_sdk/customer_seats.py +++ b/src/polar_sdk/customer_seats.py @@ -201,7 +201,7 @@ def list_seats( ) -> models.SeatsList: r"""List Seats - **Scopes**: `customer_seats:write` + **Scopes**: `customer_seats:read` :param subscription_id: :param order_id: @@ -291,7 +291,7 @@ async def list_seats_async( ) -> models.SeatsList: r"""List Seats - **Scopes**: `customer_seats:write` + **Scopes**: `customer_seats:read` :param subscription_id: :param order_id: diff --git a/src/polar_sdk/customers.py b/src/polar_sdk/customers.py index ca2d7d53..d1f7abfb 100644 --- a/src/polar_sdk/customers.py +++ b/src/polar_sdk/customers.py @@ -1,7 +1,6 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from .basesdk import BaseSDK -from enum import Enum from jsonpath import JSONPath from polar_sdk import models, utils from polar_sdk._hooks import HookContext @@ -10,11 +9,6 @@ from typing import Any, Dict, List, Mapping, Optional, Union, cast -class ExportAcceptEnum(str, Enum): - APPLICATION_JSON = "application/json" - TEXT_CSV = "text/csv" - - class Customers(BaseSDK): def list( self, @@ -518,9 +512,8 @@ def export( retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, - accept_header_override: Optional[ExportAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CustomersExportResponse: + ) -> str: r"""Export Customers Export customers as a CSV file. @@ -531,7 +524,6 @@ def export( :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param accept_header_override: Override the default accept header for this method :param http_headers: Additional headers to set or replace on requests. """ base_url = None @@ -558,9 +550,7 @@ def export( request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value=accept_header_override.value - if accept_header_override is not None - else "application/json;q=1, text/csv;q=0", + accept_header_value="text/csv", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -588,8 +578,6 @@ def export( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(Any, http_res) if utils.match_response(http_res, "200", "text/csv"): return http_res.text if utils.match_response(http_res, "422", "application/json"): @@ -618,9 +606,8 @@ async def export_async( retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, - accept_header_override: Optional[ExportAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.CustomersExportResponse: + ) -> str: r"""Export Customers Export customers as a CSV file. @@ -631,7 +618,6 @@ async def export_async( :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param accept_header_override: Override the default accept header for this method :param http_headers: Additional headers to set or replace on requests. """ base_url = None @@ -658,9 +644,7 @@ async def export_async( request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value=accept_header_override.value - if accept_header_override is not None - else "application/json;q=1, text/csv;q=0", + accept_header_value="text/csv", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -688,8 +672,6 @@ async def export_async( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(Any, http_res) if utils.match_response(http_res, "200", "text/csv"): return http_res.text if utils.match_response(http_res, "422", "application/json"): diff --git a/src/polar_sdk/members.py b/src/polar_sdk/members.py index bdcd681d..97747578 100644 --- a/src/polar_sdk/members.py +++ b/src/polar_sdk/members.py @@ -686,7 +686,7 @@ def update_member( Update a member. - Only name and role can be updated. + Only name, email and role can be updated. The authenticated user or organization must have access to the member's organization. **Scopes**: `members:write` @@ -789,7 +789,7 @@ async def update_member_async( Update a member. - Only name and role can be updated. + Only name, email and role can be updated. The authenticated user or organization must have access to the member's organization. **Scopes**: `members:write` diff --git a/src/polar_sdk/metrics_sdk.py b/src/polar_sdk/metrics_sdk.py index 3f19dc22..654062f9 100644 --- a/src/polar_sdk/metrics_sdk.py +++ b/src/polar_sdk/metrics_sdk.py @@ -2,7 +2,6 @@ from .basesdk import BaseSDK from datetime import date -from enum import Enum from polar_sdk import models, utils from polar_sdk._hooks import HookContext from polar_sdk.types import BaseModel, OptionalNullable, UNSET @@ -10,11 +9,6 @@ from typing import Any, List, Mapping, Optional, Union, cast -class ExportAcceptEnum(str, Enum): - APPLICATION_JSON = "application/json" - TEXT_CSV = "text/csv" - - class MetricsSDK(BaseSDK): def get( self, @@ -321,9 +315,8 @@ def export( retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, - accept_header_override: Optional[ExportAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.MetricsExportResponse: + ) -> str: r"""Export Metrics Export metrics as a CSV file. @@ -342,7 +335,6 @@ def export( :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param accept_header_override: Override the default accept header for this method :param http_headers: Additional headers to set or replace on requests. """ base_url = None @@ -377,9 +369,7 @@ def export( request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value=accept_header_override.value - if accept_header_override is not None - else "application/json;q=1, text/csv;q=0", + accept_header_value="text/csv", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -407,8 +397,6 @@ def export( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(Any, http_res) if utils.match_response(http_res, "200", "text/csv"): return http_res.text if utils.match_response(http_res, "422", "application/json"): @@ -460,9 +448,8 @@ async def export_async( retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, - accept_header_override: Optional[ExportAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.MetricsExportResponse: + ) -> str: r"""Export Metrics Export metrics as a CSV file. @@ -481,7 +468,6 @@ async def export_async( :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param accept_header_override: Override the default accept header for this method :param http_headers: Additional headers to set or replace on requests. """ base_url = None @@ -516,9 +502,7 @@ async def export_async( request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value=accept_header_override.value - if accept_header_override is not None - else "application/json;q=1, text/csv;q=0", + accept_header_value="text/csv", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -546,8 +530,6 @@ async def export_async( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(Any, http_res) if utils.match_response(http_res, "200", "text/csv"): return http_res.text if utils.match_response(http_res, "422", "application/json"): diff --git a/src/polar_sdk/models/__init__.py b/src/polar_sdk/models/__init__.py index 91b8c3ac..4676f734 100644 --- a/src/polar_sdk/models/__init__.py +++ b/src/polar_sdk/models/__init__.py @@ -46,7 +46,6 @@ AuthorizeResponseUserTypedDict, ) from .authorizeuser import AuthorizeUser, AuthorizeUserTypedDict - from .availablescope import AvailableScope from .balancecreditorderevent import ( BalanceCreditOrderEvent, BalanceCreditOrderEventTypedDict, @@ -859,8 +858,6 @@ from .customer_portal_orders_generate_invoiceop import ( CustomerPortalOrdersGenerateInvoiceRequest, CustomerPortalOrdersGenerateInvoiceRequestTypedDict, - CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice, - CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoiceUnion, CustomerPortalOrdersGenerateInvoiceSecurity, CustomerPortalOrdersGenerateInvoiceSecurityTypedDict, ) @@ -1281,8 +1278,6 @@ CustomersExportQueryParamOrganizationIDTypedDict, CustomersExportRequest, CustomersExportRequestTypedDict, - CustomersExportResponse, - CustomersExportResponseTypedDict, ) from .customers_get_externalop import ( CustomersGetExternalRequest, @@ -1756,10 +1751,6 @@ LegacyRecurringProductPriceFixed, LegacyRecurringProductPriceFixedTypedDict, ) - from .legacyrecurringproductpricefree import ( - LegacyRecurringProductPriceFree, - LegacyRecurringProductPriceFreeTypedDict, - ) from .license_keys_get_activationop import ( LicenseKeysGetActivationRequest, LicenseKeysGetActivationRequestTypedDict, @@ -1915,10 +1906,6 @@ ListResourceOrganization, ListResourceOrganizationTypedDict, ) - from .listresource_organizationaccesstoken_ import ( - ListResourceOrganizationAccessToken, - ListResourceOrganizationAccessTokenTypedDict, - ) from .listresource_payment_ import ListResourcePayment, ListResourcePaymentTypedDict from .listresource_paymentmethod_ import ( ListResourcePaymentMethod, @@ -2162,8 +2149,6 @@ MetricsExportQueryParamProductIDFilterTypedDict, MetricsExportRequest, MetricsExportRequestTypedDict, - MetricsExportResponse, - MetricsExportResponseTypedDict, ) from .metrics_get_dashboardop import ( MetricsGetDashboardRequest, @@ -2322,7 +2307,6 @@ ) from .no_response_error import NoResponseError from .notopencheckout import NotOpenCheckout, NotOpenCheckoutData - from .notpaidorder import NotPaidOrder, NotPaidOrderData from .notpermitted import NotPermitted, NotPermittedData from .oauth2_authorizeop import ( Oauth2AuthorizeResponseOauth2Authorize, @@ -2412,8 +2396,6 @@ OrdersExportQueryParamProductIDFilterTypedDict, OrdersExportRequest, OrdersExportRequestTypedDict, - OrdersExportResponse, - OrdersExportResponseTypedDict, ) from .orders_finalizeop import ( OrdersFinalizeRequest, @@ -2426,8 +2408,6 @@ from .orders_generate_invoiceop import ( OrdersGenerateInvoiceRequest, OrdersGenerateInvoiceRequestTypedDict, - OrdersGenerateInvoiceResponse422OrdersGenerateInvoice, - OrdersGenerateInvoiceResponse422OrdersGenerateInvoiceUnion, ) from .orders_getop import OrdersGetRequest, OrdersGetRequestTypedDict from .orders_invoiceop import OrdersInvoiceRequest, OrdersInvoiceRequestTypedDict @@ -2440,39 +2420,6 @@ from .ordervoidedevent import OrderVoidedEvent, OrderVoidedEventTypedDict from .ordervoidedmetadata import OrderVoidedMetadata, OrderVoidedMetadataTypedDict from .organization import CountryAlpha2, Organization, OrganizationTypedDict - from .organization_access_tokens_deleteop import ( - OrganizationAccessTokensDeleteRequest, - OrganizationAccessTokensDeleteRequestTypedDict, - ) - from .organization_access_tokens_listop import ( - OrganizationAccessTokensListQueryParamOrganizationIDFilter, - OrganizationAccessTokensListQueryParamOrganizationIDFilterTypedDict, - OrganizationAccessTokensListRequest, - OrganizationAccessTokensListRequestTypedDict, - OrganizationAccessTokensListResponse, - OrganizationAccessTokensListResponseTypedDict, - ) - from .organization_access_tokens_updateop import ( - OrganizationAccessTokensUpdateRequest, - OrganizationAccessTokensUpdateRequestTypedDict, - ) - from .organizationaccesstoken import ( - OrganizationAccessToken, - OrganizationAccessTokenTypedDict, - ) - from .organizationaccesstokencreate import ( - OrganizationAccessTokenCreate, - OrganizationAccessTokenCreateTypedDict, - ) - from .organizationaccesstokencreateresponse import ( - OrganizationAccessTokenCreateResponse, - OrganizationAccessTokenCreateResponseTypedDict, - ) - from .organizationaccesstokensortproperty import OrganizationAccessTokenSortProperty - from .organizationaccesstokenupdate import ( - OrganizationAccessTokenUpdate, - OrganizationAccessTokenUpdateTypedDict, - ) from .organizationavatarfilecreate import ( OrganizationAvatarFileCreate, OrganizationAvatarFileCreateTypedDict, @@ -2521,10 +2468,6 @@ OrganizationIndividualLegalEntitySchema, OrganizationIndividualLegalEntitySchemaTypedDict, ) - from .organizationnotificationsettings import ( - OrganizationNotificationSettings, - OrganizationNotificationSettingsTypedDict, - ) from .organizationnotreadyforpayments import ( OrganizationNotReadyForPayments, OrganizationNotReadyForPaymentsData, @@ -2612,6 +2555,7 @@ ) from .paymentsortproperty import PaymentSortProperty from .paymentstatus import PaymentStatus + from .paymenttrigger import PaymentTrigger from .pendingsubscriptionupdate import ( PendingSubscriptionUpdate, PendingSubscriptionUpdateTypedDict, @@ -2663,11 +2607,6 @@ ProductPriceFixedCreate, ProductPriceFixedCreateTypedDict, ) - from .productpricefree import ProductPriceFree, ProductPriceFreeTypedDict - from .productpricefreecreate import ( - ProductPriceFreeCreate, - ProductPriceFreeCreateTypedDict, - ) from .productpricemeter import ProductPriceMeter, ProductPriceMeterTypedDict from .productpricemeteredunit import ( ProductPriceMeteredUnit, @@ -2723,6 +2662,7 @@ PropertyAggregation, PropertyAggregationTypedDict, ) + from .recurringinterval import RecurringInterval from .refreshtokenrequest import RefreshTokenRequest, RefreshTokenRequestTypedDict from .refund import Refund, RefundTypedDict from .refundcreate import ( @@ -2874,7 +2814,6 @@ SubscriptionReactivatedMetadata, SubscriptionReactivatedMetadataTypedDict, ) - from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .subscriptionrevoke import SubscriptionRevoke, SubscriptionRevokeTypedDict from .subscriptionrevokedevent import ( SubscriptionRevokedEvent, @@ -2893,8 +2832,6 @@ OrganizationIDTypedDict, SubscriptionsExportRequest, SubscriptionsExportRequestTypedDict, - SubscriptionsExportResponse, - SubscriptionsExportResponseTypedDict, ) from .subscriptions_getop import ( SubscriptionsGetRequest, @@ -3056,6 +2993,14 @@ SubscriptionUpdateSeatsTypedDict, ) from .subtype import SubType + from .supportcaseattachmentfilecreate import ( + SupportCaseAttachmentFileCreate, + SupportCaseAttachmentFileCreateTypedDict, + ) + from .supportcaseattachmentfileread import ( + SupportCaseAttachmentFileRead, + SupportCaseAttachmentFileReadTypedDict, + ) from .systemevent import SystemEvent, SystemEventTypedDict from .taxbehavior import TaxBehavior from .taxbehavioroption import TaxBehaviorOption @@ -3319,7 +3264,6 @@ "AuthorizeResponseUserTypedDict", "AuthorizeUser", "AuthorizeUserTypedDict", - "AvailableScope", "AverageOrderValue", "AverageOrderValueTypedDict", "AverageRevenuePerUser", @@ -4133,8 +4077,6 @@ "CustomerPortalOrdersConfirmRetryPaymentSecurityTypedDict", "CustomerPortalOrdersGenerateInvoiceRequest", "CustomerPortalOrdersGenerateInvoiceRequestTypedDict", - "CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice", - "CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoiceUnion", "CustomerPortalOrdersGenerateInvoiceSecurity", "CustomerPortalOrdersGenerateInvoiceSecurityTypedDict", "CustomerPortalOrdersGetPaymentStatusRequest", @@ -4334,8 +4276,6 @@ "CustomersExportQueryParamOrganizationIDTypedDict", "CustomersExportRequest", "CustomersExportRequestTypedDict", - "CustomersExportResponse", - "CustomersExportResponseTypedDict", "CustomersGetExternalRequest", "CustomersGetExternalRequestTypedDict", "CustomersGetRequest", @@ -4565,8 +4505,6 @@ "LegacyRecurringProductPriceCustomTypedDict", "LegacyRecurringProductPriceFixed", "LegacyRecurringProductPriceFixedTypedDict", - "LegacyRecurringProductPriceFree", - "LegacyRecurringProductPriceFreeTypedDict", "LegacyRecurringProductPriceTypedDict", "LegalEntity", "LegalEntityTypedDict", @@ -4662,8 +4600,6 @@ "ListResourceOrder", "ListResourceOrderTypedDict", "ListResourceOrganization", - "ListResourceOrganizationAccessToken", - "ListResourceOrganizationAccessTokenTypedDict", "ListResourceOrganizationTypedDict", "ListResourcePayment", "ListResourcePaymentMethod", @@ -4795,8 +4731,6 @@ "MetricsExportQueryParamProductIDFilterTypedDict", "MetricsExportRequest", "MetricsExportRequestTypedDict", - "MetricsExportResponse", - "MetricsExportResponseTypedDict", "MetricsGetDashboardRequest", "MetricsGetDashboardRequestTypedDict", "MetricsGetQueryParamCustomerIDFilter", @@ -4957,8 +4891,6 @@ "NoResponseError", "NotOpenCheckout", "NotOpenCheckoutData", - "NotPaidOrder", - "NotPaidOrderData", "NotPermitted", "NotPermittedData", "OAuth2ClientConfiguration", @@ -5046,8 +4978,6 @@ "OrdersExportQueryParamProductIDFilterTypedDict", "OrdersExportRequest", "OrdersExportRequestTypedDict", - "OrdersExportResponse", - "OrdersExportResponseTypedDict", "OrdersFinalizeRequest", "OrdersFinalizeRequestTypedDict", "OrdersFinalizeResponse402OrdersFinalize", @@ -5056,8 +4986,6 @@ "OrdersFinalizeResponse403OrdersFinalizeUnion", "OrdersGenerateInvoiceRequest", "OrdersGenerateInvoiceRequestTypedDict", - "OrdersGenerateInvoiceResponse422OrdersGenerateInvoice", - "OrdersGenerateInvoiceResponse422OrdersGenerateInvoiceUnion", "OrdersGetRequest", "OrdersGetRequestTypedDict", "OrdersInvoiceRequest", @@ -5081,25 +5009,6 @@ "OrdersUpdateRequest", "OrdersUpdateRequestTypedDict", "Organization", - "OrganizationAccessToken", - "OrganizationAccessTokenCreate", - "OrganizationAccessTokenCreateResponse", - "OrganizationAccessTokenCreateResponseTypedDict", - "OrganizationAccessTokenCreateTypedDict", - "OrganizationAccessTokenSortProperty", - "OrganizationAccessTokenTypedDict", - "OrganizationAccessTokenUpdate", - "OrganizationAccessTokenUpdateTypedDict", - "OrganizationAccessTokensDeleteRequest", - "OrganizationAccessTokensDeleteRequestTypedDict", - "OrganizationAccessTokensListQueryParamOrganizationIDFilter", - "OrganizationAccessTokensListQueryParamOrganizationIDFilterTypedDict", - "OrganizationAccessTokensListRequest", - "OrganizationAccessTokensListRequestTypedDict", - "OrganizationAccessTokensListResponse", - "OrganizationAccessTokensListResponseTypedDict", - "OrganizationAccessTokensUpdateRequest", - "OrganizationAccessTokensUpdateRequestTypedDict", "OrganizationAvatarFileCreate", "OrganizationAvatarFileCreateTypedDict", "OrganizationAvatarFileRead", @@ -5128,8 +5037,6 @@ "OrganizationIndividualLegalEntitySchemaTypedDict", "OrganizationNotReadyForPayments", "OrganizationNotReadyForPaymentsData", - "OrganizationNotificationSettings", - "OrganizationNotificationSettingsTypedDict", "OrganizationSocialLink", "OrganizationSocialLinkTypedDict", "OrganizationSocialPlatforms", @@ -5176,6 +5083,7 @@ "PaymentProcessor", "PaymentSortProperty", "PaymentStatus", + "PaymentTrigger", "PaymentTypedDict", "PaymentsGetRequest", "PaymentsGetRequestTypedDict", @@ -5237,10 +5145,6 @@ "ProductPriceFixedCreate", "ProductPriceFixedCreateTypedDict", "ProductPriceFixedTypedDict", - "ProductPriceFree", - "ProductPriceFreeCreate", - "ProductPriceFreeCreateTypedDict", - "ProductPriceFreeTypedDict", "ProductPriceMeter", "ProductPriceMeterTypedDict", "ProductPriceMeteredUnit", @@ -5319,6 +5223,7 @@ "QueryParamStatusFilterTypedDict", "QueryParamSubscriptionIDFilter", "QueryParamSubscriptionIDFilterTypedDict", + "RecurringInterval", "RefreshTokenRequest", "RefreshTokenRequestTypedDict", "Refund", @@ -5454,7 +5359,6 @@ "SubscriptionReactivatedEventTypedDict", "SubscriptionReactivatedMetadata", "SubscriptionReactivatedMetadataTypedDict", - "SubscriptionRecurringInterval", "SubscriptionRevoke", "SubscriptionRevokeTypedDict", "SubscriptionRevokedEvent", @@ -5494,8 +5398,6 @@ "SubscriptionsCreateSubscriptionCreateTypedDict", "SubscriptionsExportRequest", "SubscriptionsExportRequestTypedDict", - "SubscriptionsExportResponse", - "SubscriptionsExportResponseTypedDict", "SubscriptionsGetRequest", "SubscriptionsGetRequestTypedDict", "SubscriptionsListRequest", @@ -5508,6 +5410,10 @@ "SubscriptionsUpdateRequestTypedDict", "SucceededCheckouts", "SucceededCheckoutsTypedDict", + "SupportCaseAttachmentFileCreate", + "SupportCaseAttachmentFileCreateTypedDict", + "SupportCaseAttachmentFileRead", + "SupportCaseAttachmentFileReadTypedDict", "SwitchingFrom", "SystemEvent", "SystemEventTypedDict", @@ -5683,7 +5589,6 @@ "AuthorizeResponseUserTypedDict": ".authorizeresponseuser", "AuthorizeUser": ".authorizeuser", "AuthorizeUserTypedDict": ".authorizeuser", - "AvailableScope": ".availablescope", "BalanceCreditOrderEvent": ".balancecreditorderevent", "BalanceCreditOrderEventTypedDict": ".balancecreditorderevent", "BalanceCreditOrderMetadata": ".balancecreditordermetadata", @@ -6234,8 +6139,6 @@ "CustomerPortalOrdersConfirmRetryPaymentSecurityTypedDict": ".customer_portal_orders_confirm_retry_paymentop", "CustomerPortalOrdersGenerateInvoiceRequest": ".customer_portal_orders_generate_invoiceop", "CustomerPortalOrdersGenerateInvoiceRequestTypedDict": ".customer_portal_orders_generate_invoiceop", - "CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice": ".customer_portal_orders_generate_invoiceop", - "CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoiceUnion": ".customer_portal_orders_generate_invoiceop", "CustomerPortalOrdersGenerateInvoiceSecurity": ".customer_portal_orders_generate_invoiceop", "CustomerPortalOrdersGenerateInvoiceSecurityTypedDict": ".customer_portal_orders_generate_invoiceop", "CustomerPortalOrdersGetPaymentStatusRequest": ".customer_portal_orders_get_payment_statusop", @@ -6487,8 +6390,6 @@ "CustomersExportQueryParamOrganizationIDTypedDict": ".customers_exportop", "CustomersExportRequest": ".customers_exportop", "CustomersExportRequestTypedDict": ".customers_exportop", - "CustomersExportResponse": ".customers_exportop", - "CustomersExportResponseTypedDict": ".customers_exportop", "CustomersGetExternalRequest": ".customers_get_externalop", "CustomersGetExternalRequestTypedDict": ".customers_get_externalop", "CustomersGetStateExternalRequest": ".customers_get_state_externalop", @@ -6846,8 +6747,6 @@ "LegacyRecurringProductPriceCustomTypedDict": ".legacyrecurringproductpricecustom", "LegacyRecurringProductPriceFixed": ".legacyrecurringproductpricefixed", "LegacyRecurringProductPriceFixedTypedDict": ".legacyrecurringproductpricefixed", - "LegacyRecurringProductPriceFree": ".legacyrecurringproductpricefree", - "LegacyRecurringProductPriceFreeTypedDict": ".legacyrecurringproductpricefree", "LicenseKeysGetActivationRequest": ".license_keys_get_activationop", "LicenseKeysGetActivationRequestTypedDict": ".license_keys_get_activationop", "LicenseKeysGetRequest": ".license_keys_getop", @@ -6949,8 +6848,6 @@ "ListResourceOrderTypedDict": ".listresource_order_", "ListResourceOrganization": ".listresource_organization_", "ListResourceOrganizationTypedDict": ".listresource_organization_", - "ListResourceOrganizationAccessToken": ".listresource_organizationaccesstoken_", - "ListResourceOrganizationAccessTokenTypedDict": ".listresource_organizationaccesstoken_", "ListResourcePayment": ".listresource_payment_", "ListResourcePaymentTypedDict": ".listresource_payment_", "ListResourcePaymentMethod": ".listresource_paymentmethod_", @@ -7168,8 +7065,6 @@ "MetricsExportQueryParamProductIDFilterTypedDict": ".metrics_exportop", "MetricsExportRequest": ".metrics_exportop", "MetricsExportRequestTypedDict": ".metrics_exportop", - "MetricsExportResponse": ".metrics_exportop", - "MetricsExportResponseTypedDict": ".metrics_exportop", "MetricsGetDashboardRequest": ".metrics_get_dashboardop", "MetricsGetDashboardRequestTypedDict": ".metrics_get_dashboardop", "MetricsGetQueryParamCustomerIDFilter": ".metrics_getop", @@ -7314,8 +7209,6 @@ "NoResponseError": ".no_response_error", "NotOpenCheckout": ".notopencheckout", "NotOpenCheckoutData": ".notopencheckout", - "NotPaidOrder": ".notpaidorder", - "NotPaidOrderData": ".notpaidorder", "NotPermitted": ".notpermitted", "NotPermittedData": ".notpermitted", "Oauth2AuthorizeResponseOauth2Authorize": ".oauth2_authorizeop", @@ -7387,8 +7280,6 @@ "OrdersExportQueryParamProductIDFilterTypedDict": ".orders_exportop", "OrdersExportRequest": ".orders_exportop", "OrdersExportRequestTypedDict": ".orders_exportop", - "OrdersExportResponse": ".orders_exportop", - "OrdersExportResponseTypedDict": ".orders_exportop", "OrdersFinalizeRequest": ".orders_finalizeop", "OrdersFinalizeRequestTypedDict": ".orders_finalizeop", "OrdersFinalizeResponse402OrdersFinalize": ".orders_finalizeop", @@ -7397,8 +7288,6 @@ "OrdersFinalizeResponse403OrdersFinalizeUnion": ".orders_finalizeop", "OrdersGenerateInvoiceRequest": ".orders_generate_invoiceop", "OrdersGenerateInvoiceRequestTypedDict": ".orders_generate_invoiceop", - "OrdersGenerateInvoiceResponse422OrdersGenerateInvoice": ".orders_generate_invoiceop", - "OrdersGenerateInvoiceResponse422OrdersGenerateInvoiceUnion": ".orders_generate_invoiceop", "OrdersGetRequest": ".orders_getop", "OrdersGetRequestTypedDict": ".orders_getop", "OrdersInvoiceRequest": ".orders_invoiceop", @@ -7420,25 +7309,6 @@ "CountryAlpha2": ".organization", "Organization": ".organization", "OrganizationTypedDict": ".organization", - "OrganizationAccessTokensDeleteRequest": ".organization_access_tokens_deleteop", - "OrganizationAccessTokensDeleteRequestTypedDict": ".organization_access_tokens_deleteop", - "OrganizationAccessTokensListQueryParamOrganizationIDFilter": ".organization_access_tokens_listop", - "OrganizationAccessTokensListQueryParamOrganizationIDFilterTypedDict": ".organization_access_tokens_listop", - "OrganizationAccessTokensListRequest": ".organization_access_tokens_listop", - "OrganizationAccessTokensListRequestTypedDict": ".organization_access_tokens_listop", - "OrganizationAccessTokensListResponse": ".organization_access_tokens_listop", - "OrganizationAccessTokensListResponseTypedDict": ".organization_access_tokens_listop", - "OrganizationAccessTokensUpdateRequest": ".organization_access_tokens_updateop", - "OrganizationAccessTokensUpdateRequestTypedDict": ".organization_access_tokens_updateop", - "OrganizationAccessToken": ".organizationaccesstoken", - "OrganizationAccessTokenTypedDict": ".organizationaccesstoken", - "OrganizationAccessTokenCreate": ".organizationaccesstokencreate", - "OrganizationAccessTokenCreateTypedDict": ".organizationaccesstokencreate", - "OrganizationAccessTokenCreateResponse": ".organizationaccesstokencreateresponse", - "OrganizationAccessTokenCreateResponseTypedDict": ".organizationaccesstokencreateresponse", - "OrganizationAccessTokenSortProperty": ".organizationaccesstokensortproperty", - "OrganizationAccessTokenUpdate": ".organizationaccesstokenupdate", - "OrganizationAccessTokenUpdateTypedDict": ".organizationaccesstokenupdate", "OrganizationAvatarFileCreate": ".organizationavatarfilecreate", "OrganizationAvatarFileCreateTypedDict": ".organizationavatarfilecreate", "OrganizationAvatarFileRead": ".organizationavatarfileread", @@ -7465,8 +7335,6 @@ "OrganizationFeatureSettingsUpdateTypedDict": ".organizationfeaturesettingsupdate", "OrganizationIndividualLegalEntitySchema": ".organizationindividuallegalentityschema", "OrganizationIndividualLegalEntitySchemaTypedDict": ".organizationindividuallegalentityschema", - "OrganizationNotificationSettings": ".organizationnotificationsettings", - "OrganizationNotificationSettingsTypedDict": ".organizationnotificationsettings", "OrganizationNotReadyForPayments": ".organizationnotreadyforpayments", "OrganizationNotReadyForPaymentsData": ".organizationnotreadyforpayments", "OrganizationsGetRequest": ".organizations_getop", @@ -7537,6 +7405,7 @@ "PaymentsListResponseTypedDict": ".payments_listop", "PaymentSortProperty": ".paymentsortproperty", "PaymentStatus": ".paymentstatus", + "PaymentTrigger": ".paymenttrigger", "PendingSubscriptionUpdate": ".pendingsubscriptionupdate", "PendingSubscriptionUpdateTypedDict": ".pendingsubscriptionupdate", "PortalAuthenticatedUser": ".portalauthenticateduser", @@ -7577,10 +7446,6 @@ "ProductPriceFixedTypedDict": ".productpricefixed", "ProductPriceFixedCreate": ".productpricefixedcreate", "ProductPriceFixedCreateTypedDict": ".productpricefixedcreate", - "ProductPriceFree": ".productpricefree", - "ProductPriceFreeTypedDict": ".productpricefree", - "ProductPriceFreeCreate": ".productpricefreecreate", - "ProductPriceFreeCreateTypedDict": ".productpricefreecreate", "ProductPriceMeter": ".productpricemeter", "ProductPriceMeterTypedDict": ".productpricemeter", "ProductPriceMeteredUnit": ".productpricemeteredunit", @@ -7619,6 +7484,7 @@ "Func": ".propertyaggregation", "PropertyAggregation": ".propertyaggregation", "PropertyAggregationTypedDict": ".propertyaggregation", + "RecurringInterval": ".recurringinterval", "RefreshTokenRequest": ".refreshtokenrequest", "RefreshTokenRequestTypedDict": ".refreshtokenrequest", "Refund": ".refund", @@ -7739,7 +7605,6 @@ "SubscriptionReactivatedEventTypedDict": ".subscriptionreactivatedevent", "SubscriptionReactivatedMetadata": ".subscriptionreactivatedmetadata", "SubscriptionReactivatedMetadataTypedDict": ".subscriptionreactivatedmetadata", - "SubscriptionRecurringInterval": ".subscriptionrecurringinterval", "SubscriptionRevoke": ".subscriptionrevoke", "SubscriptionRevokeTypedDict": ".subscriptionrevoke", "SubscriptionRevokedEvent": ".subscriptionrevokedevent", @@ -7752,8 +7617,6 @@ "OrganizationIDTypedDict": ".subscriptions_exportop", "SubscriptionsExportRequest": ".subscriptions_exportop", "SubscriptionsExportRequestTypedDict": ".subscriptions_exportop", - "SubscriptionsExportResponse": ".subscriptions_exportop", - "SubscriptionsExportResponseTypedDict": ".subscriptions_exportop", "SubscriptionsGetRequest": ".subscriptions_getop", "SubscriptionsGetRequestTypedDict": ".subscriptions_getop", "BenefitIDFilter": ".subscriptions_listop", @@ -7883,6 +7746,10 @@ "SubscriptionUpdateSeats": ".subscriptionupdateseats", "SubscriptionUpdateSeatsTypedDict": ".subscriptionupdateseats", "SubType": ".subtype", + "SupportCaseAttachmentFileCreate": ".supportcaseattachmentfilecreate", + "SupportCaseAttachmentFileCreateTypedDict": ".supportcaseattachmentfilecreate", + "SupportCaseAttachmentFileRead": ".supportcaseattachmentfileread", + "SupportCaseAttachmentFileReadTypedDict": ".supportcaseattachmentfileread", "SystemEvent": ".systemevent", "SystemEventTypedDict": ".systemevent", "TaxBehavior": ".taxbehavior", diff --git a/src/polar_sdk/models/authorizeresponseuser.py b/src/polar_sdk/models/authorizeresponseuser.py index 92e6add6..ee64620e 100644 --- a/src/polar_sdk/models/authorizeresponseuser.py +++ b/src/polar_sdk/models/authorizeresponseuser.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .authorizeorganization import AuthorizeOrganization, AuthorizeOrganizationTypedDict from .authorizeuser import AuthorizeUser, AuthorizeUserTypedDict from .oauth2clientpublic import OAuth2ClientPublic, OAuth2ClientPublicTypedDict from .scope import Scope @@ -17,6 +18,7 @@ class AuthorizeResponseUserTypedDict(TypedDict): client: OAuth2ClientPublicTypedDict sub: Nullable[AuthorizeUserTypedDict] scopes: List[Scope] + organizations: List[AuthorizeOrganizationTypedDict] sub_type: Literal["user"] scope_display_names: NotRequired[Dict[str, str]] @@ -28,6 +30,8 @@ class AuthorizeResponseUser(BaseModel): scopes: List[Scope] + organizations: List[AuthorizeOrganization] + SUB_TYPE: Annotated[ Annotated[Literal["user"], AfterValidator(validate_const("user"))], pydantic.Field(alias="sub_type"), diff --git a/src/polar_sdk/models/availablescope.py b/src/polar_sdk/models/availablescope.py deleted file mode 100644 index a7506dd5..00000000 --- a/src/polar_sdk/models/availablescope.py +++ /dev/null @@ -1,69 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from enum import Enum - - -class AvailableScope(str, Enum): - OPENID = "openid" - PROFILE = "profile" - EMAIL = "email" - USER_READ = "user:read" - USER_WRITE = "user:write" - ORGANIZATIONS_READ = "organizations:read" - ORGANIZATIONS_WRITE = "organizations:write" - CUSTOM_FIELDS_READ = "custom_fields:read" - CUSTOM_FIELDS_WRITE = "custom_fields:write" - DISCOUNTS_READ = "discounts:read" - DISCOUNTS_WRITE = "discounts:write" - CHECKOUT_LINKS_READ = "checkout_links:read" - CHECKOUT_LINKS_WRITE = "checkout_links:write" - CHECKOUTS_READ = "checkouts:read" - CHECKOUTS_WRITE = "checkouts:write" - TRANSACTIONS_READ = "transactions:read" - TRANSACTIONS_WRITE = "transactions:write" - PAYOUTS_READ = "payouts:read" - PAYOUTS_WRITE = "payouts:write" - PRODUCTS_READ = "products:read" - PRODUCTS_WRITE = "products:write" - BENEFITS_READ = "benefits:read" - BENEFITS_WRITE = "benefits:write" - EVENTS_READ = "events:read" - EVENTS_WRITE = "events:write" - METERS_READ = "meters:read" - METERS_WRITE = "meters:write" - FILES_READ = "files:read" - FILES_WRITE = "files:write" - SUBSCRIPTIONS_READ = "subscriptions:read" - SUBSCRIPTIONS_WRITE = "subscriptions:write" - CUSTOMERS_READ = "customers:read" - CUSTOMERS_WRITE = "customers:write" - MEMBERS_READ = "members:read" - MEMBERS_WRITE = "members:write" - WALLETS_READ = "wallets:read" - WALLETS_WRITE = "wallets:write" - DISPUTES_READ = "disputes:read" - CUSTOMER_METERS_READ = "customer_meters:read" - CUSTOMER_SESSIONS_WRITE = "customer_sessions:write" - MEMBER_SESSIONS_WRITE = "member_sessions:write" - CUSTOMER_SEATS_READ = "customer_seats:read" - CUSTOMER_SEATS_WRITE = "customer_seats:write" - ORDERS_READ = "orders:read" - ORDERS_WRITE = "orders:write" - REFUNDS_READ = "refunds:read" - REFUNDS_WRITE = "refunds:write" - PAYMENTS_READ = "payments:read" - METRICS_READ = "metrics:read" - METRICS_WRITE = "metrics:write" - WEBHOOKS_READ = "webhooks:read" - WEBHOOKS_WRITE = "webhooks:write" - LICENSE_KEYS_READ = "license_keys:read" - LICENSE_KEYS_WRITE = "license_keys:write" - CUSTOMER_PORTAL_READ = "customer_portal:read" - CUSTOMER_PORTAL_WRITE = "customer_portal:write" - NOTIFICATIONS_READ = "notifications:read" - NOTIFICATIONS_WRITE = "notifications:write" - NOTIFICATION_RECIPIENTS_READ = "notification_recipients:read" - NOTIFICATION_RECIPIENTS_WRITE = "notification_recipients:write" - ORGANIZATION_ACCESS_TOKENS_READ = "organization_access_tokens:read" - ORGANIZATION_ACCESS_TOKENS_WRITE = "organization_access_tokens:write" diff --git a/src/polar_sdk/models/benefitdiscordupdate.py b/src/polar_sdk/models/benefitdiscordupdate.py index 45ddec82..00a97bc6 100644 --- a/src/polar_sdk/models/benefitdiscordupdate.py +++ b/src/polar_sdk/models/benefitdiscordupdate.py @@ -5,7 +5,6 @@ BenefitDiscordCreateProperties, BenefitDiscordCreatePropertiesTypedDict, ) -from .benefitvisibility import BenefitVisibility from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import validate_const import pydantic @@ -41,8 +40,6 @@ class BenefitDiscordUpdateTypedDict(TypedDict): """ description: NotRequired[Nullable[str]] r"""The description of the benefit. Will be displayed on products having this benefit.""" - visibility: NotRequired[Nullable[BenefitVisibility]] - r"""The visibility of the benefit in the customer portal.""" type: Literal["discord"] properties: NotRequired[Nullable[BenefitDiscordCreatePropertiesTypedDict]] @@ -65,9 +62,6 @@ class BenefitDiscordUpdate(BaseModel): description: OptionalNullable[str] = UNSET r"""The description of the benefit. Will be displayed on products having this benefit.""" - visibility: OptionalNullable[BenefitVisibility] = UNSET - r"""The visibility of the benefit in the customer portal.""" - TYPE: Annotated[ Annotated[Literal["discord"], AfterValidator(validate_const("discord"))], pydantic.Field(alias="type"), @@ -77,8 +71,8 @@ class BenefitDiscordUpdate(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["metadata", "description", "visibility", "properties"] - nullable_fields = ["description", "visibility", "properties"] + optional_fields = ["metadata", "description", "properties"] + nullable_fields = ["description", "properties"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/benefitdownloadablesupdate.py b/src/polar_sdk/models/benefitdownloadablesupdate.py index 9335cde9..d269f9cd 100644 --- a/src/polar_sdk/models/benefitdownloadablesupdate.py +++ b/src/polar_sdk/models/benefitdownloadablesupdate.py @@ -5,7 +5,6 @@ BenefitDownloadablesCreateProperties, BenefitDownloadablesCreatePropertiesTypedDict, ) -from .benefitvisibility import BenefitVisibility from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import validate_const import pydantic @@ -41,8 +40,6 @@ class BenefitDownloadablesUpdateTypedDict(TypedDict): """ description: NotRequired[Nullable[str]] r"""The description of the benefit. Will be displayed on products having this benefit.""" - visibility: NotRequired[Nullable[BenefitVisibility]] - r"""The visibility of the benefit in the customer portal.""" type: Literal["downloadables"] properties: NotRequired[Nullable[BenefitDownloadablesCreatePropertiesTypedDict]] @@ -65,9 +62,6 @@ class BenefitDownloadablesUpdate(BaseModel): description: OptionalNullable[str] = UNSET r"""The description of the benefit. Will be displayed on products having this benefit.""" - visibility: OptionalNullable[BenefitVisibility] = UNSET - r"""The visibility of the benefit in the customer portal.""" - TYPE: Annotated[ Annotated[ Literal["downloadables"], AfterValidator(validate_const("downloadables")) @@ -79,8 +73,8 @@ class BenefitDownloadablesUpdate(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["metadata", "description", "visibility", "properties"] - nullable_fields = ["description", "visibility", "properties"] + optional_fields = ["metadata", "description", "properties"] + nullable_fields = ["description", "properties"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/benefitgithubrepositoryupdate.py b/src/polar_sdk/models/benefitgithubrepositoryupdate.py index dc9ea086..0811493a 100644 --- a/src/polar_sdk/models/benefitgithubrepositoryupdate.py +++ b/src/polar_sdk/models/benefitgithubrepositoryupdate.py @@ -5,7 +5,6 @@ BenefitGitHubRepositoryCreateProperties, BenefitGitHubRepositoryCreatePropertiesTypedDict, ) -from .benefitvisibility import BenefitVisibility from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import validate_const import pydantic @@ -41,8 +40,6 @@ class BenefitGitHubRepositoryUpdateTypedDict(TypedDict): """ description: NotRequired[Nullable[str]] r"""The description of the benefit. Will be displayed on products having this benefit.""" - visibility: NotRequired[Nullable[BenefitVisibility]] - r"""The visibility of the benefit in the customer portal.""" type: Literal["github_repository"] properties: NotRequired[Nullable[BenefitGitHubRepositoryCreatePropertiesTypedDict]] @@ -65,9 +62,6 @@ class BenefitGitHubRepositoryUpdate(BaseModel): description: OptionalNullable[str] = UNSET r"""The description of the benefit. Will be displayed on products having this benefit.""" - visibility: OptionalNullable[BenefitVisibility] = UNSET - r"""The visibility of the benefit in the customer portal.""" - TYPE: Annotated[ Annotated[ Literal["github_repository"], @@ -80,8 +74,8 @@ class BenefitGitHubRepositoryUpdate(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["metadata", "description", "visibility", "properties"] - nullable_fields = ["description", "visibility", "properties"] + optional_fields = ["metadata", "description", "properties"] + nullable_fields = ["description", "properties"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/benefits_updateop.py b/src/polar_sdk/models/benefits_updateop.py index 93e05068..75798a1c 100644 --- a/src/polar_sdk/models/benefits_updateop.py +++ b/src/polar_sdk/models/benefits_updateop.py @@ -36,14 +36,14 @@ BenefitsUpdateBenefitUpdateTypedDict = TypeAliasType( "BenefitsUpdateBenefitUpdateTypedDict", Union[ - BenefitCustomUpdateTypedDict, BenefitDiscordUpdateTypedDict, BenefitGitHubRepositoryUpdateTypedDict, BenefitDownloadablesUpdateTypedDict, + BenefitSlackSharedChannelUpdateTypedDict, + BenefitCustomUpdateTypedDict, BenefitLicenseKeysUpdateTypedDict, BenefitMeterCreditUpdateTypedDict, BenefitFeatureFlagUpdateTypedDict, - BenefitSlackSharedChannelUpdateTypedDict, ], ) @@ -51,14 +51,14 @@ BenefitsUpdateBenefitUpdate = TypeAliasType( "BenefitsUpdateBenefitUpdate", Union[ - BenefitCustomUpdate, BenefitDiscordUpdate, BenefitGitHubRepositoryUpdate, BenefitDownloadablesUpdate, + BenefitSlackSharedChannelUpdate, + BenefitCustomUpdate, BenefitLicenseKeysUpdate, BenefitMeterCreditUpdate, BenefitFeatureFlagUpdate, - BenefitSlackSharedChannelUpdate, ], ) diff --git a/src/polar_sdk/models/benefitslacksharedchannelupdate.py b/src/polar_sdk/models/benefitslacksharedchannelupdate.py index 09519dc1..be2c473c 100644 --- a/src/polar_sdk/models/benefitslacksharedchannelupdate.py +++ b/src/polar_sdk/models/benefitslacksharedchannelupdate.py @@ -5,7 +5,6 @@ BenefitSlackSharedChannelCreateProperties, BenefitSlackSharedChannelCreatePropertiesTypedDict, ) -from .benefitvisibility import BenefitVisibility from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import validate_const import pydantic @@ -41,8 +40,6 @@ class BenefitSlackSharedChannelUpdateTypedDict(TypedDict): """ description: NotRequired[Nullable[str]] r"""The description of the benefit. Will be displayed on products having this benefit.""" - visibility: NotRequired[Nullable[BenefitVisibility]] - r"""The visibility of the benefit in the customer portal.""" type: Literal["slack_shared_channel"] properties: NotRequired[ Nullable[BenefitSlackSharedChannelCreatePropertiesTypedDict] @@ -67,9 +64,6 @@ class BenefitSlackSharedChannelUpdate(BaseModel): description: OptionalNullable[str] = UNSET r"""The description of the benefit. Will be displayed on products having this benefit.""" - visibility: OptionalNullable[BenefitVisibility] = UNSET - r"""The visibility of the benefit in the customer portal.""" - TYPE: Annotated[ Annotated[ Literal["slack_shared_channel"], @@ -82,8 +76,8 @@ class BenefitSlackSharedChannelUpdate(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["metadata", "description", "visibility", "properties"] - nullable_fields = ["description", "visibility", "properties"] + optional_fields = ["metadata", "description", "properties"] + nullable_fields = ["description", "properties"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/cardpayment.py b/src/polar_sdk/models/cardpayment.py index b700958d..bc5af9cf 100644 --- a/src/polar_sdk/models/cardpayment.py +++ b/src/polar_sdk/models/cardpayment.py @@ -4,8 +4,9 @@ from .cardpaymentmetadata import CardPaymentMetadata, CardPaymentMetadataTypedDict from .paymentprocessor import PaymentProcessor from .paymentstatus import PaymentStatus +from .paymenttrigger import PaymentTrigger from datetime import datetime -from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL +from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import validate_const import pydantic from pydantic import model_serializer @@ -43,6 +44,8 @@ class CardPaymentTypedDict(TypedDict): r"""Additional metadata for a card payment method.""" method: Literal["card"] r"""The payment method used.""" + trigger: NotRequired[Nullable[PaymentTrigger]] + r"""What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry.""" processor_metadata: NotRequired[Dict[str, Any]] r"""Additional metadata from the payment processor for internal use.""" @@ -93,14 +96,18 @@ class CardPayment(BaseModel): ] = "card" r"""The payment method used.""" + trigger: OptionalNullable[PaymentTrigger] = UNSET + r"""What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry.""" + processor_metadata: Optional[Dict[str, Any]] = None r"""Additional metadata from the payment processor for internal use.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["processor_metadata"] + optional_fields = ["trigger", "processor_metadata"] nullable_fields = [ "modified_at", + "trigger", "decline_reason", "decline_message", "checkout_id", diff --git a/src/polar_sdk/models/checkoutcreate.py b/src/polar_sdk/models/checkoutcreate.py index 090a7681..b9ed2326 100644 --- a/src/polar_sdk/models/checkoutcreate.py +++ b/src/polar_sdk/models/checkoutcreate.py @@ -11,10 +11,6 @@ ProductPriceFixedCreate, ProductPriceFixedCreateTypedDict, ) -from .productpricefreecreate import ( - ProductPriceFreeCreate, - ProductPriceFreeCreateTypedDict, -) from .productpricemeteredunitcreate import ( ProductPriceMeteredUnitCreate, ProductPriceMeteredUnitCreateTypedDict, @@ -65,7 +61,6 @@ CheckoutCreatePricesTypedDict = TypeAliasType( "CheckoutCreatePricesTypedDict", Union[ - ProductPriceFreeCreateTypedDict, ProductPriceFixedCreateTypedDict, ProductPriceSeatBasedCreateTypedDict, ProductPriceCustomCreateTypedDict, @@ -78,7 +73,6 @@ Union[ Annotated[ProductPriceCustomCreate, Tag("custom")], Annotated[ProductPriceFixedCreate, Tag("fixed")], - Annotated[ProductPriceFreeCreate, Tag("free")], Annotated[ProductPriceMeteredUnitCreate, Tag("metered_unit")], Annotated[ProductPriceSeatBasedCreate, Tag("seat_based")], ], diff --git a/src/polar_sdk/models/checkoutlinkproduct.py b/src/polar_sdk/models/checkoutlinkproduct.py index 61e70089..2ac0705c 100644 --- a/src/polar_sdk/models/checkoutlinkproduct.py +++ b/src/polar_sdk/models/checkoutlinkproduct.py @@ -10,7 +10,7 @@ from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -49,7 +49,7 @@ class CheckoutLinkProductTypedDict(TypedDict): description: Nullable[str] r"""The description of the product.""" visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.""" @@ -95,7 +95,7 @@ class CheckoutLinkProduct(BaseModel): visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] diff --git a/src/polar_sdk/models/checkoutproduct.py b/src/polar_sdk/models/checkoutproduct.py index 6f6fff4b..5c55c330 100644 --- a/src/polar_sdk/models/checkoutproduct.py +++ b/src/polar_sdk/models/checkoutproduct.py @@ -9,7 +9,7 @@ from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -47,7 +47,7 @@ class CheckoutProductTypedDict(TypedDict): description: Nullable[str] r"""The description of the product.""" visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.""" @@ -91,7 +91,7 @@ class CheckoutProduct(BaseModel): visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] diff --git a/src/polar_sdk/models/customer_portal_orders_generate_invoiceop.py b/src/polar_sdk/models/customer_portal_orders_generate_invoiceop.py index e0959347..4c0761c9 100644 --- a/src/polar_sdk/models/customer_portal_orders_generate_invoiceop.py +++ b/src/polar_sdk/models/customer_portal_orders_generate_invoiceop.py @@ -1,15 +1,10 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .missinginvoicebillingdetails import MissingInvoiceBillingDetailsData -from .notpaidorder import NotPaidOrderData -from dataclasses import dataclass, field -import httpx -from polar_sdk.models import PolarError from polar_sdk.types import BaseModel from polar_sdk.utils import FieldMetadata, PathParamMetadata, SecurityMetadata -from typing import Optional, Union -from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict class CustomerPortalOrdersGenerateInvoiceSecurityTypedDict(TypedDict): @@ -53,31 +48,3 @@ class CustomerPortalOrdersGenerateInvoiceRequest(BaseModel): str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] r"""The order ID.""" - - -CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoiceUnion = TypeAliasType( - "CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoiceUnion", - Union[MissingInvoiceBillingDetailsData, NotPaidOrderData], -) -r"""Order is not paid or is missing billing name or address.""" - - -@dataclass(unsafe_hash=True) -class CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice( - PolarError -): - r"""Order is not paid or is missing billing name or address.""" - - data: CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoiceUnion = field( - hash=False - ) - - def __init__( - self, - data: CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoiceUnion, - raw_response: httpx.Response, - body: Optional[str] = None, - ): - message = body or raw_response.text - super().__init__(message, raw_response, body) - object.__setattr__(self, "data", data) diff --git a/src/polar_sdk/models/customerindividual.py b/src/polar_sdk/models/customerindividual.py index b6f7f4ef..ed52d1c0 100644 --- a/src/polar_sdk/models/customerindividual.py +++ b/src/polar_sdk/models/customerindividual.py @@ -48,7 +48,7 @@ class CustomerIndividualTypedDict(TypedDict): r"""The ID of the organization owning the customer.""" deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: NotRequired[Nullable[str]] r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" type: Literal["individual"] @@ -94,7 +94,7 @@ class CustomerIndividual(BaseModel): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: OptionalNullable[str] = UNSET r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" @@ -123,6 +123,7 @@ def serialize_model(self, handler): "locale", "default_payment_method_id", "deleted_at", + "avatar_url", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerorder.py b/src/polar_sdk/models/customerorder.py index c695a4ad..a8d6cf05 100644 --- a/src/polar_sdk/models/customerorder.py +++ b/src/polar_sdk/models/customerorder.py @@ -74,7 +74,7 @@ class CustomerOrderTypedDict(TypedDict): seats: NotRequired[Nullable[int]] r"""Number of seats purchased (for seat-based one-time orders).""" next_payment_attempt_at: NotRequired[Nullable[datetime]] - r"""When the next payment retry is scheduled""" + r"""When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted.""" class CustomerOrder(BaseModel): @@ -167,7 +167,7 @@ class CustomerOrder(BaseModel): r"""Number of seats purchased (for seat-based one-time orders).""" next_payment_attempt_at: OptionalNullable[datetime] = UNSET - r"""When the next payment retry is scheduled""" + r"""When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted.""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -183,9 +183,9 @@ def serialize_model(self, handler): "discount_id", "subscription_id", "checkout_id", + "next_payment_attempt_at", "product", "subscription", - "next_payment_attempt_at", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerorderproduct.py b/src/polar_sdk/models/customerorderproduct.py index 9ef76256..3d89e37e 100644 --- a/src/polar_sdk/models/customerorderproduct.py +++ b/src/polar_sdk/models/customerorderproduct.py @@ -10,7 +10,7 @@ from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -46,7 +46,7 @@ class CustomerOrderProductTypedDict(TypedDict): description: Nullable[str] r"""The description of the product.""" visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.""" @@ -89,7 +89,7 @@ class CustomerOrderProduct(BaseModel): visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] diff --git a/src/polar_sdk/models/customerordersubscription.py b/src/polar_sdk/models/customerordersubscription.py index c6728019..a93afd42 100644 --- a/src/polar_sdk/models/customerordersubscription.py +++ b/src/polar_sdk/models/customerordersubscription.py @@ -2,7 +2,7 @@ from __future__ import annotations from .customercancellationreason import CustomerCancellationReason -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .subscriptionstatus import SubscriptionStatus from datetime import datetime from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL @@ -21,7 +21,7 @@ class CustomerOrderSubscriptionTypedDict(TypedDict): r"""The amount of the subscription.""" currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval recurring_interval_count: int r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.""" status: SubscriptionStatus @@ -52,6 +52,8 @@ class CustomerOrderSubscriptionTypedDict(TypedDict): checkout_id: Nullable[str] customer_cancellation_reason: Nullable[CustomerCancellationReason] customer_cancellation_comment: Nullable[str] + past_due_at: NotRequired[Nullable[datetime]] + r"""The timestamp when the subscription entered `past_due` status.""" seats: NotRequired[Nullable[int]] r"""The number of seats for seat-based subscriptions. None for non-seat subscriptions.""" @@ -72,7 +74,7 @@ class CustomerOrderSubscription(BaseModel): currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval recurring_interval_count: int r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.""" @@ -121,12 +123,15 @@ class CustomerOrderSubscription(BaseModel): customer_cancellation_comment: Nullable[str] + past_due_at: OptionalNullable[datetime] = UNSET + r"""The timestamp when the subscription entered `past_due` status.""" + seats: OptionalNullable[int] = UNSET r"""The number of seats for seat-based subscriptions. None for non-seat subscriptions.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["seats"] + optional_fields = ["past_due_at", "seats"] nullable_fields = [ "modified_at", "trial_start", @@ -135,6 +140,7 @@ def serialize_model(self, handler): "started_at", "ends_at", "ended_at", + "past_due_at", "discount_id", "checkout_id", "seats", diff --git a/src/polar_sdk/models/customerportalmemberupdate.py b/src/polar_sdk/models/customerportalmemberupdate.py index ac0b40b0..8251e4d1 100644 --- a/src/polar_sdk/models/customerportalmemberupdate.py +++ b/src/polar_sdk/models/customerportalmemberupdate.py @@ -8,22 +8,27 @@ class CustomerPortalMemberUpdateTypedDict(TypedDict): - r"""Schema for updating a member's role in the customer portal.""" + r"""Schema for updating a member in the customer portal.""" + name: NotRequired[Nullable[str]] + r"""The new name for the member.""" role: NotRequired[Nullable[MemberRole]] r"""The new role for the member.""" class CustomerPortalMemberUpdate(BaseModel): - r"""Schema for updating a member's role in the customer portal.""" + r"""Schema for updating a member in the customer portal.""" + + name: OptionalNullable[str] = UNSET + r"""The new name for the member.""" role: OptionalNullable[MemberRole] = UNSET r"""The new role for the member.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["role"] - nullable_fields = ["role"] + optional_fields = ["name", "role"] + nullable_fields = ["name", "role"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/customerproduct.py b/src/polar_sdk/models/customerproduct.py index 4746ae97..4ed441b3 100644 --- a/src/polar_sdk/models/customerproduct.py +++ b/src/polar_sdk/models/customerproduct.py @@ -9,7 +9,7 @@ from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -47,7 +47,7 @@ class CustomerProductTypedDict(TypedDict): description: Nullable[str] r"""The description of the product.""" visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.""" @@ -60,7 +60,7 @@ class CustomerProductTypedDict(TypedDict): prices: List[CustomerProductPricesTypedDict] r"""List of available prices for this product.""" benefits: List[BenefitPublicTypedDict] - r"""The benefits granted by the product.""" + r"""List of benefits granted by the product.""" medias: List[ProductMediaFileReadTypedDict] r"""The medias associated to the product.""" @@ -91,7 +91,7 @@ class CustomerProduct(BaseModel): visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] @@ -110,7 +110,7 @@ class CustomerProduct(BaseModel): r"""List of available prices for this product.""" benefits: List[BenefitPublic] - r"""The benefits granted by the product.""" + r"""List of benefits granted by the product.""" medias: List[ProductMediaFileRead] r"""The medias associated to the product.""" diff --git a/src/polar_sdk/models/customers_exportop.py b/src/polar_sdk/models/customers_exportop.py index 9f227de7..44f894b3 100644 --- a/src/polar_sdk/models/customers_exportop.py +++ b/src/polar_sdk/models/customers_exportop.py @@ -4,7 +4,7 @@ from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer -from typing import Any, List, Union +from typing import List, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict @@ -63,11 +63,3 @@ def serialize_model(self, handler): m[k] = val return m - - -CustomersExportResponseTypedDict = TypeAliasType( - "CustomersExportResponseTypedDict", Union[Any, str] -) - - -CustomersExportResponse = TypeAliasType("CustomersExportResponse", Union[Any, str]) diff --git a/src/polar_sdk/models/customerstateindividual.py b/src/polar_sdk/models/customerstateindividual.py index 86619e21..acb43a0c 100644 --- a/src/polar_sdk/models/customerstateindividual.py +++ b/src/polar_sdk/models/customerstateindividual.py @@ -62,13 +62,13 @@ class CustomerStateIndividualTypedDict(TypedDict): r"""The ID of the organization owning the customer.""" deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" + avatar_url: Nullable[str] active_subscriptions: List[CustomerStateSubscriptionTypedDict] r"""The customer's active subscriptions.""" granted_benefits: List[CustomerStateBenefitGrantTypedDict] r"""The customer's active benefit grants.""" active_meters: List[CustomerStateMeterTypedDict] r"""The customer's active meters.""" - avatar_url: str external_id: NotRequired[Nullable[str]] r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" type: Literal["individual"] @@ -119,6 +119,8 @@ class CustomerStateIndividual(BaseModel): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" + avatar_url: Nullable[str] + active_subscriptions: List[CustomerStateSubscription] r"""The customer's active subscriptions.""" @@ -128,8 +130,6 @@ class CustomerStateIndividual(BaseModel): active_meters: List[CustomerStateMeter] r"""The customer's active meters.""" - avatar_url: str - external_id: OptionalNullable[str] = UNSET r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" @@ -157,6 +157,7 @@ def serialize_model(self, handler): "locale", "default_payment_method_id", "deleted_at", + "avatar_url", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerstatesubscription.py b/src/polar_sdk/models/customerstatesubscription.py index 422ddfc4..55319d82 100644 --- a/src/polar_sdk/models/customerstatesubscription.py +++ b/src/polar_sdk/models/customerstatesubscription.py @@ -6,7 +6,7 @@ CustomerStateSubscriptionMeterTypedDict, ) from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from datetime import datetime from enum import Enum from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -45,7 +45,7 @@ class CustomerStateSubscriptionTypedDict(TypedDict): r"""The amount of the subscription.""" currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval current_period_start: datetime r"""The start timestamp of the current billing period.""" current_period_end: datetime @@ -96,7 +96,7 @@ class CustomerStateSubscription(BaseModel): currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval current_period_start: datetime r"""The start timestamp of the current billing period.""" diff --git a/src/polar_sdk/models/customerstateteam.py b/src/polar_sdk/models/customerstateteam.py index a45fc39a..bd3b453b 100644 --- a/src/polar_sdk/models/customerstateteam.py +++ b/src/polar_sdk/models/customerstateteam.py @@ -60,13 +60,13 @@ class CustomerStateTeamTypedDict(TypedDict): r"""The ID of the organization owning the customer.""" deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" + avatar_url: Nullable[str] active_subscriptions: List[CustomerStateSubscriptionTypedDict] r"""The customer's active subscriptions.""" granted_benefits: List[CustomerStateBenefitGrantTypedDict] r"""The customer's active benefit grants.""" active_meters: List[CustomerStateMeterTypedDict] r"""The customer's active meters.""" - avatar_url: str external_id: NotRequired[Nullable[str]] r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" email: NotRequired[Nullable[str]] @@ -116,6 +116,8 @@ class CustomerStateTeam(BaseModel): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" + avatar_url: Nullable[str] + active_subscriptions: List[CustomerStateSubscription] r"""The customer's active subscriptions.""" @@ -125,8 +127,6 @@ class CustomerStateTeam(BaseModel): active_meters: List[CustomerStateMeter] r"""The customer's active meters.""" - avatar_url: str - external_id: OptionalNullable[str] = UNSET r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" @@ -163,6 +163,7 @@ def serialize_model(self, handler): "locale", "default_payment_method_id", "deleted_at", + "avatar_url", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customersubscription.py b/src/polar_sdk/models/customersubscription.py index 007f7be2..b660532a 100644 --- a/src/polar_sdk/models/customersubscription.py +++ b/src/polar_sdk/models/customersubscription.py @@ -19,7 +19,7 @@ PendingSubscriptionUpdateTypedDict, ) from .productprice import ProductPrice, ProductPriceTypedDict -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .subscriptionstatus import SubscriptionStatus from datetime import datetime from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL @@ -50,7 +50,7 @@ class CustomerSubscriptionTypedDict(TypedDict): r"""The amount of the subscription.""" currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval recurring_interval_count: int r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.""" status: SubscriptionStatus @@ -88,6 +88,8 @@ class CustomerSubscriptionTypedDict(TypedDict): r"""List of meters associated with the subscription.""" pending_update: Nullable[PendingSubscriptionUpdateTypedDict] r"""Pending subscription update that will be applied at the beginning of the next period. If `null`, there is no pending update.""" + past_due_at: NotRequired[Nullable[datetime]] + r"""The timestamp when the subscription entered `past_due` status.""" seats: NotRequired[Nullable[int]] r"""The number of seats for seat-based subscriptions. None for non-seat subscriptions.""" @@ -108,7 +110,7 @@ class CustomerSubscription(BaseModel): currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval recurring_interval_count: int r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.""" @@ -168,12 +170,15 @@ class CustomerSubscription(BaseModel): pending_update: Nullable[PendingSubscriptionUpdate] r"""Pending subscription update that will be applied at the beginning of the next period. If `null`, there is no pending update.""" + past_due_at: OptionalNullable[datetime] = UNSET + r"""The timestamp when the subscription entered `past_due` status.""" + seats: OptionalNullable[int] = UNSET r"""The number of seats for seat-based subscriptions. None for non-seat subscriptions.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["seats"] + optional_fields = ["past_due_at", "seats"] nullable_fields = [ "modified_at", "trial_start", @@ -182,6 +187,7 @@ def serialize_model(self, handler): "started_at", "ends_at", "ended_at", + "past_due_at", "discount_id", "checkout_id", "seats", diff --git a/src/polar_sdk/models/customersubscriptionproduct.py b/src/polar_sdk/models/customersubscriptionproduct.py index 2b5a0c77..d1b92e16 100644 --- a/src/polar_sdk/models/customersubscriptionproduct.py +++ b/src/polar_sdk/models/customersubscriptionproduct.py @@ -10,7 +10,7 @@ from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -47,7 +47,7 @@ class CustomerSubscriptionProductTypedDict(TypedDict): description: Nullable[str] r"""The description of the product.""" visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.""" @@ -90,7 +90,7 @@ class CustomerSubscriptionProduct(BaseModel): visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] diff --git a/src/polar_sdk/models/customerteam.py b/src/polar_sdk/models/customerteam.py index e82cf2e8..8ac54064 100644 --- a/src/polar_sdk/models/customerteam.py +++ b/src/polar_sdk/models/customerteam.py @@ -44,7 +44,7 @@ class CustomerTeamTypedDict(TypedDict): r"""The ID of the organization owning the customer.""" deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: NotRequired[Nullable[str]] r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" email: NotRequired[Nullable[str]] @@ -89,7 +89,7 @@ class CustomerTeam(BaseModel): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: OptionalNullable[str] = UNSET r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" @@ -127,6 +127,7 @@ def serialize_model(self, handler): "locale", "default_payment_method_id", "deleted_at", + "avatar_url", ] null_default_fields = [] diff --git a/src/polar_sdk/models/discountproduct.py b/src/polar_sdk/models/discountproduct.py index 6ca69cb1..c5877751 100644 --- a/src/polar_sdk/models/discountproduct.py +++ b/src/polar_sdk/models/discountproduct.py @@ -3,7 +3,7 @@ from __future__ import annotations from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -31,7 +31,7 @@ class DiscountProductTypedDict(TypedDict): description: Nullable[str] r"""The description of the product.""" visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.""" @@ -71,7 +71,7 @@ class DiscountProduct(BaseModel): visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] diff --git a/src/polar_sdk/models/dispute.py b/src/polar_sdk/models/dispute.py index 1f9e2119..5895e937 100644 --- a/src/polar_sdk/models/dispute.py +++ b/src/polar_sdk/models/dispute.py @@ -35,6 +35,8 @@ class DisputeTypedDict(TypedDict): r"""The ID of the order associated with the dispute.""" payment_id: str r"""The ID of the payment associated with the dispute.""" + case_id: Nullable[str] + r"""The ID of the support case for this dispute, if one was opened.""" class Dispute(BaseModel): @@ -75,10 +77,13 @@ class Dispute(BaseModel): payment_id: str r"""The ID of the payment associated with the dispute.""" + case_id: Nullable[str] + r"""The ID of the support case for this dispute, if one was opened.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [] - nullable_fields = ["modified_at"] + nullable_fields = ["modified_at", "case_id"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/filecreate.py b/src/polar_sdk/models/filecreate.py index 123ec8f8..d4c1235a 100644 --- a/src/polar_sdk/models/filecreate.py +++ b/src/polar_sdk/models/filecreate.py @@ -13,6 +13,10 @@ ProductMediaFileCreate, ProductMediaFileCreateTypedDict, ) +from .supportcaseattachmentfilecreate import ( + SupportCaseAttachmentFileCreate, + SupportCaseAttachmentFileCreateTypedDict, +) from polar_sdk.utils import get_discriminator from pydantic import Discriminator, Tag from typing import Union @@ -25,6 +29,7 @@ DownloadableFileCreateTypedDict, ProductMediaFileCreateTypedDict, OrganizationAvatarFileCreateTypedDict, + SupportCaseAttachmentFileCreateTypedDict, ], ) @@ -34,6 +39,7 @@ Annotated[DownloadableFileCreate, Tag("downloadable")], Annotated[OrganizationAvatarFileCreate, Tag("organization_avatar")], Annotated[ProductMediaFileCreate, Tag("product_media")], + Annotated[SupportCaseAttachmentFileCreate, Tag("support_case_attachment")], ], Discriminator(lambda m: get_discriminator(m, "service", "service")), ] diff --git a/src/polar_sdk/models/files_updateop.py b/src/polar_sdk/models/files_updateop.py index 89218744..ccce52c3 100644 --- a/src/polar_sdk/models/files_updateop.py +++ b/src/polar_sdk/models/files_updateop.py @@ -8,6 +8,10 @@ OrganizationAvatarFileReadTypedDict, ) from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict +from .supportcaseattachmentfileread import ( + SupportCaseAttachmentFileRead, + SupportCaseAttachmentFileReadTypedDict, +) from polar_sdk.types import BaseModel from polar_sdk.utils import ( FieldMetadata, @@ -41,6 +45,7 @@ class FilesUpdateRequest(BaseModel): "FilesUpdateResponseFilesUpdateTypedDict", Union[ DownloadableFileReadTypedDict, + SupportCaseAttachmentFileReadTypedDict, ProductMediaFileReadTypedDict, OrganizationAvatarFileReadTypedDict, ], @@ -53,6 +58,7 @@ class FilesUpdateRequest(BaseModel): Annotated[DownloadableFileRead, Tag("downloadable")], Annotated[ProductMediaFileRead, Tag("product_media")], Annotated[OrganizationAvatarFileRead, Tag("organization_avatar")], + Annotated[SupportCaseAttachmentFileRead, Tag("support_case_attachment")], ], Discriminator(lambda m: get_discriminator(m, "service", "service")), ] diff --git a/src/polar_sdk/models/files_uploadedop.py b/src/polar_sdk/models/files_uploadedop.py index c1041a17..2cb13eb4 100644 --- a/src/polar_sdk/models/files_uploadedop.py +++ b/src/polar_sdk/models/files_uploadedop.py @@ -8,6 +8,10 @@ OrganizationAvatarFileReadTypedDict, ) from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict +from .supportcaseattachmentfileread import ( + SupportCaseAttachmentFileRead, + SupportCaseAttachmentFileReadTypedDict, +) from polar_sdk.types import BaseModel from polar_sdk.utils import ( FieldMetadata, @@ -42,6 +46,7 @@ class FilesUploadedRequest(BaseModel): "FilesUploadedResponseFilesUploadedTypedDict", Union[ DownloadableFileReadTypedDict, + SupportCaseAttachmentFileReadTypedDict, ProductMediaFileReadTypedDict, OrganizationAvatarFileReadTypedDict, ], @@ -54,6 +59,7 @@ class FilesUploadedRequest(BaseModel): Annotated[DownloadableFileRead, Tag("downloadable")], Annotated[ProductMediaFileRead, Tag("product_media")], Annotated[OrganizationAvatarFileRead, Tag("organization_avatar")], + Annotated[SupportCaseAttachmentFileRead, Tag("support_case_attachment")], ], Discriminator(lambda m: get_discriminator(m, "service", "service")), ] diff --git a/src/polar_sdk/models/fileservicetypes.py b/src/polar_sdk/models/fileservicetypes.py index edc374ba..5fb81cec 100644 --- a/src/polar_sdk/models/fileservicetypes.py +++ b/src/polar_sdk/models/fileservicetypes.py @@ -8,3 +8,4 @@ class FileServiceTypes(str, Enum): DOWNLOADABLE = "downloadable" PRODUCT_MEDIA = "product_media" ORGANIZATION_AVATAR = "organization_avatar" + SUPPORT_CASE_ATTACHMENT = "support_case_attachment" diff --git a/src/polar_sdk/models/genericpayment.py b/src/polar_sdk/models/genericpayment.py index 1f6c2fcb..e58c8b1a 100644 --- a/src/polar_sdk/models/genericpayment.py +++ b/src/polar_sdk/models/genericpayment.py @@ -3,8 +3,9 @@ from __future__ import annotations from .paymentprocessor import PaymentProcessor from .paymentstatus import PaymentStatus +from .paymenttrigger import PaymentTrigger from datetime import datetime -from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL +from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from pydantic import model_serializer from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict @@ -37,6 +38,8 @@ class GenericPaymentTypedDict(TypedDict): r"""The ID of the checkout session associated with this payment.""" order_id: Nullable[str] r"""The ID of the order associated with this payment.""" + trigger: NotRequired[Nullable[PaymentTrigger]] + r"""What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry.""" processor_metadata: NotRequired[Dict[str, Any]] r"""Additional metadata from the payment processor for internal use.""" @@ -81,14 +84,18 @@ class GenericPayment(BaseModel): order_id: Nullable[str] r"""The ID of the order associated with this payment.""" + trigger: OptionalNullable[PaymentTrigger] = UNSET + r"""What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry.""" + processor_metadata: Optional[Dict[str, Any]] = None r"""Additional metadata from the payment processor for internal use.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["processor_metadata"] + optional_fields = ["trigger", "processor_metadata"] nullable_fields = [ "modified_at", + "trigger", "decline_reason", "decline_message", "checkout_id", diff --git a/src/polar_sdk/models/introspecttokenresponse.py b/src/polar_sdk/models/introspecttokenresponse.py index 7d2f167e..2939e54f 100644 --- a/src/polar_sdk/models/introspecttokenresponse.py +++ b/src/polar_sdk/models/introspecttokenresponse.py @@ -4,6 +4,7 @@ from .subtype import SubType from enum import Enum from polar_sdk.types import BaseModel +from typing import List from typing_extensions import TypedDict @@ -19,6 +20,7 @@ class IntrospectTokenResponseTypedDict(TypedDict): scope: str sub_type: SubType sub: str + organizations: List[str] aud: str iss: str exp: int @@ -38,6 +40,8 @@ class IntrospectTokenResponse(BaseModel): sub: str + organizations: List[str] + aud: str iss: str diff --git a/src/polar_sdk/models/legacyrecurringproductprice.py b/src/polar_sdk/models/legacyrecurringproductprice.py index b36505f0..8ad26aab 100644 --- a/src/polar_sdk/models/legacyrecurringproductprice.py +++ b/src/polar_sdk/models/legacyrecurringproductprice.py @@ -9,10 +9,6 @@ LegacyRecurringProductPriceFixed, LegacyRecurringProductPriceFixedTypedDict, ) -from .legacyrecurringproductpricefree import ( - LegacyRecurringProductPriceFree, - LegacyRecurringProductPriceFreeTypedDict, -) from polar_sdk.utils import get_discriminator from pydantic import Discriminator, Tag from typing import Union @@ -22,7 +18,6 @@ LegacyRecurringProductPriceTypedDict = TypeAliasType( "LegacyRecurringProductPriceTypedDict", Union[ - LegacyRecurringProductPriceFreeTypedDict, LegacyRecurringProductPriceFixedTypedDict, LegacyRecurringProductPriceCustomTypedDict, ], @@ -33,7 +28,6 @@ Union[ Annotated[LegacyRecurringProductPriceCustom, Tag("custom")], Annotated[LegacyRecurringProductPriceFixed, Tag("fixed")], - Annotated[LegacyRecurringProductPriceFree, Tag("free")], ], Discriminator(lambda m: get_discriminator(m, "amount_type", "amount_type")), ] diff --git a/src/polar_sdk/models/legacyrecurringproductpricecustom.py b/src/polar_sdk/models/legacyrecurringproductpricecustom.py index 2f9e694c..52661b0f 100644 --- a/src/polar_sdk/models/legacyrecurringproductpricecustom.py +++ b/src/polar_sdk/models/legacyrecurringproductpricecustom.py @@ -2,7 +2,7 @@ from __future__ import annotations from .productpricesource import ProductPriceSource -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .taxbehavioroption import TaxBehaviorOption from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -35,7 +35,7 @@ class LegacyRecurringProductPriceCustomTypedDict(TypedDict): r"""Whether the price is archived and no longer available.""" product_id: str r"""The ID of the product owning the price.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval minimum_amount: int r"""The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'.""" maximum_amount: Nullable[int] @@ -77,7 +77,7 @@ class LegacyRecurringProductPriceCustom(BaseModel): product_id: str r"""The ID of the product owning the price.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval minimum_amount: int r"""The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'.""" diff --git a/src/polar_sdk/models/legacyrecurringproductpricefixed.py b/src/polar_sdk/models/legacyrecurringproductpricefixed.py index 632d243d..df047f48 100644 --- a/src/polar_sdk/models/legacyrecurringproductpricefixed.py +++ b/src/polar_sdk/models/legacyrecurringproductpricefixed.py @@ -2,7 +2,7 @@ from __future__ import annotations from .productpricesource import ProductPriceSource -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .taxbehavioroption import TaxBehaviorOption from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -35,7 +35,7 @@ class LegacyRecurringProductPriceFixedTypedDict(TypedDict): r"""Whether the price is archived and no longer available.""" product_id: str r"""The ID of the product owning the price.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval price_amount: int r"""The price in cents.""" amount_type: Literal["fixed"] @@ -73,7 +73,7 @@ class LegacyRecurringProductPriceFixed(BaseModel): product_id: str r"""The ID of the product owning the price.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval price_amount: int r"""The price in cents.""" diff --git a/src/polar_sdk/models/legacyrecurringproductpricefree.py b/src/polar_sdk/models/legacyrecurringproductpricefree.py deleted file mode 100644 index 9165eb3b..00000000 --- a/src/polar_sdk/models/legacyrecurringproductpricefree.py +++ /dev/null @@ -1,120 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .productpricesource import ProductPriceSource -from .subscriptionrecurringinterval import SubscriptionRecurringInterval -from .taxbehavioroption import TaxBehaviorOption -from datetime import datetime -from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL -from polar_sdk.utils import validate_const -import pydantic -from pydantic import model_serializer -from pydantic.functional_validators import AfterValidator -from typing import Literal -from typing_extensions import Annotated, TypedDict - - -class LegacyRecurringProductPriceFreeTypedDict(TypedDict): - r"""A free recurring price for a product, i.e. a subscription. - - **Deprecated**: The recurring interval should be set on the product itself. - """ - - created_at: datetime - r"""Creation timestamp of the object.""" - modified_at: Nullable[datetime] - r"""Last modification timestamp of the object.""" - id: str - r"""The ID of the price.""" - source: ProductPriceSource - price_currency: str - r"""The currency in which the customer will be charged.""" - tax_behavior: Nullable[TaxBehaviorOption] - r"""The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" - is_archived: bool - r"""Whether the price is archived and no longer available.""" - product_id: str - r"""The ID of the product owning the price.""" - recurring_interval: SubscriptionRecurringInterval - amount_type: Literal["free"] - type: Literal["recurring"] - r"""The type of the price.""" - legacy: Literal[True] - - -class LegacyRecurringProductPriceFree(BaseModel): - r"""A free recurring price for a product, i.e. a subscription. - - **Deprecated**: The recurring interval should be set on the product itself. - """ - - created_at: datetime - r"""Creation timestamp of the object.""" - - modified_at: Nullable[datetime] - r"""Last modification timestamp of the object.""" - - id: str - r"""The ID of the price.""" - - source: ProductPriceSource - - price_currency: str - r"""The currency in which the customer will be charged.""" - - tax_behavior: Nullable[TaxBehaviorOption] - r"""The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" - - is_archived: bool - r"""Whether the price is archived and no longer available.""" - - product_id: str - r"""The ID of the product owning the price.""" - - recurring_interval: SubscriptionRecurringInterval - - AMOUNT_TYPE: Annotated[ - Annotated[Literal["free"], AfterValidator(validate_const("free"))], - pydantic.Field(alias="amount_type"), - ] = "free" - - TYPE: Annotated[ - Annotated[Literal["recurring"], AfterValidator(validate_const("recurring"))], - pydantic.Field(alias="type"), - ] = "recurring" - r"""The type of the price.""" - - LEGACY: Annotated[ - Annotated[Literal[True], AfterValidator(validate_const(True))], - pydantic.Field(alias="legacy"), - ] = True - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = [] - nullable_fields = ["modified_at", "tax_behavior"] - null_default_fields = [] - - serialized = handler(self) - - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k) - serialized.pop(k, None) - - optional_nullable = k in optional_fields and k in nullable_fields - is_set = ( - self.__pydantic_fields_set__.intersection({n}) - or k in null_default_fields - ) # pylint: disable=no-member - - if val is not None and val != UNSET_SENTINEL: - m[k] = val - elif val != UNSET_SENTINEL and ( - not k in optional_fields or (optional_nullable and is_set) - ): - m[k] = val - - return m diff --git a/src/polar_sdk/models/licensekeycustomer.py b/src/polar_sdk/models/licensekeycustomer.py index 73efebf7..0915d8bb 100644 --- a/src/polar_sdk/models/licensekeycustomer.py +++ b/src/polar_sdk/models/licensekeycustomer.py @@ -43,7 +43,7 @@ class LicenseKeyCustomerTypedDict(TypedDict): r"""The ID of the organization owning the customer.""" deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: NotRequired[Nullable[str]] r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" email: NotRequired[Nullable[str]] @@ -86,7 +86,7 @@ class LicenseKeyCustomer(BaseModel): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: OptionalNullable[str] = UNSET r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" @@ -118,6 +118,7 @@ def serialize_model(self, handler): "locale", "default_payment_method_id", "deleted_at", + "avatar_url", ] null_default_fields = [] diff --git a/src/polar_sdk/models/listresource_fileread_.py b/src/polar_sdk/models/listresource_fileread_.py index 7eb2aa4c..13a08b4d 100644 --- a/src/polar_sdk/models/listresource_fileread_.py +++ b/src/polar_sdk/models/listresource_fileread_.py @@ -8,6 +8,10 @@ ) from .pagination import Pagination, PaginationTypedDict from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict +from .supportcaseattachmentfileread import ( + SupportCaseAttachmentFileRead, + SupportCaseAttachmentFileReadTypedDict, +) from polar_sdk.types import BaseModel from polar_sdk.utils import get_discriminator from pydantic import Discriminator, Tag @@ -19,6 +23,7 @@ "FileReadTypedDict", Union[ DownloadableFileReadTypedDict, + SupportCaseAttachmentFileReadTypedDict, ProductMediaFileReadTypedDict, OrganizationAvatarFileReadTypedDict, ], @@ -30,6 +35,7 @@ Annotated[DownloadableFileRead, Tag("downloadable")], Annotated[OrganizationAvatarFileRead, Tag("organization_avatar")], Annotated[ProductMediaFileRead, Tag("product_media")], + Annotated[SupportCaseAttachmentFileRead, Tag("support_case_attachment")], ], Discriminator(lambda m: get_discriminator(m, "service", "service")), ] diff --git a/src/polar_sdk/models/listresource_organizationaccesstoken_.py b/src/polar_sdk/models/listresource_organizationaccesstoken_.py deleted file mode 100644 index dd715358..00000000 --- a/src/polar_sdk/models/listresource_organizationaccesstoken_.py +++ /dev/null @@ -1,22 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .organizationaccesstoken import ( - OrganizationAccessToken, - OrganizationAccessTokenTypedDict, -) -from .pagination import Pagination, PaginationTypedDict -from polar_sdk.types import BaseModel -from typing import List -from typing_extensions import TypedDict - - -class ListResourceOrganizationAccessTokenTypedDict(TypedDict): - items: List[OrganizationAccessTokenTypedDict] - pagination: PaginationTypedDict - - -class ListResourceOrganizationAccessToken(BaseModel): - items: List[OrganizationAccessToken] - - pagination: Pagination diff --git a/src/polar_sdk/models/memberupdate.py b/src/polar_sdk/models/memberupdate.py index 1e1aeef0..16860434 100644 --- a/src/polar_sdk/models/memberupdate.py +++ b/src/polar_sdk/models/memberupdate.py @@ -11,6 +11,7 @@ class MemberUpdateTypedDict(TypedDict): r"""Schema for updating a member.""" name: NotRequired[Nullable[str]] + email: NotRequired[Nullable[str]] role: NotRequired[Nullable[MemberRole]] r"""The role of the member within the customer.""" @@ -20,13 +21,15 @@ class MemberUpdate(BaseModel): name: OptionalNullable[str] = UNSET + email: OptionalNullable[str] = UNSET + role: OptionalNullable[MemberRole] = UNSET r"""The role of the member within the customer.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["name", "role"] - nullable_fields = ["name", "role"] + optional_fields = ["name", "email", "role"] + nullable_fields = ["name", "email", "role"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/metrics_exportop.py b/src/polar_sdk/models/metrics_exportop.py index 72770bf9..f1a24718 100644 --- a/src/polar_sdk/models/metrics_exportop.py +++ b/src/polar_sdk/models/metrics_exportop.py @@ -7,7 +7,7 @@ from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer -from typing import Any, List, Optional, Union +from typing import List, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict @@ -181,11 +181,3 @@ def serialize_model(self, handler): m[k] = val return m - - -MetricsExportResponseTypedDict = TypeAliasType( - "MetricsExportResponseTypedDict", Union[Any, str] -) - - -MetricsExportResponse = TypeAliasType("MetricsExportResponse", Union[Any, str]) diff --git a/src/polar_sdk/models/notpaidorder.py b/src/polar_sdk/models/notpaidorder.py deleted file mode 100644 index 0c6b7f93..00000000 --- a/src/polar_sdk/models/notpaidorder.py +++ /dev/null @@ -1,38 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from dataclasses import dataclass, field -import httpx -from polar_sdk.models import PolarError -from polar_sdk.types import BaseModel -from polar_sdk.utils import validate_const -import pydantic -from pydantic.functional_validators import AfterValidator -from typing import Literal, Optional -from typing_extensions import Annotated - - -class NotPaidOrderData(BaseModel): - detail: str - - ERROR: Annotated[ - Annotated[ - Literal["NotPaidOrder"], AfterValidator(validate_const("NotPaidOrder")) - ], - pydantic.Field(alias="error"), - ] = "NotPaidOrder" - - -@dataclass(unsafe_hash=True) -class NotPaidOrder(PolarError): - data: NotPaidOrderData = field(hash=False) - - def __init__( - self, - data: NotPaidOrderData, - raw_response: httpx.Response, - body: Optional[str] = None, - ): - message = body or raw_response.text - super().__init__(message, raw_response, body) - object.__setattr__(self, "data", data) diff --git a/src/polar_sdk/models/oauth2clientconfiguration.py b/src/polar_sdk/models/oauth2clientconfiguration.py index 408df6d5..5d404084 100644 --- a/src/polar_sdk/models/oauth2clientconfiguration.py +++ b/src/polar_sdk/models/oauth2clientconfiguration.py @@ -48,7 +48,7 @@ class OAuth2ClientConfiguration(BaseModel): response_types: Optional[List[str]] = None scope: Optional[str] = ( - "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write organization_access_tokens:read organization_access_tokens:write" + "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write" ) client_uri: OptionalNullable[str] = UNSET diff --git a/src/polar_sdk/models/oauth2clientconfigurationupdate.py b/src/polar_sdk/models/oauth2clientconfigurationupdate.py index 8abffdbb..f7e97856 100644 --- a/src/polar_sdk/models/oauth2clientconfigurationupdate.py +++ b/src/polar_sdk/models/oauth2clientconfigurationupdate.py @@ -53,7 +53,7 @@ class OAuth2ClientConfigurationUpdate(BaseModel): response_types: Optional[List[str]] = None scope: Optional[str] = ( - "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write organization_access_tokens:read organization_access_tokens:write" + "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write" ) client_uri: OptionalNullable[str] = UNSET diff --git a/src/polar_sdk/models/order.py b/src/polar_sdk/models/order.py index 97caad69..fe284455 100644 --- a/src/polar_sdk/models/order.py +++ b/src/polar_sdk/models/order.py @@ -127,6 +127,8 @@ class OrderTypedDict(TypedDict): r"""Sales tax in cents that would be refunded if the full refundable amount is refunded.""" seats: NotRequired[Nullable[int]] r"""Number of seats purchased (for seat-based one-time orders).""" + next_payment_attempt_at: NotRequired[Nullable[datetime]] + r"""When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted.""" custom_field_data: NotRequired[Dict[str, Nullable[OrderCustomFieldDataTypedDict]]] r"""Key-value object storing custom field values.""" @@ -232,12 +234,15 @@ class Order(BaseModel): seats: OptionalNullable[int] = UNSET r"""Number of seats purchased (for seat-based one-time orders).""" + next_payment_attempt_at: OptionalNullable[datetime] = UNSET + r"""When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted.""" + custom_field_data: Optional[Dict[str, Nullable[OrderCustomFieldData]]] = None r"""Key-value object storing custom field values.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["seats", "custom_field_data"] + optional_fields = ["seats", "next_payment_attempt_at", "custom_field_data"] nullable_fields = [ "modified_at", "billing_name", @@ -249,6 +254,7 @@ def serialize_model(self, handler): "discount_id", "subscription_id", "checkout_id", + "next_payment_attempt_at", "platform_fee_currency", "product", "discount", diff --git a/src/polar_sdk/models/ordercustomer.py b/src/polar_sdk/models/ordercustomer.py index a355a13b..3a25afa9 100644 --- a/src/polar_sdk/models/ordercustomer.py +++ b/src/polar_sdk/models/ordercustomer.py @@ -41,7 +41,7 @@ class OrderCustomerTypedDict(TypedDict): r"""The ID of the organization owning the customer.""" deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: NotRequired[Nullable[str]] r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" email: NotRequired[Nullable[str]] @@ -84,7 +84,7 @@ class OrderCustomer(BaseModel): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: OptionalNullable[str] = UNSET r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" @@ -116,6 +116,7 @@ def serialize_model(self, handler): "locale", "default_payment_method_id", "deleted_at", + "avatar_url", ] null_default_fields = [] diff --git a/src/polar_sdk/models/orderproduct.py b/src/polar_sdk/models/orderproduct.py index a913edf3..1fbfad2a 100644 --- a/src/polar_sdk/models/orderproduct.py +++ b/src/polar_sdk/models/orderproduct.py @@ -3,7 +3,7 @@ from __future__ import annotations from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -29,7 +29,7 @@ class OrderProductTypedDict(TypedDict): description: Nullable[str] r"""The description of the product.""" visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.""" @@ -67,7 +67,7 @@ class OrderProduct(BaseModel): visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] diff --git a/src/polar_sdk/models/orders_exportop.py b/src/polar_sdk/models/orders_exportop.py index fa5b6a10..3c8fd1bd 100644 --- a/src/polar_sdk/models/orders_exportop.py +++ b/src/polar_sdk/models/orders_exportop.py @@ -4,7 +4,7 @@ from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer -from typing import Any, List, Union +from typing import List, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict @@ -83,11 +83,3 @@ def serialize_model(self, handler): m[k] = val return m - - -OrdersExportResponseTypedDict = TypeAliasType( - "OrdersExportResponseTypedDict", Union[Any, str] -) - - -OrdersExportResponse = TypeAliasType("OrdersExportResponse", Union[Any, str]) diff --git a/src/polar_sdk/models/orders_generate_invoiceop.py b/src/polar_sdk/models/orders_generate_invoiceop.py index b74d8741..162b4d32 100644 --- a/src/polar_sdk/models/orders_generate_invoiceop.py +++ b/src/polar_sdk/models/orders_generate_invoiceop.py @@ -1,15 +1,9 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .missinginvoicebillingdetails import MissingInvoiceBillingDetailsData -from .notpaidorder import NotPaidOrderData -from dataclasses import dataclass, field -import httpx -from polar_sdk.models import PolarError from polar_sdk.types import BaseModel from polar_sdk.utils import FieldMetadata, PathParamMetadata -from typing import Optional, Union -from typing_extensions import Annotated, TypeAliasType, TypedDict +from typing_extensions import Annotated, TypedDict class OrdersGenerateInvoiceRequestTypedDict(TypedDict): @@ -22,27 +16,3 @@ class OrdersGenerateInvoiceRequest(BaseModel): str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) ] r"""The order ID.""" - - -OrdersGenerateInvoiceResponse422OrdersGenerateInvoiceUnion = TypeAliasType( - "OrdersGenerateInvoiceResponse422OrdersGenerateInvoiceUnion", - Union[MissingInvoiceBillingDetailsData, NotPaidOrderData], -) -r"""Order is not paid or is missing billing name or address.""" - - -@dataclass(unsafe_hash=True) -class OrdersGenerateInvoiceResponse422OrdersGenerateInvoice(PolarError): - r"""Order is not paid or is missing billing name or address.""" - - data: OrdersGenerateInvoiceResponse422OrdersGenerateInvoiceUnion = field(hash=False) - - def __init__( - self, - data: OrdersGenerateInvoiceResponse422OrdersGenerateInvoiceUnion, - raw_response: httpx.Response, - body: Optional[str] = None, - ): - message = body or raw_response.text - super().__init__(message, raw_response, body) - object.__setattr__(self, "data", data) diff --git a/src/polar_sdk/models/ordersubscription.py b/src/polar_sdk/models/ordersubscription.py index 18865eb6..c8f3a98b 100644 --- a/src/polar_sdk/models/ordersubscription.py +++ b/src/polar_sdk/models/ordersubscription.py @@ -3,7 +3,7 @@ from __future__ import annotations from .customercancellationreason import CustomerCancellationReason from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .subscriptionstatus import SubscriptionStatus from datetime import datetime from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL @@ -24,7 +24,7 @@ class OrderSubscriptionTypedDict(TypedDict): r"""The amount of the subscription.""" currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval recurring_interval_count: int r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.""" status: SubscriptionStatus @@ -55,6 +55,8 @@ class OrderSubscriptionTypedDict(TypedDict): checkout_id: Nullable[str] customer_cancellation_reason: Nullable[CustomerCancellationReason] customer_cancellation_comment: Nullable[str] + past_due_at: NotRequired[Nullable[datetime]] + r"""The timestamp when the subscription entered `past_due` status.""" seats: NotRequired[Nullable[int]] r"""The number of seats for seat-based subscriptions. None for non-seat subscriptions.""" @@ -77,7 +79,7 @@ class OrderSubscription(BaseModel): currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval recurring_interval_count: int r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.""" @@ -126,12 +128,15 @@ class OrderSubscription(BaseModel): customer_cancellation_comment: Nullable[str] + past_due_at: OptionalNullable[datetime] = UNSET + r"""The timestamp when the subscription entered `past_due` status.""" + seats: OptionalNullable[int] = UNSET r"""The number of seats for seat-based subscriptions. None for non-seat subscriptions.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["seats"] + optional_fields = ["past_due_at", "seats"] nullable_fields = [ "modified_at", "trial_start", @@ -140,6 +145,7 @@ def serialize_model(self, handler): "started_at", "ends_at", "ended_at", + "past_due_at", "discount_id", "checkout_id", "seats", diff --git a/src/polar_sdk/models/organization.py b/src/polar_sdk/models/organization.py index 15c356ea..4c58f2ca 100644 --- a/src/polar_sdk/models/organization.py +++ b/src/polar_sdk/models/organization.py @@ -17,10 +17,6 @@ OrganizationFeatureSettings, OrganizationFeatureSettingsTypedDict, ) -from .organizationnotificationsettings import ( - OrganizationNotificationSettings, - OrganizationNotificationSettingsTypedDict, -) from .organizationsociallink import ( OrganizationSocialLink, OrganizationSocialLinkTypedDict, @@ -323,7 +319,6 @@ class OrganizationTypedDict(TypedDict): feature_settings: Nullable[OrganizationFeatureSettingsTypedDict] r"""Organization feature settings""" subscription_settings: OrganizationSubscriptionSettingsTypedDict - notification_settings: OrganizationNotificationSettingsTypedDict customer_email_settings: OrganizationCustomerEmailSettingsTypedDict customer_portal_settings: OrganizationCustomerPortalSettingsTypedDict account_id: Nullable[str] @@ -383,8 +378,6 @@ class Organization(BaseModel): subscription_settings: OrganizationSubscriptionSettings - notification_settings: OrganizationNotificationSettings - customer_email_settings: OrganizationCustomerEmailSettings customer_portal_settings: OrganizationCustomerPortalSettings diff --git a/src/polar_sdk/models/organization_access_tokens_deleteop.py b/src/polar_sdk/models/organization_access_tokens_deleteop.py deleted file mode 100644 index aca4d962..00000000 --- a/src/polar_sdk/models/organization_access_tokens_deleteop.py +++ /dev/null @@ -1,16 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from polar_sdk.types import BaseModel -from polar_sdk.utils import FieldMetadata, PathParamMetadata -from typing_extensions import Annotated, TypedDict - - -class OrganizationAccessTokensDeleteRequestTypedDict(TypedDict): - id: str - - -class OrganizationAccessTokensDeleteRequest(BaseModel): - id: Annotated[ - str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) - ] diff --git a/src/polar_sdk/models/organization_access_tokens_listop.py b/src/polar_sdk/models/organization_access_tokens_listop.py deleted file mode 100644 index eee149f2..00000000 --- a/src/polar_sdk/models/organization_access_tokens_listop.py +++ /dev/null @@ -1,105 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .listresource_organizationaccesstoken_ import ( - ListResourceOrganizationAccessToken, - ListResourceOrganizationAccessTokenTypedDict, -) -from .organizationaccesstokensortproperty import OrganizationAccessTokenSortProperty -from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL -from polar_sdk.utils import FieldMetadata, QueryParamMetadata -from pydantic import model_serializer -from typing import Callable, List, Optional, Union -from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict - - -OrganizationAccessTokensListQueryParamOrganizationIDFilterTypedDict = TypeAliasType( - "OrganizationAccessTokensListQueryParamOrganizationIDFilterTypedDict", - Union[str, List[str]], -) -r"""Filter by organization ID.""" - - -OrganizationAccessTokensListQueryParamOrganizationIDFilter = TypeAliasType( - "OrganizationAccessTokensListQueryParamOrganizationIDFilter", Union[str, List[str]] -) -r"""Filter by organization ID.""" - - -class OrganizationAccessTokensListRequestTypedDict(TypedDict): - organization_id: NotRequired[ - Nullable[OrganizationAccessTokensListQueryParamOrganizationIDFilterTypedDict] - ] - r"""Filter by organization ID.""" - page: NotRequired[int] - r"""Page number, defaults to 1.""" - limit: NotRequired[int] - r"""Size of a page, defaults to 10. Maximum is 100.""" - sorting: NotRequired[Nullable[List[OrganizationAccessTokenSortProperty]]] - r"""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.""" - - -class OrganizationAccessTokensListRequest(BaseModel): - organization_id: Annotated[ - OptionalNullable[OrganizationAccessTokensListQueryParamOrganizationIDFilter], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = UNSET - r"""Filter by organization ID.""" - - page: Annotated[ - Optional[int], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = 1 - r"""Page number, defaults to 1.""" - - limit: Annotated[ - Optional[int], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = 10 - r"""Size of a page, defaults to 10. Maximum is 100.""" - - sorting: Annotated[ - OptionalNullable[List[OrganizationAccessTokenSortProperty]], - FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = UNSET - r"""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.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = ["organization_id", "page", "limit", "sorting"] - nullable_fields = ["organization_id", "sorting"] - null_default_fields = [] - - serialized = handler(self) - - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k) - serialized.pop(k, None) - - optional_nullable = k in optional_fields and k in nullable_fields - is_set = ( - self.__pydantic_fields_set__.intersection({n}) - or k in null_default_fields - ) # pylint: disable=no-member - - if val is not None and val != UNSET_SENTINEL: - m[k] = val - elif val != UNSET_SENTINEL and ( - not k in optional_fields or (optional_nullable and is_set) - ): - m[k] = val - - return m - - -class OrganizationAccessTokensListResponseTypedDict(TypedDict): - result: ListResourceOrganizationAccessTokenTypedDict - - -class OrganizationAccessTokensListResponse(BaseModel): - next: Callable[[], Optional[OrganizationAccessTokensListResponse]] - - result: ListResourceOrganizationAccessToken diff --git a/src/polar_sdk/models/organization_access_tokens_updateop.py b/src/polar_sdk/models/organization_access_tokens_updateop.py deleted file mode 100644 index 3da1abd9..00000000 --- a/src/polar_sdk/models/organization_access_tokens_updateop.py +++ /dev/null @@ -1,26 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .organizationaccesstokenupdate import ( - OrganizationAccessTokenUpdate, - OrganizationAccessTokenUpdateTypedDict, -) -from polar_sdk.types import BaseModel -from polar_sdk.utils import FieldMetadata, PathParamMetadata, RequestMetadata -from typing_extensions import Annotated, TypedDict - - -class OrganizationAccessTokensUpdateRequestTypedDict(TypedDict): - id: str - organization_access_token_update: OrganizationAccessTokenUpdateTypedDict - - -class OrganizationAccessTokensUpdateRequest(BaseModel): - id: Annotated[ - str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) - ] - - organization_access_token_update: Annotated[ - OrganizationAccessTokenUpdate, - FieldMetadata(request=RequestMetadata(media_type="application/json")), - ] diff --git a/src/polar_sdk/models/organizationaccesstoken.py b/src/polar_sdk/models/organizationaccesstoken.py deleted file mode 100644 index 2488b8bc..00000000 --- a/src/polar_sdk/models/organizationaccesstoken.py +++ /dev/null @@ -1,74 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .scope import Scope -from datetime import datetime -from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL -from pydantic import model_serializer -from typing import List -from typing_extensions import TypedDict - - -class OrganizationAccessTokenTypedDict(TypedDict): - created_at: datetime - r"""Creation timestamp of the object.""" - modified_at: Nullable[datetime] - r"""Last modification timestamp of the object.""" - id: str - scopes: List[Scope] - expires_at: Nullable[datetime] - comment: str - last_used_at: Nullable[datetime] - organization_id: str - r"""The organization ID.""" - - -class OrganizationAccessToken(BaseModel): - created_at: datetime - r"""Creation timestamp of the object.""" - - modified_at: Nullable[datetime] - r"""Last modification timestamp of the object.""" - - id: str - - scopes: List[Scope] - - expires_at: Nullable[datetime] - - comment: str - - last_used_at: Nullable[datetime] - - organization_id: str - r"""The organization ID.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = [] - nullable_fields = ["modified_at", "expires_at", "last_used_at"] - null_default_fields = [] - - serialized = handler(self) - - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k) - serialized.pop(k, None) - - optional_nullable = k in optional_fields and k in nullable_fields - is_set = ( - self.__pydantic_fields_set__.intersection({n}) - or k in null_default_fields - ) # pylint: disable=no-member - - if val is not None and val != UNSET_SENTINEL: - m[k] = val - elif val != UNSET_SENTINEL and ( - not k in optional_fields or (optional_nullable and is_set) - ): - m[k] = val - - return m diff --git a/src/polar_sdk/models/organizationaccesstokencreate.py b/src/polar_sdk/models/organizationaccesstokencreate.py deleted file mode 100644 index da17b991..00000000 --- a/src/polar_sdk/models/organizationaccesstokencreate.py +++ /dev/null @@ -1,55 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .availablescope import AvailableScope -from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL -from pydantic import model_serializer -from typing import List -from typing_extensions import NotRequired, TypedDict - - -class OrganizationAccessTokenCreateTypedDict(TypedDict): - comment: str - scopes: List[AvailableScope] - organization_id: NotRequired[Nullable[str]] - expires_in: NotRequired[Nullable[str]] - - -class OrganizationAccessTokenCreate(BaseModel): - comment: str - - scopes: List[AvailableScope] - - organization_id: OptionalNullable[str] = UNSET - - expires_in: OptionalNullable[str] = UNSET - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = ["organization_id", "expires_in"] - nullable_fields = ["organization_id", "expires_in"] - null_default_fields = [] - - serialized = handler(self) - - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k) - serialized.pop(k, None) - - optional_nullable = k in optional_fields and k in nullable_fields - is_set = ( - self.__pydantic_fields_set__.intersection({n}) - or k in null_default_fields - ) # pylint: disable=no-member - - if val is not None and val != UNSET_SENTINEL: - m[k] = val - elif val != UNSET_SENTINEL and ( - not k in optional_fields or (optional_nullable and is_set) - ): - m[k] = val - - return m diff --git a/src/polar_sdk/models/organizationaccesstokencreateresponse.py b/src/polar_sdk/models/organizationaccesstokencreateresponse.py deleted file mode 100644 index 3be40568..00000000 --- a/src/polar_sdk/models/organizationaccesstokencreateresponse.py +++ /dev/null @@ -1,20 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .organizationaccesstoken import ( - OrganizationAccessToken, - OrganizationAccessTokenTypedDict, -) -from polar_sdk.types import BaseModel -from typing_extensions import TypedDict - - -class OrganizationAccessTokenCreateResponseTypedDict(TypedDict): - organization_access_token: OrganizationAccessTokenTypedDict - token: str - - -class OrganizationAccessTokenCreateResponse(BaseModel): - organization_access_token: OrganizationAccessToken - - token: str diff --git a/src/polar_sdk/models/organizationaccesstokensortproperty.py b/src/polar_sdk/models/organizationaccesstokensortproperty.py deleted file mode 100644 index 2bfab4d7..00000000 --- a/src/polar_sdk/models/organizationaccesstokensortproperty.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from enum import Enum - - -class OrganizationAccessTokenSortProperty(str, Enum): - CREATED_AT = "created_at" - MINUS_CREATED_AT = "-created_at" - COMMENT = "comment" - MINUS_COMMENT = "-comment" - LAST_USED_AT = "last_used_at" - MINUS_LAST_USED_AT = "-last_used_at" - ORGANIZATION_ID = "organization_id" - MINUS_ORGANIZATION_ID = "-organization_id" diff --git a/src/polar_sdk/models/organizationaccesstokenupdate.py b/src/polar_sdk/models/organizationaccesstokenupdate.py deleted file mode 100644 index eb6dda72..00000000 --- a/src/polar_sdk/models/organizationaccesstokenupdate.py +++ /dev/null @@ -1,49 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .availablescope import AvailableScope -from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL -from pydantic import model_serializer -from typing import List -from typing_extensions import NotRequired, TypedDict - - -class OrganizationAccessTokenUpdateTypedDict(TypedDict): - comment: NotRequired[Nullable[str]] - scopes: NotRequired[Nullable[List[AvailableScope]]] - - -class OrganizationAccessTokenUpdate(BaseModel): - comment: OptionalNullable[str] = UNSET - - scopes: OptionalNullable[List[AvailableScope]] = UNSET - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = ["comment", "scopes"] - nullable_fields = ["comment", "scopes"] - null_default_fields = [] - - serialized = handler(self) - - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k) - serialized.pop(k, None) - - optional_nullable = k in optional_fields and k in nullable_fields - is_set = ( - self.__pydantic_fields_set__.intersection({n}) - or k in null_default_fields - ) # pylint: disable=no-member - - if val is not None and val != UNSET_SENTINEL: - m[k] = val - elif val != UNSET_SENTINEL and ( - not k in optional_fields or (optional_nullable and is_set) - ): - m[k] = val - - return m diff --git a/src/polar_sdk/models/organizationcreate.py b/src/polar_sdk/models/organizationcreate.py index 385ad46d..6ea35e1c 100644 --- a/src/polar_sdk/models/organizationcreate.py +++ b/src/polar_sdk/models/organizationcreate.py @@ -22,10 +22,6 @@ OrganizationIndividualLegalEntitySchema, OrganizationIndividualLegalEntitySchemaTypedDict, ) -from .organizationnotificationsettings import ( - OrganizationNotificationSettings, - OrganizationNotificationSettingsTypedDict, -) from .organizationsociallink import ( OrganizationSocialLink, OrganizationSocialLinkTypedDict, @@ -328,9 +324,6 @@ class OrganizationCreateTypedDict(TypedDict): subscription_settings: NotRequired[ Nullable[OrganizationSubscriptionSettingsTypedDict] ] - notification_settings: NotRequired[ - Nullable[OrganizationNotificationSettingsTypedDict] - ] customer_email_settings: NotRequired[ Nullable[OrganizationCustomerEmailSettingsTypedDict] ] @@ -369,8 +362,6 @@ class OrganizationCreate(BaseModel): subscription_settings: OptionalNullable[OrganizationSubscriptionSettings] = UNSET - notification_settings: OptionalNullable[OrganizationNotificationSettings] = UNSET - customer_email_settings: OptionalNullable[OrganizationCustomerEmailSettings] = UNSET customer_portal_settings: OptionalNullable[OrganizationCustomerPortalSettings] = ( @@ -393,7 +384,6 @@ def serialize_model(self, handler): "country", "feature_settings", "subscription_settings", - "notification_settings", "customer_email_settings", "customer_portal_settings", "default_presentment_currency", @@ -409,7 +399,6 @@ def serialize_model(self, handler): "country", "feature_settings", "subscription_settings", - "notification_settings", "customer_email_settings", "customer_portal_settings", ] diff --git a/src/polar_sdk/models/organizationfeaturesettings.py b/src/polar_sdk/models/organizationfeaturesettings.py index 04fd5e09..34a75e54 100644 --- a/src/polar_sdk/models/organizationfeaturesettings.py +++ b/src/polar_sdk/models/organizationfeaturesettings.py @@ -24,10 +24,10 @@ class OrganizationFeatureSettingsTypedDict(TypedDict): r"""If this organization has access to reset proration behavior.""" off_session_charges_enabled: NotRequired[bool] r"""If this organization can create and finalize draft orders via the API (off-session charges against a saved payment method).""" - billing_enabled: NotRequired[bool] - r"""If this organization has billing enabled""" slack_benefit_enabled: NotRequired[bool] r"""Enables the slack shared channel benefit""" + preview_access_enabled: NotRequired[bool] + r"""If this organization has preview access to new features enabled""" class OrganizationFeatureSettings(BaseModel): @@ -55,12 +55,12 @@ class OrganizationFeatureSettings(BaseModel): off_session_charges_enabled: Optional[bool] = False r"""If this organization can create and finalize draft orders via the API (off-session charges against a saved payment method).""" - billing_enabled: Optional[bool] = False - r"""If this organization has billing enabled""" - slack_benefit_enabled: Optional[bool] = False r"""Enables the slack shared channel benefit""" + preview_access_enabled: Optional[bool] = False + r"""If this organization has preview access to new features enabled""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ @@ -72,8 +72,8 @@ def serialize_model(self, handler): "overview_metrics", "reset_proration_behavior_enabled", "off_session_charges_enabled", - "billing_enabled", "slack_benefit_enabled", + "preview_access_enabled", ] nullable_fields = ["overview_metrics"] null_default_fields = [] diff --git a/src/polar_sdk/models/organizationnotificationsettings.py b/src/polar_sdk/models/organizationnotificationsettings.py deleted file mode 100644 index a347944f..00000000 --- a/src/polar_sdk/models/organizationnotificationsettings.py +++ /dev/null @@ -1,16 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from polar_sdk.types import BaseModel -from typing_extensions import TypedDict - - -class OrganizationNotificationSettingsTypedDict(TypedDict): - new_order: bool - new_subscription: bool - - -class OrganizationNotificationSettings(BaseModel): - new_order: bool - - new_subscription: bool diff --git a/src/polar_sdk/models/organizationstatus.py b/src/polar_sdk/models/organizationstatus.py index ae0fa8d5..df35a6a6 100644 --- a/src/polar_sdk/models/organizationstatus.py +++ b/src/polar_sdk/models/organizationstatus.py @@ -12,3 +12,4 @@ class OrganizationStatus(str, Enum): ACTIVE = "active" BLOCKED = "blocked" OFFBOARDING = "offboarding" + OFFBOARDED = "offboarded" diff --git a/src/polar_sdk/models/organizationupdate.py b/src/polar_sdk/models/organizationupdate.py index e31854c6..e813de8e 100644 --- a/src/polar_sdk/models/organizationupdate.py +++ b/src/polar_sdk/models/organizationupdate.py @@ -14,10 +14,6 @@ OrganizationFeatureSettingsUpdate, OrganizationFeatureSettingsUpdateTypedDict, ) -from .organizationnotificationsettings import ( - OrganizationNotificationSettings, - OrganizationNotificationSettingsTypedDict, -) from .organizationsociallink import ( OrganizationSocialLink, OrganizationSocialLinkTypedDict, @@ -299,9 +295,6 @@ class OrganizationUpdateTypedDict(TypedDict): subscription_settings: NotRequired[ Nullable[OrganizationSubscriptionSettingsTypedDict] ] - notification_settings: NotRequired[ - Nullable[OrganizationNotificationSettingsTypedDict] - ] customer_email_settings: NotRequired[ Nullable[OrganizationCustomerEmailSettingsTypedDict] ] @@ -338,8 +331,6 @@ class OrganizationUpdate(BaseModel): subscription_settings: OptionalNullable[OrganizationSubscriptionSettings] = UNSET - notification_settings: OptionalNullable[OrganizationNotificationSettings] = UNSET - customer_email_settings: OptionalNullable[OrganizationCustomerEmailSettings] = UNSET customer_portal_settings: OptionalNullable[OrganizationCustomerPortalSettings] = ( @@ -364,7 +355,6 @@ def serialize_model(self, handler): "country", "feature_settings", "subscription_settings", - "notification_settings", "customer_email_settings", "customer_portal_settings", "default_presentment_currency", @@ -380,7 +370,6 @@ def serialize_model(self, handler): "country", "feature_settings", "subscription_settings", - "notification_settings", "customer_email_settings", "customer_portal_settings", "default_presentment_currency", diff --git a/src/polar_sdk/models/paymenttrigger.py b/src/polar_sdk/models/paymenttrigger.py new file mode 100644 index 00000000..590cf6d3 --- /dev/null +++ b/src/polar_sdk/models/paymenttrigger.py @@ -0,0 +1,13 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from enum import Enum + + +class PaymentTrigger(str, Enum): + PURCHASE = "purchase" + SUBSCRIPTION_CYCLE = "subscription_cycle" + RETRY_DUNNING = "retry_dunning" + RETRY_CUSTOMER = "retry_customer" + RETRY_PAYMENT_METHOD_UPDATE = "retry_payment_method_update" + RETRY_ADMIN = "retry_admin" diff --git a/src/polar_sdk/models/product.py b/src/polar_sdk/models/product.py index 0285857e..e3630496 100644 --- a/src/polar_sdk/models/product.py +++ b/src/polar_sdk/models/product.py @@ -11,7 +11,7 @@ from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -47,7 +47,7 @@ class ProductTypedDict(TypedDict): description: Nullable[str] r"""The description of the product.""" visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.""" @@ -94,7 +94,7 @@ class Product(BaseModel): visibility: ProductVisibility - recurring_interval: Nullable[SubscriptionRecurringInterval] + recurring_interval: Nullable[RecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] diff --git a/src/polar_sdk/models/productcreateonetime.py b/src/polar_sdk/models/productcreateonetime.py index 4d84bcd7..532fecda 100644 --- a/src/polar_sdk/models/productcreateonetime.py +++ b/src/polar_sdk/models/productcreateonetime.py @@ -13,10 +13,6 @@ ProductPriceFixedCreate, ProductPriceFixedCreateTypedDict, ) -from .productpricefreecreate import ( - ProductPriceFreeCreate, - ProductPriceFreeCreateTypedDict, -) from .productpricemeteredunitcreate import ( ProductPriceMeteredUnitCreate, ProductPriceMeteredUnitCreateTypedDict, @@ -46,7 +42,6 @@ ProductCreateOneTimePricesTypedDict = TypeAliasType( "ProductCreateOneTimePricesTypedDict", Union[ - ProductPriceFreeCreateTypedDict, ProductPriceFixedCreateTypedDict, ProductPriceSeatBasedCreateTypedDict, ProductPriceCustomCreateTypedDict, @@ -59,7 +54,6 @@ Union[ Annotated[ProductPriceCustomCreate, Tag("custom")], Annotated[ProductPriceFixedCreate, Tag("fixed")], - Annotated[ProductPriceFreeCreate, Tag("free")], Annotated[ProductPriceMeteredUnitCreate, Tag("metered_unit")], Annotated[ProductPriceSeatBasedCreate, Tag("seat_based")], ], diff --git a/src/polar_sdk/models/productcreaterecurring.py b/src/polar_sdk/models/productcreaterecurring.py index 152605c1..2bb13ed6 100644 --- a/src/polar_sdk/models/productcreaterecurring.py +++ b/src/polar_sdk/models/productcreaterecurring.py @@ -13,10 +13,6 @@ ProductPriceFixedCreate, ProductPriceFixedCreateTypedDict, ) -from .productpricefreecreate import ( - ProductPriceFreeCreate, - ProductPriceFreeCreateTypedDict, -) from .productpricemeteredunitcreate import ( ProductPriceMeteredUnitCreate, ProductPriceMeteredUnitCreateTypedDict, @@ -26,7 +22,7 @@ ProductPriceSeatBasedCreateTypedDict, ) from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import get_discriminator @@ -48,7 +44,6 @@ ProductCreateRecurringPricesTypedDict = TypeAliasType( "ProductCreateRecurringPricesTypedDict", Union[ - ProductPriceFreeCreateTypedDict, ProductPriceFixedCreateTypedDict, ProductPriceSeatBasedCreateTypedDict, ProductPriceCustomCreateTypedDict, @@ -61,7 +56,6 @@ Union[ Annotated[ProductPriceCustomCreate, Tag("custom")], Annotated[ProductPriceFixedCreate, Tag("fixed")], - Annotated[ProductPriceFreeCreate, Tag("free")], Annotated[ProductPriceMeteredUnitCreate, Tag("metered_unit")], Annotated[ProductPriceSeatBasedCreate, Tag("seat_based")], ], @@ -74,7 +68,7 @@ class ProductCreateRecurringTypedDict(TypedDict): r"""The name of the product.""" prices: List[ProductCreateRecurringPricesTypedDict] r"""List of available prices for this product. It may combine at most one fixed price with one seat-based price (billed as `fixed + seat_charge`), or contain a single custom or free price, plus any number of metered prices. A free price cannot be combined with other prices, and a custom price cannot be combined with a fixed or seat-based price. Metered prices are not supported on one-time purchase products.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval metadata: NotRequired[Dict[str, ProductCreateRecurringMetadataTypedDict]] r"""Key-value object allowing you to store additional information. @@ -112,7 +106,7 @@ class ProductCreateRecurring(BaseModel): prices: List[ProductCreateRecurringPrices] r"""List of available prices for this product. It may combine at most one fixed price with one seat-based price (billed as `fixed + seat_charge`), or contain a single custom or free price, plus any number of metered prices. A free price cannot be combined with other prices, and a custom price cannot be combined with a fixed or seat-based price. Metered prices are not supported on one-time purchase products.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval metadata: Optional[Dict[str, ProductCreateRecurringMetadata]] = None r"""Key-value object allowing you to store additional information. diff --git a/src/polar_sdk/models/productprice.py b/src/polar_sdk/models/productprice.py index a95e3503..80cf0340 100644 --- a/src/polar_sdk/models/productprice.py +++ b/src/polar_sdk/models/productprice.py @@ -3,7 +3,6 @@ from __future__ import annotations from .productpricecustom import ProductPriceCustom, ProductPriceCustomTypedDict from .productpricefixed import ProductPriceFixed, ProductPriceFixedTypedDict -from .productpricefree import ProductPriceFree, ProductPriceFreeTypedDict from .productpricemeteredunit import ( ProductPriceMeteredUnit, ProductPriceMeteredUnitTypedDict, @@ -18,7 +17,6 @@ ProductPriceTypedDict = TypeAliasType( "ProductPriceTypedDict", Union[ - ProductPriceFreeTypedDict, ProductPriceFixedTypedDict, ProductPriceSeatBasedTypedDict, ProductPriceCustomTypedDict, @@ -31,7 +29,6 @@ Union[ Annotated[ProductPriceCustom, Tag("custom")], Annotated[ProductPriceFixed, Tag("fixed")], - Annotated[ProductPriceFree, Tag("free")], Annotated[ProductPriceMeteredUnit, Tag("metered_unit")], Annotated[ProductPriceSeatBased, Tag("seat_based")], ], diff --git a/src/polar_sdk/models/productpricefree.py b/src/polar_sdk/models/productpricefree.py deleted file mode 100644 index d52c2f1d..00000000 --- a/src/polar_sdk/models/productpricefree.py +++ /dev/null @@ -1,96 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .productpricesource import ProductPriceSource -from .taxbehavioroption import TaxBehaviorOption -from datetime import datetime -from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL -from polar_sdk.utils import validate_const -import pydantic -from pydantic import model_serializer -from pydantic.functional_validators import AfterValidator -from typing import Literal -from typing_extensions import Annotated, TypedDict - - -class ProductPriceFreeTypedDict(TypedDict): - r"""A free price for a product.""" - - created_at: datetime - r"""Creation timestamp of the object.""" - modified_at: Nullable[datetime] - r"""Last modification timestamp of the object.""" - id: str - r"""The ID of the price.""" - source: ProductPriceSource - price_currency: str - r"""The currency in which the customer will be charged.""" - tax_behavior: Nullable[TaxBehaviorOption] - r"""The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" - is_archived: bool - r"""Whether the price is archived and no longer available.""" - product_id: str - r"""The ID of the product owning the price.""" - amount_type: Literal["free"] - - -class ProductPriceFree(BaseModel): - r"""A free price for a product.""" - - created_at: datetime - r"""Creation timestamp of the object.""" - - modified_at: Nullable[datetime] - r"""Last modification timestamp of the object.""" - - id: str - r"""The ID of the price.""" - - source: ProductPriceSource - - price_currency: str - r"""The currency in which the customer will be charged.""" - - tax_behavior: Nullable[TaxBehaviorOption] - r"""The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" - - is_archived: bool - r"""Whether the price is archived and no longer available.""" - - product_id: str - r"""The ID of the product owning the price.""" - - AMOUNT_TYPE: Annotated[ - Annotated[Literal["free"], AfterValidator(validate_const("free"))], - pydantic.Field(alias="amount_type"), - ] = "free" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = [] - nullable_fields = ["modified_at", "tax_behavior"] - null_default_fields = [] - - serialized = handler(self) - - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k) - serialized.pop(k, None) - - optional_nullable = k in optional_fields and k in nullable_fields - is_set = ( - self.__pydantic_fields_set__.intersection({n}) - or k in null_default_fields - ) # pylint: disable=no-member - - if val is not None and val != UNSET_SENTINEL: - m[k] = val - elif val != UNSET_SENTINEL and ( - not k in optional_fields or (optional_nullable and is_set) - ): - m[k] = val - - return m diff --git a/src/polar_sdk/models/productpricefreecreate.py b/src/polar_sdk/models/productpricefreecreate.py deleted file mode 100644 index 4c85afd1..00000000 --- a/src/polar_sdk/models/productpricefreecreate.py +++ /dev/null @@ -1,65 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from __future__ import annotations -from .presentmentcurrency import PresentmentCurrency -from .taxbehavioroption import TaxBehaviorOption -from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL -from polar_sdk.utils import validate_const -import pydantic -from pydantic import model_serializer -from pydantic.functional_validators import AfterValidator -from typing import Literal, Optional -from typing_extensions import Annotated, NotRequired, TypedDict - - -class ProductPriceFreeCreateTypedDict(TypedDict): - r"""Schema to create a free price.""" - - amount_type: Literal["free"] - price_currency: NotRequired[PresentmentCurrency] - tax_behavior: NotRequired[Nullable[TaxBehaviorOption]] - r"""The tax behavior of the price. If not set, it will default to the organization's default tax behavior.""" - - -class ProductPriceFreeCreate(BaseModel): - r"""Schema to create a free price.""" - - AMOUNT_TYPE: Annotated[ - Annotated[Literal["free"], AfterValidator(validate_const("free"))], - pydantic.Field(alias="amount_type"), - ] = "free" - - price_currency: Optional[PresentmentCurrency] = None - - tax_behavior: OptionalNullable[TaxBehaviorOption] = UNSET - r"""The tax behavior of the price. If not set, it will default to the organization's default tax behavior.""" - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = ["price_currency", "tax_behavior"] - nullable_fields = ["tax_behavior"] - null_default_fields = [] - - serialized = handler(self) - - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k) - serialized.pop(k, None) - - optional_nullable = k in optional_fields and k in nullable_fields - is_set = ( - self.__pydantic_fields_set__.intersection({n}) - or k in null_default_fields - ) # pylint: disable=no-member - - if val is not None and val != UNSET_SENTINEL: - m[k] = val - elif val != UNSET_SENTINEL and ( - not k in optional_fields or (optional_nullable and is_set) - ): - m[k] = val - - return m diff --git a/src/polar_sdk/models/productupdate.py b/src/polar_sdk/models/productupdate.py index c063b7d4..ab059f8f 100644 --- a/src/polar_sdk/models/productupdate.py +++ b/src/polar_sdk/models/productupdate.py @@ -14,10 +14,6 @@ ProductPriceFixedCreate, ProductPriceFixedCreateTypedDict, ) -from .productpricefreecreate import ( - ProductPriceFreeCreate, - ProductPriceFreeCreateTypedDict, -) from .productpricemeteredunitcreate import ( ProductPriceMeteredUnitCreate, ProductPriceMeteredUnitCreateTypedDict, @@ -27,7 +23,7 @@ ProductPriceSeatBasedCreateTypedDict, ) from .productvisibility import ProductVisibility -from .subscriptionrecurringinterval import SubscriptionRecurringInterval +from .recurringinterval import RecurringInterval from .trialinterval import TrialInterval from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import get_discriminator @@ -49,7 +45,6 @@ TwoTypedDict = TypeAliasType( "TwoTypedDict", Union[ - ProductPriceFreeCreateTypedDict, ProductPriceFixedCreateTypedDict, ProductPriceSeatBasedCreateTypedDict, ProductPriceCustomCreateTypedDict, @@ -62,7 +57,6 @@ Union[ Annotated[ProductPriceCustomCreate, Tag("custom")], Annotated[ProductPriceFixedCreate, Tag("fixed")], - Annotated[ProductPriceFreeCreate, Tag("free")], Annotated[ProductPriceMeteredUnitCreate, Tag("metered_unit")], Annotated[ProductPriceSeatBasedCreate, Tag("seat_based")], ], @@ -103,7 +97,7 @@ class ProductUpdateTypedDict(TypedDict): name: NotRequired[Nullable[str]] description: NotRequired[Nullable[str]] r"""The description of the product.""" - recurring_interval: NotRequired[Nullable[SubscriptionRecurringInterval]] + recurring_interval: NotRequired[Nullable[RecurringInterval]] r"""The recurring interval of the product. If `None`, the product is a one-time purchase. **Can only be set on legacy recurring products. Once set, it can't be changed.**""" recurring_interval_count: NotRequired[Nullable[int]] r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. Once set, it can't be changed.**""" @@ -148,7 +142,7 @@ class ProductUpdate(BaseModel): description: OptionalNullable[str] = UNSET r"""The description of the product.""" - recurring_interval: OptionalNullable[SubscriptionRecurringInterval] = UNSET + recurring_interval: OptionalNullable[RecurringInterval] = UNSET r"""The recurring interval of the product. If `None`, the product is a one-time purchase. **Can only be set on legacy recurring products. Once set, it can't be changed.**""" recurring_interval_count: OptionalNullable[int] = UNSET diff --git a/src/polar_sdk/models/subscriptionrecurringinterval.py b/src/polar_sdk/models/recurringinterval.py similarity index 80% rename from src/polar_sdk/models/subscriptionrecurringinterval.py rename to src/polar_sdk/models/recurringinterval.py index 39886b16..dd0adadd 100644 --- a/src/polar_sdk/models/subscriptionrecurringinterval.py +++ b/src/polar_sdk/models/recurringinterval.py @@ -4,7 +4,7 @@ from enum import Enum -class SubscriptionRecurringInterval(str, Enum): +class RecurringInterval(str, Enum): DAY = "day" WEEK = "week" MONTH = "month" diff --git a/src/polar_sdk/models/subscription.py b/src/polar_sdk/models/subscription.py index 8cb2bb2f..6ca78e73 100644 --- a/src/polar_sdk/models/subscription.py +++ b/src/polar_sdk/models/subscription.py @@ -29,9 +29,9 @@ ) from .product import Product, ProductTypedDict from .productprice import ProductPrice, ProductPriceTypedDict +from .recurringinterval import RecurringInterval from .subscriptioncustomer import SubscriptionCustomer, SubscriptionCustomerTypedDict from .subscriptionmeter import SubscriptionMeter, SubscriptionMeterTypedDict -from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .subscriptionstatus import SubscriptionStatus from datetime import datetime from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL @@ -92,7 +92,7 @@ class SubscriptionTypedDict(TypedDict): r"""The amount of the subscription.""" currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval recurring_interval_count: int r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.""" status: SubscriptionStatus @@ -134,6 +134,8 @@ class SubscriptionTypedDict(TypedDict): r"""List of meters associated with the subscription.""" pending_update: Nullable[PendingSubscriptionUpdateTypedDict] r"""Pending subscription update that will be applied at the beginning of the next period. If `null`, there is no pending update.""" + past_due_at: NotRequired[Nullable[datetime]] + r"""The timestamp when the subscription entered `past_due` status.""" seats: NotRequired[Nullable[int]] r"""The number of seats for seat-based subscriptions. None for non-seat subscriptions.""" custom_field_data: NotRequired[Dict[str, Nullable[CustomFieldDataTypedDict]]] @@ -156,7 +158,7 @@ class Subscription(BaseModel): currency: str r"""The currency of the subscription.""" - recurring_interval: SubscriptionRecurringInterval + recurring_interval: RecurringInterval recurring_interval_count: int r"""Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.""" @@ -223,6 +225,9 @@ class Subscription(BaseModel): pending_update: Nullable[PendingSubscriptionUpdate] r"""Pending subscription update that will be applied at the beginning of the next period. If `null`, there is no pending update.""" + past_due_at: OptionalNullable[datetime] = UNSET + r"""The timestamp when the subscription entered `past_due` status.""" + seats: OptionalNullable[int] = UNSET r"""The number of seats for seat-based subscriptions. None for non-seat subscriptions.""" @@ -231,7 +236,7 @@ class Subscription(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["seats", "custom_field_data"] + optional_fields = ["past_due_at", "seats", "custom_field_data"] nullable_fields = [ "modified_at", "trial_start", @@ -240,6 +245,7 @@ def serialize_model(self, handler): "started_at", "ends_at", "ended_at", + "past_due_at", "discount_id", "checkout_id", "seats", diff --git a/src/polar_sdk/models/subscriptioncustomer.py b/src/polar_sdk/models/subscriptioncustomer.py index e8ab7cbe..12a28c25 100644 --- a/src/polar_sdk/models/subscriptioncustomer.py +++ b/src/polar_sdk/models/subscriptioncustomer.py @@ -39,7 +39,7 @@ class SubscriptionCustomerTypedDict(TypedDict): r"""The ID of the organization owning the customer.""" deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: NotRequired[Nullable[str]] r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" email: NotRequired[Nullable[str]] @@ -82,7 +82,7 @@ class SubscriptionCustomer(BaseModel): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" - avatar_url: str + avatar_url: Nullable[str] external_id: OptionalNullable[str] = UNSET r"""The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated.""" @@ -114,6 +114,7 @@ def serialize_model(self, handler): "locale", "default_payment_method_id", "deleted_at", + "avatar_url", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptions_exportop.py b/src/polar_sdk/models/subscriptions_exportop.py index 414f2d52..0912c430 100644 --- a/src/polar_sdk/models/subscriptions_exportop.py +++ b/src/polar_sdk/models/subscriptions_exportop.py @@ -4,7 +4,7 @@ from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import FieldMetadata, QueryParamMetadata from pydantic import model_serializer -from typing import Any, List, Union +from typing import List, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict @@ -59,13 +59,3 @@ def serialize_model(self, handler): m[k] = val return m - - -SubscriptionsExportResponseTypedDict = TypeAliasType( - "SubscriptionsExportResponseTypedDict", Union[Any, str] -) - - -SubscriptionsExportResponse = TypeAliasType( - "SubscriptionsExportResponse", Union[Any, str] -) diff --git a/src/polar_sdk/models/supportcaseattachmentfilecreate.py b/src/polar_sdk/models/supportcaseattachmentfilecreate.py new file mode 100644 index 00000000..44288308 --- /dev/null +++ b/src/polar_sdk/models/supportcaseattachmentfilecreate.py @@ -0,0 +1,84 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .s3filecreatemultipart import S3FileCreateMultipart, S3FileCreateMultipartTypedDict +from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +from polar_sdk.utils import validate_const +import pydantic +from pydantic import model_serializer +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, NotRequired, TypedDict + + +class SupportCaseAttachmentFileCreateTypedDict(TypedDict): + r"""Schema to create a file attached to a support case.""" + + name: str + mime_type: str + r"""MIME type of the file. Images, videos, PDF, CSV, plain text, Word and Excel documents are supported.""" + size: int + r"""Size of the file. A maximum of 250 MB is allowed for this type of file.""" + upload: S3FileCreateMultipartTypedDict + organization_id: NotRequired[Nullable[str]] + checksum_sha256_base64: NotRequired[Nullable[str]] + service: Literal["support_case_attachment"] + version: NotRequired[Nullable[str]] + + +class SupportCaseAttachmentFileCreate(BaseModel): + r"""Schema to create a file attached to a support case.""" + + name: str + + mime_type: str + r"""MIME type of the file. Images, videos, PDF, CSV, plain text, Word and Excel documents are supported.""" + + size: int + r"""Size of the file. A maximum of 250 MB is allowed for this type of file.""" + + upload: S3FileCreateMultipart + + organization_id: OptionalNullable[str] = UNSET + + checksum_sha256_base64: OptionalNullable[str] = UNSET + + SERVICE: Annotated[ + Annotated[ + Literal["support_case_attachment"], + AfterValidator(validate_const("support_case_attachment")), + ], + pydantic.Field(alias="service"), + ] = "support_case_attachment" + + version: OptionalNullable[str] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["organization_id", "checksum_sha256_base64", "version"] + nullable_fields = ["organization_id", "checksum_sha256_base64", "version"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/polar_sdk/models/supportcaseattachmentfileread.py b/src/polar_sdk/models/supportcaseattachmentfileread.py new file mode 100644 index 00000000..d888f7ed --- /dev/null +++ b/src/polar_sdk/models/supportcaseattachmentfileread.py @@ -0,0 +1,113 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from datetime import datetime +from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL +from polar_sdk.utils import validate_const +import pydantic +from pydantic import model_serializer +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class SupportCaseAttachmentFileReadTypedDict(TypedDict): + r"""File attached to a support case (private; fetched via presigned URL).""" + + id: str + r"""The ID of the object.""" + organization_id: str + name: str + path: str + mime_type: str + size: int + storage_version: Nullable[str] + checksum_etag: Nullable[str] + checksum_sha256_base64: Nullable[str] + checksum_sha256_hex: Nullable[str] + last_modified_at: Nullable[datetime] + version: Nullable[str] + is_uploaded: bool + created_at: datetime + size_readable: str + service: Literal["support_case_attachment"] + + +class SupportCaseAttachmentFileRead(BaseModel): + r"""File attached to a support case (private; fetched via presigned URL).""" + + id: str + r"""The ID of the object.""" + + organization_id: str + + name: str + + path: str + + mime_type: str + + size: int + + storage_version: Nullable[str] + + checksum_etag: Nullable[str] + + checksum_sha256_base64: Nullable[str] + + checksum_sha256_hex: Nullable[str] + + last_modified_at: Nullable[datetime] + + version: Nullable[str] + + is_uploaded: bool + + created_at: datetime + + size_readable: str + + SERVICE: Annotated[ + Annotated[ + Literal["support_case_attachment"], + AfterValidator(validate_const("support_case_attachment")), + ], + pydantic.Field(alias="service"), + ] = "support_case_attachment" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [] + nullable_fields = [ + "storage_version", + "checksum_etag", + "checksum_sha256_base64", + "checksum_sha256_hex", + "last_modified_at", + "version", + ] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/polar_sdk/models/taxidformat.py b/src/polar_sdk/models/taxidformat.py index 86c9a0d6..2468727d 100644 --- a/src/polar_sdk/models/taxidformat.py +++ b/src/polar_sdk/models/taxidformat.py @@ -85,3 +85,4 @@ class TaxIDFormat(str, Enum): VE_RIF = "ve_rif" VN_TIN = "vn_tin" ZA_VAT = "za_vat" + MU_TAN = "mu_tan" diff --git a/src/polar_sdk/orders.py b/src/polar_sdk/orders.py index e86067cd..3b9e68a2 100644 --- a/src/polar_sdk/orders.py +++ b/src/polar_sdk/orders.py @@ -1,7 +1,6 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from .basesdk import BaseSDK -from enum import Enum from jsonpath import JSONPath from polar_sdk import models, utils from polar_sdk._hooks import HookContext @@ -10,11 +9,6 @@ from typing import Any, Dict, List, Mapping, Optional, Union, cast -class ExportAcceptEnum(str, Enum): - APPLICATION_JSON = "application/json" - TEXT_CSV = "text/csv" - - class Orders(BaseSDK): def list( self, @@ -622,9 +616,8 @@ def export( retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, - accept_header_override: Optional[ExportAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.OrdersExportResponse: + ) -> str: r"""Export Orders Export orders as a CSV file. @@ -636,7 +629,6 @@ def export( :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param accept_header_override: Override the default accept header for this method :param http_headers: Additional headers to set or replace on requests. """ base_url = None @@ -664,9 +656,7 @@ def export( request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value=accept_header_override.value - if accept_header_override is not None - else "application/json;q=1, text/csv;q=0", + accept_header_value="text/csv", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -694,8 +684,6 @@ def export( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(Any, http_res) if utils.match_response(http_res, "200", "text/csv"): return http_res.text if utils.match_response(http_res, "422", "application/json"): @@ -730,9 +718,8 @@ async def export_async( retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, - accept_header_override: Optional[ExportAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.OrdersExportResponse: + ) -> str: r"""Export Orders Export orders as a CSV file. @@ -744,7 +731,6 @@ async def export_async( :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param accept_header_override: Override the default accept header for this method :param http_headers: Additional headers to set or replace on requests. """ base_url = None @@ -772,9 +758,7 @@ async def export_async( request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value=accept_header_override.value - if accept_header_override is not None - else "application/json;q=1, text/csv;q=0", + accept_header_value="text/csv", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -802,8 +786,6 @@ async def export_async( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(Any, http_res) if utils.match_response(http_res, "200", "text/csv"): return http_res.text if utils.match_response(http_res, "422", "application/json"): @@ -1538,21 +1520,23 @@ def generate_invoice( security_source=self.sdk_configuration.security, ), request=req, - error_status_codes=["422", "4XX", "5XX"], + error_status_codes=["404", "422", "4XX", "5XX"], retry_config=retry_config, ) response_data: Any = None if utils.match_response(http_res, "202", "application/json"): return unmarshal_json_response(Any, http_res) - if utils.match_response(http_res, "422", "application/json"): + if utils.match_response(http_res, "404", "application/json"): response_data = unmarshal_json_response( - models.OrdersGenerateInvoiceResponse422OrdersGenerateInvoiceUnion, - http_res, + models.ResourceNotFoundData, http_res ) - raise models.OrdersGenerateInvoiceResponse422OrdersGenerateInvoice( - response_data, http_res + raise models.ResourceNotFound(response_data, http_res) + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.MissingInvoiceBillingDetailsData, http_res ) + raise models.MissingInvoiceBillingDetails(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.SDKError("API error occurred", http_res, http_res_text) @@ -1630,21 +1614,23 @@ async def generate_invoice_async( security_source=self.sdk_configuration.security, ), request=req, - error_status_codes=["422", "4XX", "5XX"], + error_status_codes=["404", "422", "4XX", "5XX"], retry_config=retry_config, ) response_data: Any = None if utils.match_response(http_res, "202", "application/json"): return unmarshal_json_response(Any, http_res) - if utils.match_response(http_res, "422", "application/json"): + if utils.match_response(http_res, "404", "application/json"): response_data = unmarshal_json_response( - models.OrdersGenerateInvoiceResponse422OrdersGenerateInvoiceUnion, - http_res, + models.ResourceNotFoundData, http_res ) - raise models.OrdersGenerateInvoiceResponse422OrdersGenerateInvoice( - response_data, http_res + raise models.ResourceNotFound(response_data, http_res) + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.MissingInvoiceBillingDetailsData, http_res ) + raise models.MissingInvoiceBillingDetails(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.SDKError("API error occurred", http_res, http_res_text) diff --git a/src/polar_sdk/organization_access_tokens.py b/src/polar_sdk/organization_access_tokens.py deleted file mode 100644 index 283bde0d..00000000 --- a/src/polar_sdk/organization_access_tokens.py +++ /dev/null @@ -1,851 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" - -from .basesdk import BaseSDK -from jsonpath import JSONPath -from polar_sdk import models, utils -from polar_sdk._hooks import HookContext -from polar_sdk.types import BaseModel, OptionalNullable, UNSET -from polar_sdk.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional, Union, cast - - -class OrganizationAccessTokens(BaseSDK): - def list( - self, - *, - organization_id: OptionalNullable[ - Union[ - models.OrganizationAccessTokensListQueryParamOrganizationIDFilter, - models.OrganizationAccessTokensListQueryParamOrganizationIDFilterTypedDict, - ] - ] = UNSET, - page: Optional[int] = 1, - limit: Optional[int] = 10, - sorting: OptionalNullable[ - List[models.OrganizationAccessTokenSortProperty] - ] = UNSET, - retries: OptionalNullable[utils.RetryConfig] = UNSET, - server_url: Optional[str] = None, - timeout_ms: Optional[int] = None, - http_headers: Optional[Mapping[str, str]] = None, - ) -> Optional[models.OrganizationAccessTokensListResponse]: - r"""List - - List organization access tokens. - - **Scopes**: `organization_access_tokens:read` `organization_access_tokens:write` - - :param organization_id: Filter by organization ID. - :param page: Page number, defaults to 1. - :param limit: Size of a page, defaults to 10. Maximum is 100. - :param sorting: 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. - :param retries: Override the default retry configuration for this method - :param server_url: Override the default server URL for this method - :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param http_headers: Additional headers to set or replace on requests. - """ - base_url = None - url_variables = None - if timeout_ms is None: - timeout_ms = self.sdk_configuration.timeout_ms - - if server_url is not None: - base_url = server_url - else: - base_url = self._get_url(base_url, url_variables) - - request = models.OrganizationAccessTokensListRequest( - organization_id=organization_id, - page=page, - limit=limit, - sorting=sorting, - ) - - req = self._build_request( - method="GET", - path="/v1/organization-access-tokens/", - base_url=base_url, - url_variables=url_variables, - request=request, - request_body_required=False, - request_has_path_params=False, - request_has_query_params=True, - user_agent_header="user-agent", - accept_header_value="application/json", - http_headers=http_headers, - security=self.sdk_configuration.security, - timeout_ms=timeout_ms, - ) - - if retries == UNSET: - if self.sdk_configuration.retry_config is not UNSET: - retries = self.sdk_configuration.retry_config - - retry_config = None - if isinstance(retries, utils.RetryConfig): - retry_config = (retries, ["429", "500", "502", "503", "504"]) - - http_res = self.do_request( - hook_ctx=HookContext( - config=self.sdk_configuration, - base_url=base_url or "", - operation_id="organization_access_tokens:list", - oauth2_scopes=None, - security_source=self.sdk_configuration.security, - ), - request=req, - error_status_codes=["422", "4XX", "5XX"], - retry_config=retry_config, - ) - - def next_func() -> Optional[models.OrganizationAccessTokensListResponse]: - body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) - page = request.page if not request.page is None else 1 - next_page = page + 1 - - num_pages = JSONPath("$.pagination.max_page").parse(body) - if len(num_pages) == 0 or num_pages[0] <= page: - return None - - if not http_res.text: - return None - results = JSONPath("$.items").parse(body) - if len(results) == 0 or len(results[0]) == 0: - return None - limit = request.limit if not request.limit is None else 10 - if len(results[0]) < limit: - return None - - return self.list( - organization_id=organization_id, - page=next_page, - limit=limit, - sorting=sorting, - retries=retries, - ) - - response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return models.OrganizationAccessTokensListResponse( - result=unmarshal_json_response( - models.ListResourceOrganizationAccessToken, http_res - ), - next=next_func, - ) - if utils.match_response(http_res, "422", "application/json"): - response_data = unmarshal_json_response( - models.HTTPValidationErrorData, http_res - ) - raise models.HTTPValidationError(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): - http_res_text = utils.stream_to_text(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - if utils.match_response(http_res, "5XX", "*"): - http_res_text = utils.stream_to_text(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - - raise models.SDKError("Unexpected response received", http_res) - - async def list_async( - self, - *, - organization_id: OptionalNullable[ - Union[ - models.OrganizationAccessTokensListQueryParamOrganizationIDFilter, - models.OrganizationAccessTokensListQueryParamOrganizationIDFilterTypedDict, - ] - ] = UNSET, - page: Optional[int] = 1, - limit: Optional[int] = 10, - sorting: OptionalNullable[ - List[models.OrganizationAccessTokenSortProperty] - ] = UNSET, - retries: OptionalNullable[utils.RetryConfig] = UNSET, - server_url: Optional[str] = None, - timeout_ms: Optional[int] = None, - http_headers: Optional[Mapping[str, str]] = None, - ) -> Optional[models.OrganizationAccessTokensListResponse]: - r"""List - - List organization access tokens. - - **Scopes**: `organization_access_tokens:read` `organization_access_tokens:write` - - :param organization_id: Filter by organization ID. - :param page: Page number, defaults to 1. - :param limit: Size of a page, defaults to 10. Maximum is 100. - :param sorting: 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. - :param retries: Override the default retry configuration for this method - :param server_url: Override the default server URL for this method - :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param http_headers: Additional headers to set or replace on requests. - """ - base_url = None - url_variables = None - if timeout_ms is None: - timeout_ms = self.sdk_configuration.timeout_ms - - if server_url is not None: - base_url = server_url - else: - base_url = self._get_url(base_url, url_variables) - - request = models.OrganizationAccessTokensListRequest( - organization_id=organization_id, - page=page, - limit=limit, - sorting=sorting, - ) - - req = self._build_request_async( - method="GET", - path="/v1/organization-access-tokens/", - base_url=base_url, - url_variables=url_variables, - request=request, - request_body_required=False, - request_has_path_params=False, - request_has_query_params=True, - user_agent_header="user-agent", - accept_header_value="application/json", - http_headers=http_headers, - security=self.sdk_configuration.security, - timeout_ms=timeout_ms, - ) - - if retries == UNSET: - if self.sdk_configuration.retry_config is not UNSET: - retries = self.sdk_configuration.retry_config - - retry_config = None - if isinstance(retries, utils.RetryConfig): - retry_config = (retries, ["429", "500", "502", "503", "504"]) - - http_res = await self.do_request_async( - hook_ctx=HookContext( - config=self.sdk_configuration, - base_url=base_url or "", - operation_id="organization_access_tokens:list", - oauth2_scopes=None, - security_source=self.sdk_configuration.security, - ), - request=req, - error_status_codes=["422", "4XX", "5XX"], - retry_config=retry_config, - ) - - def next_func() -> Optional[models.OrganizationAccessTokensListResponse]: - body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]]) - page = request.page if not request.page is None else 1 - next_page = page + 1 - - num_pages = JSONPath("$.pagination.max_page").parse(body) - if len(num_pages) == 0 or num_pages[0] <= page: - return None - - if not http_res.text: - return None - results = JSONPath("$.items").parse(body) - if len(results) == 0 or len(results[0]) == 0: - return None - limit = request.limit if not request.limit is None else 10 - if len(results[0]) < limit: - return None - - return self.list( - organization_id=organization_id, - page=next_page, - limit=limit, - sorting=sorting, - retries=retries, - ) - - response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return models.OrganizationAccessTokensListResponse( - result=unmarshal_json_response( - models.ListResourceOrganizationAccessToken, http_res - ), - next=next_func, - ) - if utils.match_response(http_res, "422", "application/json"): - response_data = unmarshal_json_response( - models.HTTPValidationErrorData, http_res - ) - raise models.HTTPValidationError(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): - http_res_text = await utils.stream_to_text_async(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - if utils.match_response(http_res, "5XX", "*"): - http_res_text = await utils.stream_to_text_async(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - - raise models.SDKError("Unexpected response received", http_res) - - def create( - self, - *, - request: Union[ - models.OrganizationAccessTokenCreate, - models.OrganizationAccessTokenCreateTypedDict, - ], - retries: OptionalNullable[utils.RetryConfig] = UNSET, - server_url: Optional[str] = None, - timeout_ms: Optional[int] = None, - http_headers: Optional[Mapping[str, str]] = None, - ) -> models.OrganizationAccessTokenCreateResponse: - r"""Create - - **Scopes**: `organization_access_tokens:write` - - :param request: The request object to send. - :param retries: Override the default retry configuration for this method - :param server_url: Override the default server URL for this method - :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param http_headers: Additional headers to set or replace on requests. - """ - base_url = None - url_variables = None - if timeout_ms is None: - timeout_ms = self.sdk_configuration.timeout_ms - - if server_url is not None: - base_url = server_url - else: - base_url = self._get_url(base_url, url_variables) - - if not isinstance(request, BaseModel): - request = utils.unmarshal(request, models.OrganizationAccessTokenCreate) - request = cast(models.OrganizationAccessTokenCreate, request) - - req = self._build_request( - method="POST", - path="/v1/organization-access-tokens/", - base_url=base_url, - url_variables=url_variables, - request=request, - request_body_required=True, - request_has_path_params=False, - request_has_query_params=True, - user_agent_header="user-agent", - accept_header_value="application/json", - http_headers=http_headers, - security=self.sdk_configuration.security, - get_serialized_body=lambda: utils.serialize_request_body( - request, False, False, "json", models.OrganizationAccessTokenCreate - ), - timeout_ms=timeout_ms, - ) - - if retries == UNSET: - if self.sdk_configuration.retry_config is not UNSET: - retries = self.sdk_configuration.retry_config - - retry_config = None - if isinstance(retries, utils.RetryConfig): - retry_config = (retries, ["429", "500", "502", "503", "504"]) - - http_res = self.do_request( - hook_ctx=HookContext( - config=self.sdk_configuration, - base_url=base_url or "", - operation_id="organization_access_tokens:create", - oauth2_scopes=None, - security_source=self.sdk_configuration.security, - ), - request=req, - error_status_codes=["422", "4XX", "5XX"], - retry_config=retry_config, - ) - - response_data: Any = None - if utils.match_response(http_res, "201", "application/json"): - return unmarshal_json_response( - models.OrganizationAccessTokenCreateResponse, http_res - ) - if utils.match_response(http_res, "422", "application/json"): - response_data = unmarshal_json_response( - models.HTTPValidationErrorData, http_res - ) - raise models.HTTPValidationError(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): - http_res_text = utils.stream_to_text(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - if utils.match_response(http_res, "5XX", "*"): - http_res_text = utils.stream_to_text(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - - raise models.SDKError("Unexpected response received", http_res) - - async def create_async( - self, - *, - request: Union[ - models.OrganizationAccessTokenCreate, - models.OrganizationAccessTokenCreateTypedDict, - ], - retries: OptionalNullable[utils.RetryConfig] = UNSET, - server_url: Optional[str] = None, - timeout_ms: Optional[int] = None, - http_headers: Optional[Mapping[str, str]] = None, - ) -> models.OrganizationAccessTokenCreateResponse: - r"""Create - - **Scopes**: `organization_access_tokens:write` - - :param request: The request object to send. - :param retries: Override the default retry configuration for this method - :param server_url: Override the default server URL for this method - :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param http_headers: Additional headers to set or replace on requests. - """ - base_url = None - url_variables = None - if timeout_ms is None: - timeout_ms = self.sdk_configuration.timeout_ms - - if server_url is not None: - base_url = server_url - else: - base_url = self._get_url(base_url, url_variables) - - if not isinstance(request, BaseModel): - request = utils.unmarshal(request, models.OrganizationAccessTokenCreate) - request = cast(models.OrganizationAccessTokenCreate, request) - - req = self._build_request_async( - method="POST", - path="/v1/organization-access-tokens/", - base_url=base_url, - url_variables=url_variables, - request=request, - request_body_required=True, - request_has_path_params=False, - request_has_query_params=True, - user_agent_header="user-agent", - accept_header_value="application/json", - http_headers=http_headers, - security=self.sdk_configuration.security, - get_serialized_body=lambda: utils.serialize_request_body( - request, False, False, "json", models.OrganizationAccessTokenCreate - ), - timeout_ms=timeout_ms, - ) - - if retries == UNSET: - if self.sdk_configuration.retry_config is not UNSET: - retries = self.sdk_configuration.retry_config - - retry_config = None - if isinstance(retries, utils.RetryConfig): - retry_config = (retries, ["429", "500", "502", "503", "504"]) - - http_res = await self.do_request_async( - hook_ctx=HookContext( - config=self.sdk_configuration, - base_url=base_url or "", - operation_id="organization_access_tokens:create", - oauth2_scopes=None, - security_source=self.sdk_configuration.security, - ), - request=req, - error_status_codes=["422", "4XX", "5XX"], - retry_config=retry_config, - ) - - response_data: Any = None - if utils.match_response(http_res, "201", "application/json"): - return unmarshal_json_response( - models.OrganizationAccessTokenCreateResponse, http_res - ) - if utils.match_response(http_res, "422", "application/json"): - response_data = unmarshal_json_response( - models.HTTPValidationErrorData, http_res - ) - raise models.HTTPValidationError(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): - http_res_text = await utils.stream_to_text_async(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - if utils.match_response(http_res, "5XX", "*"): - http_res_text = await utils.stream_to_text_async(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - - raise models.SDKError("Unexpected response received", http_res) - - def update( - self, - *, - id: str, - organization_access_token_update: Union[ - models.OrganizationAccessTokenUpdate, - models.OrganizationAccessTokenUpdateTypedDict, - ], - retries: OptionalNullable[utils.RetryConfig] = UNSET, - server_url: Optional[str] = None, - timeout_ms: Optional[int] = None, - http_headers: Optional[Mapping[str, str]] = None, - ) -> models.OrganizationAccessToken: - r"""Update - - **Scopes**: `organization_access_tokens:write` - - :param id: - :param organization_access_token_update: - :param retries: Override the default retry configuration for this method - :param server_url: Override the default server URL for this method - :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param http_headers: Additional headers to set or replace on requests. - """ - base_url = None - url_variables = None - if timeout_ms is None: - timeout_ms = self.sdk_configuration.timeout_ms - - if server_url is not None: - base_url = server_url - else: - base_url = self._get_url(base_url, url_variables) - - request = models.OrganizationAccessTokensUpdateRequest( - id=id, - organization_access_token_update=utils.get_pydantic_model( - organization_access_token_update, models.OrganizationAccessTokenUpdate - ), - ) - - req = self._build_request( - method="PATCH", - path="/v1/organization-access-tokens/{id}", - base_url=base_url, - url_variables=url_variables, - request=request, - request_body_required=True, - request_has_path_params=True, - request_has_query_params=True, - user_agent_header="user-agent", - accept_header_value="application/json", - http_headers=http_headers, - security=self.sdk_configuration.security, - get_serialized_body=lambda: utils.serialize_request_body( - request.organization_access_token_update, - False, - False, - "json", - models.OrganizationAccessTokenUpdate, - ), - timeout_ms=timeout_ms, - ) - - if retries == UNSET: - if self.sdk_configuration.retry_config is not UNSET: - retries = self.sdk_configuration.retry_config - - retry_config = None - if isinstance(retries, utils.RetryConfig): - retry_config = (retries, ["429", "500", "502", "503", "504"]) - - http_res = self.do_request( - hook_ctx=HookContext( - config=self.sdk_configuration, - base_url=base_url or "", - operation_id="organization_access_tokens:update", - oauth2_scopes=None, - security_source=self.sdk_configuration.security, - ), - request=req, - error_status_codes=["422", "4XX", "5XX"], - retry_config=retry_config, - ) - - response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.OrganizationAccessToken, http_res) - if utils.match_response(http_res, "422", "application/json"): - response_data = unmarshal_json_response( - models.HTTPValidationErrorData, http_res - ) - raise models.HTTPValidationError(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): - http_res_text = utils.stream_to_text(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - if utils.match_response(http_res, "5XX", "*"): - http_res_text = utils.stream_to_text(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - - raise models.SDKError("Unexpected response received", http_res) - - async def update_async( - self, - *, - id: str, - organization_access_token_update: Union[ - models.OrganizationAccessTokenUpdate, - models.OrganizationAccessTokenUpdateTypedDict, - ], - retries: OptionalNullable[utils.RetryConfig] = UNSET, - server_url: Optional[str] = None, - timeout_ms: Optional[int] = None, - http_headers: Optional[Mapping[str, str]] = None, - ) -> models.OrganizationAccessToken: - r"""Update - - **Scopes**: `organization_access_tokens:write` - - :param id: - :param organization_access_token_update: - :param retries: Override the default retry configuration for this method - :param server_url: Override the default server URL for this method - :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param http_headers: Additional headers to set or replace on requests. - """ - base_url = None - url_variables = None - if timeout_ms is None: - timeout_ms = self.sdk_configuration.timeout_ms - - if server_url is not None: - base_url = server_url - else: - base_url = self._get_url(base_url, url_variables) - - request = models.OrganizationAccessTokensUpdateRequest( - id=id, - organization_access_token_update=utils.get_pydantic_model( - organization_access_token_update, models.OrganizationAccessTokenUpdate - ), - ) - - req = self._build_request_async( - method="PATCH", - path="/v1/organization-access-tokens/{id}", - base_url=base_url, - url_variables=url_variables, - request=request, - request_body_required=True, - request_has_path_params=True, - request_has_query_params=True, - user_agent_header="user-agent", - accept_header_value="application/json", - http_headers=http_headers, - security=self.sdk_configuration.security, - get_serialized_body=lambda: utils.serialize_request_body( - request.organization_access_token_update, - False, - False, - "json", - models.OrganizationAccessTokenUpdate, - ), - timeout_ms=timeout_ms, - ) - - if retries == UNSET: - if self.sdk_configuration.retry_config is not UNSET: - retries = self.sdk_configuration.retry_config - - retry_config = None - if isinstance(retries, utils.RetryConfig): - retry_config = (retries, ["429", "500", "502", "503", "504"]) - - http_res = await self.do_request_async( - hook_ctx=HookContext( - config=self.sdk_configuration, - base_url=base_url or "", - operation_id="organization_access_tokens:update", - oauth2_scopes=None, - security_source=self.sdk_configuration.security, - ), - request=req, - error_status_codes=["422", "4XX", "5XX"], - retry_config=retry_config, - ) - - response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.OrganizationAccessToken, http_res) - if utils.match_response(http_res, "422", "application/json"): - response_data = unmarshal_json_response( - models.HTTPValidationErrorData, http_res - ) - raise models.HTTPValidationError(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): - http_res_text = await utils.stream_to_text_async(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - if utils.match_response(http_res, "5XX", "*"): - http_res_text = await utils.stream_to_text_async(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - - raise models.SDKError("Unexpected response received", http_res) - - def delete( - self, - *, - id: str, - retries: OptionalNullable[utils.RetryConfig] = UNSET, - server_url: Optional[str] = None, - timeout_ms: Optional[int] = None, - http_headers: Optional[Mapping[str, str]] = None, - ): - r"""Delete - - **Scopes**: `organization_access_tokens:write` - - :param id: - :param retries: Override the default retry configuration for this method - :param server_url: Override the default server URL for this method - :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param http_headers: Additional headers to set or replace on requests. - """ - base_url = None - url_variables = None - if timeout_ms is None: - timeout_ms = self.sdk_configuration.timeout_ms - - if server_url is not None: - base_url = server_url - else: - base_url = self._get_url(base_url, url_variables) - - request = models.OrganizationAccessTokensDeleteRequest( - id=id, - ) - - req = self._build_request( - method="DELETE", - path="/v1/organization-access-tokens/{id}", - base_url=base_url, - url_variables=url_variables, - request=request, - request_body_required=False, - request_has_path_params=True, - request_has_query_params=True, - user_agent_header="user-agent", - accept_header_value="application/json", - http_headers=http_headers, - security=self.sdk_configuration.security, - timeout_ms=timeout_ms, - ) - - if retries == UNSET: - if self.sdk_configuration.retry_config is not UNSET: - retries = self.sdk_configuration.retry_config - - retry_config = None - if isinstance(retries, utils.RetryConfig): - retry_config = (retries, ["429", "500", "502", "503", "504"]) - - http_res = self.do_request( - hook_ctx=HookContext( - config=self.sdk_configuration, - base_url=base_url or "", - operation_id="organization_access_tokens:delete", - oauth2_scopes=None, - security_source=self.sdk_configuration.security, - ), - request=req, - error_status_codes=["422", "4XX", "5XX"], - retry_config=retry_config, - ) - - response_data: Any = None - if utils.match_response(http_res, "204", "*"): - return - if utils.match_response(http_res, "422", "application/json"): - response_data = unmarshal_json_response( - models.HTTPValidationErrorData, http_res - ) - raise models.HTTPValidationError(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): - http_res_text = utils.stream_to_text(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - if utils.match_response(http_res, "5XX", "*"): - http_res_text = utils.stream_to_text(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - - raise models.SDKError("Unexpected response received", http_res) - - async def delete_async( - self, - *, - id: str, - retries: OptionalNullable[utils.RetryConfig] = UNSET, - server_url: Optional[str] = None, - timeout_ms: Optional[int] = None, - http_headers: Optional[Mapping[str, str]] = None, - ): - r"""Delete - - **Scopes**: `organization_access_tokens:write` - - :param id: - :param retries: Override the default retry configuration for this method - :param server_url: Override the default server URL for this method - :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param http_headers: Additional headers to set or replace on requests. - """ - base_url = None - url_variables = None - if timeout_ms is None: - timeout_ms = self.sdk_configuration.timeout_ms - - if server_url is not None: - base_url = server_url - else: - base_url = self._get_url(base_url, url_variables) - - request = models.OrganizationAccessTokensDeleteRequest( - id=id, - ) - - req = self._build_request_async( - method="DELETE", - path="/v1/organization-access-tokens/{id}", - base_url=base_url, - url_variables=url_variables, - request=request, - request_body_required=False, - request_has_path_params=True, - request_has_query_params=True, - user_agent_header="user-agent", - accept_header_value="application/json", - http_headers=http_headers, - security=self.sdk_configuration.security, - timeout_ms=timeout_ms, - ) - - if retries == UNSET: - if self.sdk_configuration.retry_config is not UNSET: - retries = self.sdk_configuration.retry_config - - retry_config = None - if isinstance(retries, utils.RetryConfig): - retry_config = (retries, ["429", "500", "502", "503", "504"]) - - http_res = await self.do_request_async( - hook_ctx=HookContext( - config=self.sdk_configuration, - base_url=base_url or "", - operation_id="organization_access_tokens:delete", - oauth2_scopes=None, - security_source=self.sdk_configuration.security, - ), - request=req, - error_status_codes=["422", "4XX", "5XX"], - retry_config=retry_config, - ) - - response_data: Any = None - if utils.match_response(http_res, "204", "*"): - return - if utils.match_response(http_res, "422", "application/json"): - response_data = unmarshal_json_response( - models.HTTPValidationErrorData, http_res - ) - raise models.HTTPValidationError(response_data, http_res) - if utils.match_response(http_res, "4XX", "*"): - http_res_text = await utils.stream_to_text_async(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - if utils.match_response(http_res, "5XX", "*"): - http_res_text = await utils.stream_to_text_async(http_res) - raise models.SDKError("API error occurred", http_res, http_res_text) - - raise models.SDKError("Unexpected response received", http_res) diff --git a/src/polar_sdk/polar_members.py b/src/polar_sdk/polar_members.py index a2d5f0a9..1ef9336d 100644 --- a/src/polar_sdk/polar_members.py +++ b/src/polar_sdk/polar_members.py @@ -465,7 +465,7 @@ def update_member( ) -> models.CustomerPortalMember: r"""Update Member - Update a member's role. + Update a member's name or role. Only available to owners and billing managers of team customers. @@ -573,7 +573,7 @@ async def update_member_async( ) -> models.CustomerPortalMember: r"""Update Member - Update a member's role. + Update a member's name or role. Only available to owners and billing managers of team customers. diff --git a/src/polar_sdk/polar_orders.py b/src/polar_sdk/polar_orders.py index b6a17173..57ff9d95 100644 --- a/src/polar_sdk/polar_orders.py +++ b/src/polar_sdk/polar_orders.py @@ -831,21 +831,23 @@ def generate_invoice( security_source=security, ), request=req, - error_status_codes=["422", "4XX", "5XX"], + error_status_codes=["404", "422", "4XX", "5XX"], retry_config=retry_config, ) response_data: Any = None if utils.match_response(http_res, "202", "application/json"): return unmarshal_json_response(Any, http_res) - if utils.match_response(http_res, "422", "application/json"): + if utils.match_response(http_res, "404", "application/json"): response_data = unmarshal_json_response( - models.CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoiceUnion, - http_res, + models.ResourceNotFoundData, http_res ) - raise models.CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice( - response_data, http_res + raise models.ResourceNotFound(response_data, http_res) + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.MissingInvoiceBillingDetailsData, http_res ) + raise models.MissingInvoiceBillingDetails(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): http_res_text = utils.stream_to_text(http_res) raise models.SDKError("API error occurred", http_res, http_res_text) @@ -928,21 +930,23 @@ async def generate_invoice_async( security_source=security, ), request=req, - error_status_codes=["422", "4XX", "5XX"], + error_status_codes=["404", "422", "4XX", "5XX"], retry_config=retry_config, ) response_data: Any = None if utils.match_response(http_res, "202", "application/json"): return unmarshal_json_response(Any, http_res) - if utils.match_response(http_res, "422", "application/json"): + if utils.match_response(http_res, "404", "application/json"): response_data = unmarshal_json_response( - models.CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoiceUnion, - http_res, + models.ResourceNotFoundData, http_res ) - raise models.CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice( - response_data, http_res + raise models.ResourceNotFound(response_data, http_res) + if utils.match_response(http_res, "422", "application/json"): + response_data = unmarshal_json_response( + models.MissingInvoiceBillingDetailsData, http_res ) + raise models.MissingInvoiceBillingDetails(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): http_res_text = await utils.stream_to_text_async(http_res) raise models.SDKError("API error occurred", http_res, http_res_text) diff --git a/src/polar_sdk/sdk.py b/src/polar_sdk/sdk.py index cdf594c1..7e7b097d 100644 --- a/src/polar_sdk/sdk.py +++ b/src/polar_sdk/sdk.py @@ -36,7 +36,6 @@ from polar_sdk.metrics_sdk import MetricsSDK from polar_sdk.oauth2 import Oauth2 from polar_sdk.orders import Orders - from polar_sdk.organization_access_tokens import OrganizationAccessTokens from polar_sdk.organizations import Organizations from polar_sdk.payments import Payments from polar_sdk.products import Products @@ -76,7 +75,6 @@ class Polar(BaseSDK): events: "Events" event_types: "EventTypes" meters: "Meters" - organization_access_tokens: "OrganizationAccessTokens" customer_meters: "CustomerMeters" payments: "Payments" _sub_sdk_map = { @@ -105,10 +103,6 @@ class Polar(BaseSDK): "events": ("polar_sdk.events", "Events"), "event_types": ("polar_sdk.event_types", "EventTypes"), "meters": ("polar_sdk.meters", "Meters"), - "organization_access_tokens": ( - "polar_sdk.organization_access_tokens", - "OrganizationAccessTokens", - ), "customer_meters": ("polar_sdk.customer_meters", "CustomerMeters"), "payments": ("polar_sdk.payments", "Payments"), } diff --git a/src/polar_sdk/subscriptions.py b/src/polar_sdk/subscriptions.py index 0f328895..b9239e7f 100644 --- a/src/polar_sdk/subscriptions.py +++ b/src/polar_sdk/subscriptions.py @@ -2,7 +2,6 @@ from .basesdk import BaseSDK from datetime import datetime -from enum import Enum from jsonpath import JSONPath from polar_sdk import models, utils from polar_sdk._hooks import HookContext @@ -11,11 +10,6 @@ from typing import Any, Dict, List, Mapping, Optional, Union, cast -class ExportAcceptEnum(str, Enum): - APPLICATION_JSON = "application/json" - TEXT_CSV = "text/csv" - - class Subscriptions(BaseSDK): def list( self, @@ -634,9 +628,8 @@ def export( retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, - accept_header_override: Optional[ExportAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.SubscriptionsExportResponse: + ) -> str: r"""Export Subscriptions Export subscriptions as a CSV file. @@ -647,7 +640,6 @@ def export( :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param accept_header_override: Override the default accept header for this method :param http_headers: Additional headers to set or replace on requests. """ base_url = None @@ -674,9 +666,7 @@ def export( request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value=accept_header_override.value - if accept_header_override is not None - else "application/json;q=1, text/csv;q=0", + accept_header_value="text/csv", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -704,8 +694,6 @@ def export( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(Any, http_res) if utils.match_response(http_res, "200", "text/csv"): return http_res.text if utils.match_response(http_res, "422", "application/json"): @@ -731,9 +719,8 @@ async def export_async( retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, - accept_header_override: Optional[ExportAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.SubscriptionsExportResponse: + ) -> str: r"""Export Subscriptions Export subscriptions as a CSV file. @@ -744,7 +731,6 @@ async def export_async( :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds - :param accept_header_override: Override the default accept header for this method :param http_headers: Additional headers to set or replace on requests. """ base_url = None @@ -771,9 +757,7 @@ async def export_async( request_has_path_params=False, request_has_query_params=True, user_agent_header="user-agent", - accept_header_value=accept_header_override.value - if accept_header_override is not None - else "application/json;q=1, text/csv;q=0", + accept_header_value="text/csv", http_headers=http_headers, security=self.sdk_configuration.security, timeout_ms=timeout_ms, @@ -801,8 +785,6 @@ async def export_async( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(Any, http_res) if utils.match_response(http_res, "200", "text/csv"): return http_res.text if utils.match_response(http_res, "422", "application/json"): From 938366c52747f311b6e078dd268783aff3c4ecc4 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Fri, 26 Jun 2026 00:47:12 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow