diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 261c778b..ffa945dd 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: e7042734-e669-4c36-85da-bbb4a7500ac8 management: - docChecksum: 0cae8057f10587ee981de4493cf73bcb + docChecksum: 6f6a9c337292ce4ea5f3d067390ec643 docVersion: 0.1.0 speakeasyVersion: 1.648.0 generationVersion: 2.737.0 - releaseVersion: 0.28.4 - configChecksum: bdab84a69d2bc20c9ee89012bd332685 + releaseVersion: 0.28.5 + configChecksum: 640e0ea78156e23799d77011748633fe repoURL: https://github.com/polarsource/polar-python.git installationURL: https://github.com/polarsource/polar-python.git published: true @@ -272,6 +272,7 @@ generatedFiles: - docs/models/committedmonthlyrecurringrevenue.md - docs/models/committedsubscriptions.md - docs/models/conditions.md + - docs/models/context.md - docs/models/costmetadatainput.md - docs/models/costmetadataoutput.md - docs/models/costperuser.md @@ -336,6 +337,7 @@ generatedFiles: - docs/models/customerorderupdate.md - docs/models/customerorganization.md - docs/models/customerorganizationdata.md + - docs/models/customerorganizationfeaturesettings.md - docs/models/customerpaymentmethod.md - docs/models/customerpaymentmethodconfirm.md - docs/models/customerpaymentmethodcreate.md @@ -379,6 +381,11 @@ generatedFiles: - docs/models/customerportallicensekeyslistrequest.md - docs/models/customerportallicensekeyslistresponse.md - docs/models/customerportallicensekeyslistsecurity.md + - docs/models/customerportalmember.md + - docs/models/customerportalmembercreate.md + - docs/models/customerportalmembersremovememberrequest.md + - docs/models/customerportalmembersupdatememberrequest.md + - docs/models/customerportalmemberupdate.md - docs/models/customerportaloauthaccount.md - docs/models/customerportalordersconfirmretrypaymentrequest.md - docs/models/customerportalordersconfirmretrypaymentsecurity.md @@ -471,6 +478,7 @@ generatedFiles: - docs/models/customersupdateexternalrequest.md - docs/models/customersupdaterequest.md - docs/models/customertaxid.md + - docs/models/customertype.md - docs/models/customerupdate.md - docs/models/customerupdatedevent.md - docs/models/customerupdatedfields.md @@ -952,6 +960,7 @@ generatedFiles: - docs/models/productupdate.md - docs/models/productupdatemetadata.md - docs/models/productupdateprices.md + - docs/models/productvisibility.md - docs/models/properties.md - docs/models/propertyaggregation.md - docs/models/queryparambenefitidfilter.md @@ -1086,6 +1095,7 @@ generatedFiles: - docs/models/webhookbenefitgrantupdatedpayload.md - docs/models/webhookbenefitupdatedpayload.md - docs/models/webhookcheckoutcreatedpayload.md + - docs/models/webhookcheckoutexpiredpayload.md - docs/models/webhookcheckoutupdatedpayload.md - docs/models/webhookcustomercreatedpayload.md - docs/models/webhookcustomerdeletedpayload.md @@ -1101,6 +1111,9 @@ generatedFiles: - docs/models/webhookevent.md - docs/models/webhookeventtype.md - docs/models/webhookformat.md + - docs/models/webhookmembercreatedpayload.md + - docs/models/webhookmemberdeletedpayload.md + - docs/models/webhookmemberupdatedpayload.md - docs/models/webhookordercreatedpayload.md - docs/models/webhookorderpaidpayload.md - docs/models/webhookorderrefundedpayload.md @@ -1159,6 +1172,7 @@ generatedFiles: - docs/sdks/polarcustomermeters/README.md - docs/sdks/polarcustomers/README.md - docs/sdks/polarlicensekeys/README.md + - docs/sdks/polarmembers/README.md - docs/sdks/polarorders/README.md - docs/sdks/polarorganizations/README.md - docs/sdks/polarsubscriptions/README.md @@ -1373,6 +1387,8 @@ generatedFiles: - src/polar_sdk/models/customer_portal_downloadables_listop.py - src/polar_sdk/models/customer_portal_license_keys_getop.py - src/polar_sdk/models/customer_portal_license_keys_listop.py + - src/polar_sdk/models/customer_portal_members_remove_memberop.py + - src/polar_sdk/models/customer_portal_members_update_memberop.py - src/polar_sdk/models/customer_portal_orders_confirm_retry_paymentop.py - src/polar_sdk/models/customer_portal_orders_generate_invoiceop.py - src/polar_sdk/models/customer_portal_orders_get_payment_statusop.py @@ -1438,6 +1454,7 @@ generatedFiles: - src/polar_sdk/models/customerorderupdate.py - src/polar_sdk/models/customerorganization.py - src/polar_sdk/models/customerorganizationdata.py + - src/polar_sdk/models/customerorganizationfeaturesettings.py - src/polar_sdk/models/customerpaymentmethod.py - src/polar_sdk/models/customerpaymentmethodconfirm.py - src/polar_sdk/models/customerpaymentmethodcreate.py @@ -1446,6 +1463,9 @@ generatedFiles: - src/polar_sdk/models/customerpaymentmethodcreatesucceededresponse.py - src/polar_sdk/models/customerportalcustomer.py - src/polar_sdk/models/customerportalcustomerupdate.py + - src/polar_sdk/models/customerportalmember.py + - src/polar_sdk/models/customerportalmembercreate.py + - src/polar_sdk/models/customerportalmemberupdate.py - src/polar_sdk/models/customerportaloauthaccount.py - src/polar_sdk/models/customerportalsubscriptionsettings.py - src/polar_sdk/models/customerportalusagesettings.py @@ -1479,6 +1499,7 @@ generatedFiles: - src/polar_sdk/models/customersubscriptionupdate.py - src/polar_sdk/models/customersubscriptionupdateproduct.py - src/polar_sdk/models/customersubscriptionupdateseats.py + - src/polar_sdk/models/customertype.py - src/polar_sdk/models/customerupdate.py - src/polar_sdk/models/customerupdatedevent.py - src/polar_sdk/models/customerupdatedfields.py @@ -1777,6 +1798,7 @@ generatedFiles: - src/polar_sdk/models/products_updateop.py - src/polar_sdk/models/productsortproperty.py - src/polar_sdk/models/productupdate.py + - src/polar_sdk/models/productvisibility.py - src/polar_sdk/models/propertyaggregation.py - src/polar_sdk/models/refreshtokenrequest.py - src/polar_sdk/models/refund.py @@ -1866,6 +1888,7 @@ generatedFiles: - src/polar_sdk/models/webhookbenefitgrantupdatedpayload.py - src/polar_sdk/models/webhookbenefitupdatedpayload.py - src/polar_sdk/models/webhookcheckoutcreatedpayload.py + - src/polar_sdk/models/webhookcheckoutexpiredpayload.py - src/polar_sdk/models/webhookcheckoutupdatedpayload.py - src/polar_sdk/models/webhookcustomercreatedpayload.py - src/polar_sdk/models/webhookcustomerdeletedpayload.py @@ -1881,6 +1904,9 @@ generatedFiles: - src/polar_sdk/models/webhookevent.py - src/polar_sdk/models/webhookeventtype.py - src/polar_sdk/models/webhookformat.py + - src/polar_sdk/models/webhookmembercreatedpayload.py + - src/polar_sdk/models/webhookmemberdeletedpayload.py + - src/polar_sdk/models/webhookmemberupdatedpayload.py - src/polar_sdk/models/webhookordercreatedpayload.py - src/polar_sdk/models/webhookorderpaidpayload.py - src/polar_sdk/models/webhookorderrefundedpayload.py @@ -1914,6 +1940,7 @@ generatedFiles: - src/polar_sdk/polar_customer_meters.py - src/polar_sdk/polar_customers.py - src/polar_sdk/polar_license_keys.py + - src/polar_sdk/polar_members.py - src/polar_sdk/polar_orders.py - src/polar_sdk/polar_organizations.py - src/polar_sdk/polar_subscriptions.py @@ -1949,7 +1976,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, "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": "", "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, "customer_external_id": "", "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", "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", "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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", "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, "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, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2024-08-14T23:26:30.929Z", "modified_at": "2025-01-15T11:59:21.523Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "price_amount": 499786, "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, "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": "", "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, "customer_external_id": "", "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": "", "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": "", "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": "", "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": "", "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, "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, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2024-08-14T23:26:30.929Z", "modified_at": "2025-01-15T11:59:21.523Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 499786, "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: "" @@ -1958,7 +1985,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, "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": "", "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, "customer_external_id": "", "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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", "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, "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", "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", "is_archived": true, "product_id": "", "type": "one_time", "recurring_interval": "month", "price_currency": "", "unit_amount": "", "cap_amount": null, "meter_id": "", "meter": {"id": "", "name": ""}}, {"created_at": "2024-04-12T18:30:19.906Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "free", "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, "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", "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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, "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": "2025-11-24T07:57:40.732Z", "modified_at": "2025-12-23T16:30:04.627Z", "id": "", "source": "ad_hoc", "amount_type": "free", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, "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, "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": "", "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, "customer_external_id": "", "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": "", "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": "", "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, "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": "", "is_archived": true, "product_id": "", "type": "one_time", "recurring_interval": "month", "unit_amount": "", "cap_amount": null, "meter_id": "", "meter": {"id": "", "name": ""}}, {"created_at": "2024-04-12T18:30:19.906Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "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, "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": "", "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": "", "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, "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": "", "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": "", "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": "", "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, "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": "2025-11-24T07:57:40.732Z", "modified_at": "2025-12-23T16:30:04.627Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, "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: "" @@ -1967,7 +1994,7 @@ examples: _endpointcustomer_created_post: speakeasy-default-endpointcustomer-created-post: requestBody: - application/json: {"type": "customer.created", "timestamp": "2025-10-24T17:37:29.711Z", "data": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-10-24T17:37:29.711Z", "modified_at": "2025-07-16T19:46:09.413Z", "metadata": {"key": "", "key1": 9709.6}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-10-26T06:10:46.111Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} + application/json: {"type": "customer.created", "timestamp": "2025-10-24T17:37:29.711Z", "data": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-10-24T17:37:29.711Z", "modified_at": "2025-07-16T19:46:09.413Z", "metadata": {"key": "", "key1": 9709.6}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-10-26T06:10:46.111Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} responses: "200": application/json: "" @@ -1976,7 +2003,7 @@ examples: _endpointcustomer_updated_post: speakeasy-default-endpointcustomer-updated-post: requestBody: - application/json: {"type": "customer.updated", "timestamp": "2023-07-09T20:22:33.716Z", "data": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-07-09T20:22:33.716Z", "modified_at": "2024-10-16T21:39:43.150Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-14T00:37:03.564Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} + application/json: {"type": "customer.updated", "timestamp": "2023-07-09T20:22:33.716Z", "data": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-07-09T20:22:33.716Z", "modified_at": "2024-10-16T21:39:43.150Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-14T00:37:03.564Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} responses: "200": application/json: "" @@ -1985,7 +2012,7 @@ examples: _endpointcustomer_deleted_post: speakeasy-default-endpointcustomer-deleted-post: requestBody: - application/json: {"type": "customer.deleted", "timestamp": "2023-07-12T21:40:34.752Z", "data": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-07-12T21:40:34.752Z", "modified_at": "2025-02-26T09:36:28.870Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-07-08T00:32:27.730Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} + application/json: {"type": "customer.deleted", "timestamp": "2023-07-12T21:40:34.752Z", "data": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-07-12T21:40:34.752Z", "modified_at": "2025-02-26T09:36:28.870Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-07-08T00:32:27.730Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} responses: "200": application/json: "" @@ -1994,7 +2021,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, "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_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"}} responses: "200": application/json: "" @@ -2003,7 +2030,7 @@ examples: _endpointorder_created_post: speakeasy-default-endpointorder-created-post: requestBody: - application/json: {"type": "order.created", "timestamp": "2024-08-21T06:55:49.348Z", "data": {"id": "", "created_at": "2024-08-21T06:55:49.348Z", "modified_at": null, "status": "refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": true, "key1": 2184.01, "key2": ""}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-11-07T09:52:21.455Z", "modified_at": "2025-06-03T19:46:15.179Z", "metadata": {"key": 526331}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-10-25T07:11:48.501Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {}, "id": "", "created_at": "2025-02-09T20:19:15.400Z", "modified_at": "2023-03-30T07:05:37.419Z", "trial_interval": "day", "trial_interval_count": 952546, "name": "", "description": "against outbid to petty yeast off meanwhile colonialism", "recurring_interval": "month", "recurring_interval_count": 1806, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 425196, "type": "fixed", "amount": 778891, "currency": "Armenian Dram", "created_at": "2023-03-20T16:46:25.677Z", "modified_at": "2023-03-06T18:58:41.541Z", "id": "", "metadata": {"key": 298954}, "name": "", "code": "", "starts_at": "2023-04-08T15:39:19.572Z", "ends_at": "2024-01-04T15:31:18.185Z", "max_redemptions": 313467, "redemptions_count": 237254, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": null, "items": [{"created_at": "2023-10-09T05:35:46.860Z", "modified_at": "2025-11-19T12:55:15.055Z", "id": "", "label": "", "amount": 921740, "tax_amount": 964357, "proration": true, "product_price_id": ""}, {"created_at": "2023-10-09T05:35:46.860Z", "modified_at": "2025-11-19T12:55:15.055Z", "id": "", "label": "", "amount": 921740, "tax_amount": 964357, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}} + application/json: {"type": "order.created", "timestamp": "2024-08-21T06:55:49.348Z", "data": {"id": "", "created_at": "2024-08-21T06:55:49.348Z", "modified_at": null, "status": "refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": true, "key1": 2184.01, "key2": ""}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-11-07T09:52:21.455Z", "modified_at": "2025-06-03T19:46:15.179Z", "metadata": {"key": 526331}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-10-25T07:11:48.501Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {}, "id": "", "created_at": "2025-02-09T20:19:15.400Z", "modified_at": "2023-03-30T07:05:37.419Z", "trial_interval": "day", "trial_interval_count": 952546, "name": "", "description": "against outbid to petty yeast off meanwhile colonialism", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 1806, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 425196, "type": "fixed", "amount": 778891, "currency": "Armenian Dram", "created_at": "2023-03-20T16:46:25.677Z", "modified_at": "2023-03-06T18:58:41.541Z", "id": "", "metadata": {"key": 298954}, "name": "", "code": "", "starts_at": "2023-04-08T15:39:19.572Z", "ends_at": "2024-01-04T15:31:18.185Z", "max_redemptions": 313467, "redemptions_count": 237254, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": null, "items": [{"created_at": "2023-10-09T05:35:46.860Z", "modified_at": "2025-11-19T12:55:15.055Z", "id": "", "label": "", "amount": 921740, "tax_amount": 964357, "proration": true, "product_price_id": ""}, {"created_at": "2023-10-09T05:35:46.860Z", "modified_at": "2025-11-19T12:55:15.055Z", "id": "", "label": "", "amount": 921740, "tax_amount": 964357, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}} responses: "200": application/json: "" @@ -2012,7 +2039,7 @@ examples: _endpointorder_updated_post: speakeasy-default-endpointorder-updated-post: requestBody: - application/json: {"type": "order.updated", "timestamp": "2023-10-25T00:08:50.290Z", "data": {"id": "", "created_at": "2023-10-25T00:08:50.290Z", "modified_at": "2024-01-08T20:00:47.692Z", "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_create", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": false, "key1": 187509}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-12-03T05:16:11.415Z", "modified_at": "2023-03-11T05:58:05.184Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-06-26T15:51:37.068Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {}, "id": "", "created_at": "2024-07-10T12:45:44.731Z", "modified_at": "2024-09-19T13:13:25.785Z", "trial_interval": "week", "trial_interval_count": 804823, "name": "", "description": "bossy direct reservation quaintly atop interestingly", "recurring_interval": "month", "recurring_interval_count": 443415, "is_recurring": true, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "duration_in_months": 227959, "type": "fixed", "amount": 785594, "currency": "Barbados Dollar", "created_at": "2025-08-02T14:17:04.679Z", "modified_at": "2023-04-10T21:27:35.876Z", "id": "", "metadata": {"key": "", "key1": 330083}, "name": "", "code": "", "starts_at": "2023-09-01T14:56:03.459Z", "ends_at": "2024-10-01T02:03:16.161Z", "max_redemptions": 723901, "redemptions_count": 125128, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2024-10-31T22:22:01.280Z", "modified_at": "2025-05-03T18:27:32.620Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 340177, "status": "unpaid", "current_period_start": "2023-08-26T12:56:24.423Z", "current_period_end": "2024-02-06T09:06:51.703Z", "trial_start": "2024-01-06T18:11:55.943Z", "trial_end": "2025-06-26T08:06:49.783Z", "cancel_at_period_end": true, "canceled_at": "2024-03-28T15:10:13.508Z", "started_at": "2023-11-03T05:13:30.202Z", "ends_at": "2024-03-03T03:52:46.888Z", "ended_at": "2025-07-30T00:35:38.035Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": null, "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-01-03T16:01:28.999Z", "modified_at": null, "id": "", "label": "", "amount": 516134, "tax_amount": 41202, "proration": false, "product_price_id": ""}, {"created_at": "2025-01-03T16:01:28.999Z", "modified_at": null, "id": "", "label": "", "amount": 516134, "tax_amount": 41202, "proration": false, "product_price_id": ""}, {"created_at": "2025-01-03T16:01:28.999Z", "modified_at": null, "id": "", "label": "", "amount": 516134, "tax_amount": 41202, "proration": false, "product_price_id": ""}], "description": "Pro Plan"}} + application/json: {"type": "order.updated", "timestamp": "2023-10-25T00:08:50.290Z", "data": {"id": "", "created_at": "2023-10-25T00:08:50.290Z", "modified_at": "2024-01-08T20:00:47.692Z", "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_create", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": false, "key1": 187509}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-12-03T05:16:11.415Z", "modified_at": "2023-03-11T05:58:05.184Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-06-26T15:51:37.068Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {}, "id": "", "created_at": "2024-07-10T12:45:44.731Z", "modified_at": "2024-09-19T13:13:25.785Z", "trial_interval": "week", "trial_interval_count": 804823, "name": "", "description": "bossy direct reservation quaintly atop interestingly", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 443415, "is_recurring": true, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "duration_in_months": 227959, "type": "fixed", "amount": 785594, "currency": "Barbados Dollar", "created_at": "2025-08-02T14:17:04.679Z", "modified_at": "2023-04-10T21:27:35.876Z", "id": "", "metadata": {"key": "", "key1": 330083}, "name": "", "code": "", "starts_at": "2023-09-01T14:56:03.459Z", "ends_at": "2024-10-01T02:03:16.161Z", "max_redemptions": 723901, "redemptions_count": 125128, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2024-10-31T22:22:01.280Z", "modified_at": "2025-05-03T18:27:32.620Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 340177, "status": "unpaid", "current_period_start": "2023-08-26T12:56:24.423Z", "current_period_end": "2024-02-06T09:06:51.703Z", "trial_start": "2024-01-06T18:11:55.943Z", "trial_end": "2025-06-26T08:06:49.783Z", "cancel_at_period_end": true, "canceled_at": "2024-03-28T15:10:13.508Z", "started_at": "2023-11-03T05:13:30.202Z", "ends_at": "2024-03-03T03:52:46.888Z", "ended_at": "2025-07-30T00:35:38.035Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": null, "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-01-03T16:01:28.999Z", "modified_at": null, "id": "", "label": "", "amount": 516134, "tax_amount": 41202, "proration": false, "product_price_id": ""}, {"created_at": "2025-01-03T16:01:28.999Z", "modified_at": null, "id": "", "label": "", "amount": 516134, "tax_amount": 41202, "proration": false, "product_price_id": ""}, {"created_at": "2025-01-03T16:01:28.999Z", "modified_at": null, "id": "", "label": "", "amount": 516134, "tax_amount": 41202, "proration": false, "product_price_id": ""}], "description": "Pro Plan"}} responses: "200": application/json: "" @@ -2021,7 +2048,7 @@ examples: _endpointorder_paid_post: speakeasy-default-endpointorder-paid-post: requestBody: - application/json: {"type": "order.paid", "timestamp": "2025-12-05T07:44:21.172Z", "data": {"id": "", "created_at": "2025-12-05T07:44:21.172Z", "modified_at": "2024-12-11T22:14:44.762Z", "status": "refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_create", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-30T09:47:22.437Z", "modified_at": "2025-04-20T14:41:24.727Z", "metadata": {"key": 154136, "key1": false, "key2": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-06-08T00:11:47.056Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {"key": "", "key1": false, "key2": 1122.47}, "id": "", "created_at": "2024-03-19T01:07:15.346Z", "modified_at": "2025-03-22T13:41:39.854Z", "trial_interval": "year", "trial_interval_count": 650431, "name": "", "description": "instead unnaturally curly scared but definite knowledgeably", "recurring_interval": "year", "recurring_interval_count": 856211, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "forever", "duration_in_months": 458129, "type": "fixed", "basis_points": 400985, "created_at": "2025-12-02T15:10:04.656Z", "modified_at": "2024-10-30T18:07:50.242Z", "id": "", "metadata": {"key": 4652.15}, "name": "", "code": "", "starts_at": "2023-11-24T17:59:56.836Z", "ends_at": "2025-08-12T18:11:29.547Z", "max_redemptions": 727805, "redemptions_count": 584469, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2025-07-17T03:39:23.964Z", "modified_at": "2025-10-30T20:20:46.051Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 648656, "status": "canceled", "current_period_start": "2023-02-24T15:15:22.018Z", "current_period_end": "2023-12-07T15:09:08.144Z", "trial_start": "2025-12-21T22:38:27.436Z", "trial_end": "2024-01-10T03:46:58.354Z", "cancel_at_period_end": false, "canceled_at": "2023-07-01T03:36:16.430Z", "started_at": "2024-09-21T14:56:16.106Z", "ends_at": "2023-01-21T03:35:38.158Z", "ended_at": "2023-12-02T06:46:04.196Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": ""}, "items": [], "description": "Pro Plan"}} + application/json: {"type": "order.paid", "timestamp": "2025-12-05T07:44:21.172Z", "data": {"id": "", "created_at": "2025-12-05T07:44:21.172Z", "modified_at": "2024-12-11T22:14:44.762Z", "status": "refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_create", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-30T09:47:22.437Z", "modified_at": "2025-04-20T14:41:24.727Z", "metadata": {"key": 154136, "key1": false, "key2": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-06-08T00:11:47.056Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {"key": "", "key1": false, "key2": 1122.47}, "id": "", "created_at": "2024-03-19T01:07:15.346Z", "modified_at": "2025-03-22T13:41:39.854Z", "trial_interval": "year", "trial_interval_count": 650431, "name": "", "description": "instead unnaturally curly scared but definite knowledgeably", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 856211, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "forever", "duration_in_months": 458129, "type": "fixed", "basis_points": 400985, "created_at": "2025-12-02T15:10:04.656Z", "modified_at": "2024-10-30T18:07:50.242Z", "id": "", "metadata": {"key": 4652.15}, "name": "", "code": "", "starts_at": "2023-11-24T17:59:56.836Z", "ends_at": "2025-08-12T18:11:29.547Z", "max_redemptions": 727805, "redemptions_count": 584469, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2025-07-17T03:39:23.964Z", "modified_at": "2025-10-30T20:20:46.051Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 648656, "status": "canceled", "current_period_start": "2023-02-24T15:15:22.018Z", "current_period_end": "2023-12-07T15:09:08.144Z", "trial_start": "2025-12-21T22:38:27.436Z", "trial_end": "2024-01-10T03:46:58.354Z", "cancel_at_period_end": false, "canceled_at": "2023-07-01T03:36:16.430Z", "started_at": "2024-09-21T14:56:16.106Z", "ends_at": "2023-01-21T03:35:38.158Z", "ended_at": "2023-12-02T06:46:04.196Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": ""}, "items": [], "description": "Pro Plan"}} responses: "200": application/json: "" @@ -2030,7 +2057,7 @@ examples: _endpointorder_refunded_post: speakeasy-default-endpointorder-refunded-post: requestBody: - application/json: {"type": "order.refunded", "timestamp": "2024-07-23T18:00:11.615Z", "data": {"id": "", "created_at": "2024-07-23T18:00:11.615Z", "modified_at": "2024-08-23T03:13:11.383Z", "status": "refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_create", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": 4542.91}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-11T17:50:11.031Z", "modified_at": "2023-02-24T05:25:29.794Z", "metadata": {"key": 97027, "key1": 958634}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-01-16T07:26:04.196Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {"key": 4016.73, "key1": 9058.31, "key2": true}, "id": "", "created_at": "2024-10-26T18:25:25.517Z", "modified_at": "2023-07-26T10:28:20.791Z", "trial_interval": "month", "trial_interval_count": 638840, "name": "", "description": null, "recurring_interval": "year", "recurring_interval_count": 737679, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "forever", "duration_in_months": 333301, "type": "percentage", "amount": 985928, "currency": "Tunisian Dinar", "created_at": "2025-03-31T17:18:12.309Z", "modified_at": "2025-04-04T07:20:27.321Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": null, "ends_at": "2025-11-07T12:21:07.975Z", "max_redemptions": 986922, "redemptions_count": 691292, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2023-03-16T14:38:58.849Z", "modified_at": "2024-08-12T02:18:50.288Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 547568, "status": "past_due", "current_period_start": "2025-08-22T13:19:25.286Z", "current_period_end": "2025-05-03T08:49:50.424Z", "trial_start": "2023-11-19T10:04:04.704Z", "trial_end": "2025-09-27T15:34:09.130Z", "cancel_at_period_end": true, "canceled_at": "2023-11-21T12:57:47.903Z", "started_at": "2023-09-21T04:07:05.991Z", "ends_at": "2023-10-30T23:29:28.584Z", "ended_at": "2025-05-20T18:28:46.249Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-01-22T05:05:29.797Z", "modified_at": "2025-11-07T21:20:59.535Z", "id": "", "label": "", "amount": 287841, "tax_amount": 922801, "proration": false, "product_price_id": ""}], "description": "Pro Plan"}} + application/json: {"type": "order.refunded", "timestamp": "2024-07-23T18:00:11.615Z", "data": {"id": "", "created_at": "2024-07-23T18:00:11.615Z", "modified_at": "2024-08-23T03:13:11.383Z", "status": "refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_create", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": 4542.91}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-11T17:50:11.031Z", "modified_at": "2023-02-24T05:25:29.794Z", "metadata": {"key": 97027, "key1": 958634}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-01-16T07:26:04.196Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {"key": 4016.73, "key1": 9058.31, "key2": true}, "id": "", "created_at": "2024-10-26T18:25:25.517Z", "modified_at": "2023-07-26T10:28:20.791Z", "trial_interval": "month", "trial_interval_count": 638840, "name": "", "description": null, "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 737679, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "forever", "duration_in_months": 333301, "type": "percentage", "amount": 985928, "currency": "Tunisian Dinar", "created_at": "2025-03-31T17:18:12.309Z", "modified_at": "2025-04-04T07:20:27.321Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": null, "ends_at": "2025-11-07T12:21:07.975Z", "max_redemptions": 986922, "redemptions_count": 691292, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2023-03-16T14:38:58.849Z", "modified_at": "2024-08-12T02:18:50.288Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 547568, "status": "past_due", "current_period_start": "2025-08-22T13:19:25.286Z", "current_period_end": "2025-05-03T08:49:50.424Z", "trial_start": "2023-11-19T10:04:04.704Z", "trial_end": "2025-09-27T15:34:09.130Z", "cancel_at_period_end": true, "canceled_at": "2023-11-21T12:57:47.903Z", "started_at": "2023-09-21T04:07:05.991Z", "ends_at": "2023-10-30T23:29:28.584Z", "ended_at": "2025-05-20T18:28:46.249Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-01-22T05:05:29.797Z", "modified_at": "2025-11-07T21:20:59.535Z", "id": "", "label": "", "amount": 287841, "tax_amount": 922801, "proration": false, "product_price_id": ""}], "description": "Pro Plan"}} responses: "200": application/json: "" @@ -2039,7 +2066,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, "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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", "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, "organization_id": "", "metadata": {"key": 3195.27}, "properties": {"units": 371901, "rollover": false, "meter_id": ""}}], "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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": "", "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": "", "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": "", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}]}} + 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_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": "", "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": "", "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, "organization_id": "", "metadata": {"key": 3195.27}, "properties": {"units": 371901, "rollover": false, "meter_id": ""}}], "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": "", "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": "", "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": "", "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": "", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}]}} responses: "200": application/json: "" @@ -2048,7 +2075,7 @@ examples: _endpointsubscription_updated_post: speakeasy-default-endpointsubscription-updated-post: requestBody: - application/json: {"type": "subscription.updated", "timestamp": "2023-06-24T13:26:25.969Z", "data": {"created_at": "2023-06-24T13:26:25.969Z", "modified_at": "2024-10-16T16:24:20.274Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 159270, "status": "canceled", "current_period_start": "2024-06-19T12:29:28.503Z", "current_period_end": "2023-08-24T22:14:10.131Z", "trial_start": "2024-05-25T12:11:24.717Z", "trial_end": "2024-07-08T02:17:23.799Z", "cancel_at_period_end": false, "canceled_at": "2025-08-31T06:08:08.476Z", "started_at": "2023-06-01T08:01:27.951Z", "ends_at": "2025-01-23T22:07:32.693Z", "ended_at": "2025-05-14T13:55:44.367Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "metadata": {"key": 477870, "key1": true, "key2": 485359}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-01-10T06:45:35.933Z", "modified_at": "2024-01-24T02:08:13.039Z", "metadata": {"key": 117983, "key1": 8500.16}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-08-09T14:29:57.545Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-12-02T17:09:45.787Z", "modified_at": "2025-03-11T00:51:56.943Z", "trial_interval": "week", "trial_interval_count": 488614, "name": "", "description": "obnoxiously save following clinch striking juicy", "recurring_interval": "year", "recurring_interval_count": 597339, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": false, "key1": 884041, "key2": 4257.66}, "prices": [{"created_at": "2024-10-16T16:24:20.274Z", "modified_at": "2024-01-05T22:20:15.867Z", "id": "", "source": "catalog", "amount_type": "fixed", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "price_amount": 488614, "legacy": true}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/srv", "mime_type": "", "size": 29348, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": null, "last_modified_at": "2023-10-03T10:28:13.472Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-07T09:47:56.854Z", "size_readable": "", "public_url": "https://flowery-promise.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/srv", "mime_type": "", "size": 29348, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": null, "last_modified_at": "2023-10-03T10:28:13.472Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-07T09:47:56.854Z", "size_readable": "", "public_url": "https://flowery-promise.org/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-01-10T20:33:55.554Z", "modified_at": "2023-03-14T14:16:19.041Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 766194, "required": false}]}, "discount": {"duration": "once", "duration_in_months": 892166, "type": "fixed", "amount": 996997, "currency": "Canadian Dollar", "created_at": "2023-06-09T06:11:59.062Z", "modified_at": "2024-09-28T05:16:48.757Z", "id": "", "metadata": {"key": 962223, "key1": 587522}, "name": "", "code": "", "starts_at": "2023-04-12T20:54:06.410Z", "ends_at": "2025-03-19T14:28:57.223Z", "max_redemptions": 852845, "redemptions_count": 658199, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [], "meters": [{"created_at": "2025-06-07T13:44:19.881Z", "modified_at": "2023-12-06T20:26:36.699Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 6882, "key1": 556425, "key2": 117069}, "created_at": "2023-05-21T02:26:27.963Z", "modified_at": "2025-06-09T17:54:52.162Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"conjunction": "or", "clauses": []}, {"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}, {"created_at": "2025-06-07T13:44:19.881Z", "modified_at": "2023-12-06T20:26:36.699Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 6882, "key1": 556425, "key2": 117069}, "created_at": "2023-05-21T02:26:27.963Z", "modified_at": "2025-06-09T17:54:52.162Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"conjunction": "or", "clauses": []}, {"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}]}} + application/json: {"type": "subscription.updated", "timestamp": "2023-06-24T13:26:25.969Z", "data": {"created_at": "2023-06-24T13:26:25.969Z", "modified_at": "2024-10-16T16:24:20.274Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 159270, "status": "canceled", "current_period_start": "2024-06-19T12:29:28.503Z", "current_period_end": "2023-08-24T22:14:10.131Z", "trial_start": "2024-05-25T12:11:24.717Z", "trial_end": "2024-07-08T02:17:23.799Z", "cancel_at_period_end": false, "canceled_at": "2025-08-31T06:08:08.476Z", "started_at": "2023-06-01T08:01:27.951Z", "ends_at": "2025-01-23T22:07:32.693Z", "ended_at": "2025-05-14T13:55:44.367Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "metadata": {"key": 477870, "key1": true, "key2": 485359}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-01-10T06:45:35.933Z", "modified_at": "2024-01-24T02:08:13.039Z", "metadata": {"key": 117983, "key1": 8500.16}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-08-09T14:29:57.545Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-12-02T17:09:45.787Z", "modified_at": "2025-03-11T00:51:56.943Z", "trial_interval": "week", "trial_interval_count": 488614, "name": "", "description": "obnoxiously save following clinch striking juicy", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 597339, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": false, "key1": 884041, "key2": 4257.66}, "prices": [{"created_at": "2024-10-16T16:24:20.274Z", "modified_at": "2024-01-05T22:20:15.867Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 488614, "legacy": true}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/srv", "mime_type": "", "size": 29348, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": null, "last_modified_at": "2023-10-03T10:28:13.472Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-07T09:47:56.854Z", "size_readable": "", "public_url": "https://flowery-promise.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/srv", "mime_type": "", "size": 29348, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": null, "last_modified_at": "2023-10-03T10:28:13.472Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-07T09:47:56.854Z", "size_readable": "", "public_url": "https://flowery-promise.org/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-01-10T20:33:55.554Z", "modified_at": "2023-03-14T14:16:19.041Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 766194, "required": false}]}, "discount": {"duration": "once", "duration_in_months": 892166, "type": "fixed", "amount": 996997, "currency": "Canadian Dollar", "created_at": "2023-06-09T06:11:59.062Z", "modified_at": "2024-09-28T05:16:48.757Z", "id": "", "metadata": {"key": 962223, "key1": 587522}, "name": "", "code": "", "starts_at": "2023-04-12T20:54:06.410Z", "ends_at": "2025-03-19T14:28:57.223Z", "max_redemptions": 852845, "redemptions_count": 658199, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [], "meters": [{"created_at": "2025-06-07T13:44:19.881Z", "modified_at": "2023-12-06T20:26:36.699Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 6882, "key1": 556425, "key2": 117069}, "created_at": "2023-05-21T02:26:27.963Z", "modified_at": "2025-06-09T17:54:52.162Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"conjunction": "or", "clauses": []}, {"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}, {"created_at": "2025-06-07T13:44:19.881Z", "modified_at": "2023-12-06T20:26:36.699Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 6882, "key1": 556425, "key2": 117069}, "created_at": "2023-05-21T02:26:27.963Z", "modified_at": "2025-06-09T17:54:52.162Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"conjunction": "or", "clauses": []}, {"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}]}} responses: "200": application/json: "" @@ -2057,7 +2084,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": null, "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, "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", "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, "organization_id": "", "metadata": {}, "properties": {"prefix": "", "expires": {"ttl": 18256, "timeframe": "day"}, "activations": {"limit": 776442, "enable_customer_admin": false}, "limit_usage": 89994}}, {"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, "organization_id": "", "metadata": {"key": 331688, "key1": 10869, "key2": true}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "maintain"}}, {"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, "organization_id": "", "metadata": {"key": 331688, "key1": 10869, "key2": true}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "maintain"}}], "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", "duration_in_months": 482318, "type": "percentage", "amount": 489921, "currency": "Chilean Peso", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": []}} + 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": null, "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_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, "organization_id": "", "metadata": {}, "properties": {"prefix": "", "expires": {"ttl": 18256, "timeframe": "day"}, "activations": {"limit": 776442, "enable_customer_admin": false}, "limit_usage": 89994}}, {"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, "organization_id": "", "metadata": {"key": 331688, "key1": 10869, "key2": true}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "maintain"}}, {"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, "organization_id": "", "metadata": {"key": 331688, "key1": 10869, "key2": true}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "maintain"}}], "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", "duration_in_months": 482318, "type": "percentage", "amount": 489921, "currency": "Chilean Peso", "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": "", "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": "", "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": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": []}} responses: "200": application/json: "" @@ -2066,7 +2093,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, "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "unit_amount": "", "cap_amount": 739654, "meter_id": "", "meter": {"id": "", "name": ""}}, {"created_at": "2025-04-18T11:08:34.147Z", "modified_at": "2023-05-05T03:28:24.281Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": true, "key1": true}, "files": []}}, {"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, "organization_id": "", "metadata": {"key": false, "key1": 922.01, "key2": 5307.16}, "properties": {"note": ""}}, {"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, "organization_id": "", "metadata": {"key": false}, "properties": {"units": 743161, "rollover": false, "meter_id": ""}}], "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "meters": []}} + 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_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": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "unit_amount": "", "cap_amount": 739654, "meter_id": "", "meter": {"id": "", "name": ""}}, {"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": "", "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, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": true, "key1": true}, "files": []}}, {"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, "organization_id": "", "metadata": {"key": false, "key1": 922.01, "key2": 5307.16}, "properties": {"note": ""}}, {"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, "organization_id": "", "metadata": {"key": false}, "properties": {"units": 743161, "rollover": false, "meter_id": ""}}], "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": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "meters": []}} responses: "200": application/json: "" @@ -2075,7 +2102,7 @@ examples: _endpointsubscription_uncanceled_post: speakeasy-default-endpointsubscription-uncanceled-post: requestBody: - application/json: {"type": "subscription.uncanceled", "timestamp": "2023-02-06T17:25:10.106Z", "data": {"created_at": "2023-02-06T17:25:10.106Z", "modified_at": "2023-01-25T07:20:02.381Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 33508, "status": "canceled", "current_period_start": "2024-04-11T19:08:16.655Z", "current_period_end": "2023-08-23T01:03:59.107Z", "trial_start": null, "trial_end": "2023-01-25T07:20:02.381Z", "cancel_at_period_end": true, "canceled_at": "2024-11-16T02:01:16.824Z", "started_at": null, "ends_at": "2023-12-23T04:50:00.016Z", "ended_at": "2024-10-18T16:25:47.209Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": null, "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-10-01T20:42:25.530Z", "modified_at": "2024-07-04T17:30:56.477Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-12-20T09:31:52.259Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-03-26T06:19:23.237Z", "modified_at": "2024-05-11T18:08:21.251Z", "trial_interval": "week", "trial_interval_count": 809387, "name": "", "description": "questioningly proliferate yet vanish mooch yowza hopeful", "recurring_interval": "month", "recurring_interval_count": 22176, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2023-01-25T07:20:02.381Z", "modified_at": "2024-03-21T16:37:42.322Z", "id": "", "source": "catalog", "amount_type": "custom", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "minimum_amount": 107066, "maximum_amount": 251812, "preset_amount": 625077, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-07-09T11:35:46.121Z", "modified_at": "2024-07-14T11:45:04.348Z", "type": "downloadables", "description": "esteemed aha arcade", "selectable": true, "deletable": false, "organization_id": "", "metadata": {"key": 549444}, "properties": {"archived": {"key": false, "key1": false, "key2": true}, "files": [""]}}, {"id": "", "created_at": "2023-07-17T10:10:30.145Z", "modified_at": "2024-02-22T01:39:19.437Z", "type": "github_repository", "description": "hmph frantically for into unfurl rapidly when", "selectable": false, "deletable": true, "organization_id": "", "metadata": {"key": ""}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "admin"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/namedb", "mime_type": "", "size": 865781, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2024-09-05T02:35:48.322Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-06T10:04:39.843Z", "size_readable": "", "public_url": "https://normal-giant.org/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-05-08T20:53:14.936Z", "modified_at": "2025-08-01T19:32:49.347Z", "id": "", "metadata": {"key": 791230}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 887720, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-05-08T20:53:14.936Z", "modified_at": "2025-08-01T19:32:49.347Z", "id": "", "metadata": {"key": 791230}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 887720, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-05-08T20:53:14.936Z", "modified_at": "2025-08-01T19:32:49.347Z", "id": "", "metadata": {"key": 791230}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 887720, "required": false}]}, "discount": {"duration": "once", "type": "fixed", "basis_points": 408479, "created_at": "2023-03-14T02:37:49.424Z", "modified_at": "2025-12-23T02:41:08.695Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-07-07T16:21:42.534Z", "ends_at": "2023-05-08T21:16:10.476Z", "max_redemptions": 431440, "redemptions_count": 127195, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-12-23T04:50:00.016Z", "modified_at": "2024-10-18T16:25:47.209Z", "id": "", "source": "catalog", "amount_type": "custom", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "minimum_amount": 138645, "maximum_amount": 95755, "preset_amount": 417130, "legacy": true}], "meters": [{"created_at": "2025-11-08T06:13:24.540Z", "modified_at": "2023-05-26T16:36:35.734Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 479423, "key1": 327992}, "created_at": "2025-01-03T20:59:19.837Z", "modified_at": "2024-09-23T23:32:35.223Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}, {"created_at": "2025-11-08T06:13:24.540Z", "modified_at": "2023-05-26T16:36:35.734Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 479423, "key1": 327992}, "created_at": "2025-01-03T20:59:19.837Z", "modified_at": "2024-09-23T23:32:35.223Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}, {"created_at": "2025-11-08T06:13:24.540Z", "modified_at": "2023-05-26T16:36:35.734Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 479423, "key1": 327992}, "created_at": "2025-01-03T20:59:19.837Z", "modified_at": "2024-09-23T23:32:35.223Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}]}} + application/json: {"type": "subscription.uncanceled", "timestamp": "2023-02-06T17:25:10.106Z", "data": {"created_at": "2023-02-06T17:25:10.106Z", "modified_at": "2023-01-25T07:20:02.381Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 33508, "status": "canceled", "current_period_start": "2024-04-11T19:08:16.655Z", "current_period_end": "2023-08-23T01:03:59.107Z", "trial_start": null, "trial_end": "2023-01-25T07:20:02.381Z", "cancel_at_period_end": true, "canceled_at": "2024-11-16T02:01:16.824Z", "started_at": null, "ends_at": "2023-12-23T04:50:00.016Z", "ended_at": "2024-10-18T16:25:47.209Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": null, "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-10-01T20:42:25.530Z", "modified_at": "2024-07-04T17:30:56.477Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-12-20T09:31:52.259Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-03-26T06:19:23.237Z", "modified_at": "2024-05-11T18:08:21.251Z", "trial_interval": "week", "trial_interval_count": 809387, "name": "", "description": "questioningly proliferate yet vanish mooch yowza hopeful", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 22176, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2023-01-25T07:20:02.381Z", "modified_at": "2024-03-21T16:37:42.322Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 107066, "maximum_amount": 251812, "preset_amount": 625077, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-07-09T11:35:46.121Z", "modified_at": "2024-07-14T11:45:04.348Z", "type": "downloadables", "description": "esteemed aha arcade", "selectable": true, "deletable": false, "organization_id": "", "metadata": {"key": 549444}, "properties": {"archived": {"key": false, "key1": false, "key2": true}, "files": [""]}}, {"id": "", "created_at": "2023-07-17T10:10:30.145Z", "modified_at": "2024-02-22T01:39:19.437Z", "type": "github_repository", "description": "hmph frantically for into unfurl rapidly when", "selectable": false, "deletable": true, "organization_id": "", "metadata": {"key": ""}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "admin"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/namedb", "mime_type": "", "size": 865781, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2024-09-05T02:35:48.322Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-12-06T10:04:39.843Z", "size_readable": "", "public_url": "https://normal-giant.org/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-05-08T20:53:14.936Z", "modified_at": "2025-08-01T19:32:49.347Z", "id": "", "metadata": {"key": 791230}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 887720, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-05-08T20:53:14.936Z", "modified_at": "2025-08-01T19:32:49.347Z", "id": "", "metadata": {"key": 791230}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 887720, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-05-08T20:53:14.936Z", "modified_at": "2025-08-01T19:32:49.347Z", "id": "", "metadata": {"key": 791230}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 887720, "required": false}]}, "discount": {"duration": "once", "type": "fixed", "basis_points": 408479, "created_at": "2023-03-14T02:37:49.424Z", "modified_at": "2025-12-23T02:41:08.695Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-07-07T16:21:42.534Z", "ends_at": "2023-05-08T21:16:10.476Z", "max_redemptions": 431440, "redemptions_count": 127195, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-12-23T04:50:00.016Z", "modified_at": "2024-10-18T16:25:47.209Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 138645, "maximum_amount": 95755, "preset_amount": 417130, "legacy": true}], "meters": [{"created_at": "2025-11-08T06:13:24.540Z", "modified_at": "2023-05-26T16:36:35.734Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 479423, "key1": 327992}, "created_at": "2025-01-03T20:59:19.837Z", "modified_at": "2024-09-23T23:32:35.223Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}, {"created_at": "2025-11-08T06:13:24.540Z", "modified_at": "2023-05-26T16:36:35.734Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 479423, "key1": 327992}, "created_at": "2025-01-03T20:59:19.837Z", "modified_at": "2024-09-23T23:32:35.223Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}, {"created_at": "2025-11-08T06:13:24.540Z", "modified_at": "2023-05-26T16:36:35.734Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 479423, "key1": 327992}, "created_at": "2025-01-03T20:59:19.837Z", "modified_at": "2024-09-23T23:32:35.223Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}]}} responses: "200": application/json: "" @@ -2084,7 +2111,7 @@ examples: _endpointsubscription_revoked_post: speakeasy-default-endpointsubscription-revoked-post: requestBody: - application/json: {"type": "subscription.revoked", "timestamp": "2024-01-02T06:40:50.860Z", "data": {"created_at": "2024-01-02T06:40:50.860Z", "modified_at": null, "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 334195, "status": "canceled", "current_period_start": "2024-04-30T10:39:59.432Z", "current_period_end": "2025-03-19T11:29:47.842Z", "trial_start": "2023-03-16T08:42:29.566Z", "trial_end": "2023-10-28T01:20:21.930Z", "cancel_at_period_end": true, "canceled_at": "2023-02-17T04:59:11.584Z", "started_at": "2024-02-14T23:20:57.498Z", "ends_at": "2025-04-28T23:19:31.379Z", "ended_at": "2023-04-29T06:37:50.213Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "metadata": {"key": 764246}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-03-17T11:47:03.932Z", "modified_at": "2025-12-12T02:48:12.123Z", "metadata": {"key": true, "key1": 683572}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-09T13:41:39.970Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2025-05-31T05:10:14.997Z", "modified_at": "2024-05-08T09:12:04.956Z", "trial_interval": null, "trial_interval_count": 442924, "name": "", "description": "pace aside typewriter if oh almost supposing twine", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 956675}, "prices": [], "benefits": [{"id": "", "created_at": "2024-06-28T04:33:55.419Z", "modified_at": "2023-04-08T23:58:31.520Z", "type": "github_repository", "description": "eventually holster drab finished than sanity wiggly surprisingly judicious", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": false, "key1": 683668, "key2": 4880.9}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "admin"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 789606, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-08T06:21:41.000Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-12-10T00:21:44.017Z", "size_readable": "", "public_url": "https://poor-duster.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 789606, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-08T06:21:41.000Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-12-10T00:21:44.017Z", "size_readable": "", "public_url": "https://poor-duster.name/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-02-06T03:19:32.386Z", "modified_at": "2023-10-17T04:09:43.608Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 575720, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-02-06T03:19:32.386Z", "modified_at": "2023-10-17T04:09:43.608Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 575720, "required": false}]}, "discount": null, "prices": [], "meters": []}} + application/json: {"type": "subscription.revoked", "timestamp": "2024-01-02T06:40:50.860Z", "data": {"created_at": "2024-01-02T06:40:50.860Z", "modified_at": null, "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 334195, "status": "canceled", "current_period_start": "2024-04-30T10:39:59.432Z", "current_period_end": "2025-03-19T11:29:47.842Z", "trial_start": "2023-03-16T08:42:29.566Z", "trial_end": "2023-10-28T01:20:21.930Z", "cancel_at_period_end": true, "canceled_at": "2023-02-17T04:59:11.584Z", "started_at": "2024-02-14T23:20:57.498Z", "ends_at": "2025-04-28T23:19:31.379Z", "ended_at": "2023-04-29T06:37:50.213Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "metadata": {"key": 764246}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-03-17T11:47:03.932Z", "modified_at": "2025-12-12T02:48:12.123Z", "metadata": {"key": true, "key1": 683572}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-09T13:41:39.970Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2025-05-31T05:10:14.997Z", "modified_at": "2024-05-08T09:12:04.956Z", "trial_interval": null, "trial_interval_count": 442924, "name": "", "description": "pace aside typewriter if oh almost supposing twine", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 956675}, "prices": [], "benefits": [{"id": "", "created_at": "2024-06-28T04:33:55.419Z", "modified_at": "2023-04-08T23:58:31.520Z", "type": "github_repository", "description": "eventually holster drab finished than sanity wiggly surprisingly judicious", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": false, "key1": 683668, "key2": 4880.9}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "admin"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 789606, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-08T06:21:41.000Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-12-10T00:21:44.017Z", "size_readable": "", "public_url": "https://poor-duster.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 789606, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-08T06:21:41.000Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-12-10T00:21:44.017Z", "size_readable": "", "public_url": "https://poor-duster.name/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-02-06T03:19:32.386Z", "modified_at": "2023-10-17T04:09:43.608Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 575720, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-02-06T03:19:32.386Z", "modified_at": "2023-10-17T04:09:43.608Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 575720, "required": false}]}, "discount": null, "prices": [], "meters": []}} responses: "200": application/json: "" @@ -2111,7 +2138,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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "organization_id": "", "metadata": {"key": 247381}, "properties": {"guild_id": "", "role_id": "", "kick_member": true, "guild_token": ""}}], "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": "", "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": "", "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": "", "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, "organization_id": "", "metadata": {"key": 247381}, "properties": {"guild_id": "", "role_id": "", "kick_member": true, "guild_token": ""}}], "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: "" @@ -2120,7 +2147,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", "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": false}, "files": ["", "", ""]}}, {"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, "organization_id": "", "metadata": {"key": true, "key1": ""}, "properties": {"units": 292879, "rollover": true, "meter_id": ""}}, {"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, "organization_id": "", "metadata": {"key": false}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}], "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": "2023-07-21T03:22:42.071Z", "modified_at": "2025-05-10T05:05:05.968Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "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": "", "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": "", "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, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": false}, "files": ["", "", ""]}}, {"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, "organization_id": "", "metadata": {"key": true, "key1": ""}, "properties": {"units": 292879, "rollover": true, "meter_id": ""}}, {"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, "organization_id": "", "metadata": {"key": false}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}], "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: "" @@ -2129,7 +2156,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, "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "allow_customer_updates": false, "proration_behavior": "invoice", "benefit_revocation_grace_period": 877397, "prevent_trial_abuse": false}, "notification_settings": {"new_order": false, "new_subscription": false}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": true, "subscription_past_due": true, "subscription_revoked": true, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": true, "update_plan": 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": "", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "presentment_currencies_enabled": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "allow_customer_updates": false, "proration_behavior": "invoice", "benefit_revocation_grace_period": 877397, "prevent_trial_abuse": false}, "notification_settings": {"new_order": false, "new_subscription": false}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": true, "subscription_past_due": true, "subscription_revoked": true, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": true, "update_plan": true}}}} responses: "200": application/json: "" @@ -2206,7 +2233,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", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "allow_customer_updates": true, "proration_behavior": "prorate", "benefit_revocation_grace_period": 655199, "prevent_trial_abuse": false}, "notification_settings": {"new_order": false, "new_subscription": false}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_past_due": false, "subscription_revoked": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}} + application/json: {"created_at": "2024-12-19T02:20:41.368Z", "modified_at": "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": "", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "presentment_currencies_enabled": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "allow_customer_updates": true, "proration_behavior": "prorate", "benefit_revocation_grace_period": 655199, "prevent_trial_abuse": false}, "notification_settings": {"new_order": false, "new_subscription": false}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_past_due": false, "subscription_revoked": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}} "422": application/json: {} organizations:get: @@ -2216,7 +2243,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": "onboarding_started", "details_submitted_at": "2023-07-16T01:59:28.607Z", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "allow_customer_updates": false, "proration_behavior": "prorate", "benefit_revocation_grace_period": 488109, "prevent_trial_abuse": false}, "notification_settings": {"new_order": true, "new_subscription": true}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": true, "subscription_confirmation": true, "subscription_cycled": false, "subscription_past_due": false, "subscription_revoked": true, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}} + application/json: {"created_at": "2024-06-18T23:12:24.609Z", "modified_at": "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": "onboarding_started", "details_submitted_at": "2023-07-16T01:59:28.607Z", "default_presentment_currency": "", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "presentment_currencies_enabled": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "allow_customer_updates": false, "proration_behavior": "prorate", "benefit_revocation_grace_period": 488109, "prevent_trial_abuse": false}, "notification_settings": {"new_order": true, "new_subscription": true}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": true, "subscription_confirmation": true, "subscription_cycled": false, "subscription_past_due": false, "subscription_revoked": true, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -2230,7 +2257,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": "onboarding_started", "details_submitted_at": "2024-05-08T13:53:13.516Z", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "allow_customer_updates": false, "proration_behavior": "invoice", "benefit_revocation_grace_period": 341703, "prevent_trial_abuse": false}, "notification_settings": {"new_order": true, "new_subscription": false}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_past_due": true, "subscription_revoked": true, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}} + application/json: {"created_at": "2024-01-10T12:09:47.665Z", "modified_at": "2025-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": "onboarding_started", "details_submitted_at": "2024-05-08T13:53:13.516Z", "default_presentment_currency": "", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "presentment_currencies_enabled": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "allow_customer_updates": false, "proration_behavior": "invoice", "benefit_revocation_grace_period": 341703, "prevent_trial_abuse": false}, "notification_settings": {"new_order": true, "new_subscription": false}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_past_due": true, "subscription_revoked": true, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -2246,7 +2273,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, "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", "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, "organization_id": "", "metadata": {"key": ""}, "properties": {"note": ""}}, {"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, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}}, {"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, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}}], "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": "once", "duration_in_months": 68276, "type": "fixed", "amount": 818870, "currency": "Cordoba Oro", "created_at": "2023-04-13T03:33:43.010Z", "modified_at": "2024-12-28T23:48:21.678Z", "id": "", "metadata": {"key": 195279}, "name": "", "code": "", "starts_at": "2024-03-07T23:03:47.221Z", "ends_at": "2024-04-06T03:10:47.055Z", "max_redemptions": 472357, "redemptions_count": 101530, "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "price_amount": 834580, "legacy": true}], "meters": []}, {"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, "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", "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, "organization_id": "", "metadata": {"key": ""}, "properties": {"note": ""}}, {"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, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}}, {"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, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}}], "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": "once", "duration_in_months": 68276, "type": "fixed", "amount": 818870, "currency": "Cordoba Oro", "created_at": "2023-04-13T03:33:43.010Z", "modified_at": "2024-12-28T23:48:21.678Z", "id": "", "metadata": {"key": 195279}, "name": "", "code": "", "starts_at": "2024-03-07T23:03:47.221Z", "ends_at": "2024-04-06T03:10:47.055Z", "max_redemptions": 472357, "redemptions_count": 101530, "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "minimum_amount": 827165, "maximum_amount": 310545, "preset_amount": 154160, "legacy": true}], "meters": []}], "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, "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, "organization_id": "", "metadata": {"key": ""}, "properties": {"note": ""}}, {"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, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}}, {"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, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}}], "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": "once", "duration_in_months": 68276, "type": "fixed", "amount": 818870, "currency": "Cordoba Oro", "created_at": "2023-04-13T03:33:43.010Z", "modified_at": "2024-12-28T23:48:21.678Z", "id": "", "metadata": {"key": 195279}, "name": "", "code": "", "starts_at": "2024-03-07T23:03:47.221Z", "ends_at": "2024-04-06T03:10:47.055Z", "max_redemptions": 472357, "redemptions_count": 101530, "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": "", "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": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 834580, "legacy": true}], "meters": []}, {"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, "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, "organization_id": "", "metadata": {"key": ""}, "properties": {"note": ""}}, {"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, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}}, {"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, "organization_id": "", "metadata": {"key": 810447, "key1": 8377.26, "key2": 623085}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "push"}}], "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": "once", "duration_in_months": 68276, "type": "fixed", "amount": 818870, "currency": "Cordoba Oro", "created_at": "2023-04-13T03:33:43.010Z", "modified_at": "2024-12-28T23:48:21.678Z", "id": "", "metadata": {"key": 195279}, "name": "", "code": "", "starts_at": "2024-03-07T23:03:47.221Z", "ends_at": "2024-04-06T03:10:47.055Z", "max_redemptions": 472357, "redemptions_count": 101530, "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": "", "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": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 827165, "maximum_amount": 310545, "preset_amount": 154160, "legacy": true}], "meters": []}], "pagination": {"total_count": 947589, "max_page": 388476}} "422": application/json: {} subscriptions:export: @@ -2266,7 +2293,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-10-24T15:26:40.431Z", "modified_at": "2023-07-28T23:00:02.724Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 270660, "status": "active", "current_period_start": "2025-04-05T21:01:12.454Z", "current_period_end": null, "trial_start": "2024-06-09T21:26:52.968Z", "trial_end": "2025-09-03T08:50:28.234Z", "cancel_at_period_end": true, "canceled_at": "2025-05-09T12:42:07.453Z", "started_at": "2025-12-16T12:13:32.171Z", "ends_at": "2025-07-23T18:45:11.258Z", "ended_at": null, "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": null, "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-06-01T00:25:19.556Z", "modified_at": null, "metadata": {"key": 8941.51, "key1": 393.1}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-03-15T13:55:38.252Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-04-22T11:34:07.174Z", "modified_at": "2024-01-28T05:15:18.595Z", "trial_interval": "year", "trial_interval_count": 753537, "name": "", "description": "solder crossly except yet", "recurring_interval": null, "recurring_interval_count": 190655, "is_recurring": false, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2023-07-28T23:00:02.724Z", "modified_at": "2025-03-22T08:23:39.797Z", "id": "", "source": "catalog", "amount_type": "fixed", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "price_amount": 753537, "legacy": true}, {"created_at": "2023-10-17T03:10:19.145Z", "modified_at": "2024-12-02T16:50:43.309Z", "id": "", "source": "catalog", "amount_type": "fixed", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "price_amount": 852903, "legacy": true}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/mail", "mime_type": "", "size": 768823, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-22T03:27:39.662Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-06-30T04:51:26.931Z", "size_readable": "", "public_url": "https://gigantic-spring.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/var/mail", "mime_type": "", "size": 768823, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-22T03:27:39.662Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-06-30T04:51:26.931Z", "size_readable": "", "public_url": "https://gigantic-spring.name/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-20T15:07:05.822Z", "modified_at": "2025-07-11T03:45:02.430Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 61252, "required": true}]}, "discount": {"duration": "once", "duration_in_months": 342177, "type": "fixed", "amount": 861306, "currency": "CFA Franc BCEAO", "created_at": "2023-04-20T11:08:19.373Z", "modified_at": "2023-06-26T04:56:35.602Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-05-19T07:23:10.203Z", "ends_at": null, "max_redemptions": 381050, "redemptions_count": 60295, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [], "meters": []} + application/json: {"created_at": "2023-10-24T15:26:40.431Z", "modified_at": "2023-07-28T23:00:02.724Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 270660, "status": "active", "current_period_start": "2025-04-05T21:01:12.454Z", "current_period_end": null, "trial_start": "2024-06-09T21:26:52.968Z", "trial_end": "2025-09-03T08:50:28.234Z", "cancel_at_period_end": true, "canceled_at": "2025-05-09T12:42:07.453Z", "started_at": "2025-12-16T12:13:32.171Z", "ends_at": "2025-07-23T18:45:11.258Z", "ended_at": null, "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": null, "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-06-01T00:25:19.556Z", "modified_at": null, "metadata": {"key": 8941.51, "key1": 393.1}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-03-15T13:55:38.252Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-04-22T11:34:07.174Z", "modified_at": "2024-01-28T05:15:18.595Z", "trial_interval": "year", "trial_interval_count": 753537, "name": "", "description": "solder crossly except yet", "visibility": "draft", "recurring_interval": null, "recurring_interval_count": 190655, "is_recurring": false, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2023-07-28T23:00:02.724Z", "modified_at": "2025-03-22T08:23:39.797Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 753537, "legacy": true}, {"created_at": "2023-10-17T03:10:19.145Z", "modified_at": "2024-12-02T16:50:43.309Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 852903, "legacy": true}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/mail", "mime_type": "", "size": 768823, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-22T03:27:39.662Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-06-30T04:51:26.931Z", "size_readable": "", "public_url": "https://gigantic-spring.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/var/mail", "mime_type": "", "size": 768823, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-22T03:27:39.662Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-06-30T04:51:26.931Z", "size_readable": "", "public_url": "https://gigantic-spring.name/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-20T15:07:05.822Z", "modified_at": "2025-07-11T03:45:02.430Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 61252, "required": true}]}, "discount": {"duration": "once", "duration_in_months": 342177, "type": "fixed", "amount": 861306, "currency": "CFA Franc BCEAO", "created_at": "2023-04-20T11:08:19.373Z", "modified_at": "2023-06-26T04:56:35.602Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-05-19T07:23:10.203Z", "ends_at": null, "max_redemptions": 381050, "redemptions_count": 60295, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [], "meters": []} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -2280,7 +2307,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, "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, "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "price_amount": 203413, "legacy": true}, {"created_at": "2024-02-05T08:01:02.549Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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": "", "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": "", "filter": {"conjunction": "or", "clauses": [{"conjunction": "and", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}]} + 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_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": "", "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", "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": "", "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": "", "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": "", "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": "", "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": "", "filter": {"conjunction": "or", "clauses": [{"conjunction": "and", "clauses": []}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}]} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -2296,7 +2323,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, "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "organization_id": "", "metadata": {"key": 3478.81, "key1": "", "key2": true}, "properties": {"units": 921282, "rollover": false, "meter_id": ""}}, {"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, "organization_id": "", "metadata": {"key": 3478.81, "key1": "", "key2": true}, "properties": {"units": 921282, "rollover": false, "meter_id": ""}}], "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "is_archived": false, "product_id": "", "type": "one_time", "recurring_interval": "year", "price_currency": "", "unit_amount": "", "cap_amount": 803091, "meter_id": "", "meter": {"id": "", "name": ""}}], "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": "", "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": "", "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": "", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}]} + 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_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": "", "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": "", "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": "", "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, "organization_id": "", "metadata": {"key": 3478.81, "key1": "", "key2": true}, "properties": {"units": 921282, "rollover": false, "meter_id": ""}}, {"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, "organization_id": "", "metadata": {"key": 3478.81, "key1": "", "key2": true}, "properties": {"units": 921282, "rollover": false, "meter_id": ""}}], "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": "", "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": "", "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": "", "is_archived": false, "product_id": "", "type": "one_time", "recurring_interval": "year", "unit_amount": "", "cap_amount": 803091, "meter_id": "", "meter": {"id": "", "name": ""}}], "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": "", "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": "", "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": "", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}]} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -2350,7 +2377,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 webhooks:read webhooks:write external_organizations:read license_keys:read license_keys:write repositories:read repositories:write issues:read issues: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 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": ""} responses: "200": application/json: "" @@ -2372,7 +2399,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 webhooks:read webhooks:write external_organizations:read license_keys:read license_keys:write repositories:read repositories:write issues:read issues: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 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": ""} responses: "200": application/json: "" @@ -2480,7 +2507,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", "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", "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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": "2023-04-20T14:04:54.240Z", "modified_at": "2024-11-07T17:01:01.790Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "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": "", "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": "", "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: @@ -2490,7 +2517,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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "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, "organization_id": "", "metadata": {"key": 916.31, "key1": true, "key2": 42514}, "properties": {"archived": {"key": false, "key1": true}, "files": ["", ""]}}, {"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, "organization_id": "", "metadata": {"key": 9567.58}, "properties": {"units": 361243, "rollover": false, "meter_id": ""}}], "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": "", "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": "", "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": "", "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, "organization_id": "", "metadata": {"key": 916.31, "key1": true, "key2": 42514}, "properties": {"archived": {"key": false, "key1": true}, "files": ["", ""]}}, {"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, "organization_id": "", "metadata": {"key": 9567.58}, "properties": {"units": 361243, "rollover": false, "meter_id": ""}}], "medias": [], "attached_custom_fields": []} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -2504,7 +2531,7 @@ examples: application/json: {} responses: "200": - application/json: {"id": "", "created_at": "2025-08-13T18:42:45.673Z", "modified_at": "2025-03-29T03:16:47.365Z", "trial_interval": "year", "trial_interval_count": 568567, "name": "", "description": "as hunger ouch since mash where yet", "recurring_interval": "year", "recurring_interval_count": 915832, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2025-03-29T03:16:47.365Z", "modified_at": "2024-11-10T13:10:18.334Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "is_archived": true, "product_id": "", "type": "one_time", "recurring_interval": "year", "price_currency": "", "unit_amount": "", "cap_amount": 810331, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2025-06-01T13:19:08.557Z", "modified_at": "2024-11-29T15:53:01.542Z", "type": "github_repository", "description": "rectangular extremely which proliferate offensively honestly", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": true, "key1": ""}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "triage"}}, {"id": "", "created_at": "2025-08-28T21:34:45.570Z", "modified_at": "2025-07-10T04:28:46.581Z", "type": "downloadables", "description": "drat amongst consequently provision anenst sate while playfully catalyze moment", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 721783, "key1": 467378, "key2": true}, "properties": {"archived": {"key": false, "key1": true}, "files": []}}, {"id": "", "created_at": "2025-02-12T00:29:21.086Z", "modified_at": "2024-07-18T11:21:31.713Z", "type": "meter_credit", "description": "between meager for piglet etch yieldingly since fooey", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": "", "key1": 100073}, "properties": {"units": 93199, "rollover": true, "meter_id": ""}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 272557, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2023-09-15T04:26:05.951Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-06-09T10:26:56.093Z", "size_readable": "", "public_url": "https://fake-finer.com/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-05-13T00:15:16.449Z", "modified_at": "2025-03-31T10:58:20.904Z", "id": "", "metadata": {"key": 214606, "key1": 570924}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 395589, "required": true}]} + application/json: {"id": "", "created_at": "2025-08-13T18:42:45.673Z", "modified_at": "2025-03-29T03:16:47.365Z", "trial_interval": "year", "trial_interval_count": 568567, "name": "", "description": "as hunger ouch since mash where yet", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 915832, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2025-03-29T03:16:47.365Z", "modified_at": "2024-11-10T13:10:18.334Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "is_archived": true, "product_id": "", "type": "one_time", "recurring_interval": "year", "unit_amount": "", "cap_amount": 810331, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2025-06-01T13:19:08.557Z", "modified_at": "2024-11-29T15:53:01.542Z", "type": "github_repository", "description": "rectangular extremely which proliferate offensively honestly", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": true, "key1": ""}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "triage"}}, {"id": "", "created_at": "2025-08-28T21:34:45.570Z", "modified_at": "2025-07-10T04:28:46.581Z", "type": "downloadables", "description": "drat amongst consequently provision anenst sate while playfully catalyze moment", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 721783, "key1": 467378, "key2": true}, "properties": {"archived": {"key": false, "key1": true}, "files": []}}, {"id": "", "created_at": "2025-02-12T00:29:21.086Z", "modified_at": "2024-07-18T11:21:31.713Z", "type": "meter_credit", "description": "between meager for piglet etch yieldingly since fooey", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": "", "key1": 100073}, "properties": {"units": 93199, "rollover": true, "meter_id": ""}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 272557, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2023-09-15T04:26:05.951Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-06-09T10:26:56.093Z", "size_readable": "", "public_url": "https://fake-finer.com/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-05-13T00:15:16.449Z", "modified_at": "2025-03-31T10:58:20.904Z", "id": "", "metadata": {"key": 214606, "key1": 570924}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 395589, "required": true}]} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -2520,7 +2547,7 @@ examples: application/json: {"benefits": ["", "", ""]} responses: "200": - application/json: {"id": "", "created_at": "2023-09-28T22:38:03.685Z", "modified_at": "2024-01-11T22:10:13.497Z", "trial_interval": "day", "trial_interval_count": 342996, "name": "", "description": "blah bouncy until below spear dash border", "recurring_interval": "month", "recurring_interval_count": 247211, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": "", "key1": 244043}, "prices": [{"created_at": "2025-09-11T11:40:02.608Z", "modified_at": "2024-11-03T09:56:56.385Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "minimum_amount": 223202, "maximum_amount": 66059, "preset_amount": 500347, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-09-18T09:49:18.801Z", "modified_at": "2023-06-23T04:47:46.915Z", "type": "github_repository", "description": "vastly meanwhile stage tennis coop", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": ""}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}, {"id": "", "created_at": "2025-10-26T03:43:57.806Z", "modified_at": "2024-04-17T17:44:58.962Z", "type": "meter_credit", "description": "daughter nor below ack till clone like against", "selectable": true, "deletable": false, "organization_id": "", "metadata": {"key": true}, "properties": {"units": 113791, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2023-06-30T04:50:32.342Z", "modified_at": "2023-01-27T19:24:13.189Z", "type": "license_keys", "description": "redraw whoa palate worldly hm impact lest dependable", "selectable": false, "deletable": true, "organization_id": "", "metadata": {}, "properties": {"prefix": "", "expires": {"ttl": 989033, "timeframe": "year"}, "activations": null, "limit_usage": 839068}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 770976, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T01:46:26.319Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2025-09-22T06:25:51.641Z", "size_readable": "", "public_url": "https://well-groomed-creature.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 770976, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T01:46:26.319Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2025-09-22T06:25:51.641Z", "size_readable": "", "public_url": "https://well-groomed-creature.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 770976, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T01:46:26.319Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2025-09-22T06:25:51.641Z", "size_readable": "", "public_url": "https://well-groomed-creature.biz"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-17T06:02:23.238Z", "modified_at": "2025-03-20T20:03:53.850Z", "id": "", "metadata": {"key": 8435.67, "key1": 1752.52, "key2": false}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 516294, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-08-17T06:02:23.238Z", "modified_at": "2025-03-20T20:03:53.850Z", "id": "", "metadata": {"key": 8435.67, "key1": 1752.52, "key2": false}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 516294, "required": false}]} + application/json: {"id": "", "created_at": "2023-09-28T22:38:03.685Z", "modified_at": "2024-01-11T22:10:13.497Z", "trial_interval": "day", "trial_interval_count": 342996, "name": "", "description": "blah bouncy until below spear dash border", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 247211, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": "", "key1": 244043}, "prices": [{"created_at": "2025-09-11T11:40:02.608Z", "modified_at": "2024-11-03T09:56:56.385Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 223202, "maximum_amount": 66059, "preset_amount": 500347, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-09-18T09:49:18.801Z", "modified_at": "2023-06-23T04:47:46.915Z", "type": "github_repository", "description": "vastly meanwhile stage tennis coop", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": ""}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}, {"id": "", "created_at": "2025-10-26T03:43:57.806Z", "modified_at": "2024-04-17T17:44:58.962Z", "type": "meter_credit", "description": "daughter nor below ack till clone like against", "selectable": true, "deletable": false, "organization_id": "", "metadata": {"key": true}, "properties": {"units": 113791, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2023-06-30T04:50:32.342Z", "modified_at": "2023-01-27T19:24:13.189Z", "type": "license_keys", "description": "redraw whoa palate worldly hm impact lest dependable", "selectable": false, "deletable": true, "organization_id": "", "metadata": {}, "properties": {"prefix": "", "expires": {"ttl": 989033, "timeframe": "year"}, "activations": null, "limit_usage": 839068}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 770976, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T01:46:26.319Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2025-09-22T06:25:51.641Z", "size_readable": "", "public_url": "https://well-groomed-creature.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 770976, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T01:46:26.319Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2025-09-22T06:25:51.641Z", "size_readable": "", "public_url": "https://well-groomed-creature.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 770976, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2023-11-20T01:46:26.319Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2025-09-22T06:25:51.641Z", "size_readable": "", "public_url": "https://well-groomed-creature.biz"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-08-17T06:02:23.238Z", "modified_at": "2025-03-20T20:03:53.850Z", "id": "", "metadata": {"key": 8435.67, "key1": 1752.52, "key2": false}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 516294, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-08-17T06:02:23.238Z", "modified_at": "2025-03-20T20:03:53.850Z", "id": "", "metadata": {"key": 8435.67, "key1": 1752.52, "key2": false}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 516294, "required": false}]} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -2536,7 +2563,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2023-03-26T01:22:53.189Z", "modified_at": "2024-02-10T15:29:33.963Z", "status": "refunded", "paid": true, "subtotal_amount": 15468, "discount_amount": 962179, "net_amount": 308936, "tax_amount": 449820, "total_amount": 375942, "applied_balance_amount": 901379, "due_amount": 465509, "refunded_amount": 70124, "refunded_tax_amount": 297395, "currency": "Balboa", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-03-16T14:29:40.056Z", "modified_at": "2024-12-01T04:46:22.222Z", "metadata": {"key": 7966.23}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-01T05:52:58.262Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "user_id": "", "product": {"metadata": {}, "id": "", "created_at": "2025-02-24T18:51:29.694Z", "modified_at": "2025-04-13T23:14:41.573Z", "trial_interval": "week", "trial_interval_count": null, "name": "", "description": "expense pip blue furthermore gnash frail yet ugly", "recurring_interval": "year", "recurring_interval_count": 465509, "is_recurring": true, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "duration_in_months": 782667, "type": "percentage", "basis_points": 224838, "created_at": "2024-11-05T22:56:54.203Z", "modified_at": "2024-08-14T13:19:22.767Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-03-15T19:46:41.506Z", "ends_at": "2025-06-29T08:50:29.569Z", "max_redemptions": 759343, "redemptions_count": 214063, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": false, "key1": 6606.6}, "created_at": "2024-07-13T07:19:52.472Z", "modified_at": "2023-05-30T18:04:05.234Z", "id": "", "amount": 941727, "currency": "CFA Franc BCEAO", "recurring_interval": "month", "recurring_interval_count": 76694, "status": "past_due", "current_period_start": "2023-08-06T07:04:45.093Z", "current_period_end": "2024-09-25T19:02:24.370Z", "trial_start": "2024-02-10T15:29:33.963Z", "trial_end": "2023-01-17T22:53:29.526Z", "cancel_at_period_end": true, "canceled_at": "2023-09-12T07:04:22.765Z", "started_at": "2023-01-18T06:49:58.589Z", "ends_at": "2023-10-25T10:02:37.340Z", "ended_at": "2023-07-26T14:27:14.451Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2024-02-19T18:25:16.033Z", "modified_at": "2025-09-17T15:07:41.764Z", "id": "", "label": "", "amount": 92904, "tax_amount": 275681, "proration": false, "product_price_id": ""}, {"created_at": "2024-02-19T18:25:16.033Z", "modified_at": "2025-09-17T15:07:41.764Z", "id": "", "label": "", "amount": 92904, "tax_amount": 275681, "proration": false, "product_price_id": ""}], "description": "Pro Plan"}], "pagination": {"total_count": 754496, "max_page": 599128}} + application/json: {"items": [{"id": "", "created_at": "2023-03-26T01:22:53.189Z", "modified_at": "2024-02-10T15:29:33.963Z", "status": "refunded", "paid": true, "subtotal_amount": 15468, "discount_amount": 962179, "net_amount": 308936, "tax_amount": 449820, "total_amount": 375942, "applied_balance_amount": 901379, "due_amount": 465509, "refunded_amount": 70124, "refunded_tax_amount": 297395, "currency": "Balboa", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-03-16T14:29:40.056Z", "modified_at": "2024-12-01T04:46:22.222Z", "metadata": {"key": 7966.23}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-01T05:52:58.262Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "user_id": "", "product": {"metadata": {}, "id": "", "created_at": "2025-02-24T18:51:29.694Z", "modified_at": "2025-04-13T23:14:41.573Z", "trial_interval": "week", "trial_interval_count": null, "name": "", "description": "expense pip blue furthermore gnash frail yet ugly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 465509, "is_recurring": true, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "duration_in_months": 782667, "type": "percentage", "basis_points": 224838, "created_at": "2024-11-05T22:56:54.203Z", "modified_at": "2024-08-14T13:19:22.767Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-03-15T19:46:41.506Z", "ends_at": "2025-06-29T08:50:29.569Z", "max_redemptions": 759343, "redemptions_count": 214063, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": false, "key1": 6606.6}, "created_at": "2024-07-13T07:19:52.472Z", "modified_at": "2023-05-30T18:04:05.234Z", "id": "", "amount": 941727, "currency": "CFA Franc BCEAO", "recurring_interval": "month", "recurring_interval_count": 76694, "status": "past_due", "current_period_start": "2023-08-06T07:04:45.093Z", "current_period_end": "2024-09-25T19:02:24.370Z", "trial_start": "2024-02-10T15:29:33.963Z", "trial_end": "2023-01-17T22:53:29.526Z", "cancel_at_period_end": true, "canceled_at": "2023-09-12T07:04:22.765Z", "started_at": "2023-01-18T06:49:58.589Z", "ends_at": "2023-10-25T10:02:37.340Z", "ended_at": "2023-07-26T14:27:14.451Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2024-02-19T18:25:16.033Z", "modified_at": "2025-09-17T15:07:41.764Z", "id": "", "label": "", "amount": 92904, "tax_amount": 275681, "proration": false, "product_price_id": ""}, {"created_at": "2024-02-19T18:25:16.033Z", "modified_at": "2025-09-17T15:07:41.764Z", "id": "", "label": "", "amount": 92904, "tax_amount": 275681, "proration": false, "product_price_id": ""}], "description": "Pro Plan"}], "pagination": {"total_count": 754496, "max_page": 599128}} "422": application/json: {} orders:get: @@ -2546,7 +2573,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2023-12-28T18:05:05.494Z", "modified_at": "2025-08-19T01:46:15.037Z", "status": "paid", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": ""}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-30T11:43:08.034Z", "modified_at": "2025-11-17T01:23:41.514Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-03-07T16:00:18.030Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {"key": 709557, "key1": true, "key2": 1589.86}, "id": "", "created_at": "2024-06-13T05:22:39.981Z", "modified_at": "2025-08-06T17:05:37.045Z", "trial_interval": "month", "trial_interval_count": 421146, "name": "", "description": "tarry subexpression brr huzzah officially", "recurring_interval": "year", "recurring_interval_count": 566234, "is_recurring": false, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "type": "percentage", "basis_points": 815092, "created_at": "2025-09-19T21:21:56.106Z", "modified_at": "2024-05-14T12:13:50.338Z", "id": "", "metadata": {"key": false}, "name": "", "code": null, "starts_at": "2025-01-27T04:15:28.556Z", "ends_at": "2023-02-03T06:50:58.764Z", "max_redemptions": 31256, "redemptions_count": 737846, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": null, "items": [], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2023-12-28T18:05:05.494Z", "modified_at": "2025-08-19T01:46:15.037Z", "status": "paid", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": ""}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-30T11:43:08.034Z", "modified_at": "2025-11-17T01:23:41.514Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-03-07T16:00:18.030Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {"key": 709557, "key1": true, "key2": 1589.86}, "id": "", "created_at": "2024-06-13T05:22:39.981Z", "modified_at": "2025-08-06T17:05:37.045Z", "trial_interval": "month", "trial_interval_count": 421146, "name": "", "description": "tarry subexpression brr huzzah officially", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 566234, "is_recurring": false, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "type": "percentage", "basis_points": 815092, "created_at": "2025-09-19T21:21:56.106Z", "modified_at": "2024-05-14T12:13:50.338Z", "id": "", "metadata": {"key": false}, "name": "", "code": null, "starts_at": "2025-01-27T04:15:28.556Z", "ends_at": "2023-02-03T06:50:58.764Z", "max_redemptions": 31256, "redemptions_count": 737846, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": null, "items": [], "description": "Pro Plan"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -2588,6 +2615,8 @@ examples: application/json: {"error": "RefundedAlready", "detail": ""} "422": application/json: {} + "201": + application/json: {"created_at": "2025-06-14T04:14:46.053Z", "modified_at": null, "id": "", "metadata": {}, "status": "pending", "reason": "fraudulent", "amount": 138367, "tax_amount": 299454, "currency": "Surinam Dollar", "organization_id": "", "order_id": "", "subscription_id": "", "customer_id": "", "revoke_benefits": true, "dispute": {"created_at": "2024-07-22T01:16:24.885Z", "modified_at": "2024-06-14T01:16:01.696Z", "id": "", "status": "needs_response", "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"}} checkouts:list: speakeasy-default-checkouts:list: parameters: @@ -2597,16 +2626,16 @@ 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, "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": "", "customer_external_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", "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, "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", "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, "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "unit_amount": "", "cap_amount": 762494, "meter_id": "", "meter": {"id": "", "name": ""}}], "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, "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, "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": "2023-04-08T17:49:25.686Z", "modified_at": "2023-10-28T07:54:05.646Z", "id": "", "source": "ad_hoc", "amount_type": "free", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "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", "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, "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": "", "customer_external_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, "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, "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": "", "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": "", "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": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "unit_amount": "", "cap_amount": 762494, "meter_id": "", "meter": {"id": "", "name": ""}}], "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, "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, "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": "2023-04-08T17:49:25.686Z", "modified_at": "2023-10-28T07:54:05.646Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "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": "", "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}} "422": application/json: {} checkouts:create: speakeasy-default-checkouts:create: requestBody: - 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"}, "products": ["", "", ""]} + 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, "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": "", "customer_external_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", "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", "is_archived": false, "product_id": "", "type": "one_time", "recurring_interval": "year", "price_currency": "", "unit_amount": "", "cap_amount": 779234, "meter_id": "", "meter": {"id": "", "name": ""}}], "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", "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", "is_archived": true, "product_id": "", "type": "one_time", "recurring_interval": "year", "price_currency": "", "unit_amount": "", "cap_amount": 901758, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [], "medias": []}, "product_price": {"created_at": "2025-09-22T20:28:56.011Z", "modified_at": "2024-03-21T04:09:10.889Z", "id": "", "source": "catalog", "amount_type": "fixed", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "price_amount": 821398, "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "day", "legacy": true}]}, "discount": {"duration": "forever", "duration_in_months": 602692, "type": "percentage", "amount": 989340, "currency": "Norwegian Krone", "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, "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": "", "customer_external_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": "", "is_archived": false, "product_id": "", "type": "one_time", "recurring_interval": "year", "unit_amount": "", "cap_amount": 779234, "meter_id": "", "meter": {"id": "", "name": ""}}], "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": "", "is_archived": true, "product_id": "", "type": "one_time", "recurring_interval": "year", "unit_amount": "", "cap_amount": 901758, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [], "medias": []}, "product_price": {"created_at": "2025-09-22T20:28:56.011Z", "modified_at": "2024-03-21T04:09:10.889Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 821398, "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": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "day", "legacy": true}]}, "discount": {"duration": "forever", "duration_in_months": 602692, "type": "percentage", "amount": 989340, "currency": "Norwegian Krone", "id": "", "name": "", "code": null}, "subscription_id": "", "attached_custom_fields": [], "customer_metadata": {"key": true, "key1": 753950, "key2": ""}} "422": application/json: {} checkouts:get: @@ -2616,7 +2645,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-08-11T03:11:01.239Z", "modified_at": "2025-11-29T01:58:06.554Z", "payment_processor": "stripe", "status": "succeeded", "client_secret": "", "url": "https://dirty-maestro.info", "expires_at": "2023-10-11T06:44:37.699Z", "success_url": "https://low-hope.name", "return_url": "https://willing-ribbon.net/", "embed_origin": "", "amount": 604568, "discount_amount": 435126, "net_amount": 202456, "tax_amount": 729244, "total_amount": 885841, "currency": "Tugrik", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 759954, "trial_end": "2023-08-04T19:41:02.160Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "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": "", "key1": ""}, "billing_address_fields": {"country": "optional", "state": "required", "city": "disabled", "postal_code": "disabled", "line1": "disabled", "line2": "required"}, "trial_interval": "week", "trial_interval_count": 626845, "metadata": {"key": "", "key1": 1174.35}, "external_customer_id": "", "customer_external_id": "", "products": [{"id": "", "created_at": "2023-08-31T20:57:39.863Z", "modified_at": "2023-04-27T14:53:08.193Z", "trial_interval": "week", "trial_interval_count": 565134, "name": "", "description": "inveigle fooey frankly", "recurring_interval": "year", "recurring_interval_count": 172766, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}]}, {"id": "", "created_at": "2023-08-31T20:57:39.863Z", "modified_at": "2023-04-27T14:53:08.193Z", "trial_interval": "week", "trial_interval_count": 178822, "name": "", "description": "inveigle fooey frankly", "recurring_interval": "year", "recurring_interval_count": 759954, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}]}, {"id": "", "created_at": "2023-08-31T20:57:39.863Z", "modified_at": "2023-04-27T14:53:08.193Z", "trial_interval": "year", "trial_interval_count": 221002, "name": "", "description": "inveigle fooey frankly", "recurring_interval": "year", "recurring_interval_count": 196916, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}]}], "product": {"id": "", "created_at": "2024-04-29T21:31:34.931Z", "modified_at": null, "trial_interval": "week", "trial_interval_count": 16708, "name": "", "description": "silk plus an cavernous vamoose", "recurring_interval": "month", "recurring_interval_count": 387522, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-29T01:58:06.554Z", "modified_at": "2025-02-24T18:28:07.898Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "minimum_amount": 486695, "maximum_amount": 601699, "preset_amount": 604568, "legacy": true}, {"created_at": "2023-07-15T23:44:52.247Z", "modified_at": "2025-08-28T21:08:23.306Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "minimum_amount": 472045, "maximum_amount": 16708, "preset_amount": 342156, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}]}, "product_price": {"created_at": "2024-10-12T23:10:10.275Z", "modified_at": "2023-10-18T15:18:04.262Z", "id": "", "source": "ad_hoc", "amount_type": "free", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, "prices": {"key": [], "key1": []}, "discount": {"duration": "repeating", "duration_in_months": 245057, "type": "percentage", "amount": 879202, "currency": "Sudanese Pound", "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-09-07T23:03:34.581Z", "modified_at": "2025-12-24T16:06:04.760Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 200397, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-07T23:03:34.581Z", "modified_at": "2025-12-24T16:06:04.760Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 200397, "required": true}], "customer_metadata": {"key": 154385}} + application/json: {"id": "", "created_at": "2024-08-11T03:11:01.239Z", "modified_at": "2025-11-29T01:58:06.554Z", "payment_processor": "stripe", "status": "succeeded", "client_secret": "", "url": "https://dirty-maestro.info", "expires_at": "2023-10-11T06:44:37.699Z", "success_url": "https://low-hope.name", "return_url": "https://willing-ribbon.net/", "embed_origin": "", "amount": 604568, "discount_amount": 435126, "net_amount": 202456, "tax_amount": 729244, "total_amount": 885841, "currency": "Tugrik", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 759954, "trial_end": "2023-08-04T19:41:02.160Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "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": "", "key1": ""}, "billing_address_fields": {"country": "optional", "state": "required", "city": "disabled", "postal_code": "disabled", "line1": "disabled", "line2": "required"}, "trial_interval": "week", "trial_interval_count": 626845, "metadata": {"key": "", "key1": 1174.35}, "external_customer_id": "", "customer_external_id": "", "products": [{"id": "", "created_at": "2023-08-31T20:57:39.863Z", "modified_at": "2023-04-27T14:53:08.193Z", "trial_interval": "week", "trial_interval_count": 565134, "name": "", "description": "inveigle fooey frankly", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 172766, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}]}, {"id": "", "created_at": "2023-08-31T20:57:39.863Z", "modified_at": "2023-04-27T14:53:08.193Z", "trial_interval": "week", "trial_interval_count": 178822, "name": "", "description": "inveigle fooey frankly", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 759954, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}]}, {"id": "", "created_at": "2023-08-31T20:57:39.863Z", "modified_at": "2023-04-27T14:53:08.193Z", "trial_interval": "year", "trial_interval_count": 221002, "name": "", "description": "inveigle fooey frankly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 196916, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}]}], "product": {"id": "", "created_at": "2024-04-29T21:31:34.931Z", "modified_at": null, "trial_interval": "week", "trial_interval_count": 16708, "name": "", "description": "silk plus an cavernous vamoose", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 387522, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-29T01:58:06.554Z", "modified_at": "2025-02-24T18:28:07.898Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 486695, "maximum_amount": 601699, "preset_amount": 604568, "legacy": true}, {"created_at": "2023-07-15T23:44:52.247Z", "modified_at": "2025-08-28T21:08:23.306Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 472045, "maximum_amount": 16708, "preset_amount": 342156, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-11-01T21:53:06.694Z", "modified_at": "2023-01-04T18:26:29.729Z", "type": "meter_credit", "description": "gosh ashamed viciously swat", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 8837, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-12T05:04:28.264Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-01-31T09:04:35.400Z", "size_readable": "", "public_url": "https://woeful-alb.com"}]}, "product_price": {"created_at": "2024-10-12T23:10:10.275Z", "modified_at": "2023-10-18T15:18:04.262Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, "prices": {"key": [], "key1": []}, "discount": {"duration": "repeating", "duration_in_months": 245057, "type": "percentage", "amount": 879202, "currency": "Sudanese Pound", "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-09-07T23:03:34.581Z", "modified_at": "2025-12-24T16:06:04.760Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 200397, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-07T23:03:34.581Z", "modified_at": "2025-12-24T16:06:04.760Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 200397, "required": true}], "customer_metadata": {"key": 154385}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -2627,10 +2656,10 @@ examples: path: id: "" requestBody: - application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}} + application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "locale": "en"} responses: "200": - application/json: {"id": "", "created_at": "2025-08-11T13:37:19.351Z", "modified_at": "2025-01-17T16:36:47.350Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://quiet-longboat.name/", "expires_at": "2024-06-26T17:48:32.882Z", "success_url": "https://flawless-conversation.com/", "return_url": "https://winding-pliers.biz", "embed_origin": "", "amount": 854455, "discount_amount": 294901, "net_amount": 889166, "tax_amount": 922052, "total_amount": 719988, "currency": "Rufiyaa", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 682201, "trial_end": "2023-04-12T18:01:42.534Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": null, "allow_discount_codes": false, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": null, "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "required", "state": "disabled", "city": "disabled", "postal_code": "disabled", "line1": "required", "line2": "required"}, "trial_interval": "month", "trial_interval_count": 495203, "metadata": {"key": 175107, "key1": "", "key2": 598875}, "external_customer_id": "", "customer_external_id": null, "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", "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, {"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": "day", "trial_interval_count": 294901, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "price_amount": 615287, "legacy": true}, {"created_at": "2024-02-21T06:51:40.935Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "fixed", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "price_amount": 391538, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}], "product": {"id": "", "created_at": "2023-09-02T08:09:15.374Z", "modified_at": "2023-01-08T13:18:17.680Z", "trial_interval": "year", "trial_interval_count": 719988, "name": "", "description": null, "recurring_interval": "year", "recurring_interval_count": 92838, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, "product_price": {"created_at": "2023-01-14T05:49:25.708Z", "modified_at": "2025-02-16T09:13:19.316Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "minimum_amount": 174416, "maximum_amount": 161721, "preset_amount": 796115, "legacy": true}, "prices": {"key": [], "key1": []}, "discount": null, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}], "customer_metadata": {}} + application/json: {"id": "", "created_at": "2025-08-11T13:37:19.351Z", "modified_at": "2025-01-17T16:36:47.350Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://quiet-longboat.name/", "expires_at": "2024-06-26T17:48:32.882Z", "success_url": "https://flawless-conversation.com/", "return_url": "https://winding-pliers.biz", "embed_origin": "", "amount": 854455, "discount_amount": 294901, "net_amount": 889166, "tax_amount": 922052, "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": "", "customer_external_id": null, "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": "", "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": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, {"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": "day", "trial_interval_count": 294901, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "visibility": "public", "recurring_interval": null, "recurring_interval_count": 682201, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-09-01T12:37:02.777Z", "modified_at": "2025-10-07T13:38:06.522Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "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": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 391538, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}], "product": {"id": "", "created_at": "2023-09-02T08:09:15.374Z", "modified_at": "2023-01-08T13:18:17.680Z", "trial_interval": "year", "trial_interval_count": 719988, "name": "", "description": null, "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 92838, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, "product_price": {"created_at": "2023-01-14T05:49:25.708Z", "modified_at": "2025-02-16T09:13:19.316Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 174416, "maximum_amount": 161721, "preset_amount": 796115, "legacy": true}, "prices": {"key": [], "key1": []}, "discount": null, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}], "customer_metadata": {}} "403": application/json: {"error": "AlreadyActiveSubscriptionError", "detail": ""} "404": @@ -2644,7 +2673,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, "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", "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, "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", "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, "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "unit_amount": "", "cap_amount": 162606, "meter_id": "", "meter": {"id": "", "name": ""}}, {"created_at": "2023-07-10T15:56:39.492Z", "modified_at": "2025-12-09T17:45:18.853Z", "id": "", "source": "ad_hoc", "amount_type": "free", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "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": "2025-07-18T07:26:11.815Z", "modified_at": "2025-01-30T09:33:04.611Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "minimum_amount": 248263, "maximum_amount": null, "preset_amount": 56307, "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "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, "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, "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": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "unit_amount": "", "cap_amount": 162606, "meter_id": "", "meter": {"id": "", "name": ""}}, {"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": "", "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": "", "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, "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": "2025-07-18T07:26:11.815Z", "modified_at": "2025-01-30T09:33:04.611Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 248263, "maximum_amount": null, "preset_amount": 56307, "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": "", "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": @@ -2657,10 +2686,10 @@ examples: path: client_secret: "" requestBody: - application/json: {"customer_name": "John Doe", "customer_billing_address": null, "allow_trial": false} + application/json: {"customer_name": "John Doe", "customer_billing_address": null, "locale": "en", "allow_trial": false} responses: "200": - application/json: {"id": "", "created_at": "2024-07-23T03:29:25.334Z", "modified_at": "2023-09-18T08:32:05.837Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://oddball-final.com", "expires_at": "2024-03-02T01:02:20.912Z", "success_url": "https://illiterate-ownership.com/", "return_url": null, "embed_origin": "", "amount": 566134, "discount_amount": 108102, "net_amount": 304494, "tax_amount": 824826, "total_amount": 528924, "currency": "Comoro Franc", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 192380, "trial_end": "2023-10-31T15:08:35.342Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "required", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-08-18T21:55:12.162Z", "modified_at": "2024-12-17T22:23:13.690Z", "trial_interval": "month", "trial_interval_count": 138062, "name": "", "description": "instead divert indeed oh phrase fisherman bowling but upon airmail", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-30T20:21:38.608Z", "modified_at": "2023-10-31T15:08:35.342Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "price_amount": 330194, "legacy": true}, {"created_at": "2023-08-03T11:06:01.091Z", "modified_at": "2024-11-28T20:27:45.245Z", "id": "", "source": "catalog", "amount_type": "fixed", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "price_amount": 566134, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}]}], "product": {"id": "", "created_at": "2024-01-05T10:50:28.777Z", "modified_at": "2024-04-21T11:49:06.390Z", "trial_interval": "day", "trial_interval_count": 636727, "name": "", "description": null, "recurring_interval": "year", "recurring_interval_count": 192380, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-16T12:17:31.920Z", "modified_at": "2024-08-02T16:48:24.620Z", "id": "", "source": "catalog", "amount_type": "custom", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "minimum_amount": 67913, "maximum_amount": 437805, "preset_amount": 546487, "legacy": true}, {"created_at": "2024-02-08T00:22:42.494Z", "modified_at": "2025-10-13T00:42:35.938Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "unit_amount": "", "cap_amount": 317412, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2025-09-16T02:10:33.833Z", "modified_at": "2024-11-12T15:58:56.119Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "price_amount": 400701, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "percentage", "basis_points": 639439, "id": "", "name": "", "code": null}, "organization": {"created_at": "2023-09-07T11:25:07.070Z", "modified_at": "2023-05-12T10:01:16.059Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://mixed-netsuke.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}]} + application/json: {"id": "", "created_at": "2024-07-23T03:29:25.334Z", "modified_at": "2023-09-18T08:32:05.837Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://oddball-final.com", "expires_at": "2024-03-02T01:02:20.912Z", "success_url": "https://illiterate-ownership.com/", "return_url": null, "embed_origin": "", "amount": 566134, "discount_amount": 108102, "net_amount": 304494, "tax_amount": 824826, "total_amount": 528924, "currency": "Comoro Franc", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 192380, "trial_end": "2023-10-31T15:08:35.342Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "required", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-08-18T21:55:12.162Z", "modified_at": "2024-12-17T22:23:13.690Z", "trial_interval": "month", "trial_interval_count": 138062, "name": "", "description": "instead divert indeed oh phrase fisherman bowling but upon airmail", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-30T20:21:38.608Z", "modified_at": "2023-10-31T15:08:35.342Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 330194, "legacy": true}, {"created_at": "2023-08-03T11:06:01.091Z", "modified_at": "2024-11-28T20:27:45.245Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 566134, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}]}], "product": {"id": "", "created_at": "2024-01-05T10:50:28.777Z", "modified_at": "2024-04-21T11:49:06.390Z", "trial_interval": "day", "trial_interval_count": 636727, "name": "", "description": null, "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 192380, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-16T12:17:31.920Z", "modified_at": "2024-08-02T16:48:24.620Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 67913, "maximum_amount": 437805, "preset_amount": 546487, "legacy": true}, {"created_at": "2024-02-08T00:22:42.494Z", "modified_at": "2025-10-13T00:42:35.938Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "unit_amount": "", "cap_amount": 317412, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2025-09-16T02:10:33.833Z", "modified_at": "2024-11-12T15:58:56.119Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 400701, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "percentage", "basis_points": 639439, "id": "", "name": "", "code": null}, "organization": {"created_at": "2023-09-07T11:25:07.070Z", "modified_at": "2023-05-12T10:01:16.059Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://mixed-netsuke.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}]} "403": application/json: {"error": "AlreadyActiveSubscriptionError", "detail": ""} "404": @@ -2675,10 +2704,10 @@ examples: path: client_secret: "" requestBody: - application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "allow_trial": false} + application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "locale": "en", "allow_trial": false} responses: "200": - application/json: {"id": "", "created_at": "2023-03-02T01:35:00.551Z", "modified_at": "2024-02-06T20:08:33.394Z", "payment_processor": "stripe", "status": "confirmed", "client_secret": "", "url": "https://earnest-mountain.biz/", "expires_at": "2023-05-03T06:41:51.564Z", "success_url": "https://amazing-airmail.biz", "return_url": "https://tinted-fun.com/", "embed_origin": "", "amount": 340812, "discount_amount": 983591, "net_amount": 119432, "tax_amount": 315526, "total_amount": 280139, "currency": "Lek", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 366642, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "required", "city": "disabled", "postal_code": "optional", "line1": "required", "line2": "required"}, "products": [], "product": {"id": "", "created_at": "2023-12-22T07:23:53.362Z", "modified_at": null, "trial_interval": "month", "trial_interval_count": 111568, "name": "", "description": null, "recurring_interval": "month", "recurring_interval_count": 54804, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-29T04:50:02.330Z", "modified_at": "2023-01-09T13:54:39.340Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "minimum_amount": 111568, "maximum_amount": 27642, "preset_amount": null, "legacy": true}, {"created_at": "2024-01-09T12:43:40.308Z", "modified_at": "2023-05-11T21:32:37.055Z", "id": "", "source": "catalog", "amount_type": "fixed", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "price_amount": 280139, "legacy": true}, {"created_at": "2024-03-30T19:58:01.924Z", "modified_at": "2023-04-26T10:07:32.939Z", "id": "", "source": "catalog", "amount_type": "custom", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "minimum_amount": 304892, "maximum_amount": 308257, "preset_amount": 774216, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-02-20T06:26:56.148Z", "modified_at": "2024-03-08T22:44:58.041Z", "type": "downloadables", "description": "jovially condense sleepy as porter interior forage which", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}]}, "product_price": {"created_at": "2023-12-07T12:50:51.025Z", "modified_at": "2025-06-09T19:20:24.149Z", "id": "", "source": "catalog", "amount_type": "free", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "fixed", "amount": 794922, "currency": "Lilangeni", "id": "", "name": "", "code": ""}, "organization": {"created_at": "2023-03-10T13:26:15.309Z", "modified_at": "2025-01-22T15:08:25.650Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": null, "proration_behavior": "prorate", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}], "customer_session_token": ""} + application/json: {"id": "", "created_at": "2023-03-02T01:35:00.551Z", "modified_at": "2024-02-06T20:08:33.394Z", "payment_processor": "stripe", "status": "confirmed", "client_secret": "", "url": "https://earnest-mountain.biz/", "expires_at": "2023-05-03T06:41:51.564Z", "success_url": "https://amazing-airmail.biz", "return_url": "https://tinted-fun.com/", "embed_origin": "", "amount": 340812, "discount_amount": 983591, "net_amount": 119432, "tax_amount": 315526, "total_amount": 280139, "currency": "Lek", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 366642, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "required", "city": "disabled", "postal_code": "optional", "line1": "required", "line2": "required"}, "products": [], "product": {"id": "", "created_at": "2023-12-22T07:23:53.362Z", "modified_at": null, "trial_interval": "month", "trial_interval_count": 111568, "name": "", "description": null, "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 54804, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-29T04:50:02.330Z", "modified_at": "2023-01-09T13:54:39.340Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 111568, "maximum_amount": 27642, "preset_amount": null, "legacy": true}, {"created_at": "2024-01-09T12:43:40.308Z", "modified_at": "2023-05-11T21:32:37.055Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 280139, "legacy": true}, {"created_at": "2024-03-30T19:58:01.924Z", "modified_at": "2023-04-26T10:07:32.939Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 304892, "maximum_amount": 308257, "preset_amount": 774216, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-02-20T06:26:56.148Z", "modified_at": "2024-03-08T22:44:58.041Z", "type": "downloadables", "description": "jovially condense sleepy as porter interior forage which", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}]}, "product_price": {"created_at": "2023-12-07T12:50:51.025Z", "modified_at": "2025-06-09T19:20:24.149Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "fixed", "amount": 794922, "currency": "Lilangeni", "id": "", "name": "", "code": ""}, "organization": {"created_at": "2023-03-10T13:26:15.309Z", "modified_at": "2025-01-22T15:08:25.650Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": null, "proration_behavior": "prorate", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}], "customer_session_token": ""} "400": application/json: {"error": "PaymentError", "detail": ""} "403": @@ -2796,7 +2825,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-04-17T15:51:04.274Z", "modified_at": "2024-09-28T01:45:16.528Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-04-30T23:16:47.192Z", "modified_at": null, "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-04-24T17:19:50.151Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": null, "usage": 210790, "limit_usage": 636896, "validations": 933684, "last_validated_at": "2025-12-07T23:00:45.828Z", "expires_at": "2023-03-29T22:22:03.314Z", "activations": [{"id": "", "license_key_id": "", "label": "", "meta": {"key": "", "key1": false}, "created_at": "2024-03-16T03:18:55.950Z", "modified_at": "2025-10-01T18:22:52.342Z"}, {"id": "", "license_key_id": "", "label": "", "meta": {"key": "", "key1": false}, "created_at": "2024-03-16T03:18:55.950Z", "modified_at": "2025-10-01T18:22:52.342Z"}, {"id": "", "license_key_id": "", "label": "", "meta": {"key": "", "key1": false}, "created_at": "2024-03-16T03:18:55.950Z", "modified_at": "2025-10-01T18:22:52.342Z"}]} + application/json: {"id": "", "created_at": "2024-04-17T15:51:04.274Z", "modified_at": "2024-09-28T01:45:16.528Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-04-30T23:16:47.192Z", "modified_at": null, "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-04-24T17:19:50.151Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": null, "usage": 210790, "limit_usage": 636896, "validations": 933684, "last_validated_at": "2025-12-07T23:00:45.828Z", "expires_at": "2023-03-29T22:22:03.314Z", "activations": [{"id": "", "license_key_id": "", "label": "", "meta": {"key": "", "key1": false}, "created_at": "2024-03-16T03:18:55.950Z", "modified_at": "2025-10-01T18:22:52.342Z"}, {"id": "", "license_key_id": "", "label": "", "meta": {"key": "", "key1": false}, "created_at": "2024-03-16T03:18:55.950Z", "modified_at": "2025-10-01T18:22:52.342Z"}, {"id": "", "license_key_id": "", "label": "", "meta": {"key": "", "key1": false}, "created_at": "2024-03-16T03:18:55.950Z", "modified_at": "2025-10-01T18:22:52.342Z"}]} "401": application/json: {"error": "Unauthorized", "detail": ""} "404": @@ -2812,7 +2841,7 @@ examples: application/json: {"usage": 0} responses: "200": - application/json: {"id": "", "created_at": "2025-01-01T16:52:41.426Z", "modified_at": "2023-06-07T17:13:25.184Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-02T14:00:56.356Z", "modified_at": null, "metadata": {"key": 9483.31, "key1": 4354.49, "key2": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-11-29T19:00:29.326Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 322291, "usage": 729842, "limit_usage": 199159, "validations": 335813, "last_validated_at": "2025-10-23T05:11:52.478Z", "expires_at": "2023-04-19T21:27:30.358Z"} + application/json: {"id": "", "created_at": "2025-01-01T16:52:41.426Z", "modified_at": "2023-06-07T17:13:25.184Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-02T14:00:56.356Z", "modified_at": null, "metadata": {"key": 9483.31, "key1": 4354.49, "key2": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-11-29T19:00:29.326Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 322291, "usage": 729842, "limit_usage": 199159, "validations": 335813, "last_validated_at": "2025-10-23T05:11:52.478Z", "expires_at": "2023-04-19T21:27:30.358Z"} "401": application/json: {"error": "Unauthorized", "detail": ""} "404": @@ -2827,7 +2856,7 @@ examples: activation_id: "" responses: "200": - application/json: {"id": "", "license_key_id": "", "label": "", "meta": {}, "created_at": "2025-12-13T19:45:59.208Z", "modified_at": "2023-12-24T22:24:52.018Z", "license_key": {"id": "", "created_at": "2024-07-21T12:42:21.959Z", "modified_at": null, "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-03-03T00:26:30.887Z", "modified_at": "2025-05-17T00:47:21.414Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "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"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": null, "usage": 451187, "limit_usage": 638360, "validations": 27878, "last_validated_at": "2025-10-03T20:44:53.594Z", "expires_at": null}} + application/json: {"id": "", "license_key_id": "", "label": "", "meta": {}, "created_at": "2025-12-13T19:45:59.208Z", "modified_at": "2023-12-24T22:24:52.018Z", "license_key": {"id": "", "created_at": "2024-07-21T12:42:21.959Z", "modified_at": null, "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-03-03T00:26:30.887Z", "modified_at": "2025-05-17T00:47:21.414Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": null, "usage": 451187, "limit_usage": 638360, "validations": 27878, "last_validated_at": "2025-10-03T20:44:53.594Z", "expires_at": null}} "401": application/json: {"error": "Unauthorized", "detail": ""} "404": @@ -2843,7 +2872,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/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "week", "trial_interval_count": 269522, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "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", "is_archived": true, "product_id": "", "type": "one_time", "recurring_interval": "year", "price_currency": "", "unit_amount": "", "cap_amount": 987277, "meter_id": "", "meter": {"id": "", "name": ""}}, {"created_at": "2025-02-11T18:32:20.472Z", "modified_at": "2025-03-25T11:30:39.715Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "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, "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, "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/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "month", "trial_interval_count": 743139, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "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, "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, "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/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "year", "trial_interval_count": 470214, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "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, "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, "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/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "week", "trial_interval_count": 269522, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "visibility": "public", "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": "", "is_archived": true, "product_id": "", "type": "one_time", "recurring_interval": "year", "unit_amount": "", "cap_amount": 987277, "meter_id": "", "meter": {"id": "", "name": ""}}, {"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": "", "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, "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, "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, "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/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-05-30T08:30:33.019Z", "trial_interval": "month", "trial_interval_count": 743139, "name": "", "description": "partially yellow gadzooks gleefully reassuringly qua around", "visibility": "public", "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": "", "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": "", "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, "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, "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, "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/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-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": "", "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": "", "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, "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, "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, "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: @@ -2862,7 +2891,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2023-11-21T22:10:03.326Z", "modified_at": null, "trial_interval": "day", "trial_interval_count": 12647, "metadata": {"key": ""}, "payment_processor": "stripe", "client_secret": "", "success_url": null, "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": ""}, "id": "", "created_at": "2025-12-17T13:45:34.269Z", "modified_at": "2024-09-15T19:56:47.175Z", "trial_interval": null, "trial_interval_count": 980330, "name": "", "description": "deduce warlike throughout unless", "recurring_interval": "year", "recurring_interval_count": 5088, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-09-30T15:58:20.160Z", "modified_at": "2025-12-30T10:11:14.173Z", "type": "license_keys", "description": "rust duh parody the aside duh or till since", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}]}, {"metadata": {"key": ""}, "id": "", "created_at": "2025-12-17T13:45:34.269Z", "modified_at": "2024-09-15T19:56:47.175Z", "trial_interval": "month", "trial_interval_count": 425425, "name": "", "description": "deduce warlike throughout unless", "recurring_interval": "year", "recurring_interval_count": 12647, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-09-30T15:58:20.160Z", "modified_at": "2025-12-30T10:11:14.173Z", "type": "license_keys", "description": "rust duh parody the aside duh or till since", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}]}], "discount": {"duration": "repeating", "duration_in_months": 526329, "type": "fixed", "basis_points": 817530, "created_at": "2023-01-13T01:07:25.826Z", "modified_at": "2023-06-30T15:49:18.642Z", "id": "", "metadata": {"key": 7693.39, "key1": ""}, "name": "", "code": "", "starts_at": "2023-05-31T14:32:10.257Z", "ends_at": "2025-08-14T11:27:11.136Z", "max_redemptions": 986007, "redemptions_count": 791953, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://strange-coal.info"} + application/json: {"id": "", "created_at": "2023-11-21T22:10:03.326Z", "modified_at": null, "trial_interval": "day", "trial_interval_count": 12647, "metadata": {"key": ""}, "payment_processor": "stripe", "client_secret": "", "success_url": null, "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": ""}, "id": "", "created_at": "2025-12-17T13:45:34.269Z", "modified_at": "2024-09-15T19:56:47.175Z", "trial_interval": null, "trial_interval_count": 980330, "name": "", "description": "deduce warlike throughout unless", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 5088, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-09-30T15:58:20.160Z", "modified_at": "2025-12-30T10:11:14.173Z", "type": "license_keys", "description": "rust duh parody the aside duh or till since", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}]}, {"metadata": {"key": ""}, "id": "", "created_at": "2025-12-17T13:45:34.269Z", "modified_at": "2024-09-15T19:56:47.175Z", "trial_interval": "month", "trial_interval_count": 425425, "name": "", "description": "deduce warlike throughout unless", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 12647, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-09-30T15:58:20.160Z", "modified_at": "2025-12-30T10:11:14.173Z", "type": "license_keys", "description": "rust duh parody the aside duh or till since", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 382802, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-11-09T14:12:50.660Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-02-08T05:29:21.833Z", "size_readable": "", "public_url": "https://bogus-pocket-watch.net"}]}], "discount": {"duration": "repeating", "duration_in_months": 526329, "type": "fixed", "basis_points": 817530, "created_at": "2023-01-13T01:07:25.826Z", "modified_at": "2023-06-30T15:49:18.642Z", "id": "", "metadata": {"key": 7693.39, "key1": ""}, "name": "", "code": "", "starts_at": "2023-05-31T14:32:10.257Z", "ends_at": "2025-08-14T11:27:11.136Z", "max_redemptions": 986007, "redemptions_count": 791953, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://strange-coal.info"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -2876,7 +2905,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, "label": "", "allow_discount_codes": false, "require_billing_address": true, "discount_id": "", "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", "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "label": "", "allow_discount_codes": false, "require_billing_address": true, "discount_id": "", "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": "", "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": "", "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": @@ -2976,7 +3005,7 @@ examples: id: "" responses: "200": - application/json: {"duration": "repeating", "type": "percentage", "basis_points": 1000, "created_at": "2024-03-15T08:30:29.999Z", "modified_at": "2023-12-09T21:09:31.201Z", "id": "", "metadata": {"key": false, "key1": true, "key2": true}, "name": "", "code": "", "starts_at": "2025-03-11T01:59:19.814Z", "ends_at": "2025-08-29T20:55:20.108Z", "max_redemptions": 808201, "redemptions_count": 819832, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false, "key1": 7712.16}, "id": "", "created_at": "2025-12-07T10:15:11.739Z", "modified_at": "2023-05-27T19:37:11.604Z", "trial_interval": "month", "trial_interval_count": null, "name": "", "description": "oh prestigious of quash brightly under", "recurring_interval": "month", "recurring_interval_count": 509917, "is_recurring": false, "is_archived": false, "organization_id": ""}, {"metadata": {"key": false, "key1": 7712.16}, "id": "", "created_at": "2025-12-07T10:15:11.739Z", "modified_at": "2023-05-27T19:37:11.604Z", "trial_interval": "month", "trial_interval_count": 780105, "name": "", "description": "oh prestigious of quash brightly under", "recurring_interval": "month", "recurring_interval_count": null, "is_recurring": false, "is_archived": false, "organization_id": ""}]} + application/json: {"duration": "repeating", "type": "percentage", "basis_points": 1000, "created_at": "2024-03-15T08:30:29.999Z", "modified_at": "2023-12-09T21:09:31.201Z", "id": "", "metadata": {"key": false, "key1": true, "key2": true}, "name": "", "code": "", "starts_at": "2025-03-11T01:59:19.814Z", "ends_at": "2025-08-29T20:55:20.108Z", "max_redemptions": 808201, "redemptions_count": 819832, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false, "key1": 7712.16}, "id": "", "created_at": "2025-12-07T10:15:11.739Z", "modified_at": "2023-05-27T19:37:11.604Z", "trial_interval": "month", "trial_interval_count": null, "name": "", "description": "oh prestigious of quash brightly under", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 509917, "is_recurring": false, "is_archived": false, "organization_id": ""}, {"metadata": {"key": false, "key1": 7712.16}, "id": "", "created_at": "2025-12-07T10:15:11.739Z", "modified_at": "2023-05-27T19:37:11.604Z", "trial_interval": "month", "trial_interval_count": 780105, "name": "", "description": "oh prestigious of quash brightly under", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": null, "is_recurring": false, "is_archived": false, "organization_id": ""}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -2990,7 +3019,7 @@ examples: application/json: {} responses: "200": - application/json: {"duration": "once", "duration_in_months": 117, "type": "fixed", "basis_points": 1000, "created_at": "2024-09-05T17:29:55.720Z", "modified_at": "2023-02-23T18:50:42.952Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2025-10-11T01:08:57.352Z", "ends_at": "2024-11-01T23:56:36.003Z", "max_redemptions": null, "redemptions_count": 105908, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 2514.5, "key1": 69188, "key2": ""}, "id": "", "created_at": "2024-01-28T18:21:17.317Z", "modified_at": "2024-01-29T23:13:33.377Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "advocate puppet gah stitcher menacing beret bootleg worldly", "recurring_interval": "month", "recurring_interval_count": null, "is_recurring": false, "is_archived": true, "organization_id": ""}]} + application/json: {"duration": "once", "duration_in_months": 117, "type": "fixed", "basis_points": 1000, "created_at": "2024-09-05T17:29:55.720Z", "modified_at": "2023-02-23T18:50:42.952Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2025-10-11T01:08:57.352Z", "ends_at": "2024-11-01T23:56:36.003Z", "max_redemptions": null, "redemptions_count": 105908, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 2514.5, "key1": 69188, "key2": ""}, "id": "", "created_at": "2024-01-28T18:21:17.317Z", "modified_at": "2024-01-29T23:13:33.377Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "advocate puppet gah stitcher menacing beret bootleg worldly", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": null, "is_recurring": false, "is_archived": true, "organization_id": ""}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3024,10 +3053,10 @@ examples: query: include_members: false requestBody: - application/json: {"external_id": "usr_1337", "email": "customer@example.com", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "owner": {"email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337"}} + application/json: {"external_id": "usr_1337", "email": "customer@example.com", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "locale": "en", "type": "individual", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "owner": {"email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337"}} responses: "201": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-12-18T06:01:42.001Z", "modified_at": null, "metadata": {"key": 404263}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-12-23T07:32:24.258Z", "members": [{"id": "", "created_at": "2025-12-18T06:01:42.001Z", "modified_at": null, "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-12-18T06:01:42.001Z", "modified_at": null, "metadata": {"key": 404263}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-12-23T07:32:24.258Z", "members": [{"id": "", "created_at": "2025-12-18T06:01:42.001Z", "modified_at": null, "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "422": application/json: {} customers:get: @@ -3039,7 +3068,7 @@ examples: include_members: false responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-02-07T11:56:28.687Z", "modified_at": "2024-03-20T09:58:07.343Z", "metadata": {"key": "", "key1": 645013}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-01-26T06:04:35.456Z", "members": [{"id": "", "created_at": "2023-02-07T11:56:28.687Z", "modified_at": "2024-03-20T09:58:07.343Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-02-07T11:56:28.687Z", "modified_at": "2024-03-20T09:58:07.343Z", "metadata": {"key": "", "key1": 645013}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-01-26T06:04:35.456Z", "members": [{"id": "", "created_at": "2023-02-07T11:56:28.687Z", "modified_at": "2024-03-20T09:58:07.343Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3052,10 +3081,10 @@ examples: query: include_members: false requestBody: - application/json: {"email": "customer@example.com", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "external_id": "usr_1337"} + application/json: {"email": "customer@example.com", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "locale": "en", "external_id": "usr_1337", "type": "individual"} responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-03-16T17:26:39.570Z", "modified_at": null, "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-04-14T07:55:04.911Z", "members": [{"id": "", "created_at": "2025-06-11T23:12:33.726Z", "modified_at": "2023-01-16T19:45:46.501Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "owner"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-03-16T17:26:39.570Z", "modified_at": null, "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-04-14T07:55:04.911Z", "members": [{"id": "", "created_at": "2025-06-11T23:12:33.726Z", "modified_at": "2023-01-16T19:45:46.501Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "owner"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3081,7 +3110,7 @@ examples: include_members: false responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-16T18:20:25.397Z", "modified_at": "2024-10-25T08:30:34.593Z", "metadata": {"key": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "members": [{"id": "", "created_at": "2023-08-16T18:20:25.397Z", "modified_at": "2024-10-25T08:30:34.593Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "owner"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-16T18:20:25.397Z", "modified_at": "2024-10-25T08:30:34.593Z", "metadata": {"key": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "members": [{"id": "", "created_at": "2023-08-16T18:20:25.397Z", "modified_at": "2024-10-25T08:30:34.593Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "owner"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3094,10 +3123,10 @@ examples: query: include_members: false requestBody: - application/json: {"email": "customer@example.com", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"]} + application/json: {"email": "customer@example.com", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "locale": "en"} responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-07-14T15:50:49.511Z", "modified_at": "2024-12-21T02:28:59.698Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-03-03T18:02:55.477Z", "members": [{"id": "", "created_at": "2023-04-19T12:10:23.341Z", "modified_at": "2024-11-10T15:58:41.008Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-07-14T15:50:49.511Z", "modified_at": "2024-12-21T02:28:59.698Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-03-03T18:02:55.477Z", "members": [{"id": "", "created_at": "2023-04-19T12:10:23.341Z", "modified_at": "2024-11-10T15:58:41.008Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3121,7 +3150,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, "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_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"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3133,7 +3162,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, "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_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"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3182,14 +3211,14 @@ examples: speakeasy-default-customer-portal:customers:get: responses: "200": - application/json: {"created_at": "2024-01-04T22:57:05.515Z", "modified_at": "2024-11-27T21:33:00.017Z", "id": "", "email": "Rosetta24@hotmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}}} + application/json: {"created_at": "2024-01-04T22:57:05.515Z", "modified_at": "2024-11-27T21:33:00.017Z", "id": "", "email": "Rosetta24@hotmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}}, "type": "individual"} customer_portal:customers:update: speakeasy-default-customer-portal:customers:update: requestBody: application/json: {"billing_address": {"country": "US"}} responses: "200": - application/json: {"created_at": "2024-02-15T02:33:28.067Z", "modified_at": "2024-03-16T18:44:25.390Z", "id": "", "email": "Jett.Thompson@gmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}} + application/json: {"created_at": "2024-02-15T02:33:28.067Z", "modified_at": "2024-03-16T18:44:25.390Z", "id": "", "email": "Jett.Thompson@gmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}, "type": "individual"} "422": application/json: {} customer_portal:customers:get_payment_methods: @@ -3292,7 +3321,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-07-24T22:16:16.914Z", "modified_at": "2025-08-11T21:48:56.009Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-09-12T08:24:58.713Z", "modified_at": "2025-02-07T11:37:02.780Z", "metadata": {"key": "", "key1": 858698}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-14T07:47:00.415Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": 114269, "usage": 180465, "limit_usage": 511235, "validations": 955735, "last_validated_at": "2024-03-18T20:25:39.758Z", "expires_at": "2023-01-16T12:09:51.512Z", "activations": [{"id": "", "license_key_id": "", "label": "", "meta": {"key": true, "key1": "", "key2": ""}, "created_at": "2024-08-17T12:54:58.672Z", "modified_at": "2024-02-20T10:12:43.162Z"}]} + application/json: {"id": "", "created_at": "2024-07-24T22:16:16.914Z", "modified_at": "2025-08-11T21:48:56.009Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-09-12T08:24:58.713Z", "modified_at": "2025-02-07T11:37:02.780Z", "metadata": {"key": "", "key1": 858698}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-14T07:47:00.415Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": 114269, "usage": 180465, "limit_usage": 511235, "validations": 955735, "last_validated_at": "2024-03-18T20:25:39.758Z", "expires_at": "2023-01-16T12:09:51.512Z", "activations": [{"id": "", "license_key_id": "", "label": "", "meta": {"key": true, "key1": "", "key2": ""}, "created_at": "2024-08-17T12:54:58.672Z", "modified_at": "2024-02-20T10:12:43.162Z"}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3303,7 +3332,7 @@ examples: application/json: {"key": "", "organization_id": ""} responses: "200": - application/json: {"id": "", "created_at": "2023-04-11T23:03:09.029Z", "modified_at": "2025-01-16T01:19:41.953Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-06-20T05:32:41.329Z", "modified_at": "2025-10-10T19:10:08.865Z", "metadata": {"key": 6109.76, "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-10-25T09:19:10.801Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 858831, "usage": 260081, "limit_usage": 881343, "validations": 466870, "last_validated_at": "2024-09-17T00:22:10.670Z", "expires_at": "2024-03-03T03:07:36.449Z"} + application/json: {"id": "", "created_at": "2023-04-11T23:03:09.029Z", "modified_at": "2025-01-16T01:19:41.953Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-06-20T05:32:41.329Z", "modified_at": "2025-10-10T19:10:08.865Z", "metadata": {"key": 6109.76, "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-10-25T09:19:10.801Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 858831, "usage": 260081, "limit_usage": 881343, "validations": 466870, "last_validated_at": "2024-09-17T00:22:10.670Z", "expires_at": "2024-03-03T03:07:36.449Z"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3314,7 +3343,7 @@ examples: application/json: {"key": "", "organization_id": "", "label": ""} responses: "200": - application/json: {"id": "", "license_key_id": "", "label": "", "meta": {"key": true}, "created_at": "2024-09-24T18:51:56.190Z", "modified_at": "2024-11-09T05:51:44.593Z", "license_key": {"id": "", "created_at": "2023-09-01T21:14:56.853Z", "modified_at": "2023-12-12T12:14:57.239Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-15T07:09:48.285Z", "modified_at": "2024-05-28T04:18:22.471Z", "metadata": {"key": "", "key1": 680556, "key2": 6297.25}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-04-04T09:00:46.250Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 401169, "usage": 971008, "limit_usage": 352972, "validations": 241945, "last_validated_at": "2024-10-21T07:39:42.110Z", "expires_at": "2023-03-30T21:36:19.993Z"}} + application/json: {"id": "", "license_key_id": "", "label": "", "meta": {"key": true}, "created_at": "2024-09-24T18:51:56.190Z", "modified_at": "2024-11-09T05:51:44.593Z", "license_key": {"id": "", "created_at": "2023-09-01T21:14:56.853Z", "modified_at": "2023-12-12T12:14:57.239Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-15T07:09:48.285Z", "modified_at": "2024-05-28T04:18:22.471Z", "metadata": {"key": "", "key1": 680556, "key2": 6297.25}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-04-04T09:00:46.250Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 401169, "usage": 971008, "limit_usage": 352972, "validations": 241945, "last_validated_at": "2024-10-21T07:39:42.110Z", "expires_at": "2023-03-30T21:36:19.993Z"}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -3339,7 +3368,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2025-01-24T20:31:05.561Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 845676, "discount_amount": 924720, "net_amount": 71681, "tax_amount": 598982, "total_amount": 539673, "applied_balance_amount": 281470, "due_amount": 702832, "refunded_amount": 14405, "refunded_tax_amount": 988959, "currency": "Malagasy Ariary", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "user_id": "", "product": {"id": "", "created_at": "2025-05-15T00:41:31.862Z", "modified_at": "2023-04-25T06:37:58.723Z", "trial_interval": "month", "trial_interval_count": 459585, "name": "", "description": "planula breakable gee stranger", "recurring_interval": null, "recurring_interval_count": 702832, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-07-13T14:06:15.505Z", "modified_at": "2023-04-04T23:25:06.964Z", "type": "meter_credit", "description": "preside because since alongside", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-07-13T14:06:15.505Z", "modified_at": "2023-04-04T23:25:06.964Z", "type": "meter_credit", "description": "preside because since alongside", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}], "organization": {"created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2023-09-26T20:05:53.182Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://gaseous-quinoa.net/", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "subscription": {"created_at": "2025-09-29T10:04:34.395Z", "modified_at": "2024-01-20T16:39:03.992Z", "id": "", "amount": 988367, "currency": "Norwegian Krone", "recurring_interval": "month", "recurring_interval_count": 962124, "status": "incomplete", "current_period_start": "2025-07-15T00:27:45.241Z", "current_period_end": "2025-04-09T12:43:21.768Z", "trial_start": "2025-06-16T19:11:41.518Z", "trial_end": "2025-10-10T11:49:01.641Z", "cancel_at_period_end": true, "canceled_at": "2025-05-30T20:27:13.803Z", "started_at": "2025-12-27T13:19:34.629Z", "ends_at": "2023-04-24T07:47:19.900Z", "ended_at": "2025-12-29T09:10:52.742Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-09-04T16:52:16.935Z", "modified_at": "2025-01-30T05:26:00.826Z", "id": "", "label": "", "amount": 807701, "tax_amount": 697997, "proration": true, "product_price_id": ""}, {"created_at": "2025-09-04T16:52:16.935Z", "modified_at": "2025-01-30T05:26:00.826Z", "id": "", "label": "", "amount": 807701, "tax_amount": 697997, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}, {"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2025-01-24T20:31:05.561Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 845676, "discount_amount": 924720, "net_amount": 71681, "tax_amount": 598982, "total_amount": 539673, "applied_balance_amount": 962124, "due_amount": 459585, "refunded_amount": 14405, "refunded_tax_amount": 988959, "currency": "Malagasy Ariary", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "user_id": "", "product": {"id": "", "created_at": "2025-05-15T00:41:31.862Z", "modified_at": "2023-04-25T06:37:58.723Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "planula breakable gee stranger", "recurring_interval": null, "recurring_interval_count": 688736, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-07-13T14:06:15.505Z", "modified_at": "2023-04-04T23:25:06.964Z", "type": "meter_credit", "description": "preside because since alongside", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-07-13T14:06:15.505Z", "modified_at": "2023-04-04T23:25:06.964Z", "type": "meter_credit", "description": "preside because since alongside", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}], "organization": {"created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2023-09-26T20:05:53.182Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://gaseous-quinoa.net/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "subscription": {"created_at": "2025-09-29T10:04:34.395Z", "modified_at": "2024-01-20T16:39:03.992Z", "id": "", "amount": 988367, "currency": "Norwegian Krone", "recurring_interval": "month", "recurring_interval_count": 819161, "status": "incomplete", "current_period_start": "2025-07-15T00:27:45.241Z", "current_period_end": "2025-04-09T12:43:21.768Z", "trial_start": "2024-08-14T11:34:08.193Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2025-05-30T20:27:13.803Z", "started_at": "2025-12-27T13:19:34.629Z", "ends_at": "2023-04-24T07:47:19.900Z", "ended_at": "2025-12-29T09:10:52.742Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-09-04T16:52:16.935Z", "modified_at": "2025-01-30T05:26:00.826Z", "id": "", "label": "", "amount": 807701, "tax_amount": 697997, "proration": true, "product_price_id": ""}, {"created_at": "2025-09-04T16:52:16.935Z", "modified_at": "2025-01-30T05:26:00.826Z", "id": "", "label": "", "amount": 807701, "tax_amount": 697997, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}], "pagination": {"total_count": 449940, "max_page": 933681}} + application/json: {"items": [{"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2025-01-24T20:31:05.561Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 845676, "discount_amount": 924720, "net_amount": 71681, "tax_amount": 598982, "total_amount": 539673, "applied_balance_amount": 281470, "due_amount": 702832, "refunded_amount": 14405, "refunded_tax_amount": 988959, "currency": "Malagasy Ariary", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "user_id": "", "product": {"id": "", "created_at": "2025-05-15T00:41:31.862Z", "modified_at": "2023-04-25T06:37:58.723Z", "trial_interval": "month", "trial_interval_count": 459585, "name": "", "description": "planula breakable gee stranger", "visibility": "draft", "recurring_interval": null, "recurring_interval_count": 702832, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-07-13T14:06:15.505Z", "modified_at": "2023-04-04T23:25:06.964Z", "type": "meter_credit", "description": "preside because since alongside", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-07-13T14:06:15.505Z", "modified_at": "2023-04-04T23:25:06.964Z", "type": "meter_credit", "description": "preside because since alongside", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}], "organization": {"created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2023-09-26T20:05:53.182Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://gaseous-quinoa.net/", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "subscription": {"created_at": "2025-09-29T10:04:34.395Z", "modified_at": "2024-01-20T16:39:03.992Z", "id": "", "amount": 988367, "currency": "Norwegian Krone", "recurring_interval": "month", "recurring_interval_count": 962124, "status": "incomplete", "current_period_start": "2025-07-15T00:27:45.241Z", "current_period_end": "2025-04-09T12:43:21.768Z", "trial_start": "2025-06-16T19:11:41.518Z", "trial_end": "2025-10-10T11:49:01.641Z", "cancel_at_period_end": true, "canceled_at": "2025-05-30T20:27:13.803Z", "started_at": "2025-12-27T13:19:34.629Z", "ends_at": "2023-04-24T07:47:19.900Z", "ended_at": "2025-12-29T09:10:52.742Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-09-04T16:52:16.935Z", "modified_at": "2025-01-30T05:26:00.826Z", "id": "", "label": "", "amount": 807701, "tax_amount": 697997, "proration": true, "product_price_id": ""}, {"created_at": "2025-09-04T16:52:16.935Z", "modified_at": "2025-01-30T05:26:00.826Z", "id": "", "label": "", "amount": 807701, "tax_amount": 697997, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}, {"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2025-01-24T20:31:05.561Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 845676, "discount_amount": 924720, "net_amount": 71681, "tax_amount": 598982, "total_amount": 539673, "applied_balance_amount": 962124, "due_amount": 459585, "refunded_amount": 14405, "refunded_tax_amount": 988959, "currency": "Malagasy Ariary", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "user_id": "", "product": {"id": "", "created_at": "2025-05-15T00:41:31.862Z", "modified_at": "2023-04-25T06:37:58.723Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "planula breakable gee stranger", "visibility": "public", "recurring_interval": null, "recurring_interval_count": 688736, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-07-13T14:06:15.505Z", "modified_at": "2023-04-04T23:25:06.964Z", "type": "meter_credit", "description": "preside because since alongside", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-07-13T14:06:15.505Z", "modified_at": "2023-04-04T23:25:06.964Z", "type": "meter_credit", "description": "preside because since alongside", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/Users", "mime_type": "", "size": 438908, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": null, "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-08-19T15:18:48.324Z", "size_readable": "", "public_url": "https://perfumed-permafrost.info/"}], "organization": {"created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2023-09-26T20:05:53.182Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://gaseous-quinoa.net/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "subscription": {"created_at": "2025-09-29T10:04:34.395Z", "modified_at": "2024-01-20T16:39:03.992Z", "id": "", "amount": 988367, "currency": "Norwegian Krone", "recurring_interval": "month", "recurring_interval_count": 819161, "status": "incomplete", "current_period_start": "2025-07-15T00:27:45.241Z", "current_period_end": "2025-04-09T12:43:21.768Z", "trial_start": "2024-08-14T11:34:08.193Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2025-05-30T20:27:13.803Z", "started_at": "2025-12-27T13:19:34.629Z", "ends_at": "2023-04-24T07:47:19.900Z", "ended_at": "2025-12-29T09:10:52.742Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-09-04T16:52:16.935Z", "modified_at": "2025-01-30T05:26:00.826Z", "id": "", "label": "", "amount": 807701, "tax_amount": 697997, "proration": true, "product_price_id": ""}, {"created_at": "2025-09-04T16:52:16.935Z", "modified_at": "2025-01-30T05:26:00.826Z", "id": "", "label": "", "amount": 807701, "tax_amount": 697997, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}], "pagination": {"total_count": 449940, "max_page": 933681}} "422": application/json: {} customer_portal:orders:get: @@ -3349,7 +3378,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, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "user_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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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", "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, "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, "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, "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"} + 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, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "user_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": "", "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": "", "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, "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, "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, "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"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3373,7 +3402,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", "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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, "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": "2024-07-19T19:10:17.295Z", "modified_at": "2023-10-04T14:51:08.320Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "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": "", "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": "", "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, "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": @@ -3387,7 +3416,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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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, "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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": ""}}]}, {"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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": null, "price_currency": "", "unit_amount": "", "cap_amount": 655254, "meter_id": "", "meter": {"id": "", "name": ""}}], "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, "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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": ""}}]}], "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": "", "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, "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": "", "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": "", "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": ""}}]}, {"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": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": null, "unit_amount": "", "cap_amount": 655254, "meter_id": "", "meter": {"id": "", "name": ""}}], "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, "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": "", "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": "", "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": ""}}]}], "pagination": {"total_count": 843077, "max_page": 721699}} "422": application/json: {} customer_portal:subscriptions:get: @@ -3397,7 +3426,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", "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, "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, "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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "minimum_amount": 684767, "maximum_amount": 130976, "preset_amount": null, "legacy": true}], "meters": []} + 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, "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, "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": "", "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": "", "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": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 684767, "maximum_amount": 130976, "preset_amount": null, "legacy": true}], "meters": []} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3411,7 +3440,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": null, "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", "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", "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", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": []} + 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": null, "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": "", "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": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": []} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -3425,7 +3454,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", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "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", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_currency": "", "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, "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", "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", "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": ""}}]} + 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": "", "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": "", "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, "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": "", "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": "", "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": ""}}]} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -3438,7 +3467,7 @@ examples: application/json: {"external_customer_id": ""} responses: "201": - application/json: {"created_at": "2023-02-22T22:32:12.329Z", "modified_at": null, "id": "", "token": "", "expires_at": "2024-09-04T03:25:26.472Z", "return_url": "https://bright-mathematics.biz/", "customer_portal_url": "https://neglected-bran.biz/", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-03-20T12:56:34.812Z", "modified_at": "2023-06-08T03:20:06.999Z", "metadata": {"key": "", "key1": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-17T10:27:59.444Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} + application/json: {"created_at": "2023-02-22T22:32:12.329Z", "modified_at": null, "id": "", "token": "", "expires_at": "2024-09-04T03:25:26.472Z", "return_url": "https://bright-mathematics.biz/", "customer_portal_url": "https://neglected-bran.biz/", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-03-20T12:56:34.812Z", "modified_at": "2023-06-08T03:20:06.999Z", "metadata": {"key": "", "key1": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-17T10:27:59.444Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} "422": application/json: {} events:list: @@ -3542,6 +3571,7 @@ examples: start_timestamp: "2025-11-25T04:37:16.823Z" end_timestamp: "2025-11-26T17:06:00.727Z" interval: "day" + timezone: "UTC" responses: "200": application/json: {"quantities": [{"timestamp": "2024-05-04T13:51:17.207Z", "quantity": 10}], "total": 100} @@ -3568,7 +3598,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-09-06T08:13:35.629Z", "modified_at": "2025-01-26T12:35:40.613Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-11-21T12:36:06.043Z", "modified_at": "2023-01-08T00:36:33.258Z", "metadata": {"key": 849823, "key1": 1949.8}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-03-31T00:02:44.998Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {}, "created_at": "2024-09-14T02:49:06.821Z", "modified_at": "2023-05-03T01:11:41.641Z", "id": "", "name": "", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}, {"conjunction": "or", "clauses": []}, {"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "sum", "property": ""}, "organization_id": ""}} + application/json: {"id": "", "created_at": "2024-09-06T08:13:35.629Z", "modified_at": "2025-01-26T12:35:40.613Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-11-21T12:36:06.043Z", "modified_at": "2023-01-08T00:36:33.258Z", "metadata": {"key": 849823, "key1": 1949.8}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-03-31T00:02:44.998Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {}, "created_at": "2024-09-14T02:49:06.821Z", "modified_at": "2023-05-03T01:11:41.641Z", "id": "", "name": "", "filter": {"conjunction": "or", "clauses": [{"conjunction": "or", "clauses": []}, {"conjunction": "or", "clauses": []}, {"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "sum", "property": ""}, "organization_id": ""}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3606,7 +3636,7 @@ examples: application/json: {"billing_address": {"country": "US"}} responses: "200": - application/json: {"id": "", "created_at": "2023-07-07T02:27:33.933Z", "modified_at": "2025-12-06T08:14:38.290Z", "status": "pending", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-05-10T23:50:32.891Z", "modified_at": "2023-02-18T10:28:10.963Z", "metadata": {"key": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-09-27T12:39:54.419Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {"key": 364993, "key1": true, "key2": true}, "id": "", "created_at": "2023-04-12T21:30:23.720Z", "modified_at": "2025-07-30T06:39:42.272Z", "trial_interval": "day", "trial_interval_count": 687169, "name": "", "description": "yippee amid wire knowingly an er reproachfully mechanically who gym", "recurring_interval": "month", "recurring_interval_count": 241006, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 919384, "type": "fixed", "basis_points": 485397, "created_at": "2023-04-20T01:15:36.927Z", "modified_at": "2025-08-12T14:50:46.554Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-06-20T13:39:02.935Z", "ends_at": "2024-06-17T01:44:44.306Z", "max_redemptions": 991144, "redemptions_count": 882356, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": false}, "created_at": "2025-05-14T12:37:49.790Z", "modified_at": "2023-07-19T20:08:36.520Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 170714, "status": "incomplete", "current_period_start": "2025-06-29T04:23:47.957Z", "current_period_end": "2024-06-02T02:08:37.593Z", "trial_start": "2023-01-29T06:32:22.248Z", "trial_end": "2025-01-26T07:02:53.111Z", "cancel_at_period_end": true, "canceled_at": "2024-06-26T07:14:15.241Z", "started_at": "2025-06-03T07:15:00.193Z", "ends_at": "2023-09-17T15:31:40.614Z", "ended_at": "2024-06-15T15:33:26.067Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2023-07-07T02:27:33.933Z", "modified_at": "2025-12-06T08:14:38.290Z", "status": "pending", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-05-10T23:50:32.891Z", "modified_at": "2023-02-18T10:28:10.963Z", "metadata": {"key": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-09-27T12:39:54.419Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "user_id": "", "product": {"metadata": {"key": 364993, "key1": true, "key2": true}, "id": "", "created_at": "2023-04-12T21:30:23.720Z", "modified_at": "2025-07-30T06:39:42.272Z", "trial_interval": "day", "trial_interval_count": 687169, "name": "", "description": "yippee amid wire knowingly an er reproachfully mechanically who gym", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 241006, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 919384, "type": "fixed", "basis_points": 485397, "created_at": "2023-04-20T01:15:36.927Z", "modified_at": "2025-08-12T14:50:46.554Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-06-20T13:39:02.935Z", "ends_at": "2024-06-17T01:44:44.306Z", "max_redemptions": 991144, "redemptions_count": 882356, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": false}, "created_at": "2025-05-14T12:37:49.790Z", "modified_at": "2023-07-19T20:08:36.520Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 170714, "status": "incomplete", "current_period_start": "2025-06-29T04:23:47.957Z", "current_period_end": "2024-06-02T02:08:37.593Z", "trial_start": "2023-01-29T06:32:22.248Z", "trial_end": "2025-01-26T07:02:53.111Z", "cancel_at_period_end": true, "canceled_at": "2024-06-26T07:14:15.241Z", "started_at": "2025-06-03T07:15:00.193Z", "ends_at": "2023-09-17T15:31:40.614Z", "ended_at": "2024-06-15T15:33:26.067Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}], "description": "Pro Plan"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3632,7 +3662,7 @@ examples: application/json: {"billing_address": {"country": "US"}} responses: "200": - application/json: {"id": "", "created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "status": "paid", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "purchase", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "user_id": "", "product": {"id": "", "created_at": "2024-02-03T21:16:03.609Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": 947072, "name": "", "description": "gee present next brief till or", "recurring_interval": "year", "recurring_interval_count": 817410, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "unit_amount": "", "cap_amount": 459195, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 245978, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-02T01:31:39.639Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-27T06:51:48.796Z", "size_readable": "", "public_url": "https://monthly-concentration.com"}], "organization": {"created_at": "2024-05-09T04:05:31.223Z", "modified_at": "2025-07-23T21:23:51.247Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://finished-language.org/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "subscription": {"created_at": "2025-08-10T03:04:21.532Z", "modified_at": "2024-08-23T05:41:16.519Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 821156, "status": "incomplete_expired", "current_period_start": "2024-07-27T23:16:23.597Z", "current_period_end": "2025-01-04T16:08:44.590Z", "trial_start": null, "trial_end": "2025-05-04T04:31:46.399Z", "cancel_at_period_end": true, "canceled_at": "2025-03-10T21:35:49.211Z", "started_at": "2023-10-24T00:47:38.683Z", "ends_at": "2024-08-10T21:46:10.059Z", "ended_at": "2023-10-02T07:02:51.789Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "status": "paid", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "purchase", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "user_id": "", "product": {"id": "", "created_at": "2024-02-03T21:16:03.609Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": 947072, "name": "", "description": "gee present next brief till or", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 817410, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "unit_amount": "", "cap_amount": 459195, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 245978, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-02T01:31:39.639Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-27T06:51:48.796Z", "size_readable": "", "public_url": "https://monthly-concentration.com"}], "organization": {"created_at": "2024-05-09T04:05:31.223Z", "modified_at": "2025-07-23T21:23:51.247Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://finished-language.org/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "subscription": {"created_at": "2025-08-10T03:04:21.532Z", "modified_at": "2024-08-23T05:41:16.519Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 821156, "status": "incomplete_expired", "current_period_start": "2024-07-27T23:16:23.597Z", "current_period_end": "2025-01-04T16:08:44.590Z", "trial_start": null, "trial_end": "2025-05-04T04:31:46.399Z", "cancel_at_period_end": true, "canceled_at": "2025-03-10T21:35:49.211Z", "started_at": "2023-10-24T00:47:38.683Z", "ends_at": "2024-08-10T21:46:10.059Z", "ended_at": "2023-10-02T07:02:51.789Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}], "description": "Pro Plan"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3772,7 +3802,7 @@ examples: application/json: {"key": "", "organization_id": ""} responses: "200": - application/json: {"id": "", "created_at": "2024-06-29T07:51:16.664Z", "modified_at": "2024-07-22T07:53:05.781Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-11-08T06:59:11.054Z", "modified_at": "2024-10-16T11:42:16.289Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-10-15T03:37:33.808Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 687171, "usage": 960507, "limit_usage": 710855, "validations": 792226, "last_validated_at": "2024-05-13T06:28:08.701Z", "expires_at": "2025-10-26T12:46:32.455Z"} + application/json: {"id": "", "created_at": "2024-06-29T07:51:16.664Z", "modified_at": "2024-07-22T07:53:05.781Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-11-08T06:59:11.054Z", "modified_at": "2024-10-16T11:42:16.289Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-10-15T03:37:33.808Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 687171, "usage": 960507, "limit_usage": 710855, "validations": 792226, "last_validated_at": "2024-05-13T06:28:08.701Z", "expires_at": "2025-10-26T12:46:32.455Z"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -3783,7 +3813,7 @@ examples: application/json: {"key": "", "organization_id": "", "label": ""} responses: "200": - application/json: {"id": "", "license_key_id": "", "label": "", "meta": {}, "created_at": "2025-01-20T08:29:58.654Z", "modified_at": "2025-03-13T06:17:04.428Z", "license_key": {"id": "", "created_at": "2023-09-03T00:06:44.065Z", "modified_at": "2024-09-21T23:39:19.422Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-04T10:38:17.502Z", "modified_at": "2024-07-09T23:48:51.064Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-12-05T09:55:52.557Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 553799, "usage": 817374, "limit_usage": 304304, "validations": 944013, "last_validated_at": null, "expires_at": "2024-09-12T22:51:35.915Z"}} + application/json: {"id": "", "license_key_id": "", "label": "", "meta": {}, "created_at": "2025-01-20T08:29:58.654Z", "modified_at": "2025-03-13T06:17:04.428Z", "license_key": {"id": "", "created_at": "2023-09-03T00:06:44.065Z", "modified_at": "2024-09-21T23:39:19.422Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-04T10:38:17.502Z", "modified_at": "2024-07-09T23:48:51.064Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-12-05T09:55:52.557Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 553799, "usage": 817374, "limit_usage": 304304, "validations": 944013, "last_validated_at": null, "expires_at": "2024-09-12T22:51:35.915Z"}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -3888,7 +3918,7 @@ examples: application/json: {"immediate_claim": false} responses: "200": - application/json: {"created_at": "2024-10-26T09:07:16.987Z", "modified_at": "2024-02-12T05:39:40.718Z", "id": "8b7fef07-0f8e-424f-b52c-4bbf79cc4d14", "status": "claimed"} + application/json: {"created_at": "2024-10-26T09:07:16.987Z", "modified_at": "2024-02-12T05:39:40.718Z", "id": "8b7fef07-0f8e-424f-b52c-4bbf79cc4d14", "status": "claimed", "member": {"id": "", "created_at": "2026-11-14T04:33:05.771Z", "modified_at": "2025-07-31T04:19:39.785Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"}} "422": application/json: {} customer_portal:seats:revoke_seat: @@ -3898,7 +3928,7 @@ examples: seat_id: "4b3d74b3-01ff-4aac-bd03-320535cd5ce4" responses: "200": - application/json: {"created_at": "2025-07-13T15:07:21.585Z", "modified_at": "2024-02-27T09:48:22.662Z", "id": "a0c1fc03-f1e1-47ac-80de-00d2f672dcd7", "status": "revoked"} + application/json: {"created_at": "2025-07-13T15:07:21.585Z", "modified_at": "2024-02-27T09:48:22.662Z", "id": "a0c1fc03-f1e1-47ac-80de-00d2f672dcd7", "status": "revoked", "member": {"id": "", "created_at": "2026-03-02T16:52:08.771Z", "modified_at": "2026-07-14T00:48:14.502Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}} "422": application/json: {} customer_portal:seats:resend_invitation: @@ -3908,14 +3938,14 @@ examples: seat_id: "e3817437-8d53-4578-88d2-1dc256825965" responses: "200": - application/json: {"created_at": "2024-04-07T01:24:29.339Z", "modified_at": null, "id": "18bd079e-a0ad-43ff-a714-4011874ff35e", "status": "revoked"} + application/json: {"created_at": "2024-04-07T01:24:29.339Z", "modified_at": null, "id": "18bd079e-a0ad-43ff-a714-4011874ff35e", "status": "revoked", "member": {"id": "", "created_at": "2024-09-09T02:30:38.922Z", "modified_at": "2024-03-13T13:03:15.529Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}} "422": application/json: {} customer_portal:seats:list_claimed_subscriptions: speakeasy-default-customer-portal:seats:list-claimed-subscriptions: responses: "200": - application/json: [{"created_at": "2023-07-05T03:11:10.458Z", "modified_at": null, "id": "", "amount": 188802, "currency": "East Caribbean Dollar", "recurring_interval": "month", "recurring_interval_count": 168916, "status": "trialing", "current_period_start": "2025-09-23T18:01:38.664Z", "current_period_end": null, "trial_start": "2024-11-15T19:25:07.298Z", "trial_end": "2024-11-21T16:14:26.632Z", "cancel_at_period_end": true, "canceled_at": "2025-09-04T07:50:50.427Z", "started_at": "2025-04-06T15:41:59.631Z", "ends_at": "2024-01-11T20:31:07.862Z", "ended_at": "2025-07-13T17:45:41.928Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-07-01T03:12:52.869Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": 622272, "name": "", "description": "airbus irritably loudly jive drain deployment happily badly oh", "recurring_interval": "month", "recurring_interval_count": null, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-02-04T14:35:33.491Z", "modified_at": "2024-07-09T12:47:49.884Z", "id": "", "source": "catalog", "amount_type": "seat_based", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_currency": "", "seat_tiers": {"tiers": [], "minimum_seats": 168916, "maximum_seats": null}}], "benefits": [{"id": "", "created_at": "2024-01-28T05:47:37.378Z", "modified_at": "2024-03-11T13:18:09.440Z", "type": "discord", "description": "worth circular however congregate", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/spool", "mime_type": "", "size": 652913, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": null, "last_modified_at": "2025-01-29T20:54:15.453Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-11-20T13:19:02.015Z", "size_readable": "", "public_url": "https://trusty-ceramics.info/"}], "organization": {"created_at": "2024-11-01T13:25:57.001Z", "modified_at": "2024-08-12T19:24:27.962Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://frightened-designation.name/", "proration_behavior": "invoice", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": true}}}}, "prices": [], "meters": []}] + application/json: [{"created_at": "2023-07-05T03:11:10.458Z", "modified_at": null, "id": "", "amount": 188802, "currency": "East Caribbean Dollar", "recurring_interval": "month", "recurring_interval_count": 168916, "status": "trialing", "current_period_start": "2025-09-23T18:01:38.664Z", "current_period_end": null, "trial_start": "2024-11-15T19:25:07.298Z", "trial_end": "2024-11-21T16:14:26.632Z", "cancel_at_period_end": true, "canceled_at": "2025-09-04T07:50:50.427Z", "started_at": "2025-04-06T15:41:59.631Z", "ends_at": "2024-01-11T20:31:07.862Z", "ended_at": "2025-07-13T17:45:41.928Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-07-01T03:12:52.869Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": 622272, "name": "", "description": "airbus irritably loudly jive drain deployment happily badly oh", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": null, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-02-04T14:35:33.491Z", "modified_at": "2024-07-09T12:47:49.884Z", "id": "", "source": "catalog", "amount_type": "seat_based", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "seat_tiers": {"tiers": [], "minimum_seats": 168916, "maximum_seats": null}}], "benefits": [{"id": "", "created_at": "2024-01-28T05:47:37.378Z", "modified_at": "2024-03-11T13:18:09.440Z", "type": "discord", "description": "worth circular however congregate", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/spool", "mime_type": "", "size": 652913, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": null, "last_modified_at": "2025-01-29T20:54:15.453Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-11-20T13:19:02.015Z", "size_readable": "", "public_url": "https://trusty-ceramics.info/"}], "organization": {"created_at": "2024-11-01T13:25:57.001Z", "modified_at": "2024-08-12T19:24:27.962Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://frightened-designation.name/", "proration_behavior": "invoice", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": true}}}}, "prices": [], "meters": []}] customer_portal:customer-session:introspect: speakeasy-default-customer-portal:customer-session:introspect: responses: @@ -3937,7 +3967,7 @@ examples: application/json: {"immediate_claim": false} responses: "200": - application/json: {"created_at": "2025-06-03T22:03:05.719Z", "modified_at": "2023-07-07T22:56:08.145Z", "id": "36156b2b-4547-4276-b3b4-22f77d587bae", "status": "revoked"} + application/json: {"created_at": "2025-06-03T22:03:05.719Z", "modified_at": "2023-07-07T22:56:08.145Z", "id": "36156b2b-4547-4276-b3b4-22f77d587bae", "status": "revoked", "member": {"id": "", "created_at": "2025-08-02T08:42:05.683Z", "modified_at": "2024-09-15T06:25:05.015Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}} "422": application/json: {} customer-seats:list_seats: @@ -3954,7 +3984,7 @@ examples: seat_id: "" responses: "200": - application/json: {"created_at": "2023-02-12T16:27:18.501Z", "modified_at": "2024-09-27T11:19:26.594Z", "id": "2602d80b-08c2-4824-b372-174263480d07", "status": "revoked"} + application/json: {"created_at": "2023-02-12T16:27:18.501Z", "modified_at": "2024-09-27T11:19:26.594Z", "id": "2602d80b-08c2-4824-b372-174263480d07", "status": "revoked", "member": null} "422": application/json: {} customer-seats:resend_invitation: @@ -3964,7 +3994,7 @@ examples: seat_id: "" responses: "200": - application/json: {"created_at": "2024-02-22T18:37:49.829Z", "modified_at": "2023-11-02T09:20:25.641Z", "id": "fd0c6fd0-32b4-4a7a-b30c-92a16368ffaf", "status": "revoked"} + application/json: {"created_at": "2024-02-22T18:37:49.829Z", "modified_at": "2023-11-02T09:20:25.641Z", "id": "fd0c6fd0-32b4-4a7a-b30c-92a16368ffaf", "status": "revoked", "member": {"id": "", "created_at": "2025-05-10T16:55:18.836Z", "modified_at": "2026-12-09T01:18:27.985Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"}} "422": application/json: {} customer-seats:get_claim_info: @@ -3983,13 +4013,13 @@ examples: application/json: {"invitation_token": ""} responses: "200": - application/json: {"seat": {"created_at": "2025-04-12T14:34:03.720Z", "modified_at": "2024-11-19T23:36:35.489Z", "id": "f64b62d8-93fd-4163-a769-ecd646971709", "status": "revoked"}, "customer_session_token": ""} + application/json: {"seat": {"created_at": "2025-04-12T14:34:03.720Z", "modified_at": "2024-11-19T23:36:35.489Z", "id": "f64b62d8-93fd-4163-a769-ecd646971709", "status": "revoked", "member": {"id": "", "created_at": "2026-11-14T01:43:34.533Z", "modified_at": "2026-10-30T18:59:40.061Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}}, "customer_session_token": ""} "422": application/json: {} _endpointcustomer_seat_assigned_post: speakeasy-default-endpointcustomer-seat-assigned-post: requestBody: - application/json: {"type": "customer_seat.assigned", "timestamp": "2023-01-24T21:46:22.729Z", "data": {"created_at": "2024-04-02T01:55:00.575Z", "modified_at": "2025-03-27T17:16:29.966Z", "id": "ded032fb-362e-4ae1-83b9-4f4bcab6f430", "status": "revoked"}} + application/json: {"type": "customer_seat.assigned", "timestamp": "2023-01-24T21:46:22.729Z", "data": {"created_at": "2024-04-02T01:55:00.575Z", "modified_at": "2025-03-27T17:16:29.966Z", "id": "ded032fb-362e-4ae1-83b9-4f4bcab6f430", "status": "revoked", "member": null}} responses: "200": application/json: "" @@ -3998,7 +4028,7 @@ examples: _endpointcustomer_seat_claimed_post: speakeasy-default-endpointcustomer-seat-claimed-post: requestBody: - application/json: {"type": "customer_seat.claimed", "timestamp": "2023-08-22T13:16:39.616Z", "data": {"created_at": "2023-05-10T18:50:40.033Z", "modified_at": "2023-07-12T19:06:41.896Z", "id": "35ac8c8c-dc4e-44ea-9684-2a2c2b600002", "status": "pending"}} + application/json: {"type": "customer_seat.claimed", "timestamp": "2023-08-22T13:16:39.616Z", "data": {"created_at": "2023-05-10T18:50:40.033Z", "modified_at": "2023-07-12T19:06:41.896Z", "id": "35ac8c8c-dc4e-44ea-9684-2a2c2b600002", "status": "pending", "member": {"id": "", "created_at": "2024-05-09T18:50:40.033Z", "modified_at": "2024-07-11T19:06:41.896Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "owner"}}} responses: "200": application/json: "" @@ -4007,7 +4037,7 @@ examples: _endpointcustomer_seat_revoked_post: speakeasy-default-endpointcustomer-seat-revoked-post: requestBody: - application/json: {"type": "customer_seat.revoked", "timestamp": "2023-11-12T11:49:39.839Z", "data": {"created_at": "2024-08-05T10:54:13.336Z", "modified_at": "2023-12-02T21:24:11.844Z", "id": "518899df-02c0-4220-abaf-0f2f32e97539", "status": "pending"}} + application/json: {"type": "customer_seat.revoked", "timestamp": "2023-11-12T11:49:39.839Z", "data": {"created_at": "2024-08-05T10:54:13.336Z", "modified_at": "2023-12-02T21:24:11.844Z", "id": "518899df-02c0-4220-abaf-0f2f32e97539", "status": "pending", "member": {"id": "", "created_at": "2025-08-05T10:54:13.336Z", "modified_at": "2024-12-01T21:24:11.844Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "owner"}}} responses: "200": application/json: "" @@ -4019,7 +4049,7 @@ examples: application/json: {"product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b"} responses: "201": - application/json: {"created_at": "2024-05-07T09:41:55.474Z", "modified_at": "2024-07-21T03:47:24.582Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 261853, "status": "incomplete", "current_period_start": "2025-05-30T22:14:44.546Z", "current_period_end": "2024-03-11T09:56:01.675Z", "trial_start": null, "trial_end": "2024-06-17T00:10:04.156Z", "cancel_at_period_end": true, "canceled_at": "2024-10-16T05:43:54.436Z", "started_at": "2023-08-13T14:15:39.992Z", "ends_at": "2023-02-26T21:36:33.823Z", "ended_at": null, "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-11T11:37:46.426Z", "modified_at": "2023-08-28T20:40:19.067Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-09T04:32:44.403Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-03-12T12:11:55.173Z", "modified_at": "2025-12-06T22:23:14.254Z", "trial_interval": "week", "trial_interval_count": 71746, "name": "", "description": "uneven lest shocked alongside", "recurring_interval": null, "recurring_interval_count": 106391, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-08-08T23:08:58.031Z", "modified_at": "2023-08-16T21:10:10.979Z", "type": "downloadables", "description": "consign ick circle", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": ""}, "properties": {"archived": {"key": false, "key1": true, "key2": false}, "files": ["", "", ""]}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-12-25T03:27:59.537Z", "modified_at": "2025-03-22T12:04:54.293Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 335043, "required": true}]}, "discount": {"duration": "repeating", "duration_in_months": 470978, "type": "percentage", "basis_points": 1000, "created_at": "2023-01-02T12:02:59.434Z", "modified_at": "2024-12-18T23:17:27.575Z", "id": "", "metadata": {"key": 583422}, "name": "", "code": "", "starts_at": "2024-06-09T18:09:09.489Z", "ends_at": "2025-04-22T20:10:26.485Z", "max_redemptions": 345910, "redemptions_count": 235299, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-05T18:43:39.547Z", "modified_at": "2023-03-08T07:36:56.095Z", "id": "", "source": "catalog", "amount_type": "fixed", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_currency": "", "price_amount": 984500, "legacy": true}], "meters": []} + application/json: {"created_at": "2024-05-07T09:41:55.474Z", "modified_at": "2024-07-21T03:47:24.582Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 261853, "status": "incomplete", "current_period_start": "2025-05-30T22:14:44.546Z", "current_period_end": "2024-03-11T09:56:01.675Z", "trial_start": null, "trial_end": "2024-06-17T00:10:04.156Z", "cancel_at_period_end": true, "canceled_at": "2024-10-16T05:43:54.436Z", "started_at": "2023-08-13T14:15:39.992Z", "ends_at": "2023-02-26T21:36:33.823Z", "ended_at": null, "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-11T11:37:46.426Z", "modified_at": "2023-08-28T20:40:19.067Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-09T04:32:44.403Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-03-12T12:11:55.173Z", "modified_at": "2025-12-06T22:23:14.254Z", "trial_interval": "week", "trial_interval_count": 71746, "name": "", "description": "uneven lest shocked alongside", "visibility": "private", "recurring_interval": null, "recurring_interval_count": 106391, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-08-08T23:08:58.031Z", "modified_at": "2023-08-16T21:10:10.979Z", "type": "downloadables", "description": "consign ick circle", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": ""}, "properties": {"archived": {"key": false, "key1": true, "key2": false}, "files": ["", "", ""]}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-12-25T03:27:59.537Z", "modified_at": "2025-03-22T12:04:54.293Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 335043, "required": true}]}, "discount": {"duration": "repeating", "duration_in_months": 470978, "type": "percentage", "basis_points": 1000, "created_at": "2023-01-02T12:02:59.434Z", "modified_at": "2024-12-18T23:17:27.575Z", "id": "", "metadata": {"key": 583422}, "name": "", "code": "", "starts_at": "2024-06-09T18:09:09.489Z", "ends_at": "2025-04-22T20:10:26.485Z", "max_redemptions": 345910, "redemptions_count": 235299, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-05T18:43:39.547Z", "modified_at": "2023-03-08T07:36:56.095Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 984500, "legacy": true}], "meters": []} "422": application/json: {} customer_portal:wallets:list: @@ -4171,7 +4201,7 @@ examples: _endpointsubscription_past_due_post: speakeasy-default-endpointsubscription-past-due-post: requestBody: - application/json: {"type": "subscription.past_due", "timestamp": "2024-08-08T08:08:34.879Z", "data": {"created_at": "2024-08-04T16:17:07.577Z", "modified_at": "2024-12-31T22:57:08.265Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "week", "recurring_interval_count": 546644, "status": "past_due", "current_period_start": "2024-11-30T09:38:02.409Z", "current_period_end": "2025-05-17T12:45:53.215Z", "trial_start": "2025-08-11T03:24:52.872Z", "trial_end": "2025-11-23T15:14:32.091Z", "cancel_at_period_end": true, "canceled_at": "2025-11-23T20:41:28.274Z", "started_at": "2023-06-07T00:58:09.164Z", "ends_at": "2023-04-30T18:50:10.865Z", "ended_at": "2024-10-24T10:41:48.448Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "metadata": {"key": 88296}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-10-23T07:41:47.878Z", "modified_at": "2023-03-23T16:08:53.531Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-03-24T05:44:38.605Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-12-22T12:33:51.204Z", "modified_at": "2025-12-27T02:54:47.268Z", "trial_interval": "year", "trial_interval_count": 142723, "name": "", "description": "within tomb spectacles um after when chunter inwardly brr", "recurring_interval": "year", "recurring_interval_count": 49747, "is_recurring": false, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/bin", "mime_type": "", "size": 189018, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2024-10-16T11:09:40.675Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2023-04-25T02:01:36.979Z", "size_readable": "", "public_url": "https://exalted-unblinking.name"}], "attached_custom_fields": []}, "discount": {"duration": "forever", "type": "percentage", "basis_points": 1000, "created_at": "2024-09-15T03:00:42.261Z", "modified_at": "2023-01-21T01:11:57.675Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-03T02:53:30.217Z", "ends_at": "2025-12-13T03:09:13.905Z", "max_redemptions": 205428, "redemptions_count": 683480, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [], "meters": []}} + application/json: {"type": "subscription.past_due", "timestamp": "2024-08-08T08:08:34.879Z", "data": {"created_at": "2024-08-04T16:17:07.577Z", "modified_at": "2024-12-31T22:57:08.265Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "week", "recurring_interval_count": 546644, "status": "past_due", "current_period_start": "2024-11-30T09:38:02.409Z", "current_period_end": "2025-05-17T12:45:53.215Z", "trial_start": "2025-08-11T03:24:52.872Z", "trial_end": "2025-11-23T15:14:32.091Z", "cancel_at_period_end": true, "canceled_at": "2025-11-23T20:41:28.274Z", "started_at": "2023-06-07T00:58:09.164Z", "ends_at": "2023-04-30T18:50:10.865Z", "ended_at": "2024-10-24T10:41:48.448Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "metadata": {"key": 88296}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-10-23T07:41:47.878Z", "modified_at": "2023-03-23T16:08:53.531Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-03-24T05:44:38.605Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-12-22T12:33:51.204Z", "modified_at": "2025-12-27T02:54:47.268Z", "trial_interval": "year", "trial_interval_count": 142723, "name": "", "description": "within tomb spectacles um after when chunter inwardly brr", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 49747, "is_recurring": false, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/bin", "mime_type": "", "size": 189018, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2024-10-16T11:09:40.675Z", "version": null, "service": "product_media", "is_uploaded": true, "created_at": "2023-04-25T02:01:36.979Z", "size_readable": "", "public_url": "https://exalted-unblinking.name"}], "attached_custom_fields": []}, "discount": {"duration": "forever", "type": "percentage", "basis_points": 1000, "created_at": "2024-09-15T03:00:42.261Z", "modified_at": "2023-01-21T01:11:57.675Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-03T02:53:30.217Z", "ends_at": "2025-12-13T03:09:13.905Z", "max_redemptions": 205428, "redemptions_count": 683480, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [], "meters": []}} responses: "200": application/json: "" @@ -4214,7 +4244,7 @@ examples: application/json: {"member_id": "", "return_url": "https://example.com/account"} responses: "201": - application/json: {"created_at": "2024-10-29T13:05:12.712Z", "modified_at": "2025-10-31T09:33:29.753Z", "id": "", "token": "", "expires_at": "2026-05-23T05:24:31.597Z", "return_url": "https://muted-finer.info/", "member_portal_url": "https://emotional-switch.org", "member_id": "", "member": {"id": "", "created_at": "2025-04-08T05:47:40.526Z", "modified_at": null, "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"}, "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-10-29T18:32:48.672Z", "modified_at": "2026-11-06T23:23:53.644Z", "metadata": {"key": 687299}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-11-19T06:37:11.538Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} + application/json: {"created_at": "2024-10-29T13:05:12.712Z", "modified_at": "2025-10-31T09:33:29.753Z", "id": "", "token": "", "expires_at": "2026-05-23T05:24:31.597Z", "return_url": "https://muted-finer.info/", "member_portal_url": "https://emotional-switch.org", "member_id": "", "member": {"id": "", "created_at": "2025-04-08T05:47:40.526Z", "modified_at": null, "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"}, "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-10-29T18:32:48.672Z", "modified_at": "2026-11-06T23:23:53.644Z", "metadata": {"key": 687299}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-11-19T06:37:11.538Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} "422": application/json: {} organization_access_tokens:list: @@ -4258,24 +4288,79 @@ examples: responses: "422": application/json: {} + customer_portal:members:list_members: + speakeasy-default-customer-portal:members:list-members: + responses: + "200": + application/json: [{"created_at": "2024-05-02T15:40:04.739Z", "modified_at": "2024-11-10T01:10:45.495Z", "id": "", "email": "Tabitha43@hotmail.com", "name": "", "role": "member"}] + customer_portal:members:add_member: + speakeasy-default-customer-portal:members:add-member: + requestBody: + application/json: {"email": "Domenica.Schamberger@yahoo.com"} + responses: + "201": + application/json: {"created_at": "2025-04-09T10:02:23.007Z", "modified_at": "2025-02-13T22:37:16.867Z", "id": "", "email": "Joel80@yahoo.com", "name": "", "role": "owner"} + "422": + application/json: {} + customer_portal:members:remove_member: + speakeasy-default-customer-portal:members:remove-member: + parameters: + path: + id: "b61c5e87-cda5-4b14-93ee-71a695f42d9d" + responses: + "422": + application/json: {} + customer_portal:members:update_member: + speakeasy-default-customer-portal:members:update-member: + parameters: + path: + id: "8319ae11-ed5f-4642-81e4-4b40731df195" + requestBody: + application/json: {} + 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"} + "422": + application/json: {} + _endpointcheckout_expired_post: + speakeasy-default-endpointcheckout-expired-post: + requestBody: + application/json: {"type": "checkout.expired", "timestamp": "2025-07-24T10:11:01.088Z", "data": {"id": "", "created_at": "2024-05-04T16:36:16.430Z", "modified_at": "2025-07-14T11:38:07.998Z", "payment_processor": "stripe", "status": "open", "client_secret": "", "url": "https://husky-advertisement.biz/", "expires_at": "2026-08-22T23:38:29.173Z", "success_url": "https://wasteful-premeditation.org", "return_url": "https://torn-toothpick.name", "embed_origin": "", "amount": 104765, "discount_amount": 723749, "net_amount": 208098, "tax_amount": 740520, "total_amount": 729691, "currency": "Kwanza", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 884805, "trial_end": "2026-12-24T16:37:35.525Z", "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": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "disabled", "state": "required", "city": "disabled", "postal_code": "required", "line1": "required", "line2": "optional"}, "trial_interval": "year", "trial_interval_count": 374640, "metadata": {}, "external_customer_id": "", "customer_external_id": "", "products": [], "product": {"id": "", "created_at": "2025-05-03T04:05:53.922Z", "modified_at": null, "trial_interval": "month", "trial_interval_count": 672250, "name": "", "description": "dishonor annually freely lest across tuxedo", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 32642, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-02-13T06:46:22.784Z", "modified_at": null, "type": "meter_credit", "description": "backburn ceramics key drat ah", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/dev", "mime_type": "", "size": 297560, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": null, "checksum_sha256_hex": "", "last_modified_at": "2024-10-02T10:50:58.254Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-06-17T02:47:29.959Z", "size_readable": "", "public_url": "https://vague-napkin.info"}]}, "product_price": {"created_at": "2026-09-26T14:55:05.068Z", "modified_at": "2024-04-29T01:26:29.276Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "day", "price_amount": 837258}, "prices": {"key": [{"created_at": "2024-11-21T10:54:15.138Z", "modified_at": "2024-02-01T03:56:24.308Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "is_archived": false, "product_id": "", "type": "one_time", "recurring_interval": null, "price_amount": 899093}], "key1": []}, "discount": {"duration": "once", "duration_in_months": 999128, "type": "percentage", "basis_points": 1000, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-04-29T17:45:00.608Z", "modified_at": "2025-05-11T11:55:01.279Z", "id": "", "metadata": {"key": true}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 404380, "required": false}], "customer_metadata": {"key": 8180}}} + responses: + "200": + application/json: "" + "422": + application/json: {} + _endpointmember_created_post: + speakeasy-default-endpointmember-created-post: + requestBody: + application/json: {"type": "member.created", "timestamp": "2025-04-28T23:04:51.808Z", "data": {"id": "", "created_at": "2026-12-23T03:38:19.037Z", "modified_at": "2024-09-06T19:43:22.649Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}} + responses: + "200": + application/json: "" + "422": + application/json: {} + _endpointmember_updated_post: + speakeasy-default-endpointmember-updated-post: + requestBody: + application/json: {"type": "member.updated", "timestamp": "2024-11-05T05:14:18.329Z", "data": {"id": "", "created_at": "2026-05-18T02:38:40.957Z", "modified_at": "2025-05-04T19:57:55.589Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"}} + responses: + "200": + application/json: "" + "422": + application/json: {} + _endpointmember_deleted_post: + speakeasy-default-endpointmember-deleted-post: + requestBody: + application/json: {"type": "member.deleted", "timestamp": "2026-07-12T12:40:50.807Z", "data": {"id": "", "created_at": "2024-10-18T18:24:30.902Z", "modified_at": null, "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "owner"}} + responses: + "200": + application/json: "" + "422": + application/json: {} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: | - ## Python SDK Changes Detected: - * `polar.events.list()`: `response.[list_resource_event_].items.[].[system_event]` **Changed** **Breaking** :warning: - * `polar.events.get()`: `response.[system_event]` **Changed** **Breaking** :warning: - * `polar.orders.list()`: `request.external_customer_id` **Added** - * `polar.organization_access_tokens.delete()`: **Added** - * `polar.benefit-grants.list()`: `request.external_customer_id` **Added** - * `polar.webhooks.list_webhook_deliveries()`: `request` **Changed** - * `polar.organization_access_tokens.list()`: **Added** - * `polar.refunds.list()`: `request.external_customer_id` **Added** - * `polar.checkouts.list()`: `request.external_customer_id` **Added** - * `polar.customers.delete()`: `request.anonymize` **Added** - * `polar.customers.delete_external()`: `request.anonymize` **Added** - * `polar.members.list_members()`: `request.external_customer_id` **Added** - * `polar.organization_access_tokens.update()`: **Added** - * `polar.organization_access_tokens.create()`: **Added** +releaseNotes: "## Python SDK Changes Detected:\n* `polar._endpointsubscription_uncanceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointcheckout_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointorder_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointorder_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointorder_paid_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointcheckout_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar.checkouts.create()`: \n * `request` **Changed** **Breaking** :warning:\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.refunds.create()`: \n * `response` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar.products.update()`: \n * `request.product_update` **Changed** **Breaking** :warning:\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.products.create()`: \n * `request` **Changed** **Breaking** :warning:\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar._endpointbenefit_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointbenefit_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointorganization_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointproduct_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointproduct_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointsubscription_past_due_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointsubscription_revoked_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointorder_refunded_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointsubscription_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointsubscription_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointsubscription_active_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar._endpointsubscription_canceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n * `error.detail.[]` **Changed**\n* `polar.license_keys.get()`: \n * `response.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar._endpointbenefit_grant_cycled_post()`: \n * `request.data` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.custom-fields.create()`: `error.detail.[]` **Changed**\n* `polar._endpointcustomer_seat_assigned_post()`: \n * `request.data.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar._endpointcustomer_seat_claimed_post()`: \n * `request.data.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar._endpointcustomer_seat_revoked_post()`: \n * `request.data.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar._endpointrefund_created_post()`: `error.detail.[]` **Changed**\n* `polar._endpointrefund_updated_post()`: `error.detail.[]` **Changed**\n* `polar._endpointcustomer_updated_post()`: \n * `request.data` **Changed**\n * `error.detail.[]` **Changed**\n* `polar._endpointcustomer_created_post()`: \n * `request.data` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.members.remove_member()`: **Added**\n* `polar.customer_portal.members.update_member()`: **Added**\n* `polar.customer_portal.members.add_member()`: **Added**\n* `polar._endpointbenefit_grant_created_post()`: \n * `request.data` **Changed**\n * `error.detail.[]` **Changed**\n* `polar._endpointbenefit_grant_updated_post()`: \n * `request.data.[benefit_grant_license_keys_webhook]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.custom-fields.get()`: `error.detail.[]` **Changed**\n* `polar._endpointbenefit_grant_revoked_post()`: \n * `request.data` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.organizations.list()`: \n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.organizations.create()`: \n * `request` **Changed**\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.organizations.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.organizations.update()`: \n * `request.organization_update` **Changed**\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.subscriptions.list()`: \n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.subscriptions.create()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.subscriptions.export()`: `error.detail.[]` **Changed**\n* `polar.subscriptions.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.subscriptions.revoke()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.custom-fields.delete()`: `error.detail.[]` **Changed**\n* `polar.oauth2.clients.create()`: `error.detail.[]` **Changed**\n* `polar.oauth2.clients.get()`: `error.detail.[]` **Changed**\n* `polar.oauth2.clients.update()`: `error.detail.[]` **Changed**\n* `polar.oauth2.clients.delete()`: `error.detail.[]` **Changed**\n* `polar.benefits.list()`: \n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.benefits.create()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.benefits.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.benefits.delete()`: `error.detail.[]` **Changed**\n* `polar.benefits.update()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.benefits.grants()`: \n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.benefit-grants.list()`: \n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.webhooks.list_webhook_endpoints()`: `error.detail.[]` **Changed**\n* `polar.webhooks.create_webhook_endpoint()`: `error.detail.[]` **Changed**\n* `polar.webhooks.get_webhook_endpoint()`: `error.detail.[]` **Changed**\n* `polar.webhooks.delete_webhook_endpoint()`: `error.detail.[]` **Changed**\n* `polar.webhooks.update_webhook_endpoint()`: `error.detail.[]` **Changed**\n* `polar.webhooks.reset_webhook_endpoint_secret()`: `error.detail.[]` **Changed**\n* `polar.webhooks.list_webhook_deliveries()`: \n * `request.event_type` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.webhooks.redeliver_webhook_event()`: `error.detail.[]` **Changed**\n* `polar.products.list()`: \n * `request.visibility` **Added**\n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.members.list_members()`: **Added**\n* `polar.products.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar._endpointmember_deleted_post()`: **Added**\n* `polar.products.update_benefits()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.orders.list()`: \n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.orders.export()`: `error.detail.[]` **Changed**\n* `polar.orders.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.orders.update()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.orders.invoice()`: `error.detail.[]` **Changed**\n* `polar.refunds.list()`: `error.detail.[]` **Changed**\n* `polar._endpointmember_updated_post()`: **Added**\n* `polar.disputes.list()`: `error.detail.[]` **Changed**\n* `polar.disputes.get()`: `error.detail.[]` **Changed**\n* `polar.checkouts.list()`: \n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar._endpointmember_created_post()`: **Added**\n* `polar.checkouts.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.checkouts.update()`: \n * `request.checkout_update.locale` **Added**\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.checkouts.client_get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.checkouts.client_update()`: \n * `request.checkout_update_public.locale` **Added**\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.checkouts.client_confirm()`: \n * `request.checkout_confirm_stripe.locale` **Added**\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.files.list()`: `error.detail.[]` **Changed**\n* `polar.files.create()`: `error.detail.[]` **Changed**\n* `polar.files.uploaded()`: `error.detail.[]` **Changed**\n* `polar.files.delete()`: `error.detail.[]` **Changed**\n* `polar.files.update()`: `error.detail.[]` **Changed**\n* `polar.metrics.get()`: `error.detail.[]` **Changed**\n* `polar.license_keys.list()`: \n * `response.items.[].customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar._endpointcheckout_expired_post()`: **Added**\n* `polar.license_keys.update()`: \n * `response.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.license_keys.get_activation()`: \n * `response.license_key.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.license_keys.validate()`: \n * `response.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.license_keys.activate()`: \n * `response.license_key.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.license_keys.deactivate()`: `error.detail.[]` **Changed**\n* `polar.checkout-links.list()`: \n * `response.items.[].products.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.checkout-links.create()`: \n * `response.products.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.checkout-links.get()`: \n * `response.products.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.checkout-links.delete()`: `error.detail.[]` **Changed**\n* `polar.checkout-links.update()`: \n * `response.products.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.custom-fields.list()`: `error.detail.[]` **Changed**\n* `polar._endpointcustomer_deleted_post()`: \n * `request.data` **Changed**\n * `error.detail.[]` **Changed**\n* `polar._endpointcustomer_state_changed_post()`: \n * `request.data` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.subscriptions.update()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.custom-fields.update()`: `error.detail.[]` **Changed**\n* `polar.discounts.list()`: \n * `response.items.[].[discount_fixed_once_forever_duration].products.[].visibility` **Added**\n * `error.detail.[]` **Changed**\n* `polar.discounts.create()`: \n * `response.[discount_percentage_once_forever_duration].products.[].visibility` **Added**\n * `error.detail.[]` **Changed**\n* `polar.discounts.get()`: \n * `response.[discount_fixed_once_forever_duration].products.[].visibility` **Added**\n * `error.detail.[]` **Changed**\n* `polar.discounts.delete()`: `error.detail.[]` **Changed**\n* `polar.discounts.update()`: \n * `response.[discount_percentage_repeat_duration].products.[].visibility` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customers.list()`: \n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customers.create()`: \n * `request` **Changed**\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customers.export()`: `error.detail.[]` **Changed**\n* `polar.customers.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customers.delete()`: `error.detail.[]` **Changed**\n* `polar.customers.update()`: \n * `request.customer_update` **Changed**\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customers.get_external()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customers.delete_external()`: `error.detail.[]` **Changed**\n* `polar.customers.update_external()`: \n * `request.customer_update_external_id.locale` **Added**\n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customers.get_state()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customers.get_state_external()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.members.list_members()`: `error.detail.[]` **Changed**\n* `polar.members.create_member()`: `error.detail.[]` **Changed**\n* `polar.members.get_member()`: `error.detail.[]` **Changed**\n* `polar.members.delete_member()`: `error.detail.[]` **Changed**\n* `polar.members.update_member()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.benefit-grants.list()`: \n * `request.query` **Added**\n * `response.items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.benefit-grants.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.benefit-grants.update()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.customers.get()`: `response.type` **Added**\n* `polar.customer_portal.customers.update()`: \n * `response.type` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.customers.list_payment_methods()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.customers.add_payment_method()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.customers.confirm_payment_method()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.customers.delete_payment_method()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.customer_meters.list()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.customer_meters.get()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.seats.list_seats()`: \n * `response.seats.[].member` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.seats.assign_seat()`: \n * `request` **Changed**\n * `response.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.seats.revoke_seat()`: \n * `response.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.seats.resend_invitation()`: \n * `response.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.seats.list_claimed_subscriptions()`: `response.[].product` **Changed**\n* `polar.customer_portal.customer-session.get_authenticated_user()`: `response.member_id` **Added**\n* `polar.customer_portal.downloadables.list()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.license_keys.list()`: \n * `response.items.[].customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.license_keys.get()`: \n * `response.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.license_keys.validate()`: \n * `response.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.license_keys.activate()`: \n * `response.license_key.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.license_keys.deactivate()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.orders.list()`: \n * `response.items.[].product` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.orders.get()`: \n * `response.product` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.orders.update()`: \n * `response.product` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.orders.invoice()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.orders.get_payment_status()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.organizations.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.subscriptions.list()`: \n * `response.items.[].product` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.subscriptions.get()`: \n * `response.product` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.subscriptions.cancel()`: \n * `response.product` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.subscriptions.update()`: \n * `response.product` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_portal.wallets.list()`: `error.detail.[]` **Changed**\n* `polar.customer_portal.wallets.get()`: `error.detail.[]` **Changed**\n* `polar.customer-seats.list_seats()`: \n * `response.seats.[].member` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer-seats.assign_seat()`: \n * `request` **Changed**\n * `response.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer-seats.revoke_seat()`: \n * `response.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer-seats.resend_invitation()`: \n * `response.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer-seats.get_claim_info()`: `error.detail.[]` **Changed**\n* `polar.customer-seats.claim_seat()`: \n * `response.seat.member` **Added**\n * `error.detail.[]` **Changed**\n* `polar.customer-sessions.create()`: \n * `response.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.member-sessions.create()`: \n * `response.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.events.list()`: \n * `response.[list_resource_event_].items.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.events.list_names()`: `error.detail.[]` **Changed**\n* `polar.events.get()`: \n * `response` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.events.ingest()`: \n * `request.events.[]` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.event-types.list()`: `error.detail.[]` **Changed**\n* `polar.event-types.update()`: `error.detail.[]` **Changed**\n* `polar.meters.list()`: `error.detail.[]` **Changed**\n* `polar.meters.create()`: `error.detail.[]` **Changed**\n* `polar.meters.get()`: `error.detail.[]` **Changed**\n* `polar.meters.update()`: `error.detail.[]` **Changed**\n* `polar.meters.quantities()`: \n * `request.timezone` **Added**\n * `error.detail.[]` **Changed**\n* `polar.organization_access_tokens.list()`: `error.detail.[]` **Changed**\n* `polar.organization_access_tokens.create()`: `error.detail.[]` **Changed**\n* `polar.organization_access_tokens.delete()`: `error.detail.[]` **Changed**\n* `polar.organization_access_tokens.update()`: `error.detail.[]` **Changed**\n* `polar.customer_meters.list()`: \n * `response.items.[].customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.customer_meters.get()`: \n * `response.customer` **Changed**\n * `error.detail.[]` **Changed**\n* `polar.payments.list()`: `error.detail.[]` **Changed**\n* `polar.payments.get()`: `error.detail.[]` **Changed**\n" trackedFiles: .devcontainer/README.md: last_write_checksum: sha1:e2a191a1fa8ceb27387eb32eabf36f7ad16a532c @@ -4294,11 +4379,11 @@ trackedFiles: docs/models/activeuserbyevent.md: last_write_checksum: sha1:fc288fb93c2a8c2223d988eacdf88dd2e93ed415 docs/models/address.md: - last_write_checksum: sha1:c82f0bccce930e7dfb7696de7a8b0b5a154e641f + last_write_checksum: sha1:5df2023ab71e94dbc07a285f9517c098f3426f7c docs/models/addressdict.md: last_write_checksum: sha1:498140cad526305fc068a313d7a195b3b077e222 docs/models/addressinput.md: - last_write_checksum: sha1:2f580a590bd72b67f6be39fefda54c25e7981b84 + last_write_checksum: sha1:55b4d72a56c2b5ec289828e7370f738cf1e8c30f docs/models/aggregation.md: last_write_checksum: sha1:2028ae03f5f49692de5c72ba3af5f626ba221653 docs/models/aggregationfunction.md: @@ -4324,33 +4409,33 @@ trackedFiles: docs/models/authorizeuser.md: last_write_checksum: sha1:e44eafd43e6b2f3c07aca75b5643f609f822bedf docs/models/availablescope.md: - last_write_checksum: sha1:81e4638017a060c61e3be90ca9058578d2b4fd1c + last_write_checksum: sha1:30bd22bb73ed4be74cebfdd1c08de970689e0ec4 docs/models/averageordervalue.md: last_write_checksum: sha1:cdb0b5525cc2a84fa569f0f1fe9fcfae7fde7fae docs/models/averagerevenueperuser.md: last_write_checksum: sha1:830ef8e35339f3a98d6f506e4636b6d99ffff821 docs/models/balancecreditorderevent.md: - last_write_checksum: sha1:aa104fca86a913748cf48d1d8014584cd7181846 + last_write_checksum: sha1:56959878a95d74cf9f11f378512a9868bae4244a docs/models/balancecreditordermetadata.md: last_write_checksum: sha1:64f7c845efefe2cb1a7c6b6a62abe693cb45d2e1 docs/models/balancedisputeevent.md: - last_write_checksum: sha1:0aea3bf6c97869ce4b7db656346ea414d2932886 + last_write_checksum: sha1:63353621935d4f478f66aa8945dbf53ed1c0e1b1 docs/models/balancedisputemetadata.md: - last_write_checksum: sha1:9c2f9843e86712fa9e07a691a716e7ed1db5f9c7 + last_write_checksum: sha1:2260cf1d73bd722b464c79813e032a97e737e0fe docs/models/balancedisputereversalevent.md: - last_write_checksum: sha1:023d08b42d907ce023ef110dae903c99d2ebce4d + last_write_checksum: sha1:ba7e8629069d3e334b5b3c9ffd37cda71405d3f8 docs/models/balanceorderevent.md: - last_write_checksum: sha1:d3eee83862affe0c277962badc9ee8d379f6ad16 + last_write_checksum: sha1:2db540eb5630089cf1450846140f8cac36c5f41a docs/models/balanceordermetadata.md: - last_write_checksum: sha1:6c1dddb28e05dca101868f36d383dc62be2a1a29 + last_write_checksum: sha1:891926d2cf567da2dfc8256e0966f261256a652c docs/models/balancerefundevent.md: - last_write_checksum: sha1:f206a1ce6a834560fc76a1b9ab9eee54e5ff482e + last_write_checksum: sha1:43e463eda721d22433872d7cf3850e9695646059 docs/models/balancerefundmetadata.md: - last_write_checksum: sha1:c490a39ba4b11bfd8d81fe8ee7f1fbaf91de8a52 + last_write_checksum: sha1:c956c83c9d072ebfba29d4e9ad1679688ac55b40 docs/models/balancerefundreversalevent.md: - last_write_checksum: sha1:8d5dc8da15e12df826beb9745a02dbae5b60d581 + last_write_checksum: sha1:ac217e04576ef35fd7f38f4346171160e2f65a43 docs/models/benefit.md: - last_write_checksum: sha1:238607ced01aeb17fe69b91f04ee98cf32eac883 + last_write_checksum: sha1:c318df86b237ab535a67a284681739f942f02299 docs/models/benefitcreate.md: last_write_checksum: sha1:96917c2c3ccd03346e944db279d0b83561fa7ebb docs/models/benefitcustom.md: @@ -4372,7 +4457,7 @@ trackedFiles: docs/models/benefitcustomupdatemetadata.md: last_write_checksum: sha1:622f1204951c6f41de20bb25d66291d21719c087 docs/models/benefitcycledevent.md: - last_write_checksum: sha1:5b3fe5c02c0508bdcbd7dd6e7af22a068df6f7cf + last_write_checksum: sha1:24bc31c2778b79c38946c0841c4b6c4c3f4139f2 docs/models/benefitdiscord.md: last_write_checksum: sha1:24e6dce338682efc106f413c0b309db4d29aa834 docs/models/benefitdiscordcreate.md: @@ -4430,7 +4515,7 @@ trackedFiles: docs/models/benefitgithubrepositoryupdatemetadata.md: last_write_checksum: sha1:98e37f59f1c52381260fe98a38043280fbcf2396 docs/models/benefitgrant.md: - last_write_checksum: sha1:a466dde7e42b5c4e97fac86e9c9e74732cd6f1f9 + last_write_checksum: sha1:373e195dc47fae40be687643bbcf10332597e623 docs/models/benefitgrantcustomproperties.md: last_write_checksum: sha1:cf876e9f736a3dae7b6c0348e6a13f6714673134 docs/models/benefitgrantcustomwebhook.md: @@ -4444,7 +4529,7 @@ trackedFiles: docs/models/benefitgrantdownloadableswebhook.md: last_write_checksum: sha1:45c69a0493ee5c720b2d544a14c0e66412850b7a docs/models/benefitgrantedevent.md: - last_write_checksum: sha1:e87aa2b0bf235e41da7a0c4c6026d75b9cb6ad6c + last_write_checksum: sha1:bf4c893a4a5528e65d45836e67af859744fb57f4 docs/models/benefitgranterror.md: last_write_checksum: sha1:311e29c4069c85a703d4835c06ab2699c38b7e23 docs/models/benefitgrantgithubrepositoryproperties.md: @@ -4454,7 +4539,7 @@ trackedFiles: docs/models/benefitgrantgithubrepositorywebhook.md: last_write_checksum: sha1:a60afff8677f672a3e8da4cd9b8858540a9eefb9 docs/models/benefitgrantlicensekeysproperties.md: - last_write_checksum: sha1:3afb94fa2f3cb9bab57e93fd297185985bc0f8c9 + last_write_checksum: sha1:0a8a2a99eff609d946c659f21b6157d6470062cd docs/models/benefitgrantlicensekeyswebhook.md: last_write_checksum: sha1:0fd9b70823d62860f7301c9e330594db32999aa8 docs/models/benefitgrantmetadata.md: @@ -4522,7 +4607,7 @@ trackedFiles: docs/models/benefitpublic.md: last_write_checksum: sha1:a4ab73f4a85e7116e0a147c128e5e96d20e85421 docs/models/benefitrevokedevent.md: - last_write_checksum: sha1:cde3673a3e9adea926487200cdc9d04528d8735f + last_write_checksum: sha1:c1fe23f4ce4181c658c1f4bbc7c3185b174adc7d docs/models/benefitsdeleterequest.md: last_write_checksum: sha1:390b91d5bd2d49ed7c956d697dffd865839d5e6e docs/models/benefitsgetrequest.md: @@ -4548,7 +4633,7 @@ trackedFiles: docs/models/benefittypefilter.md: last_write_checksum: sha1:ab2770b61c2d09b9111d2ec5bbd1f910cd91ab26 docs/models/benefitupdatedevent.md: - last_write_checksum: sha1:b5be143b7681412bcebb41cabff0a4dcc26a1f15 + last_write_checksum: sha1:50ac92975eaf531c9cd6df032e1b0533653806b8 docs/models/billingaddressfieldmode.md: last_write_checksum: sha1:0e8d0fcff317a974350640f1622e897c97e48bec docs/models/canceledsubscriptions.md: @@ -4572,25 +4657,25 @@ trackedFiles: docs/models/cardpayment.md: last_write_checksum: sha1:2fe9208598d80ff668080ba460eca5dffa0f7919 docs/models/cardpaymentmetadata.md: - last_write_checksum: sha1:ccd6962ce5bb8ac5d622e65fd5e6280b09e7f3a6 + last_write_checksum: sha1:0819c2f5e47298bd6f4959e8fd6cde859d0358e1 docs/models/cashflow.md: last_write_checksum: sha1:1e9738516a979aa16a1dc2121b99d72055fc9abc docs/models/checkout.md: - last_write_checksum: sha1:febb81bd630c772270273a0480bd0d67568d8b0b + last_write_checksum: sha1:d6990dde77c754e933d60de5d01ed30ae595554d docs/models/checkoutbillingaddressfields.md: last_write_checksum: sha1:4f9b44268a23c42b8af95d971f7642138d4542b1 docs/models/checkoutconfirmstripe.md: - last_write_checksum: sha1:56644f9e10a15c511af664080115c7ba25c4818d + last_write_checksum: sha1:a37180dfd8db5b42a63da1290a1f568f05eb0f5e docs/models/checkoutconfirmstripecustomfielddata.md: last_write_checksum: sha1:8e5feb192029fd53eabd49eab94326d92b5b03f0 docs/models/checkoutcreate.md: - last_write_checksum: sha1:092c6a165644aba13ac8737138396c9b5484e830 + last_write_checksum: sha1:bae175dae71224ff299361e3e0c64e17e6cdf101 docs/models/checkoutcreatecustomermetadata.md: last_write_checksum: sha1:39510973eb3370dcf053e8f4b3e75d880ce8dd7e docs/models/checkoutcreatecustomfielddata.md: last_write_checksum: sha1:7f8c60bf790b340b76d68f8b52b7b58e8dbbdb9d docs/models/checkoutcreatedevent.md: - last_write_checksum: sha1:737bbf33b5981e3f53e5e4467762202ce2b4c81b + last_write_checksum: sha1:c7d11acb28bab596076492fed5bd1d79629610a0 docs/models/checkoutcreatedmetadata.md: last_write_checksum: sha1:4b69843cd05a4738f8e9e34558b815a0b053a4c1 docs/models/checkoutcreatemetadata.md: @@ -4632,7 +4717,7 @@ trackedFiles: docs/models/checkoutlinkdiscount.md: last_write_checksum: sha1:2064a2807b31a1775300c5e607c152d345c0dd22 docs/models/checkoutlinkproduct.md: - last_write_checksum: sha1:ec5424906d6ee8658160bd66fe613d2e9875173f + last_write_checksum: sha1:4802c60cd5e48c9cee84689c7a94ebd8c022f6f4 docs/models/checkoutlinkproductprices.md: last_write_checksum: sha1:8fa30e194ef1393ff28fb6919b732c372d8f2d8e docs/models/checkoutlinksdeleterequest.md: @@ -4660,15 +4745,15 @@ trackedFiles: docs/models/checkoutprices.md: last_write_checksum: sha1:ee52e462d7d8e4a7ebc00498ce0953c81cbfb854 docs/models/checkoutproduct.md: - last_write_checksum: sha1:4a7d3a856dee537e7f604d18550f4e601d3dd23e + last_write_checksum: sha1:af836b950a62e94434ba8dedaf279f7b624494c4 docs/models/checkoutproductprice.md: last_write_checksum: sha1:4cef65822fa8be291684d9cd175de6e54dbf91e7 docs/models/checkoutproductprices.md: last_write_checksum: sha1:3c5bf42bed9d76bd3f78cc17816e4ecd92de3f7d docs/models/checkoutpublic.md: - last_write_checksum: sha1:b4aa2cfa93dd98469a25cc547d6e11eb6be0536a + last_write_checksum: sha1:6edc8ad9c32f87009c5952902c5caa7d98aa476a docs/models/checkoutpublicconfirmed.md: - last_write_checksum: sha1:1c1df6e1d72826a8fa32d5dbee5e2b6a2fcad232 + last_write_checksum: sha1:84ba8ece24b1ef2dbf7eacd8ea2bdababba7c209 docs/models/checkoutpublicconfirmedcustomfielddata.md: last_write_checksum: sha1:b4a02ce44bdfe3eb45e9c99b0f1561e41028cdf2 docs/models/checkoutpublicconfirmeddiscount.md: @@ -4716,7 +4801,7 @@ trackedFiles: docs/models/checkoutsupdaterequest.md: last_write_checksum: sha1:c52939bc917e5d1a7982f0aba0ea530f5442db72 docs/models/checkoutupdate.md: - last_write_checksum: sha1:c2e56a1db03b66c95d0e6ed3c68fe8cd2d8dee01 + last_write_checksum: sha1:18dbc576ede838e11e5c7b6e0a9c56cf14344482 docs/models/checkoutupdatecustomermetadata.md: last_write_checksum: sha1:f58bf24188339194c01f670f440fcbbf1ee2bcfa docs/models/checkoutupdatecustomfielddata.md: @@ -4724,7 +4809,7 @@ trackedFiles: docs/models/checkoutupdatemetadata.md: last_write_checksum: sha1:9d408b25657a511a3e13f9e5e76b893a7c4a5e03 docs/models/checkoutupdatepublic.md: - last_write_checksum: sha1:f3cdc88a285d6ba0b0e99f9f9fb29fbdbed2dfe8 + last_write_checksum: sha1:4874463685344f02351c34cbcc28aefd428fd174 docs/models/checkoutupdatepubliccustomfielddata.md: last_write_checksum: sha1:8a9915c8ac470d38abaad331803b7568d491854c docs/models/churnedsubscriptions.md: @@ -4739,6 +4824,8 @@ trackedFiles: last_write_checksum: sha1:072d69c84ae6e419d2ea876fe45bac3bcf15fdcf docs/models/conditions.md: last_write_checksum: sha1:5b55ad5f4658c4d0ef12340c59073f6e26cd99cb + docs/models/context.md: + last_write_checksum: sha1:4c14b386f9f89d98f4dd9487ab030f10478c0e63 docs/models/costmetadatainput.md: last_write_checksum: sha1:204d2d0c3c8b3b7c352663837742f71fd040fd58 docs/models/costmetadataoutput.md: @@ -4760,35 +4847,35 @@ trackedFiles: docs/models/cursorpagination.md: last_write_checksum: sha1:fa2063f2776d648ede7081386c040aa2fece5cad docs/models/customer.md: - last_write_checksum: sha1:fac8f25554e0ad7fd5fb3175aa88bbf1152fe172 + last_write_checksum: sha1:7ea62a12661bc8a1093d6ab0b238226b09cce1cc docs/models/customerbenefitgrant.md: last_write_checksum: sha1:6ec5aa2deec3b9c733be33224142d408413c4e4b docs/models/customerbenefitgrantcustom.md: - last_write_checksum: sha1:ae5e6e37922fb06aefa24ae69a5efd7bf97dd976 + last_write_checksum: sha1:3e11e3191dbabcea48c4b117a1e819f0a6c9743a docs/models/customerbenefitgrantcustomupdate.md: last_write_checksum: sha1:024a28fef33d7254290776b94080a05e3f71a1d3 docs/models/customerbenefitgrantdiscord.md: - last_write_checksum: sha1:4ad1fceb60f1552004a4680f38e284a6f70f181f + last_write_checksum: sha1:555e4683689bdf9300b3c7b1725b608dc4258f08 docs/models/customerbenefitgrantdiscordpropertiesupdate.md: last_write_checksum: sha1:421ff0935028e1121881775af02a908d03e70eaf docs/models/customerbenefitgrantdiscordupdate.md: last_write_checksum: sha1:5fc89d3511dee0e32d342bf2aff2e97c16c8478c docs/models/customerbenefitgrantdownloadables.md: - last_write_checksum: sha1:0a0e82ad6db21139432e3ad3455557bdf7c34adb + last_write_checksum: sha1:43c254bdcadceb6a99e3a5786c32db1ce53d91dd docs/models/customerbenefitgrantdownloadablesupdate.md: last_write_checksum: sha1:3544a24205a67cfe90c5bab72007eb2b536f94e4 docs/models/customerbenefitgrantgithubrepository.md: - last_write_checksum: sha1:639facc7a866b097572e70642aea02ec0e169e73 + last_write_checksum: sha1:9a11551d265fbad479e825ec376b236db5eecf08 docs/models/customerbenefitgrantgithubrepositorypropertiesupdate.md: last_write_checksum: sha1:7281f68ede537faffa069a65f9aacae5863067d1 docs/models/customerbenefitgrantgithubrepositoryupdate.md: last_write_checksum: sha1:0e4cf90b6d7b67db6940a77eb8a26c4588d0530b docs/models/customerbenefitgrantlicensekeys.md: - last_write_checksum: sha1:e5a2344ca9db7e83defd537f6e1c32e384f50757 + last_write_checksum: sha1:5fa6f3a6f641f561ab79330f9898056f3789170b docs/models/customerbenefitgrantlicensekeysupdate.md: last_write_checksum: sha1:11afab7bcc59a2864f94146e93c8db1c023ffebf docs/models/customerbenefitgrantmetercredit.md: - last_write_checksum: sha1:a1053c97a5b492bac9dc799226a5a41a117bc417 + last_write_checksum: sha1:19f2e3d848c19cb436d4b7c5ff82bbb05a04184c docs/models/customerbenefitgrantmetercreditupdate.md: last_write_checksum: sha1:483135e88fd67c2bb5da926951bb61a5cd1e5dfd docs/models/customerbenefitgrantsortproperty.md: @@ -4798,9 +4885,9 @@ trackedFiles: docs/models/customercancellationreason.md: last_write_checksum: sha1:dce3caa4e9c3ba6f34cec860553f6b43153a23a0 docs/models/customercreate.md: - last_write_checksum: sha1:7ad8ce46b9309f98b35c07b5846948aff88c3f9c + last_write_checksum: sha1:d92aa97955a631938b941033445448aaba561c4b docs/models/customercreatedevent.md: - last_write_checksum: sha1:4228a7ddaf40db6ad8fc935056e2f96d93bbb7ba + last_write_checksum: sha1:22ad38e38debc7a1ac99207777702bdd9c7c5abe docs/models/customercreatedmetadata.md: last_write_checksum: sha1:ba5e7747fb7d02f26e9994bbc7f2bddfe7353bf7 docs/models/customercreatemetadata.md: @@ -4816,7 +4903,7 @@ trackedFiles: docs/models/customercustomersession.md: last_write_checksum: sha1:41d57bdb0852e9c443d3ae56af56b984a245c16c docs/models/customerdeletedevent.md: - last_write_checksum: sha1:08e88d9397cd60b9fced6616ae5d1da753c91d92 + last_write_checksum: sha1:e92170b719193b3b4415c3362f95fec33d9fc1a0 docs/models/customerdeletedmetadata.md: last_write_checksum: sha1:30bacf89954b115ecd74e332c1e9ce1e05bb98dc docs/models/customeremailfilter.md: @@ -4854,7 +4941,7 @@ trackedFiles: docs/models/customerorderpaymentstatus.md: last_write_checksum: sha1:7a465d0593b98926a46ecb18efbbbd3c79a9c3f9 docs/models/customerorderproduct.md: - last_write_checksum: sha1:f85686545321e90b5d00612df4fda93da1cdbd66 + last_write_checksum: sha1:913a4cc80c420a0a41c432ebe5ad34548fc44f9c docs/models/customerorderproductprices.md: last_write_checksum: sha1:7b4f72ad6e0771acfae65a99e496380017be3672 docs/models/customerordersortproperty.md: @@ -4864,9 +4951,11 @@ trackedFiles: docs/models/customerorderupdate.md: last_write_checksum: sha1:40d6b3d4ec47f4f7a01e3dac7a2689ce77c178c4 docs/models/customerorganization.md: - last_write_checksum: sha1:5c21e6fe4a3221c3d1d495ce4cddec496008b8f8 + last_write_checksum: sha1:457007ed927926bf0d4175f6c986f9c74e5662c4 docs/models/customerorganizationdata.md: last_write_checksum: sha1:ee8c082b6902739b34174049e9b420d0e5f588bf + docs/models/customerorganizationfeaturesettings.md: + last_write_checksum: sha1:ca8a34e40a85b995a8723c067e2795b19ff9f031 docs/models/customerpaymentmethod.md: last_write_checksum: sha1:39096a4c9a89a666c3f7354696d400aa1d9d0183 docs/models/customerpaymentmethodconfirm.md: @@ -4888,7 +4977,7 @@ trackedFiles: docs/models/customerportalbenefitgrantslistqueryparamorderidfilter.md: last_write_checksum: sha1:3b908019307d60a62fb67f8587826486b6238ec0 docs/models/customerportalbenefitgrantslistrequest.md: - last_write_checksum: sha1:a0ef61581138e70cddfee1317c435c6a4e1dc790 + last_write_checksum: sha1:12a94389e471216b1634dc2fb21456c757d2e955 docs/models/customerportalbenefitgrantslistresponse.md: last_write_checksum: sha1:f23a43086f6f0a3d1bffffc2d1bf79e530fb5036 docs/models/customerportalbenefitgrantslistsecurity.md: @@ -4898,7 +4987,7 @@ trackedFiles: docs/models/customerportalbenefitgrantsupdatesecurity.md: last_write_checksum: sha1:52d4211bea73cfb3a1d25aed09cc2389b776bc62 docs/models/customerportalcustomer.md: - last_write_checksum: sha1:70fcba00d5c62a052991fdbcdb591c120e67feee + last_write_checksum: sha1:225aa23e864809722d165ce83cf44611650a6e20 docs/models/customerportalcustomermetersgetrequest.md: last_write_checksum: sha1:a33b9ff9b4adf9434feb24c1f645db7651d40893 docs/models/customerportalcustomermetersgetsecurity.md: @@ -4953,6 +5042,16 @@ trackedFiles: last_write_checksum: sha1:9764a64b9ff4af0e8c34da3d458e6e6275f66dbb docs/models/customerportallicensekeyslistsecurity.md: last_write_checksum: sha1:447de80f78f43a2b959b78e20405446a2dc6c507 + docs/models/customerportalmember.md: + last_write_checksum: sha1:4f436e183929c8e6653a417682f137e83b8f0ed6 + docs/models/customerportalmembercreate.md: + last_write_checksum: sha1:e82109a5b1841759a26aea00fe900ee2fa9546df + docs/models/customerportalmembersremovememberrequest.md: + last_write_checksum: sha1:e553213e25e198f82d2810bef53c6e7dc7c7a949 + docs/models/customerportalmembersupdatememberrequest.md: + last_write_checksum: sha1:73dff769015b87fa599def19bc8bdef2aa275e01 + docs/models/customerportalmemberupdate.md: + last_write_checksum: sha1:d9e06bb6f1ca0f84ed0e10f81be6f37d71670047 docs/models/customerportaloauthaccount.md: last_write_checksum: sha1:a7ada537a6650cba160636757306cbc04523df8b docs/models/customerportalordersconfirmretrypaymentrequest.md: @@ -5046,7 +5145,7 @@ trackedFiles: docs/models/customerportalwalletslistsecurity.md: last_write_checksum: sha1:e1a22d1ae4f8555d9821b963ed9a39287968ce86 docs/models/customerproduct.md: - last_write_checksum: sha1:df0fc2783f26719d0a9aaac552f546c2ddecc9a2 + last_write_checksum: sha1:eb3a238aa5e52c49d519d3b401a480cdc4a32f5c docs/models/customerproductprices.md: last_write_checksum: sha1:a6c8e9f2e2cad0d954e92f791d67bf0722e811c9 docs/models/customersdeleteexternalrequest.md: @@ -5054,7 +5153,7 @@ trackedFiles: docs/models/customersdeleterequest.md: last_write_checksum: sha1:e0e219b182abd5f64a04a9d51ec00019ad25c134 docs/models/customerseat.md: - last_write_checksum: sha1:f1bb1e3f67134f955e8e91db87044ebef3285a2e + last_write_checksum: sha1:4bba1152c98a11df50f0946b963e70282387c8fa docs/models/customerseatclaimresponse.md: last_write_checksum: sha1:85cf8364a1c80f980d3211f4201a0a5669623e1a docs/models/customerseatsgetclaiminforequest.md: @@ -5094,7 +5193,7 @@ trackedFiles: docs/models/customersortproperty.md: last_write_checksum: sha1:2672b02c99477c6fc00f52ae9fa4065eb74e03df docs/models/customerstate.md: - last_write_checksum: sha1:684e3703ba5408c4c218436488e14caccf21f497 + last_write_checksum: sha1:4b4525ff0bc76297b1937a26b4198c128ff72b8a docs/models/customerstatebenefitgrant.md: last_write_checksum: sha1:5cf765aa45669dbae8ca5456efc6d03c1f8ca7ec docs/models/customerstatebenefitgrantproperties.md: @@ -5102,7 +5201,7 @@ trackedFiles: docs/models/customerstatemeter.md: last_write_checksum: sha1:1ba8ac262f0636091a3ce06800e51c29ceedd0d7 docs/models/customerstatesubscription.md: - last_write_checksum: sha1:5b637736854b9eb5013374293eb7411692907bb8 + last_write_checksum: sha1:755e0c9579c085942dd9aa5a0e81d35160402e8f docs/models/customerstatesubscriptioncustomfielddata.md: last_write_checksum: sha1:c04fbeb00da810348c90975c31fc0616ac6c1def docs/models/customerstatesubscriptionmeter.md: @@ -5120,7 +5219,7 @@ trackedFiles: docs/models/customersubscriptionprices.md: last_write_checksum: sha1:9782be7c1c5fd3be399292d9c6fac4657a11c6aa docs/models/customersubscriptionproduct.md: - last_write_checksum: sha1:be92eaa9dbb4d1fa0bd6b442a80e78eac93eef55 + last_write_checksum: sha1:2ff1b229cf3359fafd3dc5ea10dd176dc850e7e2 docs/models/customersubscriptionproductprices.md: last_write_checksum: sha1:c06f0a0d26903f5844d773c935868fa60065c8c0 docs/models/customersubscriptionsortproperty.md: @@ -5137,10 +5236,12 @@ trackedFiles: last_write_checksum: sha1:1e071c37ea30d848c52e6d64c6a372d0ca658d6c docs/models/customertaxid.md: last_write_checksum: sha1:cb7c9a256fb019375aabd65ec44a15b7dd239a70 + docs/models/customertype.md: + last_write_checksum: sha1:765587b5adedc1b1eba2ed1d5109f0644c2578c4 docs/models/customerupdate.md: - last_write_checksum: sha1:ea716b9adcfca69d1e02b2083d5c16db36338894 + last_write_checksum: sha1:598a83db7a3cb7707d0cb269aa8d3324c0fc04d8 docs/models/customerupdatedevent.md: - last_write_checksum: sha1:ab3b2aca8f4ffc7d4cc213a489755c9518edb754 + last_write_checksum: sha1:3889bbaf09e15b87ace86c59980f26ff2f449600 docs/models/customerupdatedfields.md: last_write_checksum: sha1:a85967ada66764c2c1c6a5a1f38049824e5354c0 docs/models/customerupdatedfieldsmetadata.md: @@ -5148,7 +5249,7 @@ trackedFiles: docs/models/customerupdatedmetadata.md: last_write_checksum: sha1:83744c6a651b2fcc9b794f2772b988789d2ef5df docs/models/customerupdateexternalid.md: - last_write_checksum: sha1:7125e1fc964711884009cf5d73f853cafa81b7d6 + last_write_checksum: sha1:ee3ced68c1e3860c36ade0d42e79f1e3448fe841 docs/models/customerupdateexternalidmetadata.md: last_write_checksum: sha1:225fc57279cb71b029f06bdb4a5cbe928810612a docs/models/customerupdateexternalidtaxid.md: @@ -5162,7 +5263,7 @@ trackedFiles: docs/models/customerwalletsortproperty.md: last_write_checksum: sha1:2bffc9516e29a1c719e0ad7c9cc0b98cb7a2ef98 docs/models/customerwithmembers.md: - last_write_checksum: sha1:f15cb8fc6755b208a3ca77d06340fa33565e89ae + last_write_checksum: sha1:6d7c1f03e920b7d56f1baf528c8c604dfe422572 docs/models/customerwithmemberstaxid.md: last_write_checksum: sha1:84ca2f92d4ffe8ea194be5e82f6b2f876899ba23 docs/models/customfield.md: @@ -5294,7 +5395,7 @@ trackedFiles: docs/models/discountpercentagerepeatdurationcreatemetadata.md: last_write_checksum: sha1:7cdc767861e20bf3092d853110dbb849f96e9294 docs/models/discountproduct.md: - last_write_checksum: sha1:e1c234f23832732b47728f0dff99d0de9218e636 + last_write_checksum: sha1:65e38a0eef0d905674478e762dcdf5b051d9124f docs/models/discountsdeleterequest.md: last_write_checksum: sha1:3ef7357772d63be24d9f449d1c04f9184562d959 docs/models/discountsgetrequest.md: @@ -5340,9 +5441,9 @@ trackedFiles: docs/models/event.md: last_write_checksum: sha1:bad41a783e9e5889c2a375ee1e73a9043249f073 docs/models/eventcreatecustomer.md: - last_write_checksum: sha1:399752af24b8954a69e61cb1fada0eb5943b7d32 + last_write_checksum: sha1:c76b21af87b10657ddf34819be481755de1f5df3 docs/models/eventcreateexternalcustomer.md: - last_write_checksum: sha1:ab611c9f3c2741c592682ebc502768cb92430ca9 + last_write_checksum: sha1:b5ae52df6a0e8dca18a7628e4061bc186c02b5a2 docs/models/eventmetadatainput.md: last_write_checksum: sha1:55376d3f4b6d4aa188b164ebd1855cd9ba938e51 docs/models/eventmetadataoutput.md: @@ -5476,11 +5577,11 @@ trackedFiles: docs/models/legacyrecurringproductprice.md: last_write_checksum: sha1:9d82f03d36e6bfbc8d648c7f92cadd6204230bc5 docs/models/legacyrecurringproductpricecustom.md: - last_write_checksum: sha1:1d65e88778c5b42ac0f51f045457b2ef67ff62e8 + last_write_checksum: sha1:b965442d643d1d25cdb7c7643e7b49e473078169 docs/models/legacyrecurringproductpricefixed.md: - last_write_checksum: sha1:8beac730d244e1318275c2eed403ff5bde4b7ac5 + last_write_checksum: sha1:372ffb16c480eb80f82152d4d1827fb8b8ea7697 docs/models/legacyrecurringproductpricefree.md: - last_write_checksum: sha1:04c514c578fe237a204d6f64892107404f80bf5c + last_write_checksum: sha1:38381d73b6fab6331eb358152dd7ffb0d5880285 docs/models/licensekeyactivate.md: last_write_checksum: sha1:3e8a8683daaaf9323b5907ae0c4596d806643f62 docs/models/licensekeyactivateconditions.md: @@ -5494,7 +5595,7 @@ trackedFiles: docs/models/licensekeyactivationreadmeta.md: last_write_checksum: sha1:04c6c266c45dba0b3d18e64b4a7202fbbfc5533e docs/models/licensekeycustomer.md: - last_write_checksum: sha1:b1d1c4a5d205a1b46f132baae1c4e5b33b1f3686 + last_write_checksum: sha1:5a6b4d7b0b8accf9a72974c3983fc52f0ef9dd30 docs/models/licensekeycustomertaxid.md: last_write_checksum: sha1:17f958a0d1a86b1370561ba966159f1fb2dc2f77 docs/models/licensekeydeactivate.md: @@ -5640,7 +5741,7 @@ trackedFiles: docs/models/metercreditedmetadata.md: last_write_checksum: sha1:cf01885e4463bdf93b0eaf2efd1623026ff16240 docs/models/metercreditevent.md: - last_write_checksum: sha1:baf0a2b98a6b3c433294eae0ce06b24073d52907 + last_write_checksum: sha1:fc167211269f3a3a7ee996426cc92e070fe02291 docs/models/meteridfilter.md: last_write_checksum: sha1:6be87d8bc5812982415ae12bc53cbef09162ea38 docs/models/meterquantities.md: @@ -5648,7 +5749,7 @@ trackedFiles: docs/models/meterquantity.md: last_write_checksum: sha1:dc7a7ad557163af13508a5d6fdec3b8265cebe93 docs/models/meterresetevent.md: - last_write_checksum: sha1:4af4f232b2b74908f8f31f6ff0cb0c8aa86f3db0 + last_write_checksum: sha1:e277334e62421f7666be9c8801d5cdf8dd18b858 docs/models/meterresetmetadata.md: last_write_checksum: sha1:645e2c7962b36cd348d1efed1d7e49c65e4c9756 docs/models/metersgetrequest.md: @@ -5666,7 +5767,7 @@ trackedFiles: docs/models/metersquantitiesqueryparamexternalcustomeridfilter.md: last_write_checksum: sha1:9879ecf086277adc3bd305341ccea8a0f8b3be20 docs/models/metersquantitiesrequest.md: - last_write_checksum: sha1:e52ebeb66cfc4385e077e2d15690354e7819c3bb + last_write_checksum: sha1:5f5e44938e502ab5c7168e8656ec8ed1c90be6c4 docs/models/metersupdaterequest.md: last_write_checksum: sha1:7745650263879a592d5ce69ce540f15e4f78c859 docs/models/meterupdate.md: @@ -5844,7 +5945,7 @@ trackedFiles: docs/models/orderbillingreason.md: last_write_checksum: sha1:b75aab93cd92ad6ac1b7b59f4775bc01dbac93ca docs/models/ordercustomer.md: - last_write_checksum: sha1:8023cdcfadc4b6c612b6ce51d73853148f3745e6 + last_write_checksum: sha1:0bab637c6d304a0913cfe8609c3c74535a1a021f docs/models/ordercustomertaxid.md: last_write_checksum: sha1:2b00fc78c61f7408167a1d75173b7882d6adad2e docs/models/ordercustomfielddata.md: @@ -5860,13 +5961,13 @@ trackedFiles: docs/models/ordernoteligibleforretry.md: last_write_checksum: sha1:e2ce6d678b0b5c60623b3b0278d868965a96a9fd docs/models/orderpaidevent.md: - last_write_checksum: sha1:1b4c5c83eb18f9e8043a7c17a312a0d2c8b96c0b + last_write_checksum: sha1:05b9c202d9a74b941090dc5c810b6af650572230 docs/models/orderpaidmetadata.md: last_write_checksum: sha1:34bc475217f4bd7de6609d41fb1d848c5d9cafde docs/models/orderproduct.md: - last_write_checksum: sha1:bef8fd08051e215c48ff84ba3322dd96aff3e7a4 + last_write_checksum: sha1:2402f2a81b88b2ae280e568bc75259c0e614344f docs/models/orderrefundedevent.md: - last_write_checksum: sha1:a603b4fce79e4a983a67882f783e07be00e02fa5 + last_write_checksum: sha1:0e7849a564e30ecbf643b4ad004a90a256f44fdd docs/models/orderrefundedmetadata.md: last_write_checksum: sha1:a9aa2c3401b1a9ea1ee8ad26493af664c9a78ee3 docs/models/ordersexportqueryparamorganizationidfilter.md: @@ -5908,7 +6009,7 @@ trackedFiles: docs/models/orderupdate.md: last_write_checksum: sha1:9933b2328bea2295842086aaea9aebf2909be782 docs/models/organization.md: - last_write_checksum: sha1:44c19e03006afff14e9247b5299db34a71c51217 + last_write_checksum: sha1:83254d4a028689b2cf3806fde59513d42cc7b5bb docs/models/organizationaccesstoken.md: last_write_checksum: sha1:9904324b19b1ebfd3118b57e94ef7f0137be3139 docs/models/organizationaccesstokencreate.md: @@ -5934,7 +6035,7 @@ trackedFiles: docs/models/organizationavatarfileread.md: last_write_checksum: sha1:542f57e33bff9a1350b01740081ed8156324e6bc docs/models/organizationcreate.md: - last_write_checksum: sha1:fdb87b978647c4bd118389db2e06b6c108ff63fd + last_write_checksum: sha1:cac16c697c729f99d08a885f3787c2e8c6bb5803 docs/models/organizationcustomeremailsettings.md: last_write_checksum: sha1:f05db5fe9be9a1e2c1a46beeb252ee5ce3626418 docs/models/organizationcustomerportalsettings.md: @@ -5942,7 +6043,7 @@ trackedFiles: docs/models/organizationdetails.md: last_write_checksum: sha1:4035786e9b89cd7ebdd8fa44feec92c38005738d docs/models/organizationfeaturesettings.md: - last_write_checksum: sha1:782bb43405ddc45c47c58978b22a89e02ee7121d + last_write_checksum: sha1:6626ceb7da510c51adaced8b6c643c605ccc431f docs/models/organizationid.md: last_write_checksum: sha1:5adf4fb1a723f361ac66da12542fedbe34fd9e5d docs/models/organizationidfilter.md: @@ -5968,7 +6069,7 @@ trackedFiles: docs/models/organizationsupdaterequest.md: last_write_checksum: sha1:82706bcd42b79c644b18f80c221a18df21a3ea9d docs/models/organizationupdate.md: - last_write_checksum: sha1:88a20c87b0bd8579d278fcebf083eb7b47ed3770 + last_write_checksum: sha1:bdee2c797b19c852c6cd2697a73701caf244b542 docs/models/ownercreate.md: last_write_checksum: sha1:7cea3d4fa7ea00655a762c29cdaf13db9a55af12 docs/models/pagination.md: @@ -6012,13 +6113,13 @@ trackedFiles: docs/models/permission.md: last_write_checksum: sha1:e1e7122dc6f95239365def34f7c27f1f8de33f20 docs/models/portalauthenticateduser.md: - last_write_checksum: sha1:425616cbef9a75d639df8d23881302ea778677b7 + last_write_checksum: sha1:e3b60b66a2ed740d87ebd4544d695a8ffba1d013 docs/models/presentmentcurrency.md: - last_write_checksum: sha1:57b3be41da3c79fca570f247c16511cea065be1f + last_write_checksum: sha1:19a4be784b44c166185652572f2f46147b627777 docs/models/prices.md: last_write_checksum: sha1:81e08224e6fab8c1342367d2f4fc4006a4cd0d49 docs/models/product.md: - last_write_checksum: sha1:c9fa7d4551d65a9436293c162da795f75b727f86 + last_write_checksum: sha1:7a6d90c0d6ef17514523f767a04ec19bae0c2043 docs/models/productbenefitsupdate.md: last_write_checksum: sha1:add31ccf622639c241a7b3672191587086c2fc41 docs/models/productbillingtype.md: @@ -6028,13 +6129,13 @@ trackedFiles: docs/models/productcreate.md: last_write_checksum: sha1:11e9f8a9116d7baa22a26f58331231abee4fb972 docs/models/productcreateonetime.md: - last_write_checksum: sha1:a7dcd5bb6eab17f1cea8f39b3f3454e35f915dc5 + last_write_checksum: sha1:8cadd7f07fc1f3571084359b21162d926c0008d7 docs/models/productcreateonetimemetadata.md: last_write_checksum: sha1:1838ddbb6a1a91e74e5e8cac5e53564adb0a669f docs/models/productcreateonetimeprices.md: last_write_checksum: sha1:eb1d1caa97e3b2ce1a58cb4976559d0fb977a71d docs/models/productcreaterecurring.md: - last_write_checksum: sha1:1fecc7b96f593e62f3658ba3954453718c6d1572 + last_write_checksum: sha1:857342ffe86dc470334f579e964ab004b513709a docs/models/productcreaterecurringmetadata.md: last_write_checksum: sha1:fb8e7aa229b33299336dd873627eeaeda16de634 docs/models/productcreaterecurringprices.md: @@ -6048,27 +6149,27 @@ trackedFiles: docs/models/productprice.md: last_write_checksum: sha1:54252dc04b8dce358f89a2a3bf8ec394d4d5499d docs/models/productpricecustom.md: - last_write_checksum: sha1:1e6db2e620a684112665f9cea3cdc838b88512e8 + last_write_checksum: sha1:3c32c60bea5798f8b9eca7c4bab9b283b7ca7820 docs/models/productpricecustomcreate.md: - last_write_checksum: sha1:4c90fed8dd5007a273165102846dfbc9f439edb2 + last_write_checksum: sha1:08ecb78385f1c5051b5f4cec9906ca251c75b07e docs/models/productpricefixed.md: - last_write_checksum: sha1:05bfd83f3da527e81315260d7e34b794291aea6e + last_write_checksum: sha1:1bed6ccf0d8e9f64cd147e40e4ce0a9a5effc3f8 docs/models/productpricefixedcreate.md: - last_write_checksum: sha1:fe2584dcfbd1ffce1fae329a74dc6e590e09300f + last_write_checksum: sha1:25de67e4535c1d6e26e071978485e2c0e6d6b906 docs/models/productpricefree.md: - last_write_checksum: sha1:b5729cb70506a18556cf1b12076077928c769f9c + last_write_checksum: sha1:480d198d9dc7e49d9674520f378667a9bf620d4c docs/models/productpricefreecreate.md: - last_write_checksum: sha1:72771b9145932e73119f9261194352a170a3da5b + last_write_checksum: sha1:c7a07e4bc9323dc2252f6832940bf8679d009d21 docs/models/productpricemeter.md: last_write_checksum: sha1:8f867e1d13bb83a6874be70853102b61a993973b docs/models/productpricemeteredunit.md: - last_write_checksum: sha1:804e71f6f248cb139e211ec6b6185a351cf52677 + last_write_checksum: sha1:81fc3f748ddadfbc5f78dd982bfd4a953f5c607e docs/models/productpricemeteredunitcreate.md: - last_write_checksum: sha1:2fefde05724c7957e1bad652476c875f03ac9a7f + last_write_checksum: sha1:4325ade70004c94e28688bb699278f7430b7afe0 docs/models/productpriceseatbased.md: - last_write_checksum: sha1:c7d77da0d13a8f2fca9b5c914ba94a14f08fdb16 + last_write_checksum: sha1:78a40f44cc7cd190346cd96010e2a96966ec2562 docs/models/productpriceseatbasedcreate.md: - last_write_checksum: sha1:ba53d1721ea0f7b42dbeb0ff1365c161e7d53efc + last_write_checksum: sha1:2b5abfd2391ed2199242d26833866c76df5d5fda docs/models/productpriceseattier.md: last_write_checksum: sha1:03e0d4339c3283177211e8247132c1e95024cffb docs/models/productpriceseattiersinput.md: @@ -6084,7 +6185,7 @@ trackedFiles: docs/models/productslistqueryparamorganizationidfilter.md: last_write_checksum: sha1:ce1c640f57a20376bf7250403d2739d4273d72f9 docs/models/productslistrequest.md: - last_write_checksum: sha1:8da610a4b8b658a7b59c8050be7b13512e103b58 + last_write_checksum: sha1:6aae012b905ad55601adba6b1bf1fdd07a446530 docs/models/productslistresponse.md: last_write_checksum: sha1:c0e3e6e6c614c94f78f5cf18e927885f12f819b0 docs/models/productsortproperty.md: @@ -6094,11 +6195,13 @@ trackedFiles: docs/models/productsupdaterequest.md: last_write_checksum: sha1:87c5d9a2249aa770446eb5114c6b07622bc84ba7 docs/models/productupdate.md: - last_write_checksum: sha1:f91d98895347123a8c791a402ba6e71b599e9fc7 + last_write_checksum: sha1:9c4620d3ed4e803b70d9835eeab61c98c556b70c docs/models/productupdatemetadata.md: last_write_checksum: sha1:a942e8e48537f9c605091039d28adc1b9441f4f6 docs/models/productupdateprices.md: last_write_checksum: sha1:6659d28c4bde2a398ff1c7060f562e623830c241 + docs/models/productvisibility.md: + last_write_checksum: sha1:617f3b8e41b9ebd487f71e9f8c7c53cdb707f963 docs/models/properties.md: last_write_checksum: sha1:0fc6cafd89018690bb0aaca3fb0d551704d6dfbd docs/models/propertyaggregation.md: @@ -6194,9 +6297,9 @@ trackedFiles: docs/models/s3fileuploadpart.md: last_write_checksum: sha1:59c41738e82863712fb78083d1650dc76f060d33 docs/models/scope.md: - last_write_checksum: sha1:f6e493be87d57df448ca757ab92b76ff95ba0cc3 + last_write_checksum: sha1:b08b0d821665f4250c825926e20b06fb3da09748 docs/models/seatassign.md: - last_write_checksum: sha1:ec641e0a1428b547f50ef9d24735b84048607790 + last_write_checksum: sha1:3aa9acc7d18891406f3f52fa55b27cfd0c561713 docs/models/seatclaim.md: last_write_checksum: sha1:5c0a6609867a86d6609ea984602d896be529b60f docs/models/seatclaiminfo.md: @@ -6216,19 +6319,19 @@ trackedFiles: docs/models/subscription.md: last_write_checksum: sha1:85d0606b8c0ffc21248c1b0b597325ddcd283a0a docs/models/subscriptionbillingperiodupdatedevent.md: - last_write_checksum: sha1:da8a9724b2d0ac188906a829ff70a7a9c3e6b3ed + last_write_checksum: sha1:cbb5ec95e9c17a9c6bce8d472de554baac345fe1 docs/models/subscriptionbillingperiodupdatedmetadata.md: last_write_checksum: sha1:d9def9523d08910580567ff0fd7191da2641024f docs/models/subscriptioncancel.md: last_write_checksum: sha1:657cb7b5f70b5dc697a525ecd6ba6720a556741f docs/models/subscriptioncanceledevent.md: - last_write_checksum: sha1:254ee53c8851389a8a07ec96a6852d5f60f5d205 + last_write_checksum: sha1:5fe2768389abdef24eca6c9e38f39424fafd641b docs/models/subscriptioncanceledmetadata.md: last_write_checksum: sha1:31847ca187fd35c4d8baf304742e8b541960c5e5 docs/models/subscriptioncreatecustomer.md: last_write_checksum: sha1:3b5f91a8ee75e9c569008649f7c95f39e0d34802 docs/models/subscriptioncreatedevent.md: - last_write_checksum: sha1:a9ec482142b863a24c69262d131fe172a18fc33a + last_write_checksum: sha1:2811a44ab2eab3910c09864bee9beda61ef87792 docs/models/subscriptioncreatedmetadata.md: last_write_checksum: sha1:12090373ca0c681cdeac458c91c3202a92650e8f docs/models/subscriptioncreateexternalcustomer.md: @@ -6236,9 +6339,9 @@ trackedFiles: docs/models/subscriptioncreateexternalcustomermetadata.md: last_write_checksum: sha1:85e1b41fa20c903f06f408a26e86b33224ddf631 docs/models/subscriptioncustomer.md: - last_write_checksum: sha1:a3d8fa3b2141d33770389da34878502d268093b6 + last_write_checksum: sha1:96ef8d81886e0c61707cb6b473a6648bff1dd70c docs/models/subscriptioncycledevent.md: - last_write_checksum: sha1:4836f618fd2cf9430cebd3f23bd81b29451f471f + last_write_checksum: sha1:4d909d313cd1c1c5861038d4e7d3bd8665b3c5e6 docs/models/subscriptioncycledmetadata.md: last_write_checksum: sha1:1751f7c2ec555482a5e5565037725263aeb0a6a2 docs/models/subscriptiondiscount.md: @@ -6252,7 +6355,7 @@ trackedFiles: docs/models/subscriptionprices.md: last_write_checksum: sha1:0236eacf6250b4aaa24f65b126ab59291e9dca58 docs/models/subscriptionproductupdatedevent.md: - last_write_checksum: sha1:b579884ece657e02a67d59268b98a7f88917a887 + last_write_checksum: sha1:b154d85b6b49de6ae80df90750ad8edb5945acde docs/models/subscriptionproductupdatedmetadata.md: last_write_checksum: sha1:8b4f3f7bdec02e3d65dd0e29813812c030929a20 docs/models/subscriptionprorationbehavior.md: @@ -6262,13 +6365,13 @@ trackedFiles: docs/models/subscriptionrevoke.md: last_write_checksum: sha1:745530b69842ee7f24f1d85a9a77e4fcacb08f4d docs/models/subscriptionrevokedevent.md: - last_write_checksum: sha1:ce6868a903bd012dc2c60b9f88097c32235370af + last_write_checksum: sha1:3d5f31289b9416129c5adf90b74d598d92c26380 docs/models/subscriptionrevokedmetadata.md: last_write_checksum: sha1:1e9238583f98b8906b450854cea994c9935dbe0b docs/models/subscriptionscreatesubscriptioncreate.md: last_write_checksum: sha1:89640fb02f5859539794029cffbbccc72d29f9fb docs/models/subscriptionseatsupdatedevent.md: - last_write_checksum: sha1:4de8b7606a13f3fe3911f5e4cb5ccd5bac1cc77c + last_write_checksum: sha1:ff3079ccef55c8327bf953c99046724071ddbc85 docs/models/subscriptionseatsupdatedmetadata.md: last_write_checksum: sha1:f2a7748052e66803159e00e9860c824ea47e41b1 docs/models/subscriptionsexportrequest.md: @@ -6288,7 +6391,7 @@ trackedFiles: docs/models/subscriptionsupdaterequest.md: last_write_checksum: sha1:67fec398efb517569c58306c4d24fa0615ef86cd docs/models/subscriptionuncanceledevent.md: - last_write_checksum: sha1:721ba5db68f4b36d37bdaa46040f28e8c9d83e45 + last_write_checksum: sha1:c60921672d72d9320047983aaa985b93b2e8d234 docs/models/subscriptionuncanceledmetadata.md: last_write_checksum: sha1:c8883c873dd7cd5ba1b710d6089a96622bf9ece4 docs/models/subscriptionupdate.md: @@ -6340,7 +6443,7 @@ trackedFiles: docs/models/unitamount.md: last_write_checksum: sha1:e146baadef2ed4d2ad0b4c1f42d05d20d4370cd3 docs/models/userevent.md: - last_write_checksum: sha1:af955ff52a511aaca5c01acc524534d74378eea5 + last_write_checksum: sha1:d34993f2029cc224037c8145c200b4b20e9b672d docs/models/userinfoorganization.md: last_write_checksum: sha1:232d41efa85e7ed32f66632452de07eae8473e07 docs/models/userinfouser.md: @@ -6350,7 +6453,7 @@ trackedFiles: docs/models/validatedlicensekey.md: last_write_checksum: sha1:ee32d040007b9914e4311fd291a35a9cad1c5430 docs/models/validationerror.md: - last_write_checksum: sha1:1889f608099577e6a116c14b211a6811d6b22786 + last_write_checksum: sha1:1f297f34069668f6107f2c0389606efe413ff5a8 docs/models/value.md: last_write_checksum: sha1:36103a77b64b826f669c0412f86066f7b9cb1615 docs/models/webhookbenefitcreatedpayload.md: @@ -6367,6 +6470,8 @@ trackedFiles: last_write_checksum: sha1:064c1781991109b9df8111154e6cd23d780d7271 docs/models/webhookcheckoutcreatedpayload.md: last_write_checksum: sha1:da1216746def8ec09e62a4b1511aed9ac17242ec + docs/models/webhookcheckoutexpiredpayload.md: + last_write_checksum: sha1:6294a053262aa94ebad66e3b04aa2a76c29f6ec4 docs/models/webhookcheckoutupdatedpayload.md: last_write_checksum: sha1:4ffd64e1a23d4a8521595c35d0a0ab9872698587 docs/models/webhookcustomercreatedpayload.md: @@ -6394,9 +6499,15 @@ trackedFiles: docs/models/webhookevent.md: last_write_checksum: sha1:78db9970ae5ed501bea9d03d58ebfff6c9394233 docs/models/webhookeventtype.md: - last_write_checksum: sha1:a7e6daaa11f5a795914847f4cc524899614a75bb + last_write_checksum: sha1:c2c8d4386bd2bf540d971a70a4d975132d557244 docs/models/webhookformat.md: last_write_checksum: sha1:f4e8f3d1aadcd5652b52348ef21a0c656bcf4c3e + docs/models/webhookmembercreatedpayload.md: + last_write_checksum: sha1:d4f03a456b09dc28978deaaa2b3745bce9334ad1 + docs/models/webhookmemberdeletedpayload.md: + last_write_checksum: sha1:42bd366e88179ab7f29fe2b69073de9010a24156 + docs/models/webhookmemberupdatedpayload.md: + last_write_checksum: sha1:b16b9362b964f7103f2160c4cfff9e4e11aa7a07 docs/models/webhookordercreatedpayload.md: last_write_checksum: sha1:df346aee6a2ca3913bd3c9a82753f062c6346964 docs/models/webhookorderpaidpayload.md: @@ -6454,27 +6565,27 @@ trackedFiles: docs/sdks/benefitgrants/README.md: last_write_checksum: sha1:376f9cfffe3259bd802a5967a989378e88e6e2af docs/sdks/benefits/README.md: - last_write_checksum: sha1:127196b9896647781b2980288b855878313d7bd6 + last_write_checksum: sha1:af71ea380f50a6f4b669f2c59893ca135580c001 docs/sdks/checkoutlinks/README.md: - last_write_checksum: sha1:3dc04aabf59102cf1b26def0a9be7d9d4bdd1f11 + last_write_checksum: sha1:8e6ba34a40b90e55dc5679a376e80665cebc34f0 docs/sdks/checkouts/README.md: - last_write_checksum: sha1:73b160f3a1d56ebde1111267afe23372a2cbc19f + last_write_checksum: sha1:b5e608ce647fd40b0a8531f8f46ef61c3aa3b4b7 docs/sdks/clients/README.md: last_write_checksum: sha1:6858b1e77eede8fe5d5dfe368a90ca228d2d3add docs/sdks/customermeters/README.md: last_write_checksum: sha1:b90c86939a9133539681534059241026b501c783 docs/sdks/customers/README.md: - last_write_checksum: sha1:1c767c3657ee33ce7a1fdc27b7fb6f53ce0bf65c + last_write_checksum: sha1:3d249c8bac42e24e889a247e0e1616d93924737b docs/sdks/customerseats/README.md: - last_write_checksum: sha1:9511d6a050ff7b4b46b039240ad997ed8b290d5f + last_write_checksum: sha1:7f63eb8dd09fcc98ffb4dc15cb4c9241bab5ae7d docs/sdks/customersessions/README.md: last_write_checksum: sha1:9ae2590a2b0c1cddce14e669b7c11bb850e2d8ce docs/sdks/customersessionsdk/README.md: last_write_checksum: sha1:685af721d2e3a1ec0a0b969c55969d9e6442077f docs/sdks/customfields/README.md: - last_write_checksum: sha1:1d2a1bad778c4013ab03bc23e6f71c4a2f7a0724 + last_write_checksum: sha1:320b9f3175685350fa119648fd07f51587f57b2b docs/sdks/discounts/README.md: - last_write_checksum: sha1:a07f00025e3a5e562a193e87d617e4f2ebd5a895 + last_write_checksum: sha1:1de83088046ed155cd8193400da692476b123c38 docs/sdks/disputes/README.md: last_write_checksum: sha1:7e03b982b08b8c11ba84dae0ae48cfc725103cab docs/sdks/downloadables/README.md: @@ -6484,61 +6595,63 @@ trackedFiles: docs/sdks/eventtypes/README.md: last_write_checksum: sha1:e77ac34034b2a7225611293123c224ea65aebfbd docs/sdks/files/README.md: - last_write_checksum: sha1:aef929815d4cf36f090d3d94127b89edb3e77787 + last_write_checksum: sha1:420b5616796e6e1563b554818ee66585ad10d56f docs/sdks/licensekeys/README.md: last_write_checksum: sha1:df9ec3e5784b8655379d3f0cceb52ea60dd72243 docs/sdks/members/README.md: - last_write_checksum: sha1:9548eda9b7218202f03f3dd1b71749f7712337cf + last_write_checksum: sha1:16dbef3afbb05a98b0ab8b934a30615ecffda282 docs/sdks/membersessions/README.md: last_write_checksum: sha1:b19e16333bb3358af1216aa76ca01a8d0b8e92aa docs/sdks/meters/README.md: - last_write_checksum: sha1:382b466b965475640fde86e19fea9b98ce017a42 + last_write_checksum: sha1:780e81712d38d5a5bfbb6f72832b23a8bbed9bd9 docs/sdks/metricssdk/README.md: last_write_checksum: sha1:a8bce7b57a4c6f94509c5929b4931cef21be253e docs/sdks/oauth2/README.md: last_write_checksum: sha1:41ab71747a1ea845eb6e342b3a827d347b0209d9 docs/sdks/orders/README.md: - last_write_checksum: sha1:fc7c27c2c8d522ffbd7390fd57cd21d49aaa2198 + last_write_checksum: sha1:707b27d835291e9892dbe1577c62b0a573c39d0e docs/sdks/organizationaccesstokens/README.md: - last_write_checksum: sha1:e251e07740709c39add2b3667da833c82cb81de6 + last_write_checksum: sha1:05bb349d7b4ac8d0feda927af81a9a71de2e4684 docs/sdks/organizations/README.md: last_write_checksum: sha1:539a9bb438f60e85284e0630399d566cdb139b2c docs/sdks/payments/README.md: last_write_checksum: sha1:c0c2c61bef213dfafcb00274baddd1c43ba3e602 docs/sdks/polarbenefitgrants/README.md: - last_write_checksum: sha1:ae654fc488694161f11cdc58cf94a8cbd4ca569e + last_write_checksum: sha1:654c3bf6cbf726fde82fe367d18bf8beaace4f9f docs/sdks/polarcustomermeters/README.md: last_write_checksum: sha1:3afd1422131745f9eeaf55cb8a28e386d3684d83 docs/sdks/polarcustomers/README.md: last_write_checksum: sha1:be5b983c29f0ffa7bbf47f51b4c708d97c5b421d docs/sdks/polarlicensekeys/README.md: last_write_checksum: sha1:01f6ad4f58453a9ef561beee742f8aebf20f42d8 + docs/sdks/polarmembers/README.md: + last_write_checksum: sha1:7f5ad61e55cbd35ea1b011cad014ff55c620fac4 docs/sdks/polarorders/README.md: - last_write_checksum: sha1:cdfc3a1fc0d7dddd238014b0bcda583930fc31dc + last_write_checksum: sha1:411e4861e94c69854934acb9483ee881c5cd415f docs/sdks/polarorganizations/README.md: last_write_checksum: sha1:a66f3e70e90bcafd1d61bed65d5dd4e98750fc3d docs/sdks/polarsubscriptions/README.md: - last_write_checksum: sha1:fc28dd3376a8bcf7c3bf65aa18c5a985e7fd01a7 + last_write_checksum: sha1:329244e775feb368a50808205f5aac9c1f6b6bd4 docs/sdks/products/README.md: - last_write_checksum: sha1:5b84ac3cf9316f403eb8b3f1990f270022ceece7 + last_write_checksum: sha1:37154bcd51efcd9dd0e172fd98af1ce158c9e140 docs/sdks/refunds/README.md: - last_write_checksum: sha1:8b6d12f82833d2273f48a092a760823fbd9a5c8e + last_write_checksum: sha1:0cda486add6336089281e2c0bc109f6401a400fb docs/sdks/seats/README.md: last_write_checksum: sha1:f15c233710655ffe06d466024710a016c9b53fba docs/sdks/subscriptions/README.md: - last_write_checksum: sha1:6020237d94b783877e7d4310c9efd2bd997dfb32 + last_write_checksum: sha1:344679db0a66fce609d89a092073980eca00f82f docs/sdks/wallets/README.md: last_write_checksum: sha1:f8a655313c213e9c6a2900a2c12b499935f815bf docs/sdks/webhooks/README.md: - last_write_checksum: sha1:14c099011cd29803a77cac5c669715f7a1c70d62 + last_write_checksum: sha1:c346b007932abe4fde4ccb0a2340b74eaed0115a poetry.toml: last_write_checksum: sha1:2242305e29dc6921bdf5b200aea5d4bf67830230 py.typed: last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 pylintrc: - last_write_checksum: sha1:28cf93bbde7a00563a04b6b9c6269457e145e6dd + last_write_checksum: sha1:dfc6f673d801a73f14911dcc3174dbf1759fe08f pyproject.toml: - last_write_checksum: sha1:f17d2c177c502917a8ed77853c1a832a5f8ff207 + last_write_checksum: sha1:9fbcc449564ceb118247d26bf6c78550d87295d6 scripts/prepare_readme.py: last_write_checksum: sha1:2311639185b318e498a99518d92fa5c847b5c70a scripts/publish.sh: @@ -6552,35 +6665,35 @@ trackedFiles: src/polar_sdk/_hooks/types.py: last_write_checksum: sha1:a218c66f3e2d1f1b9af54f270472b970b0cc1913 src/polar_sdk/_version.py: - last_write_checksum: sha1:76d5d269f2df7781f8970a888057264a41e714d4 + last_write_checksum: sha1:3b9a0e992d7c4dd88923750e9d601fe0ac8a7488 src/polar_sdk/basesdk.py: last_write_checksum: sha1:3c3d1fd3866d63b09412c7ada0ed05b82b7513b2 src/polar_sdk/benefit_grants.py: last_write_checksum: sha1:606d04901fb78cbfc91574cf2c31aeeedb38d7e9 src/polar_sdk/benefits.py: - last_write_checksum: sha1:526a239407edb70d9e1feb9ee7a065c63d87f1f8 + last_write_checksum: sha1:9af4617c07556fd69b6b21e69220e3f017fd6224 src/polar_sdk/checkout_links.py: - last_write_checksum: sha1:86a2de4ee115a986b48b49fcc1d990589e6923bd + last_write_checksum: sha1:0cab3c2e318738d73df4a012096553a5226b5a10 src/polar_sdk/checkouts.py: last_write_checksum: sha1:ceb90b0fffcad78e5efcf2b5c03f263a081fa30d src/polar_sdk/clients.py: last_write_checksum: sha1:0fcd13f6b2b1857b3f7fad45b7d2837cc4fc5b89 src/polar_sdk/custom_fields.py: - last_write_checksum: sha1:b3f49fcbc4ae68d546d0f0074d47bd28a9cb934a + last_write_checksum: sha1:08484cffd37aa193b90554a06760efb88818029c src/polar_sdk/customer_meters.py: last_write_checksum: sha1:6037fed331b193502d17b0b0749af873b77485e3 src/polar_sdk/customer_portal.py: - last_write_checksum: sha1:15126b47dbfd57e4f8b99a4ed990a60aee13ab6f + last_write_checksum: sha1:c0a5dfdf0dc3b8caea86156f6f5685ab9b73964f src/polar_sdk/customer_seats.py: - last_write_checksum: sha1:3b71e7d0b064d3998a16107eec907d4df1f075e6 + last_write_checksum: sha1:edc3b92dfc06fec9991e0c5fd18607981cf6286d src/polar_sdk/customer_session_sdk.py: last_write_checksum: sha1:ce79b155ddb56a180aae4e36bb23a7b62ebc1d9b src/polar_sdk/customer_sessions.py: last_write_checksum: sha1:9dcac4b97cff20d10c5f1d3ad480f5b9d799d7c5 src/polar_sdk/customers.py: - last_write_checksum: sha1:43b0f5ab9c0ce93ffe9528edcffb4f88bb2c3f7a + last_write_checksum: sha1:7adf335c991682bdddebf4fa8950f14c71dd0ba9 src/polar_sdk/discounts.py: - last_write_checksum: sha1:df3696d6b393495ac58e9fb7c7eb3145b2666dca + last_write_checksum: sha1:42a28a0b0e6dd3fcf90d1b8f0ddc4928903fbd33 src/polar_sdk/disputes.py: last_write_checksum: sha1:7e5f3ce47301f16c31164f40f2ca7ed6acd52c1c src/polar_sdk/downloadables.py: @@ -6590,7 +6703,7 @@ trackedFiles: src/polar_sdk/events.py: last_write_checksum: sha1:14ee7cbbe6ec841e08355330ad246675cc8b6c76 src/polar_sdk/files.py: - last_write_checksum: sha1:d29ee52d784a9ac78380ff9cda0e94d5dd9651ec + last_write_checksum: sha1:06f98681167bedcb61ab8f9831c0981cc2eb3c84 src/polar_sdk/httpclient.py: last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7 src/polar_sdk/license_keys.py: @@ -6598,13 +6711,13 @@ trackedFiles: src/polar_sdk/member_sessions.py: last_write_checksum: sha1:879a94c238e7362e12804215895a961dc78d5e1a src/polar_sdk/members.py: - last_write_checksum: sha1:9f9ec0bd8e71d92a34bbfbdf6829017084b154a5 + last_write_checksum: sha1:79473b3aba18ae3e973a1944d7de05e64b8188c9 src/polar_sdk/meters.py: - last_write_checksum: sha1:ee2ea64eeae6271c7f610b9738afd673be708d57 + last_write_checksum: sha1:e96cf02be2fe353afbe4db9e5278698832ac91d1 src/polar_sdk/metrics_sdk.py: last_write_checksum: sha1:d35cb2e65dcc84d88d36a8f68ccf5a46868aff0f src/polar_sdk/models/__init__.py: - last_write_checksum: sha1:c2b4ce215891447fde058c4b747064f676a14d61 + last_write_checksum: sha1:18c49eb1a1135b11895e39f5c59c69269febc448 src/polar_sdk/models/address.py: last_write_checksum: sha1:3373863e2888cd8a04df391b499ca249230ae91e src/polar_sdk/models/addressdict.py: @@ -6622,103 +6735,103 @@ trackedFiles: src/polar_sdk/models/attachedcustomfieldcreate.py: last_write_checksum: sha1:b6445c597a18d0b95b5464d096c0cea3e1e4f0ae src/polar_sdk/models/authorizationcodetokenrequest.py: - last_write_checksum: sha1:32f454c067d5c6768db8336b74c4a60412860db2 + last_write_checksum: sha1:e2f5e471afa44346a73aebe33909634438e86744 src/polar_sdk/models/authorizeorganization.py: last_write_checksum: sha1:0164a4c5da8a73e1507408eceb95eb3a87b85218 src/polar_sdk/models/authorizeresponseorganization.py: - last_write_checksum: sha1:396864c2c14c65aa28d3f5de8534032768cb001b + last_write_checksum: sha1:873fbb7f8bafb26f442b8c14ab54231e085a1923 src/polar_sdk/models/authorizeresponseuser.py: - last_write_checksum: sha1:a364f4ac4555204e8b9b3f6aa42991139873dc3e + last_write_checksum: sha1:47717a988418796ba4dc9521941ce2a266df4952 src/polar_sdk/models/authorizeuser.py: last_write_checksum: sha1:e9d70036e5a8690202f4d3a282c1ca7125cc9aee src/polar_sdk/models/availablescope.py: - last_write_checksum: sha1:7901a5c9396c27dd6c57662ce6718ae42bd7c2f7 + last_write_checksum: sha1:2fcb6169f0a5b8efda6b137090fde91aa862a807 src/polar_sdk/models/balancecreditorderevent.py: - last_write_checksum: sha1:347ee3ec4e2bf69bf1ca25bbf339f1fbb2beb23e + last_write_checksum: sha1:7caa1d35ec079d1e7b1e751e43e43fec4276a0d7 src/polar_sdk/models/balancecreditordermetadata.py: last_write_checksum: sha1:0dea7ab6697d47531d49d1f61dc6d6dd3bc742f1 src/polar_sdk/models/balancedisputeevent.py: - last_write_checksum: sha1:d56395865775c2217ea2205fb82bb8839c4b08a9 + last_write_checksum: sha1:d4acf6de7c1ac379810f88faa1b8125e593f141a src/polar_sdk/models/balancedisputemetadata.py: - last_write_checksum: sha1:52894d6eacdee69091d0a35e4a1804ca5ec7df8f + last_write_checksum: sha1:d68af4d47841ad91e9edf10eeb70877d8101d370 src/polar_sdk/models/balancedisputereversalevent.py: - last_write_checksum: sha1:188490fa196bbadf7b22f1d460b9fcefcca1d05d + last_write_checksum: sha1:a068283c38dbacdf720bfe55007bd43bdbc14956 src/polar_sdk/models/balanceorderevent.py: - last_write_checksum: sha1:fe6a7207a967fe25ad29b864b22e9d7434ff5af9 + last_write_checksum: sha1:19c94384eb0f26909b4f0517741a4666bb3cb665 src/polar_sdk/models/balanceordermetadata.py: - last_write_checksum: sha1:3c776be2f88f6215108353d32702f1fd4b673419 + last_write_checksum: sha1:be421400e775a6e90b610591f38d060eac60bbbc src/polar_sdk/models/balancerefundevent.py: - last_write_checksum: sha1:62be2618d5f93ebcdc9e7d9e67b00e4b93c86d1d + last_write_checksum: sha1:8de9b556eeefb4f030a91d7fccbdfbcf01e39ed5 src/polar_sdk/models/balancerefundmetadata.py: - last_write_checksum: sha1:dbb7bbd90c76df1756f23d31c41b26d2a4a76644 + last_write_checksum: sha1:a9bbdea2e5250603eefa99c9eb66b666833fb439 src/polar_sdk/models/balancerefundreversalevent.py: - last_write_checksum: sha1:b6a743dd11a7b45914612a91c0934669d10ced35 + last_write_checksum: sha1:177569d99f5b94b657aa309ba53f0de9ed53287b src/polar_sdk/models/benefit.py: - last_write_checksum: sha1:09ff85dfdc946b035f96060cb70bee2f7d28c15f + last_write_checksum: sha1:1b0b11f1999fa93aca6320a98112b82b1c5d0e7b src/polar_sdk/models/benefit_grants_listop.py: last_write_checksum: sha1:a77ea982cd7a438e9723828f8df45f71cd23f35b src/polar_sdk/models/benefitcreate.py: last_write_checksum: sha1:030ccde94895e2510d9468ecfad94c4d8880eb01 src/polar_sdk/models/benefitcustom.py: - last_write_checksum: sha1:052890793f5aab6c3404a8b7533b2b678e5be347 + last_write_checksum: sha1:c8db4cf2b58c0b1a1935bed5cc55ab80c2b54776 src/polar_sdk/models/benefitcustomcreate.py: - last_write_checksum: sha1:adb7940b510b293414fcda7e6358a40f98563f83 + last_write_checksum: sha1:7e96ad981ec2917c8ee4061fa001829c50b83745 src/polar_sdk/models/benefitcustomcreateproperties.py: last_write_checksum: sha1:edea670773f6788649742ac545b283d758adbb1c src/polar_sdk/models/benefitcustomproperties.py: last_write_checksum: sha1:6654fbbf900bf82599ed37f86686a11ea49372f3 src/polar_sdk/models/benefitcustomsubscriber.py: - last_write_checksum: sha1:531a0955e6ee9d06d65454a2cb2d2f680d85a0c0 + last_write_checksum: sha1:72dafea51f9c28a1679636592936c37931987040 src/polar_sdk/models/benefitcustomsubscriberproperties.py: last_write_checksum: sha1:88d1e51bf491006c99171fcc06aa33d107889804 src/polar_sdk/models/benefitcustomupdate.py: - last_write_checksum: sha1:8b12bc2b280954419e60e01a808ef3b31e12f351 + last_write_checksum: sha1:e8b1e736bfb8804faf14856a0281096ce8cf2192 src/polar_sdk/models/benefitcycledevent.py: - last_write_checksum: sha1:61617790b9b22147121056ddd249f0be777053a8 + last_write_checksum: sha1:81a21cf45917120fd6a4cb028aa1aba6c0289a16 src/polar_sdk/models/benefitdiscord.py: - last_write_checksum: sha1:00dd24f7f0a04998b3c91f918e8e4b90d2d388ee + last_write_checksum: sha1:a5b59b926c3d2afea4b1ac049630c768f1220bec src/polar_sdk/models/benefitdiscordcreate.py: - last_write_checksum: sha1:07d14262b449f9dec094ec9b880a1eec158e4a71 + last_write_checksum: sha1:a3bdf4e050608fe575fdd4981a9b05ede56bbd7f src/polar_sdk/models/benefitdiscordcreateproperties.py: last_write_checksum: sha1:ce9d8fe351992a0307972684821945ef6de33bd8 src/polar_sdk/models/benefitdiscordproperties.py: last_write_checksum: sha1:e5eb887ec2facb3c4498b6a735266fdc4fc78fe3 src/polar_sdk/models/benefitdiscordsubscriber.py: - last_write_checksum: sha1:e0f558079edf75db5612fdc883167243ea731e73 + last_write_checksum: sha1:1b693bce31f4e3a61fc07ab12b7c292f8749c1a1 src/polar_sdk/models/benefitdiscordsubscriberproperties.py: last_write_checksum: sha1:5553ecb6757a2a7e675b970ae0ccfcafd88e8635 src/polar_sdk/models/benefitdiscordupdate.py: - last_write_checksum: sha1:2afd25c7c0811a9b3a1ae7177e825e77a3906348 + last_write_checksum: sha1:0ca671dc3f25f7907448e404eea5a6b1c9438763 src/polar_sdk/models/benefitdownloadables.py: - last_write_checksum: sha1:5f9395879fa458f548d04bed06ae4a9602c3b30b + last_write_checksum: sha1:78fb2625d9bde4170b10de01491c8bbf331c812a src/polar_sdk/models/benefitdownloadablescreate.py: - last_write_checksum: sha1:9b6d0421967363e51a361dbfbafb4af8ff12993e + last_write_checksum: sha1:2f9aaf66fae9ab25807ed39fb00bac6e047edec8 src/polar_sdk/models/benefitdownloadablescreateproperties.py: last_write_checksum: sha1:5651ffb07551448796b5afc440c8406a0600fdd1 src/polar_sdk/models/benefitdownloadablesproperties.py: last_write_checksum: sha1:6b5e011a44552dd08c33a37ecdb0977c1de16994 src/polar_sdk/models/benefitdownloadablessubscriber.py: - last_write_checksum: sha1:e65aee364c25a55fb71a31721ceeb5ab0596d3a4 + last_write_checksum: sha1:f01ca72645bc6c10d3aae4cff3fbd36dd88aa5d7 src/polar_sdk/models/benefitdownloadablessubscriberproperties.py: last_write_checksum: sha1:a6b5334b254773e57ff782573bc3171863c0d502 src/polar_sdk/models/benefitdownloadablesupdate.py: - last_write_checksum: sha1:7e23ca7b8b02f58852a0351767b3e2b9834ba672 + last_write_checksum: sha1:5e5821124e2af28774d2f8319b7d071ed24448be src/polar_sdk/models/benefitgithubrepository.py: - last_write_checksum: sha1:e839aebbdd6470f5f90bd197e71d3c0443b2b58b + last_write_checksum: sha1:2f117025da716aa3ab9d73c214ffade1075b761d src/polar_sdk/models/benefitgithubrepositorycreate.py: - last_write_checksum: sha1:282a98b9070724e330a69c040db257a00c6282b7 + last_write_checksum: sha1:3a0b060f65c0a74928fbfb17948bc6a93d9b88ff src/polar_sdk/models/benefitgithubrepositorycreateproperties.py: last_write_checksum: sha1:5fbfd35eaaab5a3f788cc571602cb52f36c1fd3e src/polar_sdk/models/benefitgithubrepositoryproperties.py: last_write_checksum: sha1:e05c2811e87035cc20b37b1a40b96ab142dc19bd src/polar_sdk/models/benefitgithubrepositorysubscriber.py: - last_write_checksum: sha1:20212ba205a4eb33d3364ffa1ac29966e9d64f3b + last_write_checksum: sha1:0e723a88c202d49f96a972c313f787c2b47a896f src/polar_sdk/models/benefitgithubrepositorysubscriberproperties.py: last_write_checksum: sha1:2dad7be0986169f2fff35bc0b0a6e638f80aa0d7 src/polar_sdk/models/benefitgithubrepositoryupdate.py: - last_write_checksum: sha1:c66627085c89aaedb5ca9cb8351aadee55095983 + last_write_checksum: sha1:20776f518c1e78d39307b5b277fa471227515f73 src/polar_sdk/models/benefitgrant.py: - last_write_checksum: sha1:d6377a81fa807dc4aa9da4ede6a4edb905ca7057 + last_write_checksum: sha1:62ad2a12dc092bab355a2b7832b7131741ad7edd src/polar_sdk/models/benefitgrantcustomproperties.py: last_write_checksum: sha1:c7a00e22c356cae26b0ea82aca051234c266d708 src/polar_sdk/models/benefitgrantcustomwebhook.py: @@ -6732,7 +6845,7 @@ trackedFiles: src/polar_sdk/models/benefitgrantdownloadableswebhook.py: last_write_checksum: sha1:85019e0377bffa8f2b6de344d445c0cce1954075 src/polar_sdk/models/benefitgrantedevent.py: - last_write_checksum: sha1:23ecd109141612096a25bf7a16b96215840237da + last_write_checksum: sha1:72ffebe58779099bdec1ab43d0243ccdb3ec0b1e src/polar_sdk/models/benefitgranterror.py: last_write_checksum: sha1:2e34733f98d3fd4ac076bd4ae95caf9172adcd5a src/polar_sdk/models/benefitgrantgithubrepositoryproperties.py: @@ -6740,7 +6853,7 @@ trackedFiles: src/polar_sdk/models/benefitgrantgithubrepositorywebhook.py: last_write_checksum: sha1:b5300be2a6e19fa96279fa98d9be5ead88bf0c53 src/polar_sdk/models/benefitgrantlicensekeysproperties.py: - last_write_checksum: sha1:e1b9fbcfcbf86bca8e1d148ccc600afc520fe6ee + last_write_checksum: sha1:615c9e43425729b0a4d7e65cb4eee0cad33932c7 src/polar_sdk/models/benefitgrantlicensekeyswebhook.py: last_write_checksum: sha1:c3b539a538b59bb0827f27692ce881a30dfa9422 src/polar_sdk/models/benefitgrantmetadata.py: @@ -6760,37 +6873,37 @@ trackedFiles: src/polar_sdk/models/benefitlicensekeyexpirationproperties.py: last_write_checksum: sha1:f2cb463b6f2f77dc07e9afeea285b3577e938ffc src/polar_sdk/models/benefitlicensekeys.py: - last_write_checksum: sha1:c213e5961fd221f86837a09540e80e467dccdef6 + last_write_checksum: sha1:cd3da6cd78f5d8a00ddbd306ae172d600dde9450 src/polar_sdk/models/benefitlicensekeyscreate.py: - last_write_checksum: sha1:beeae905b3af9d84700d5f663275da8833097330 + last_write_checksum: sha1:c0149c32bad9bdb2dc590f322361ecd5b47631c1 src/polar_sdk/models/benefitlicensekeyscreateproperties.py: last_write_checksum: sha1:f6f5afab354a471ba79b87665149356da9ae9863 src/polar_sdk/models/benefitlicensekeysproperties.py: last_write_checksum: sha1:881e3c1df7c874f2ab119d1500c701d5bf52fc5d src/polar_sdk/models/benefitlicensekeyssubscriber.py: - last_write_checksum: sha1:f496b2b92a2340741c140480fddc28004ecaac5c + last_write_checksum: sha1:1b8d54797fd962db32e6a0bcf3d6315ecbe0da89 src/polar_sdk/models/benefitlicensekeyssubscriberproperties.py: last_write_checksum: sha1:b61443e4966538136f4acc8c2afb094fa390bd23 src/polar_sdk/models/benefitlicensekeysupdate.py: - last_write_checksum: sha1:453dfd3069807df9fda6d53b768e35557f3dbfa5 + last_write_checksum: sha1:2fdf54601daed202164387e5850730df004f88b0 src/polar_sdk/models/benefitmetercredit.py: - last_write_checksum: sha1:ef7e174123edd72ee070ffc75f6ded29b2a2eec9 + last_write_checksum: sha1:aac4951d7cd3b8f9d33ebd999cda4b0d37d23b58 src/polar_sdk/models/benefitmetercreditcreate.py: - last_write_checksum: sha1:a8ca4213aa402d6ccd71786577c2f9d08a2d647e + last_write_checksum: sha1:02d205b3beb88df63c5724cae8d0a348d8d251e5 src/polar_sdk/models/benefitmetercreditcreateproperties.py: last_write_checksum: sha1:278c819c8134b6f8c20069afb7214e5d002b1e86 src/polar_sdk/models/benefitmetercreditproperties.py: last_write_checksum: sha1:eed8d3e63f0b0a5fa6182599e3de54f1290f20b9 src/polar_sdk/models/benefitmetercreditsubscriber.py: - last_write_checksum: sha1:4eb40b1fc3a804095171b35c0c6854c7b0956aab + last_write_checksum: sha1:65eaeed0cd5bb7b760bd659e2462c12166f96906 src/polar_sdk/models/benefitmetercreditsubscriberproperties.py: last_write_checksum: sha1:8addf1bf3455c23b1e178b605ff79fb2774f5ca3 src/polar_sdk/models/benefitmetercreditupdate.py: - last_write_checksum: sha1:b5439f6d467467859c7069304eeac88bba788e0e + last_write_checksum: sha1:5b2e9123357e95065fe8594b2d047400499bec44 src/polar_sdk/models/benefitpublic.py: last_write_checksum: sha1:de1f3afabb84bf01278f4877607a0976b2f11118 src/polar_sdk/models/benefitrevokedevent.py: - last_write_checksum: sha1:f35910ace9218f8976b0cf4576c25342baf408f5 + last_write_checksum: sha1:1bccec08f780cdd234935b0a1060ca854071d3d2 src/polar_sdk/models/benefits_deleteop.py: last_write_checksum: sha1:534af1aec48c7c344b132a1d0c1de6b08438e7db src/polar_sdk/models/benefits_getop.py: @@ -6806,15 +6919,15 @@ trackedFiles: src/polar_sdk/models/benefittype.py: last_write_checksum: sha1:83b6f2769eaa9ab478fd9bb96dbfa77f8d8a91b1 src/polar_sdk/models/benefitupdatedevent.py: - last_write_checksum: sha1:7b2751223740fa70909093ec5cba916cf69ddde1 + last_write_checksum: sha1:4c0d80222f46090e111fbfe065ff2e81947d64bb src/polar_sdk/models/billingaddressfieldmode.py: last_write_checksum: sha1:9cf3221bdf95c98300c69a39ab39393a69447613 src/polar_sdk/models/cardpayment.py: - last_write_checksum: sha1:80a26b3dde690b325c93668f57efa7fd9b634a25 + last_write_checksum: sha1:bea70063a82e0d87c65f5b6c251d7f1e8212d67b src/polar_sdk/models/cardpaymentmetadata.py: last_write_checksum: sha1:2fe22cf53af2f2fe9b5d9dbd4097c00838cf90d7 src/polar_sdk/models/checkout.py: - last_write_checksum: sha1:46f23cbec3a210c9c8a24d3cf11dd3afc907e356 + last_write_checksum: sha1:ccbd12dfed82c67ece9dab57060711e49e67fe0a src/polar_sdk/models/checkout_links_deleteop.py: last_write_checksum: sha1:0b6cad5372c170fb1431f4b1a2ed193dba02e9dc src/polar_sdk/models/checkout_links_getop.py: @@ -6826,11 +6939,11 @@ trackedFiles: src/polar_sdk/models/checkoutbillingaddressfields.py: last_write_checksum: sha1:0665454839da8b6c80600bfc3b8bc82782ddc40b src/polar_sdk/models/checkoutconfirmstripe.py: - last_write_checksum: sha1:4f93504da5d3055a86813ea3a0ed8075e3e22790 + last_write_checksum: sha1:c4026892647c86405e15e06a0ca3b06b2f649a8d src/polar_sdk/models/checkoutcreate.py: - last_write_checksum: sha1:4d021e6e423b9946e265db39b255814c435edb2c + last_write_checksum: sha1:e6bd97c6f74e13994a04e88f1ee37f696e60d301 src/polar_sdk/models/checkoutcreatedevent.py: - last_write_checksum: sha1:c6c11eae840c2f671972b18338e11fdd19de08d9 + last_write_checksum: sha1:fe14927ef499d35af0dba76227761dffc8be24c6 src/polar_sdk/models/checkoutcreatedmetadata.py: last_write_checksum: sha1:949abbbac272a6a5c3f76283193a1908dc6b6c54 src/polar_sdk/models/checkoutdiscountfixedonceforeverduration.py: @@ -6848,13 +6961,13 @@ trackedFiles: src/polar_sdk/models/checkoutlinkcreate.py: last_write_checksum: sha1:36274c3f8a5bff7b481f62ea54616e88e5277043 src/polar_sdk/models/checkoutlinkcreateproduct.py: - last_write_checksum: sha1:03780e2989d4f408e4c9f8c34b1ad47d160abcbd + last_write_checksum: sha1:2b4dff04f1d79653ca1648ecb46c5443c091d3c5 src/polar_sdk/models/checkoutlinkcreateproductprice.py: - last_write_checksum: sha1:e551322d4fcfbe1a6e83cb78d35bab0141c17b90 + last_write_checksum: sha1:1a2d04ac752bb68da43c91977735f38ff5d55bd7 src/polar_sdk/models/checkoutlinkcreateproducts.py: - last_write_checksum: sha1:9d0768d0479cf254143d35e1883eebfd3eb4fcb6 + last_write_checksum: sha1:89b7188a2040f1cc79c5658807ec057415c195ce src/polar_sdk/models/checkoutlinkproduct.py: - last_write_checksum: sha1:73d629f7e8b2c955266c88755499ee8971cc5ccb + last_write_checksum: sha1:c25119ecbd53f1ff1f23c685e628c446d0bce3ee src/polar_sdk/models/checkoutlinksortproperty.py: last_write_checksum: sha1:03a44cbe66933bcbe64d8f6c3435c30a50e2a428 src/polar_sdk/models/checkoutlinkupdate.py: @@ -6862,11 +6975,11 @@ trackedFiles: src/polar_sdk/models/checkoutorganization.py: last_write_checksum: sha1:b872df058ae8347f3b682932803a15495b156d1c src/polar_sdk/models/checkoutproduct.py: - last_write_checksum: sha1:63d2798ac0d28573b0eb3f5ef0e3b2922e58e7f4 + last_write_checksum: sha1:635a5b575bea7b150c3e33b52573a3421483272d src/polar_sdk/models/checkoutpublic.py: - last_write_checksum: sha1:b6c2bafe854cf885f7321d0e883329739582e2dc + last_write_checksum: sha1:683f711c53a228f6061aca2bebfd265d734fe9f8 src/polar_sdk/models/checkoutpublicconfirmed.py: - last_write_checksum: sha1:7e8ea5a525645b997ab2ec43bd1e65092d346190 + last_write_checksum: sha1:2c82fee2d449dcb4fd5d6c4766eded29e6db7c51 src/polar_sdk/models/checkouts_client_confirmop.py: last_write_checksum: sha1:43b8f70ae5ac54bbbfa26694c917b8b0359cefe5 src/polar_sdk/models/checkouts_client_getop.py: @@ -6884,15 +6997,15 @@ trackedFiles: src/polar_sdk/models/checkoutstatus.py: last_write_checksum: sha1:0119a771c45046a0898c06dc311cd6deadb88555 src/polar_sdk/models/checkoutupdate.py: - last_write_checksum: sha1:f0da2da21f57dc1ad2a9cda081dc847254edb260 + last_write_checksum: sha1:6d58b55fbb474c1c37e0e2d7f2320482bd076ce0 src/polar_sdk/models/checkoutupdatepublic.py: - last_write_checksum: sha1:f7410dcfc5564b13a827a43c2aa417871645705a + last_write_checksum: sha1:46550cfaff42cc718ca3979cc94e821628896399 src/polar_sdk/models/costmetadata_input.py: last_write_checksum: sha1:2ff17a766f114cbb04977f132e58d340dc302d66 src/polar_sdk/models/costmetadata_output.py: last_write_checksum: sha1:086e506a038c9438acce7a3f8466638cc7b3b076 src/polar_sdk/models/countaggregation.py: - last_write_checksum: sha1:2ccdf89bad0bf83d38568f34e975533bbd3be76e + last_write_checksum: sha1:8cb0e6b48259a6cfe9dcd5269014f9ede8001d94 src/polar_sdk/models/cursorpagination.py: last_write_checksum: sha1:36824f1d1a923e9b85e33665d79bc545ffa56bab src/polar_sdk/models/custom_fields_deleteop.py: @@ -6904,7 +7017,7 @@ trackedFiles: src/polar_sdk/models/custom_fields_updateop.py: last_write_checksum: sha1:08d7f34bec7994241c6635ae5b865809085a8f1d src/polar_sdk/models/customer.py: - last_write_checksum: sha1:0b3f5687846c9f49f8cf8f09a62babab80e1f48c + last_write_checksum: sha1:c5885638eb71ea52673f85118d4e3d4fdd87e821 src/polar_sdk/models/customer_meters_getop.py: last_write_checksum: sha1:cf9ea34cba6706991da057ed07cfd3298616e06b src/polar_sdk/models/customer_meters_listop.py: @@ -6912,7 +7025,7 @@ trackedFiles: src/polar_sdk/models/customer_portal_benefit_grants_getop.py: last_write_checksum: sha1:a2c136c089a45294c0e9359e3725cdc9e7be7566 src/polar_sdk/models/customer_portal_benefit_grants_listop.py: - last_write_checksum: sha1:d18d674adf9b9f07eb3de243ce1f25f7dcac3a4c + last_write_checksum: sha1:97878aa8dfa57ea3b3be0c8d5175d1d555dc343f src/polar_sdk/models/customer_portal_benefit_grants_updateop.py: last_write_checksum: sha1:8f6823bd8c44fb0be5c1b4d370208d82cf48262d src/polar_sdk/models/customer_portal_customer_meters_getop.py: @@ -6941,6 +7054,10 @@ trackedFiles: last_write_checksum: sha1:1c0b4b22ff596f8b6ddd3b6ad4ebae728c38156b src/polar_sdk/models/customer_portal_license_keys_listop.py: last_write_checksum: sha1:e6a08e728bcc2d81a8e0b426037e46626577f515 + src/polar_sdk/models/customer_portal_members_remove_memberop.py: + last_write_checksum: sha1:2ed29f83c4c52cd46581bea7f1968b649be86d9a + src/polar_sdk/models/customer_portal_members_update_memberop.py: + last_write_checksum: sha1:8e2fa7a8ab344d9bf23f25e5cf326e136e2e4389 src/polar_sdk/models/customer_portal_orders_confirm_retry_paymentop.py: last_write_checksum: sha1:07f7c7d22ff1897eae10e8b34ddc15a2fd17538e src/polar_sdk/models/customer_portal_orders_generate_invoiceop.py: @@ -6992,33 +7109,33 @@ trackedFiles: src/polar_sdk/models/customerbenefitgrant.py: last_write_checksum: sha1:5deb0468120ed8fccc29a2a597062956e51dcc95 src/polar_sdk/models/customerbenefitgrantcustom.py: - last_write_checksum: sha1:6af3ebfc23b3b81f210209e66d29bd012e091edb + last_write_checksum: sha1:3093af86895682c8fd0d15c316ddbfc36badd7a2 src/polar_sdk/models/customerbenefitgrantcustomupdate.py: - last_write_checksum: sha1:3c747cc9f98b5088e84474c61cd9fe8990540ad0 + last_write_checksum: sha1:977fe71eae07bceeb57e2f378e607d156e9a193a src/polar_sdk/models/customerbenefitgrantdiscord.py: - last_write_checksum: sha1:32901e5e0c56b0caaabaf12399e6c1831a963ae3 + last_write_checksum: sha1:f3e6d8fd7b78f3edb92a140cd880e4534be90a53 src/polar_sdk/models/customerbenefitgrantdiscordpropertiesupdate.py: last_write_checksum: sha1:c9408264fd33c13de922899d9f5a8daf5b0d5c88 src/polar_sdk/models/customerbenefitgrantdiscordupdate.py: - last_write_checksum: sha1:7eea10d81bd0f6a7afc3b6a996650a0e61fc8dfc + last_write_checksum: sha1:ef96fdcd0472af19d64ba019d0a76780413a7681 src/polar_sdk/models/customerbenefitgrantdownloadables.py: - last_write_checksum: sha1:3a2daf128210580c7e505c8d6f88af47e040f0b1 + last_write_checksum: sha1:bdad3d2df3bc9ce21174a28e4a6d2e555ae3cee0 src/polar_sdk/models/customerbenefitgrantdownloadablesupdate.py: - last_write_checksum: sha1:1098f755d9a46de1964b41b5e99713fa3507cada + last_write_checksum: sha1:e88637635b8b94b02d3b834cf90425b7c2681605 src/polar_sdk/models/customerbenefitgrantgithubrepository.py: - last_write_checksum: sha1:2a327b2d6ba7fb083378fe27ea4be5a51471f6bd + last_write_checksum: sha1:5e878eb20f248a7a9f3c9758693b0c4889c506cd src/polar_sdk/models/customerbenefitgrantgithubrepositorypropertiesupdate.py: last_write_checksum: sha1:1add3e5e699283ec027938e0563c47fd4699737a src/polar_sdk/models/customerbenefitgrantgithubrepositoryupdate.py: - last_write_checksum: sha1:41de893d640284ccf7ced58bb0d9d10eacb04e11 + last_write_checksum: sha1:22a21465012af4e111cdb2f68a181871832292d5 src/polar_sdk/models/customerbenefitgrantlicensekeys.py: - last_write_checksum: sha1:27fab5d831f632ce436ae5bbdf18caa7dbc23080 + last_write_checksum: sha1:20a4966e8ec5fe29cd6ff5ad9eec5d1f5ad6d535 src/polar_sdk/models/customerbenefitgrantlicensekeysupdate.py: - last_write_checksum: sha1:40ad13151f170ee13644704c7f34876997a89af4 + last_write_checksum: sha1:4d6f7e680e3a50ca5d944374f3f715944b0390b6 src/polar_sdk/models/customerbenefitgrantmetercredit.py: - last_write_checksum: sha1:6674dcb20409aaf060b212032f0cd2e0f0c44cf1 + last_write_checksum: sha1:0f22fb8248627f7a105b3f11781cee2e5f6719a0 src/polar_sdk/models/customerbenefitgrantmetercreditupdate.py: - last_write_checksum: sha1:a0fd2427598f661344ff6ac470b80d8360b51542 + last_write_checksum: sha1:7292ca1c8392610322b9c70b06a007604acfebab src/polar_sdk/models/customerbenefitgrantsortproperty.py: last_write_checksum: sha1:75daa1306a18e9e008b01b8c783d18c4cb8fc74b src/polar_sdk/models/customerbenefitgrantupdate.py: @@ -7026,9 +7143,9 @@ trackedFiles: src/polar_sdk/models/customercancellationreason.py: last_write_checksum: sha1:78228d1bffecbbdc5f3be42766ef805d6091743f src/polar_sdk/models/customercreate.py: - last_write_checksum: sha1:2f0d16b7baf2e4243aec5e1480b5ccb9288c024e + last_write_checksum: sha1:ffeb8aa6a26a93a2ba84e19859da00122030857d src/polar_sdk/models/customercreatedevent.py: - last_write_checksum: sha1:e837512b9056caea350c785157bbfb0cf2dc0697 + last_write_checksum: sha1:82f46be4b84a409fe18a690704df8c9e53d80eaa src/polar_sdk/models/customercreatedmetadata.py: last_write_checksum: sha1:e93bf92251aaaf555e17db7e1ffa6c76daf3216d src/polar_sdk/models/customercustomermeter.py: @@ -7040,7 +7157,7 @@ trackedFiles: src/polar_sdk/models/customercustomersession.py: last_write_checksum: sha1:4490b13fc806cd6e28af627847845ca671603291 src/polar_sdk/models/customerdeletedevent.py: - last_write_checksum: sha1:8be56b809d1028490c428eff8e076674f5c69250 + last_write_checksum: sha1:d8d1f6c5da7a6fe8b75617b77fdb1c7498ce6af4 src/polar_sdk/models/customerdeletedmetadata.py: last_write_checksum: sha1:924bccc9e5bf2d2b2fa6a319da591cb381b6cf1b src/polar_sdk/models/customermeter.py: @@ -7060,7 +7177,7 @@ trackedFiles: src/polar_sdk/models/customerorderpaymentstatus.py: last_write_checksum: sha1:ec41503e78a60c61886dde6da72d30f59d450f58 src/polar_sdk/models/customerorderproduct.py: - last_write_checksum: sha1:5cf08117b58c127fd188e4810311e1cd2821599e + last_write_checksum: sha1:055dfc969516609c6078a8cc0503ed529be1f31a src/polar_sdk/models/customerordersortproperty.py: last_write_checksum: sha1:729c15710575f450523ec6cca5f57d3d7044c527 src/polar_sdk/models/customerordersubscription.py: @@ -7068,9 +7185,11 @@ trackedFiles: src/polar_sdk/models/customerorderupdate.py: last_write_checksum: sha1:a5ac5ca232cfb55b024fa862ca28d5426f30442e src/polar_sdk/models/customerorganization.py: - last_write_checksum: sha1:4c11f65f032be37956605a95c891e4e707d7c3aa + last_write_checksum: sha1:471e3e09f6c267e461cb0481259a5a844354eec5 src/polar_sdk/models/customerorganizationdata.py: last_write_checksum: sha1:d619c94676f349354bf96ced7d9a48f40d8ef937 + src/polar_sdk/models/customerorganizationfeaturesettings.py: + last_write_checksum: sha1:679790963ff138354e531cb13578da438ebd43b4 src/polar_sdk/models/customerpaymentmethod.py: last_write_checksum: sha1:42325a8c394d54fd6e789da4a9046b60c0a619d5 src/polar_sdk/models/customerpaymentmethodconfirm.py: @@ -7078,15 +7197,21 @@ trackedFiles: src/polar_sdk/models/customerpaymentmethodcreate.py: last_write_checksum: sha1:2ea6ceb2e5ec97151ade0410e6684f26c397eb83 src/polar_sdk/models/customerpaymentmethodcreaterequiresactionresponse.py: - last_write_checksum: sha1:4e9128f8dc151a0d667da9580bd279f61224e06f + last_write_checksum: sha1:56aeccc4c3d66d8e133198c4e177b0777bbbfa80 src/polar_sdk/models/customerpaymentmethodcreateresponse.py: last_write_checksum: sha1:eaf845f8c07d8b37e358e49b93c1e49aff270f81 src/polar_sdk/models/customerpaymentmethodcreatesucceededresponse.py: - last_write_checksum: sha1:2c4594c37a60c54ebee98ea2a8926c60d338534f + last_write_checksum: sha1:434015438b0b7617025824e801b081c2602daac1 src/polar_sdk/models/customerportalcustomer.py: - last_write_checksum: sha1:a42a1de875066d917c4159fd4792c071bec8d8e2 + last_write_checksum: sha1:19475a7632c2e55b58da6a95fffb66c008273dbd src/polar_sdk/models/customerportalcustomerupdate.py: last_write_checksum: sha1:80bf0166e00e47092db5c4f6abf046577efb4e8f + src/polar_sdk/models/customerportalmember.py: + last_write_checksum: sha1:416610b23822368efb778ecac7daeb1a1b5e5416 + src/polar_sdk/models/customerportalmembercreate.py: + last_write_checksum: sha1:ee216040ffae04c2f1840efbf467fc2cb98c203c + src/polar_sdk/models/customerportalmemberupdate.py: + last_write_checksum: sha1:c9ff222f73db5987b75cd4f987b40889daecc3c9 src/polar_sdk/models/customerportaloauthaccount.py: last_write_checksum: sha1:ec596f8f758c1ead19f75da0840b95c9d2e159b8 src/polar_sdk/models/customerportalsubscriptionsettings.py: @@ -7094,7 +7219,7 @@ trackedFiles: src/polar_sdk/models/customerportalusagesettings.py: last_write_checksum: sha1:f3f7e775c73cffc71eb3ba71b3894693cd106471 src/polar_sdk/models/customerproduct.py: - last_write_checksum: sha1:c2cd3b2fa21c06a2f851cb4269236eed2500c57a + last_write_checksum: sha1:75cf5271a13bfe331bc8416dbc389e5abcb354e2 src/polar_sdk/models/customers_delete_externalop.py: last_write_checksum: sha1:eae31efede03835d918b4a3134d3ada6a36cf900 src/polar_sdk/models/customers_deleteop.py: @@ -7114,7 +7239,7 @@ trackedFiles: src/polar_sdk/models/customers_updateop.py: last_write_checksum: sha1:70434f0e5a642b2bb8d66d8557d0e241fd6e03a1 src/polar_sdk/models/customerseat.py: - last_write_checksum: sha1:740173b015e7bcbc6f8e94251563896d56f6ee7b + last_write_checksum: sha1:4ce772f46ed47b9533e500ebe6c11707e86df76e src/polar_sdk/models/customerseatclaimresponse.py: last_write_checksum: sha1:a13f57e778b286d50e5deda5031b62dcfe70ed28 src/polar_sdk/models/customersession.py: @@ -7126,7 +7251,7 @@ trackedFiles: src/polar_sdk/models/customersortproperty.py: last_write_checksum: sha1:91b2ba75dad715b2b559c19888967183cba8c2ae src/polar_sdk/models/customerstate.py: - last_write_checksum: sha1:2f53a51092a70bffb6c67b8b5754e07ef6f3cad7 + last_write_checksum: sha1:789aa29f79b3fef55738fe53f5210c251abd2ab1 src/polar_sdk/models/customerstatebenefitgrant.py: last_write_checksum: sha1:a73cc06a57b140e01b282422b9af5b672c44e61f src/polar_sdk/models/customerstatemeter.py: @@ -7144,7 +7269,7 @@ trackedFiles: src/polar_sdk/models/customersubscriptionmetermeter.py: last_write_checksum: sha1:dc98bdde8c6f3acf77a9567c6dc0cf9d1446fe72 src/polar_sdk/models/customersubscriptionproduct.py: - last_write_checksum: sha1:a4ecbc31df2816422b3f43e79698c5b22b507cbb + last_write_checksum: sha1:b5dda2a5535c79b1b6e36a32c2c59261d49f94fc src/polar_sdk/models/customersubscriptionsortproperty.py: last_write_checksum: sha1:a4ea6e34c23d78cfd19b17124e21682a9e665a7b src/polar_sdk/models/customersubscriptionupdate.py: @@ -7153,50 +7278,52 @@ trackedFiles: last_write_checksum: sha1:b711f93042bee59ea1c95e07f36fc426928417de src/polar_sdk/models/customersubscriptionupdateseats.py: last_write_checksum: sha1:13fbdc5f1449aa9cac1fbf59bd2271e85dd697d1 + src/polar_sdk/models/customertype.py: + last_write_checksum: sha1:997439be7592250f2929b02b734c9d46f8b058b0 src/polar_sdk/models/customerupdate.py: - last_write_checksum: sha1:9093a49a22b1ba613d445380db6806edc85ce06c + last_write_checksum: sha1:f67d8545fd92ccd03bc279f381440b4a9ed8415c src/polar_sdk/models/customerupdatedevent.py: - last_write_checksum: sha1:19fca5681bb135ff6ecc61a77f9047586ae215e5 + last_write_checksum: sha1:323cfc546158eb2ead414407e317ffab0b57ccae src/polar_sdk/models/customerupdatedfields.py: last_write_checksum: sha1:0f178705b7d59897afe5beec3e24e0e3eeb34498 src/polar_sdk/models/customerupdatedmetadata.py: last_write_checksum: sha1:0bb8ce9122ef1a9723842b85c8fd758561fbec88 src/polar_sdk/models/customerupdateexternalid.py: - last_write_checksum: sha1:ef06062e0739f9aba3dc3b32e718970a908b2d56 + last_write_checksum: sha1:bde6404b2013ab7409714136cc44015b9fd46d24 src/polar_sdk/models/customerwallet.py: last_write_checksum: sha1:0c5133491eb9476e9fb24ba70991e2716b7d79c1 src/polar_sdk/models/customerwalletsortproperty.py: last_write_checksum: sha1:a6a6baead98c169ad6db897799a7be326aaf5062 src/polar_sdk/models/customerwithmembers.py: - last_write_checksum: sha1:8f1323d1a27f978da5213c6ec3fb8c09ba320373 + last_write_checksum: sha1:7e179275a4d6677a4114bcc0fb37d055a07f47d5 src/polar_sdk/models/customfield.py: last_write_checksum: sha1:4c750256f47fa30b491962c19b9b8029c7375942 src/polar_sdk/models/customfieldcheckbox.py: - last_write_checksum: sha1:ba2e063b4d3c3753408c0448c42238787faf1ad7 + last_write_checksum: sha1:f39620ceaecaa1e967f2199f9e6735254ec62a2c src/polar_sdk/models/customfieldcheckboxproperties.py: last_write_checksum: sha1:25d8dc48c6d87d725d78bd7e55b471faf83d69e4 src/polar_sdk/models/customfieldcreate.py: last_write_checksum: sha1:48d46f254dcdf9a85c4fccbe8b97ac8e87552c7a src/polar_sdk/models/customfieldcreatecheckbox.py: - last_write_checksum: sha1:bc3f1092c5ae979495c8269a3baf45764e9abf75 + last_write_checksum: sha1:82cd2b0edda24db23f0f5e1164fddaf7ac7ea518 src/polar_sdk/models/customfieldcreatedate.py: - last_write_checksum: sha1:a9e4bae9fad11641c3a7ae20a10b4e4a071eadb5 + last_write_checksum: sha1:8640572f48c2843a76c1cb65ae329ac2a38fcb69 src/polar_sdk/models/customfieldcreatenumber.py: - last_write_checksum: sha1:51efc27b6422f55ac889f2e2e90b53c46ef24072 + last_write_checksum: sha1:9d77c930e4733306a6a5fe56c4116fc4224cd524 src/polar_sdk/models/customfieldcreateselect.py: - last_write_checksum: sha1:1eb70dd2c4f67b58a3ea1b96b38d6e0d44322282 + last_write_checksum: sha1:5960b783ba6f9da4347ce53dfe7be1c6d38d0c3f src/polar_sdk/models/customfieldcreatetext.py: - last_write_checksum: sha1:23bebd121290f53bd04f1069e410b8afbb125790 + last_write_checksum: sha1:a64eea97b82a6cd1b16968c0d8f15fdc8fcf8e20 src/polar_sdk/models/customfielddate.py: - last_write_checksum: sha1:766d5097c903361b32d93e025ac1a741d75b54c8 + last_write_checksum: sha1:7fc8708c5ffa6554a316ef5a43b7929a4d70ead4 src/polar_sdk/models/customfielddateproperties.py: last_write_checksum: sha1:8598f1150beee8f0afc1fcafc1457023dc75b2a1 src/polar_sdk/models/customfieldnumber.py: - last_write_checksum: sha1:b8cf4b048f9ccfe3bd1735817918adf6d4197fd9 + last_write_checksum: sha1:349efadd71357c39a3533fd6008d91fdb6f669d8 src/polar_sdk/models/customfieldnumberproperties.py: last_write_checksum: sha1:f3f759f1f9a90fd05c46edd6013abc0a68ed456a src/polar_sdk/models/customfieldselect.py: - last_write_checksum: sha1:82019ba2640a5aa352b55abc148fe210a66fea95 + last_write_checksum: sha1:f4f97f272ad850b8a5295f26d1b42dc9c6aa4058 src/polar_sdk/models/customfieldselectoption.py: last_write_checksum: sha1:c1febfc41cb58c3ab166b38d31212a2dd3028a24 src/polar_sdk/models/customfieldselectproperties.py: @@ -7204,7 +7331,7 @@ trackedFiles: src/polar_sdk/models/customfieldsortproperty.py: last_write_checksum: sha1:b9b77fc9623fc7bed0d888fcb3221e62e71c3eb5 src/polar_sdk/models/customfieldtext.py: - last_write_checksum: sha1:9e020012aa972042c0260f09f81bcec283901295 + last_write_checksum: sha1:17383422b26b0be1f32f57fbe809d14171f2061c src/polar_sdk/models/customfieldtextproperties.py: last_write_checksum: sha1:380030f483a2cf110ef671006e86ca69a79d0253 src/polar_sdk/models/customfieldtype.py: @@ -7212,15 +7339,15 @@ trackedFiles: src/polar_sdk/models/customfieldupdate.py: last_write_checksum: sha1:5084aad525c61079ca1c4109c7d135258830e65b src/polar_sdk/models/customfieldupdatecheckbox.py: - last_write_checksum: sha1:9ce66e92c0b2b90f3f2a2dd55074cc6668e87f54 + last_write_checksum: sha1:1faab26ca7a4354b9366b3c61260f2e4c2414c33 src/polar_sdk/models/customfieldupdatedate.py: - last_write_checksum: sha1:ae3b83e14d8322dc970a3917611a0cdf31d9da5f + last_write_checksum: sha1:8b195116009923d6fd4d9e8de53ae5ca2df591e9 src/polar_sdk/models/customfieldupdatenumber.py: - last_write_checksum: sha1:fe1a577c6f6212b11500abae3e15df8ae7824117 + last_write_checksum: sha1:86d5fc99ab9dd29f27ebe6a8d955f5ff38c57f68 src/polar_sdk/models/customfieldupdateselect.py: - last_write_checksum: sha1:5f9c6768c24454cbfd5d903ab8410566dd6ee6c4 + last_write_checksum: sha1:91771f1611b0c478142da4b30f8eac89c22139f4 src/polar_sdk/models/customfieldupdatetext.py: - last_write_checksum: sha1:b3f3f432a514966986bd118d5289e5f4827d113b + last_write_checksum: sha1:4bd381c2416ea5b84f7d6ec67f70c5d44e291597 src/polar_sdk/models/discount.py: last_write_checksum: sha1:6a85c3497f6a5ed44d11dc994900f0ec080d1914 src/polar_sdk/models/discountcreate.py: @@ -7252,7 +7379,7 @@ trackedFiles: src/polar_sdk/models/discountpercentagerepeatdurationcreate.py: last_write_checksum: sha1:aca58565411e4a150e174f4880ef48fdd8e55d16 src/polar_sdk/models/discountproduct.py: - last_write_checksum: sha1:6d8b10968f6736b82797f0b53d0e6bf819dc753b + last_write_checksum: sha1:d644183e27941d35454c62634d9127760b54289b src/polar_sdk/models/discounts_deleteop.py: last_write_checksum: sha1:6e1203ee74ed8a606404ba443efa7526039f845f src/polar_sdk/models/discounts_getop.py: @@ -7278,9 +7405,9 @@ trackedFiles: src/polar_sdk/models/disputestatus.py: last_write_checksum: sha1:256b35908c74ed410ef06b8202cbd7e4c4fb4904 src/polar_sdk/models/downloadablefilecreate.py: - last_write_checksum: sha1:c2f39eeb01c4c66c04952060dc821a391e807dd2 + last_write_checksum: sha1:7f007fc27f61c6906986e54ddadbcfc3aacf35a8 src/polar_sdk/models/downloadablefileread.py: - last_write_checksum: sha1:69151b6a11af7bc669d2a24afba8e605d29577ca + last_write_checksum: sha1:08ec4d8b79521591f94d918cfb885d397e298081 src/polar_sdk/models/downloadableread.py: last_write_checksum: sha1:d027849077505fa069b672b8d1f55582b0bae83b src/polar_sdk/models/event.py: @@ -7290,9 +7417,9 @@ trackedFiles: src/polar_sdk/models/event_types_updateop.py: last_write_checksum: sha1:9da313c226c30b57454b8c8e3deab0141ef3a38b src/polar_sdk/models/eventcreatecustomer.py: - last_write_checksum: sha1:7e6759ddb53166c57a297a00b9234c941e16d86a + last_write_checksum: sha1:1a0bfd24fc84a335a26446266251b5cc76c1e6e8 src/polar_sdk/models/eventcreateexternalcustomer.py: - last_write_checksum: sha1:75dfe945190cb3b14de5164a2c3a415aeed26308 + last_write_checksum: sha1:9ab05b1837a143aadfc12e45a461720b8b44420c src/polar_sdk/models/eventmetadatainput.py: last_write_checksum: sha1:fbce340079f1c9408b7eca12d6298ba391ae7f2a src/polar_sdk/models/eventmetadataoutput.py: @@ -7364,11 +7491,11 @@ trackedFiles: src/polar_sdk/models/legacyrecurringproductprice.py: last_write_checksum: sha1:ffec681fbd5c09606933303539d942cb4a47af23 src/polar_sdk/models/legacyrecurringproductpricecustom.py: - last_write_checksum: sha1:4ee57a3f72f38d16b531ab7b3fbdda3e34a23936 + last_write_checksum: sha1:bec884793757dfc2729a1324f4ea9f5f80084c8a src/polar_sdk/models/legacyrecurringproductpricefixed.py: - last_write_checksum: sha1:a27da4db5af8473a5fe07cfd050ed2180b74e389 + last_write_checksum: sha1:f563fc91f603fa3995eff4047ef3f6c0a91c237a src/polar_sdk/models/legacyrecurringproductpricefree.py: - last_write_checksum: sha1:791781b3385f5c81d38de05cba93c0d05936cc95 + last_write_checksum: sha1:4be8ee34df7bf81cedd6aaa6e55c9acf8ce156e9 src/polar_sdk/models/license_keys_get_activationop.py: last_write_checksum: sha1:4421b41d10d32d4a1cdafc69e2aa11c2c068b03d src/polar_sdk/models/license_keys_getop.py: @@ -7384,7 +7511,7 @@ trackedFiles: src/polar_sdk/models/licensekeyactivationread.py: last_write_checksum: sha1:8b898e3c77a1929dcb4106cff835fb71460d2512 src/polar_sdk/models/licensekeycustomer.py: - last_write_checksum: sha1:e792171d3a3ae7b4bda18e4856292f4a70b40a4b + last_write_checksum: sha1:e629420074d48313ec3487ea5a4c29dcf41fbdfa src/polar_sdk/models/licensekeydeactivate.py: last_write_checksum: sha1:11c04cc65dbaeff84247ac2c3eeae27ec69a200d src/polar_sdk/models/licensekeyread.py: @@ -7490,19 +7617,19 @@ trackedFiles: src/polar_sdk/models/metadataoutputtype.py: last_write_checksum: sha1:3c57abe09e4552576029c7faf56d66d9e02ece4e src/polar_sdk/models/meter.py: - last_write_checksum: sha1:8f3191d53ebcd41d34ef3f2ed701f653f7886bdb + last_write_checksum: sha1:2c654cb9ee55698d458b90185eb6d1413c4e0d49 src/polar_sdk/models/metercreate.py: - last_write_checksum: sha1:498133f679ceec75c00380a54ade53c56a266588 + last_write_checksum: sha1:205785a6335e735c3e000424e981057100c678fb src/polar_sdk/models/metercreditedmetadata.py: last_write_checksum: sha1:2b66e36b542c1a8e8e004ba63d66808fd1946ead src/polar_sdk/models/metercreditevent.py: - last_write_checksum: sha1:58ea3ff25297775ae7d249e4289d74bec19dc745 + last_write_checksum: sha1:d930974f96cad25d58e28e0d8af90c6e39c78b6f src/polar_sdk/models/meterquantities.py: last_write_checksum: sha1:147c0b05acf139c2514b581b89efb50fc76ab29d src/polar_sdk/models/meterquantity.py: last_write_checksum: sha1:e122477c7a037e31e1dd969d4fcdeca86b723547 src/polar_sdk/models/meterresetevent.py: - last_write_checksum: sha1:b8bcc893e8789a71d928755fcc6118ab3751c44e + last_write_checksum: sha1:b3a0812771211e3d87ba2a1b60068390a1427fe0 src/polar_sdk/models/meterresetmetadata.py: last_write_checksum: sha1:0085862af19874c71ea05f61842cc98822781d0f src/polar_sdk/models/meters_getop.py: @@ -7512,7 +7639,7 @@ trackedFiles: src/polar_sdk/models/metersortproperty.py: last_write_checksum: sha1:fbe49d9d45d15118377e107d496442175c5abf47 src/polar_sdk/models/meterupdate.py: - last_write_checksum: sha1:bc644faa97f68bef4786c705e3326327f9cb99f4 + last_write_checksum: sha1:e21613cb544bc68a3236e050e90c67e9a143aa41 src/polar_sdk/models/metric.py: last_write_checksum: sha1:e3bff6cc55dc2c23b6119060ef82450a8f869b06 src/polar_sdk/models/metricperiod.py: @@ -7544,9 +7671,9 @@ trackedFiles: src/polar_sdk/models/notpermitted.py: last_write_checksum: sha1:168d8616b88e1554c8a05eebf7d94048ea1b4da7 src/polar_sdk/models/oauth2clientconfiguration.py: - last_write_checksum: sha1:8dbbdccab584da45647175a55bd8e27b296b10c0 + last_write_checksum: sha1:fefb05f9bd9a90819df7259773308fcc60b5f088 src/polar_sdk/models/oauth2clientconfigurationupdate.py: - last_write_checksum: sha1:7b0a4e56c4282de372b90862b6436d04aa9d5253 + last_write_checksum: sha1:0f18935736c3ce55b7cb1b50c9e05520bc9a5c7e src/polar_sdk/models/oauth2clientpublic.py: last_write_checksum: sha1:1200780efa3af82b7dd3cd4ba4b8bb640530d467 src/polar_sdk/models/oauth2_authorizeop.py: @@ -7566,7 +7693,7 @@ trackedFiles: src/polar_sdk/models/orderbillingreason.py: last_write_checksum: sha1:3b294070e89e6d9f91bdd42c34207bc44769b5b1 src/polar_sdk/models/ordercustomer.py: - last_write_checksum: sha1:54f35f4d129c034f3670600c627545ded481fe9b + last_write_checksum: sha1:bd6f750d6e286034f8ff90f6fac3b878795faaa9 src/polar_sdk/models/orderinvoice.py: last_write_checksum: sha1:21020a291e1d6153cf8efa40bdff3f50f7def599 src/polar_sdk/models/orderitemschema.py: @@ -7574,13 +7701,13 @@ trackedFiles: src/polar_sdk/models/ordernoteligibleforretry.py: last_write_checksum: sha1:cd1ab440c9b5bd1d8b438beeb66118e4d053c242 src/polar_sdk/models/orderpaidevent.py: - last_write_checksum: sha1:b113e198c29e051767fad9facd022840c246f6ad + last_write_checksum: sha1:99aab41e5742f8c2f5fde85a4ea4c0eb59979ab6 src/polar_sdk/models/orderpaidmetadata.py: last_write_checksum: sha1:9e0ac66e01cabf07ec183a8cd3450792cb0ccb47 src/polar_sdk/models/orderproduct.py: - last_write_checksum: sha1:931028caa2a4e12309c8a22001e32b1c3e6812ef + last_write_checksum: sha1:9fc4a7be9cf8ef54bfd0878c917407469509578a src/polar_sdk/models/orderrefundedevent.py: - last_write_checksum: sha1:590515907cb61a9e886f340db9658de484cd901e + last_write_checksum: sha1:0d17f2de8d673a47900ed2d6173bc337c5c4b93c src/polar_sdk/models/orderrefundedmetadata.py: last_write_checksum: sha1:3ce8e61cc2ef8c8368ee802783a7783e2c4b9660 src/polar_sdk/models/orders_exportop.py: @@ -7602,7 +7729,7 @@ trackedFiles: src/polar_sdk/models/orderupdate.py: last_write_checksum: sha1:dd414d2e6e16480e678238367b44fa048ce73d48 src/polar_sdk/models/organization.py: - last_write_checksum: sha1:515f4eada5a9d9e308a45fafdd9677790f4d7e41 + last_write_checksum: sha1:bf20ca3fd773b874c088b22240cdcfb5b0d14912 src/polar_sdk/models/organization_access_tokens_deleteop.py: last_write_checksum: sha1:d1a2e56defb6bb2b7036b7311b28a99174880b1d src/polar_sdk/models/organization_access_tokens_listop.py: @@ -7620,11 +7747,11 @@ trackedFiles: src/polar_sdk/models/organizationaccesstokenupdate.py: last_write_checksum: sha1:47aa8b397c8d7047f53d885fe9485543cff3b7b1 src/polar_sdk/models/organizationavatarfilecreate.py: - last_write_checksum: sha1:5b226c042814fa144dab479eb482c6aefbe6b85b + last_write_checksum: sha1:2425395e8ab97ddccec5b16a6080335577536c52 src/polar_sdk/models/organizationavatarfileread.py: - last_write_checksum: sha1:80783d65b0e521a7f8e52b6a7ddc7c2a2617a3cd + last_write_checksum: sha1:5f4d75d70ab6c28992b3d872248373744f6b299d src/polar_sdk/models/organizationcreate.py: - last_write_checksum: sha1:8b8cf871ca0b2f60fe2f4d6f1b1800f47fc34c24 + last_write_checksum: sha1:b68b52fba27724becee54fec2409a62f0aae7de8 src/polar_sdk/models/organizationcustomeremailsettings.py: last_write_checksum: sha1:b0be4c655d64f2a84c24c4f21cc63972e90ab40b src/polar_sdk/models/organizationcustomerportalsettings.py: @@ -7632,7 +7759,7 @@ trackedFiles: src/polar_sdk/models/organizationdetails.py: last_write_checksum: sha1:52a57a8fd2f7a6abc4fa937d63faa85f3be06e39 src/polar_sdk/models/organizationfeaturesettings.py: - last_write_checksum: sha1:46e8267fad2d9286f1ea561e9671258e7f57e0f1 + last_write_checksum: sha1:39f3f88f5fa7c7c8c0a5542de20e1f5b6eeba37c src/polar_sdk/models/organizationnotificationsettings.py: last_write_checksum: sha1:d56d2a800ac2800e155ca918ff4e6765797ee3ed src/polar_sdk/models/organizations_getop.py: @@ -7652,7 +7779,7 @@ trackedFiles: src/polar_sdk/models/organizationsubscriptionsettings.py: last_write_checksum: sha1:73a282ee26583928dae0e91c03a6e9941be37a75 src/polar_sdk/models/organizationupdate.py: - last_write_checksum: sha1:909c008af6a1836a92afc4be40a141876cda0926 + last_write_checksum: sha1:164f67295845db7863b1bcba62f4216c53dd875a src/polar_sdk/models/ownercreate.py: last_write_checksum: sha1:a0088a9c13b917347a481d12609f724d2d95bcab src/polar_sdk/models/pagination.py: @@ -7664,7 +7791,7 @@ trackedFiles: src/polar_sdk/models/paymenterror.py: last_write_checksum: sha1:3431d53c1df93442c33c2d8410b333daae4c70d8 src/polar_sdk/models/paymentmethodcard.py: - last_write_checksum: sha1:5f9b6e96282ecfe0bfe95fe69c702622dbe10a76 + last_write_checksum: sha1:8e7b43e72ba7936cfba777a66b03cef16cd11b81 src/polar_sdk/models/paymentmethodcardmetadata.py: last_write_checksum: sha1:d6baf646e49c2fef22e53ebc2bb5942128451f53 src/polar_sdk/models/paymentmethodgeneric.py: @@ -7686,11 +7813,11 @@ trackedFiles: src/polar_sdk/models/polarerror.py: last_write_checksum: sha1:d09a746165d04c355e8bad3d060c49766ca58b32 src/polar_sdk/models/portalauthenticateduser.py: - last_write_checksum: sha1:c544291150700348a5dc63cd126db5a40bee1e66 + last_write_checksum: sha1:c7c90205b663df365dfb4dc5c0d0120455ac80e3 src/polar_sdk/models/presentmentcurrency.py: - last_write_checksum: sha1:f1058df4dd9045e75f262e8c566fd420179a9398 + last_write_checksum: sha1:851f5d7153dd35efea723d13f86559874cdc7b60 src/polar_sdk/models/product.py: - last_write_checksum: sha1:433fb8364215756afc317b968c6d253bfbd96f1b + last_write_checksum: sha1:c0f9af580a59ea0d13b7f61989e002bff2c22158 src/polar_sdk/models/productbenefitsupdate.py: last_write_checksum: sha1:14900af3b1200e10fb292f5ab862d69ec1714ae9 src/polar_sdk/models/productbillingtype.py: @@ -7698,37 +7825,37 @@ trackedFiles: src/polar_sdk/models/productcreate.py: last_write_checksum: sha1:b4b0e18f2d9e0a3087f41f0f3d0c2367e4a3b066 src/polar_sdk/models/productcreateonetime.py: - last_write_checksum: sha1:3e985e87b98235661796fefc2d1c880f6d0112cc + last_write_checksum: sha1:f9a29be7979d6adf7ac2953a93fe14f0ecf35f2e src/polar_sdk/models/productcreaterecurring.py: - last_write_checksum: sha1:b8182391bdf5cef6ac5fd5920fd92135071add3c + last_write_checksum: sha1:b1222c4c05877f3d123e2bdec70fe18513e6ca02 src/polar_sdk/models/productmediafilecreate.py: - last_write_checksum: sha1:b568c179ea96985a71bdff570675cbd5d9f8483d + last_write_checksum: sha1:93791218d5a63ae1523c44792026407bbfea31ca src/polar_sdk/models/productmediafileread.py: - last_write_checksum: sha1:e027eec9ce8625f3a7350a02b54b73427d9e0385 + last_write_checksum: sha1:8ec7f4865b51cf5c573a1c163dc5da503448f8e6 src/polar_sdk/models/productprice.py: last_write_checksum: sha1:94940ba8feb6d3d69a0b63c7ecbd7602892c5de2 src/polar_sdk/models/productpricecustom.py: - last_write_checksum: sha1:0dcf4bcf47c426920a8ae1d797ddc0c9a933a95a + last_write_checksum: sha1:4192787d21cd9d67d38210100679f6be15783397 src/polar_sdk/models/productpricecustomcreate.py: - last_write_checksum: sha1:d72776382642804196cce43aa8ba290b20470d6f + last_write_checksum: sha1:39c983fd34c3727aead40d2fea4a187f9f6f7470 src/polar_sdk/models/productpricefixed.py: - last_write_checksum: sha1:db502819c0cdbbabbbd1ffbc9c78b11dea73425d + last_write_checksum: sha1:5fea5cd9fc3c19a033993eb87a20142dd2e246ec src/polar_sdk/models/productpricefixedcreate.py: - last_write_checksum: sha1:587c9f66f152a87d5c6996cd44b1941cd1052169 + last_write_checksum: sha1:7767ac61506d6d37511e404a577cd34c290bbd69 src/polar_sdk/models/productpricefree.py: - last_write_checksum: sha1:c5b7f8744f0d740669614bf0113fb66c363a9c95 + last_write_checksum: sha1:6f4093bb5bcd52efc43e1cb06e4a920d37a4446f src/polar_sdk/models/productpricefreecreate.py: - last_write_checksum: sha1:8a3660cfcb1f12408246fa74bf37cdb2b994e054 + last_write_checksum: sha1:7b0a9fac8845e4767da5691746a9ac88eb76a7c5 src/polar_sdk/models/productpricemeter.py: last_write_checksum: sha1:5fbb6ea55768826cc63e705a5689f430e284d580 src/polar_sdk/models/productpricemeteredunit.py: - last_write_checksum: sha1:19e84c8eacfd9354a108cbac8946bdd0d2421d20 + last_write_checksum: sha1:556b349e8ead0cafe848a75a7820dc78f61c6bd3 src/polar_sdk/models/productpricemeteredunitcreate.py: - last_write_checksum: sha1:d90d433852fa33bdfd7927bbeab5225e5892c4ed + last_write_checksum: sha1:5e13a5daf224343d46db2aff45e8689cec7c1cd2 src/polar_sdk/models/productpriceseatbased.py: - last_write_checksum: sha1:ea1d1f077e647a6bd7762b40e6df847462c1f0c4 + last_write_checksum: sha1:fd3c8b0bf4af3517069d40d711cd92eef8184fd0 src/polar_sdk/models/productpriceseatbasedcreate.py: - last_write_checksum: sha1:68d4efa4185056389e1b192afbe40a9ffb014e4a + last_write_checksum: sha1:3561bd01bfdfcbc87c0212f4bc749d2657f19250 src/polar_sdk/models/productpriceseattier.py: last_write_checksum: sha1:cb3b52b4917ff750d3bd3920635523b40d81cef5 src/polar_sdk/models/productpriceseattiers_input.py: @@ -7748,11 +7875,13 @@ trackedFiles: src/polar_sdk/models/productsortproperty.py: last_write_checksum: sha1:e2721f46be9707be06b4842fccc6e38e3d98f890 src/polar_sdk/models/productupdate.py: - last_write_checksum: sha1:72501c89662cb5565afc13ad21d63a34644100cf + last_write_checksum: sha1:6223403963d2c911da1deed6cdbf3afe59599de9 + 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/refreshtokenrequest.py: - last_write_checksum: sha1:187828f238ba0bed9db0879a40eb57be1661d502 + last_write_checksum: sha1:b4fec4fc3721b3c422ae9086faa7f6c2fb364478 src/polar_sdk/models/refund.py: last_write_checksum: sha1:9994db472c01b7b274462d03f8126914730dcdda src/polar_sdk/models/refundcreate.py: @@ -7790,11 +7919,11 @@ trackedFiles: src/polar_sdk/models/s3fileuploadpart.py: last_write_checksum: sha1:383b46b183bc6a1be2db584b286f4318c1d56d96 src/polar_sdk/models/scope.py: - last_write_checksum: sha1:bc71a26776902a6f4b93defc574720c57db6404c + last_write_checksum: sha1:a73892d8448a4da1d7c5161f67ae623cbb3eb717 src/polar_sdk/models/sdkerror.py: last_write_checksum: sha1:409dc5170c233e828971025155f631c8e49dcf70 src/polar_sdk/models/seatassign.py: - last_write_checksum: sha1:094100576b04f078305d37055265e5e492d277bc + last_write_checksum: sha1:423738d7395e510b300f99297f7fa5d05f004744 src/polar_sdk/models/seatclaim.py: last_write_checksum: sha1:8a01e747e2fd9f23c37f0f3a92048b2cea4de4a9 src/polar_sdk/models/seatclaiminfo.py: @@ -7808,27 +7937,27 @@ trackedFiles: src/polar_sdk/models/subscription.py: last_write_checksum: sha1:250c1c6e8a6766a9e77bdde14de4498ff7de44f8 src/polar_sdk/models/subscriptionbillingperiodupdatedevent.py: - last_write_checksum: sha1:908154976a84f9f65ec77fd47dc251136bbd3596 + last_write_checksum: sha1:0bf386ad8252f78a8600ae50b9342a896527667a src/polar_sdk/models/subscriptionbillingperiodupdatedmetadata.py: last_write_checksum: sha1:12039fd056f6c9bba09f1e772b2687a704671d96 src/polar_sdk/models/subscriptioncancel.py: last_write_checksum: sha1:8278ef99a11500529ed06e58563943799f6e69f6 src/polar_sdk/models/subscriptioncanceledevent.py: - last_write_checksum: sha1:5163b0131cdd4383972594208ad62ad32b2b80c7 + last_write_checksum: sha1:065c4a1f9d01c32206b0b7eb69779f3303a7be04 src/polar_sdk/models/subscriptioncanceledmetadata.py: last_write_checksum: sha1:b0ba4f16dcf8870aefad04c05629a885abc0114a src/polar_sdk/models/subscriptioncreatecustomer.py: last_write_checksum: sha1:fb135db7ada15f453df10fdc1038518e2abf54e6 src/polar_sdk/models/subscriptioncreatedevent.py: - last_write_checksum: sha1:8f7f08de8d533be17c1e3145676491411bdaf455 + last_write_checksum: sha1:992072b39ccca7f68b0c238f346fce5555de134c src/polar_sdk/models/subscriptioncreatedmetadata.py: last_write_checksum: sha1:2573ffe6881d056ce33ef73145fc959493523c18 src/polar_sdk/models/subscriptioncreateexternalcustomer.py: last_write_checksum: sha1:f92f86fda92697a0aa0a6301f56d747020f9fa38 src/polar_sdk/models/subscriptioncustomer.py: - last_write_checksum: sha1:27d4e79d8ad175636107c8aa6d315640c314103f + last_write_checksum: sha1:eb517008f821acd6034183d76418a105f6caec3c src/polar_sdk/models/subscriptioncycledevent.py: - last_write_checksum: sha1:e723b8c873d8d2f56e309b9a820588b49dfb9ba6 + last_write_checksum: sha1:8030fe02d25d865c050ba41b4c38251f99cab5d4 src/polar_sdk/models/subscriptioncycledmetadata.py: last_write_checksum: sha1:0fb22b1d85be5c17e700e9103a5e148a038eb8d8 src/polar_sdk/models/subscriptionlocked.py: @@ -7836,7 +7965,7 @@ trackedFiles: src/polar_sdk/models/subscriptionmeter.py: last_write_checksum: sha1:379bdecd5e3c814632572832216d6f7750f64608 src/polar_sdk/models/subscriptionproductupdatedevent.py: - last_write_checksum: sha1:2de52434318447ee25ed5009942b6c51656ec967 + last_write_checksum: sha1:25ed43f83eb37cea4e44b29c4df3ef06e61ef836 src/polar_sdk/models/subscriptionproductupdatedmetadata.py: last_write_checksum: sha1:30d2e991818d04c91325383c3389481f400fe4fc src/polar_sdk/models/subscriptionprorationbehavior.py: @@ -7844,9 +7973,9 @@ trackedFiles: src/polar_sdk/models/subscriptionrecurringinterval.py: last_write_checksum: sha1:50e3c8d161461516c61f3e5ff97fe69ce52648fd src/polar_sdk/models/subscriptionrevoke.py: - last_write_checksum: sha1:135c7b0e182e7c38830247eb142559c95709fc08 + last_write_checksum: sha1:5b9b51291b965a4c022d2b25a40f8102163f8eac src/polar_sdk/models/subscriptionrevokedevent.py: - last_write_checksum: sha1:c29fe8313bb3e317f779a2f7e455e206b122adc3 + last_write_checksum: sha1:184833444cd9dccf76db8ec94deaa4652c3d0853 src/polar_sdk/models/subscriptionrevokedmetadata.py: last_write_checksum: sha1:ae2224d2e5c0e3f673ddfa0c16707de974b69082 src/polar_sdk/models/subscriptions_createop.py: @@ -7856,13 +7985,13 @@ trackedFiles: src/polar_sdk/models/subscriptions_getop.py: last_write_checksum: sha1:74872cc7de547940f4189bbabea5d8d4803837e1 src/polar_sdk/models/subscriptions_listop.py: - last_write_checksum: sha1:9b2599f0f0641d46cdf8b2fdb8658fc6ddf95a21 + last_write_checksum: sha1:95475ddd52aca30442401b9f1fd7c95378f31fa8 src/polar_sdk/models/subscriptions_revokeop.py: last_write_checksum: sha1:e1ca41a0bf57c37d748d641ca62cea7b71509537 src/polar_sdk/models/subscriptions_updateop.py: last_write_checksum: sha1:ff18a56bf7c112d2e83ccd47faded468b6a9f909 src/polar_sdk/models/subscriptionseatsupdatedevent.py: - last_write_checksum: sha1:6f533fe2fe3f8f2df91aa3f79731c8ec93515a3d + last_write_checksum: sha1:0518992ec8392c64584038134ae72be8467f85e2 src/polar_sdk/models/subscriptionseatsupdatedmetadata.py: last_write_checksum: sha1:7c8fc6e1f8e184e4d6da398479992ef12c7ca389 src/polar_sdk/models/subscriptionsortproperty.py: @@ -7870,7 +7999,7 @@ trackedFiles: src/polar_sdk/models/subscriptionstatus.py: last_write_checksum: sha1:12826115098b849f2c68b0157cc50fbbe4182d9f src/polar_sdk/models/subscriptionuncanceledevent.py: - last_write_checksum: sha1:63e77f17fbabf7d146ba94fa6beaa8190de82551 + last_write_checksum: sha1:fe01c4c7500535d13b0bc31f4940b764648984ae src/polar_sdk/models/subscriptionuncanceledmetadata.py: last_write_checksum: sha1:38c5b07977c26b3140e50180fcc4c54886111cea src/polar_sdk/models/subscriptionupdate.py: @@ -7894,7 +8023,7 @@ trackedFiles: src/polar_sdk/models/timeinterval.py: last_write_checksum: sha1:81b94d52df8f0e87d6fc770144d3d381fd9dee9b src/polar_sdk/models/tokenresponse.py: - last_write_checksum: sha1:19adb5bac9ab21e9ef0c5ed8a04ea08226ca9c29 + last_write_checksum: sha1:e82edee88517259ae9345a353c19d066a392ac59 src/polar_sdk/models/trialalreadyredeemed.py: last_write_checksum: sha1:1120f5b264b62ba6edd3d9241bd798174fd258eb src/polar_sdk/models/trialinterval.py: @@ -7902,9 +8031,9 @@ trackedFiles: src/polar_sdk/models/unauthorized.py: last_write_checksum: sha1:a5386602fd28bfed2b5e127eed8a47d280c8dd73 src/polar_sdk/models/uniqueaggregation.py: - last_write_checksum: sha1:d7e954481074c5f147b40ec64ab7b0e69cd17cd7 + last_write_checksum: sha1:3a655f448e2e1849a84bddd2170715404cf6ce18 src/polar_sdk/models/userevent.py: - last_write_checksum: sha1:e2c9ed44d3e363f25b0335783fdfb3a65815124e + last_write_checksum: sha1:3778f4f20147412567262a774ac1c3da391c29fa src/polar_sdk/models/userinfoorganization.py: last_write_checksum: sha1:d115471bccae08f72dcd85b02863245bbe10d32e src/polar_sdk/models/userinfouser.py: @@ -7912,69 +8041,77 @@ trackedFiles: src/polar_sdk/models/validatedlicensekey.py: last_write_checksum: sha1:e99bc720c58df2309aeda62f4e83a36432c558d5 src/polar_sdk/models/validationerror.py: - last_write_checksum: sha1:fba5ea5d678f61f883deb4989be782ecae42fd02 + last_write_checksum: sha1:c1589a77f6025c27cd0b7a99b78d133d095c21cd src/polar_sdk/models/webhookbenefitcreatedpayload.py: - last_write_checksum: sha1:ea6d30387d38b003172bc45e7a7638a18425ea80 + last_write_checksum: sha1:b1940cbafce288bc84383ca24d52b33548feef95 src/polar_sdk/models/webhookbenefitgrantcreatedpayload.py: - last_write_checksum: sha1:b1743f26d32e9da72b2e471c25d812f1fcf5f3a9 + last_write_checksum: sha1:3958f244b247dfbdc07888715285a7eafc6d191e src/polar_sdk/models/webhookbenefitgrantcycledpayload.py: - last_write_checksum: sha1:fe13984541b966a8478d44b8dfd6b48707dbccb4 + last_write_checksum: sha1:bd6f7f2504713a422fa1d65aa9f118256d5fa69a src/polar_sdk/models/webhookbenefitgrantrevokedpayload.py: - last_write_checksum: sha1:48956a70d3d9d1ac22dce3e2874a1159715cf751 + last_write_checksum: sha1:d333191d90d9511113265b8f3b784f244b2156da src/polar_sdk/models/webhookbenefitgrantupdatedpayload.py: - last_write_checksum: sha1:3ede05f3efbc51fd482608f3f4c8832b00b58f37 + last_write_checksum: sha1:7fccb2a2e2807ef9214fc51bd3a4d679b0491cab src/polar_sdk/models/webhookbenefitupdatedpayload.py: - last_write_checksum: sha1:7dd75ba490172c64108dc17d4326e2641aafddbc + last_write_checksum: sha1:97ca41f75f7ab15df724dab3ba37d8982de6a061 src/polar_sdk/models/webhookcheckoutcreatedpayload.py: - last_write_checksum: sha1:1850481e0e72ba036adf9b1bd902e38b35ce4a6e + last_write_checksum: sha1:d7994518be1604c7e28975e043083ff3066bd5a1 + src/polar_sdk/models/webhookcheckoutexpiredpayload.py: + last_write_checksum: sha1:16a214e2130863d762e5d93e80f12a138bc39b25 src/polar_sdk/models/webhookcheckoutupdatedpayload.py: - last_write_checksum: sha1:52904650a72a482dbaefcbff33d798a6888c1ee4 + last_write_checksum: sha1:bd484533753f04a233368d9aced3929e0bc5b9af src/polar_sdk/models/webhookcustomercreatedpayload.py: - last_write_checksum: sha1:1c67995ec49a8aab1919732689b5295bdcbe4cb3 + last_write_checksum: sha1:47342cb789b075b273c99af47a2e4f84a11b150e src/polar_sdk/models/webhookcustomerdeletedpayload.py: - last_write_checksum: sha1:e94b21f1bb481b8d5e9d65468bd81e4e24aa99c7 + last_write_checksum: sha1:d5c315855ff2cd2c01c69f0a37098bd6f1c1420c src/polar_sdk/models/webhookcustomerseatassignedpayload.py: - last_write_checksum: sha1:23d5f2b2eb5567cb9558b02fd57585f322385569 + last_write_checksum: sha1:70508d46594593a88fd5747cbf30cc9011d9fd41 src/polar_sdk/models/webhookcustomerseatclaimedpayload.py: - last_write_checksum: sha1:4c6c219a22ba20c54bdf30088e44fe667d542efb + last_write_checksum: sha1:7ffc484a266c634981e94bab40d6b6bc5b0df7f7 src/polar_sdk/models/webhookcustomerseatrevokedpayload.py: - last_write_checksum: sha1:2192cbfe38553ace7a04bc7493ebe9e36e21e891 + last_write_checksum: sha1:e662445a7d2f2eb1b9c3a6fee7218ed294ff584e src/polar_sdk/models/webhookcustomerstatechangedpayload.py: - last_write_checksum: sha1:4156286c7dd64fa3f41f0964ed3fe3e4e7e7db79 + last_write_checksum: sha1:b28b8c695178351f7d9d7cb95b326ac04ce89656 src/polar_sdk/models/webhookcustomerupdatedpayload.py: - last_write_checksum: sha1:8a73367a52909c6480dca099336d7848d4263c8c + last_write_checksum: sha1:2fb902cb07e57f0fad95c55be7ad5b2fa2f89a5a src/polar_sdk/models/webhookdelivery.py: last_write_checksum: sha1:479e3d06106eb1ad0dd240bb6ef4e71323c68d2b src/polar_sdk/models/webhookendpoint.py: - last_write_checksum: sha1:ce3dbe3df8fdfc5ee644732afb3d0434150da52f + last_write_checksum: sha1:49b4dccccfe138e9ebe87955cbe80ebdea45973c src/polar_sdk/models/webhookendpointcreate.py: - last_write_checksum: sha1:6b47a69cb531c8a4905bf1931e5e5f2e9694d859 + last_write_checksum: sha1:78caf8608c2c664a0fd168e78657eb5ef55a12dd src/polar_sdk/models/webhookendpointupdate.py: - last_write_checksum: sha1:da07f677a39a42adafee27e71c8c88290992d812 + last_write_checksum: sha1:f01a95e8569d4b1d20f5e728e28d6a21de9b900a src/polar_sdk/models/webhookevent.py: last_write_checksum: sha1:5155d0fc8cebc76f612a7f6d66c5fe84e3cc323c src/polar_sdk/models/webhookeventtype.py: - last_write_checksum: sha1:76380fcb46f0b19f60c29824343365a13e59150c + last_write_checksum: sha1:f77fe52e4b2e5a0d6c708d8cc51494f6180d0b93 src/polar_sdk/models/webhookformat.py: last_write_checksum: sha1:927942f68de60bc6773f031e2f7852216b0e517c + src/polar_sdk/models/webhookmembercreatedpayload.py: + last_write_checksum: sha1:a4cdf153873d992e473b239a2b6bd54a5a7282ad + src/polar_sdk/models/webhookmemberdeletedpayload.py: + last_write_checksum: sha1:ebd9b648a13550367d616549f2cf6c67e429c7d7 + src/polar_sdk/models/webhookmemberupdatedpayload.py: + last_write_checksum: sha1:801a674996755b58a06926a3aa5b470c7588cc7b src/polar_sdk/models/webhookordercreatedpayload.py: - last_write_checksum: sha1:b1e1700e7d1a889e1d414792c5133bc991574cad + last_write_checksum: sha1:5d7f8be0e773a209be3c503275429984010af129 src/polar_sdk/models/webhookorderpaidpayload.py: - last_write_checksum: sha1:b6b6b88c46779296ad68fc146ab1eebb308c0906 + last_write_checksum: sha1:1b3a603ee84c22cf52e5e6a212ac28e14a371393 src/polar_sdk/models/webhookorderrefundedpayload.py: - last_write_checksum: sha1:32f4953a2f68b42eb6013fea8fb435d77c411607 + last_write_checksum: sha1:c0ead53c15a0cf7d06b39edee16f0fa49b1a86fc src/polar_sdk/models/webhookorderupdatedpayload.py: - last_write_checksum: sha1:6f4fe6c0aa14dc2dcb55fc150df3eadc4a49b6fa + last_write_checksum: sha1:ad2f66021adbac7e1b995a144f24a017a958c7a8 src/polar_sdk/models/webhookorganizationupdatedpayload.py: - last_write_checksum: sha1:a5af5e58b27d8f88d912a1ea66c852f85b841c17 + last_write_checksum: sha1:50df790276661509d5b009620ea2e7aa529181fa src/polar_sdk/models/webhookproductcreatedpayload.py: - last_write_checksum: sha1:840f16e043941a256e8a2c5a08c0d616757127e1 + last_write_checksum: sha1:8d01db72c716ba6995ad2eb5cb8bd350f3e3af69 src/polar_sdk/models/webhookproductupdatedpayload.py: - last_write_checksum: sha1:274b5c2bcda7ef45a7f81360a4198115322aa6d9 + last_write_checksum: sha1:868c29e31d601c8d85b06d2eed1c1c3342083c1e src/polar_sdk/models/webhookrefundcreatedpayload.py: - last_write_checksum: sha1:094a3c39514437a4bce03c2c1a73832ab31f0e4c + last_write_checksum: sha1:11a6a5234e4c87fe90f34b0cf3c71404fab3ee1b src/polar_sdk/models/webhookrefundupdatedpayload.py: - last_write_checksum: sha1:301fe6a294a730208b3ecc75f2bb006d0bd948a8 + last_write_checksum: sha1:279ec666780849acf580de8f17cbf3fbdde4b889 src/polar_sdk/models/webhooks_delete_webhook_endpointop.py: last_write_checksum: sha1:8d54305e9a3fadc141c4a86c6d38c2ee45a0d345 src/polar_sdk/models/webhooks_get_webhook_endpointop.py: @@ -7990,51 +8127,53 @@ trackedFiles: src/polar_sdk/models/webhooks_update_webhook_endpointop.py: last_write_checksum: sha1:e1ebeac212a7dd9606095876c223f843b75f64c2 src/polar_sdk/models/webhooksubscriptionactivepayload.py: - last_write_checksum: sha1:f2ef80c2fba4a245fd820c45d057fcd44eba43de + last_write_checksum: sha1:4f42dba27686655c45ed07f1f618faa68c8110e1 src/polar_sdk/models/webhooksubscriptioncanceledpayload.py: - last_write_checksum: sha1:e2e77f6e7c41ccdb963b8d92e03529e9b3106984 + last_write_checksum: sha1:1619aa3b72161f6839ea77af78f437751037b92c src/polar_sdk/models/webhooksubscriptioncreatedpayload.py: - last_write_checksum: sha1:d616d90cf23391ea11cb12399068369797e694db + last_write_checksum: sha1:546e43c4a760cc21c1e786abbda00b9150a19fef src/polar_sdk/models/webhooksubscriptionpastduepayload.py: - last_write_checksum: sha1:58c0017a952667b58b1f0e6b698588811a40ecba + last_write_checksum: sha1:87f8de081afdc83847c2e199fe41e047592ac730 src/polar_sdk/models/webhooksubscriptionrevokedpayload.py: - last_write_checksum: sha1:ed9abf37f53c7d72181d837e667582af62cf5e8a + last_write_checksum: sha1:43626e707e6f324d0691ae1744eda190a6b83c31 src/polar_sdk/models/webhooksubscriptionuncanceledpayload.py: - last_write_checksum: sha1:ff03d8e8dcdcb054fb44fbf28457803b27ee6470 + last_write_checksum: sha1:d1c6a5b915ca7c2217a657fd2c94f9b63ca40549 src/polar_sdk/models/webhooksubscriptionupdatedpayload.py: - last_write_checksum: sha1:da9be2657163468252c84bec9edce685bef9d124 + last_write_checksum: sha1:250d9905f637640d0244fe7f1603568c8e0e1995 src/polar_sdk/models/webtokenrequest.py: - last_write_checksum: sha1:41f31d29dd2fec252998247f87fb177a6b4e96a7 + last_write_checksum: sha1:8ee1d72260684020eaf0a686579bc5f2f5cdcd15 src/polar_sdk/oauth2.py: last_write_checksum: sha1:1b91d39369048f3144e8eeb4030a2f6d925ae110 src/polar_sdk/orders.py: - last_write_checksum: sha1:99bc6ed9adcc91bfb113a47293a983799128087d + last_write_checksum: sha1:b4292d1fe008906e50a9c257bd531138639fec64 src/polar_sdk/organization_access_tokens.py: - last_write_checksum: sha1:c5fe347158d75f39509a7b192ed1c75ad6d18bd8 + last_write_checksum: sha1:8cf54b9d577f683bc1f1b5ef644462c1cd14c0f7 src/polar_sdk/organizations.py: last_write_checksum: sha1:2696f69c385c2542bf095770d3f9cf6cfcd26b90 src/polar_sdk/payments.py: last_write_checksum: sha1:311ca9395ef0b9d0a579414a36b151d0986b4b29 src/polar_sdk/polar_benefit_grants.py: - last_write_checksum: sha1:1ee56ad177079e727b4f4d6aef0c9feac6ea6303 + last_write_checksum: sha1:5e45afeb865ab6a8e38fdbcc5ff45e31ff00ce8b src/polar_sdk/polar_customer_meters.py: last_write_checksum: sha1:dad609163023492ad9c8c708a5ac99b0bf0ea3ce src/polar_sdk/polar_customers.py: last_write_checksum: sha1:b0d80ca28f0fb2daee71a280e0bbf9ba286ba865 src/polar_sdk/polar_license_keys.py: last_write_checksum: sha1:75997994283cccc16779f102e1a3a07fca6159e7 + src/polar_sdk/polar_members.py: + last_write_checksum: sha1:6ecd2653b37cd5a795fce8dec685941beb59a029 src/polar_sdk/polar_orders.py: - last_write_checksum: sha1:49366836737812d042bb2db66b51842ca0565e63 + last_write_checksum: sha1:6273c076f7a11f953f593c8e02cdd3b224973f9e src/polar_sdk/polar_organizations.py: last_write_checksum: sha1:c3fdbec28b4b0c971dbc09c92937d879e791c155 src/polar_sdk/polar_subscriptions.py: - last_write_checksum: sha1:23e801cfc2f5b64ab554f41473b49895bce10bd1 + last_write_checksum: sha1:c1719969d9c6fda773d6bfaa6956a1cd629a5595 src/polar_sdk/products.py: - last_write_checksum: sha1:cf923f6cbe00d32aca86254b167a195f9861d2ff + last_write_checksum: sha1:7aae3384b9362d94a4013f9c7cdf7b2f26f9820b src/polar_sdk/py.typed: last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 src/polar_sdk/refunds.py: - last_write_checksum: sha1:001b932bf904d93e3e164cfa1d74be76bba0b767 + last_write_checksum: sha1:5951c3e3c9d528448a77e28116cf60c193c3eec9 src/polar_sdk/sdk.py: last_write_checksum: sha1:b03c06b7123a2f3cc17eaba654591aebf2d9fa51 src/polar_sdk/sdkconfiguration.py: @@ -8042,21 +8181,23 @@ trackedFiles: src/polar_sdk/seats.py: last_write_checksum: sha1:f0092a2e2243cbd9bebd1113a6b38f46f34fb473 src/polar_sdk/subscriptions.py: - last_write_checksum: sha1:d3fe2d7d3380213da05cca90c37305a1b1ff3f96 + last_write_checksum: sha1:d9bf6acab9c9f39aef3ee2370619d14766798698 src/polar_sdk/types/__init__.py: last_write_checksum: sha1:140ebdd01a46f92ffc710c52c958c4eba3cf68ed src/polar_sdk/types/basemodel.py: last_write_checksum: sha1:10d84aedeb9d35edfdadf2c3020caa1d24d8b584 src/polar_sdk/utils/__init__.py: - last_write_checksum: sha1:398211d49b762a067ec6d10197a4b11dfd258ff5 + last_write_checksum: sha1:524d7c0b4c84871908fb74cefa00f7ec0e920397 src/polar_sdk/utils/annotations.py: last_write_checksum: sha1:a4824ad65f730303e4e1e3ec1febf87b4eb46dbc src/polar_sdk/utils/datetimes.py: last_write_checksum: sha1:c721e4123000e7dc61ec52b28a739439d9e17341 + src/polar_sdk/utils/dynamic_imports.py: + last_write_checksum: sha1:a1940c63feb8eddfd8026de53384baf5056d5dcc src/polar_sdk/utils/enums.py: last_write_checksum: sha1:bc8c3c1285ae09ba8a094ee5c3d9c7f41fa1284d src/polar_sdk/utils/eventstreaming.py: - last_write_checksum: sha1:bababae5d54b7efc360db701daa49e18a92c2f3b + last_write_checksum: sha1:ffa870a25a7e4e2015bfd7a467ccd3aa1de97f0e src/polar_sdk/utils/forms.py: last_write_checksum: sha1:15fa7e9ab1611e062a9984cf06cb20969713d295 src/polar_sdk/utils/headers.py: @@ -8070,9 +8211,9 @@ trackedFiles: src/polar_sdk/utils/requestbodies.py: last_write_checksum: sha1:41e2d2d2d3ecc394c8122ca4d4b85e1c3e03f054 src/polar_sdk/utils/retries.py: - last_write_checksum: sha1:5b97ac4f59357d70c2529975d50364c88bcad607 + last_write_checksum: sha1:471372f5c5d1dd5583239c9cf3c75f1b636e5d87 src/polar_sdk/utils/security.py: - last_write_checksum: sha1:a17130ace2c0db6394f38dd941ad2b700cc755c8 + last_write_checksum: sha1:435dd8b180cefcd733e635b9fa45512da091d9c0 src/polar_sdk/utils/serializers.py: last_write_checksum: sha1:ce1d8d7f500a9ccba0aeca5057cee9c271f4dfd7 src/polar_sdk/utils/unmarshal_json_response.py: @@ -8084,4 +8225,4 @@ trackedFiles: src/polar_sdk/wallets.py: last_write_checksum: sha1:10f7145f86d70c1430135f1490950e97df28d2d5 src/polar_sdk/webhooks.py: - last_write_checksum: sha1:ebe26cbbd8c6585119e7059fe29e5774529d23ec + last_write_checksum: sha1:04f9e5f5d3400e67bdf3d6fa3053839c41eded54 diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 9b409528..305d973b 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -28,8 +28,9 @@ generation: generateNewTests: false skipResponseBodyAssertions: false persistentEdits: {} + versioningStrategy: automatic python: - version: 0.28.4 + version: 0.28.5 additionalDependencies: dev: pydantic-ai-slim: ^0.1.0 @@ -55,6 +56,8 @@ python: flattenGlobalSecurity: true flattenRequests: false flatteningOrder: parameters-first + forwardCompatibleEnumsByDefault: false + forwardCompatibleUnionsByDefault: "false" imports: option: openapi paths: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 005bd50c..c7c21771 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:ac1d60b4cc6260c4a5b529dd39b3e032ed58a3a2d3ea378bdd4e4fa72b131aa0 - sourceBlobDigest: sha256:096ba43e442c92fd4061be10bd3518deb9bcbeadf31f8fa9c4a0b573964612b4 + sourceRevisionDigest: sha256:e633ebefafb16af360fa37a1c88ce971daa5c386f753d9c748e094d2e848b7e4 + sourceBlobDigest: sha256:16fc137029b1a2227e5fb1706086f6ac266f7bb40efab4ca994bc7ae14e29c23 tags: - latest - - speakeasy-sdk-regen-1768932754 + - speakeasy-sdk-regen-1770078059 - 0.1.0 targets: polar: source: Polar-OAS sourceNamespace: polar-oas - sourceRevisionDigest: sha256:ac1d60b4cc6260c4a5b529dd39b3e032ed58a3a2d3ea378bdd4e4fa72b131aa0 - sourceBlobDigest: sha256:096ba43e442c92fd4061be10bd3518deb9bcbeadf31f8fa9c4a0b573964612b4 + sourceRevisionDigest: sha256:e633ebefafb16af360fa37a1c88ce971daa5c386f753d9c748e094d2e848b7e4 + sourceBlobDigest: sha256:16fc137029b1a2227e5fb1706086f6ac266f7bb40efab4ca994bc7ae14e29c23 codeSamplesNamespace: polar-oas-py-code-samples - codeSamplesRevisionDigest: sha256:6e5cc55e4e6ae0fee0a867f69aa42cda7100e4804535659ad9cdbf6730b9a8ac + codeSamplesRevisionDigest: sha256:244b6cbe9399b489fee3462c15b4a26af3edf2c8275907839bc44e74fd54993b workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 7927deb1..c634ed0d 100644 --- a/README.md +++ b/README.md @@ -267,6 +267,13 @@ def webhook(): * [activate](docs/sdks/polarlicensekeys/README.md#activate) - Activate License Key * [deactivate](docs/sdks/polarlicensekeys/README.md#deactivate) - Deactivate License Key +#### [customer_portal.members](docs/sdks/polarmembers/README.md) + +* [list_members](docs/sdks/polarmembers/README.md#list_members) - List Members +* [add_member](docs/sdks/polarmembers/README.md#add_member) - Add Member +* [update_member](docs/sdks/polarmembers/README.md#update_member) - Update Member +* [remove_member](docs/sdks/polarmembers/README.md#remove_member) - Remove Member + #### [customer_portal.orders](docs/sdks/polarorders/README.md) * [list](docs/sdks/polarorders/README.md#list) - List Orders @@ -584,24 +591,24 @@ with Polar( **Inherit from [`PolarError`](./src/polar_sdk/models/polarerror.py)**: -* [`ResourceNotFound`](./src/polar_sdk/models/resourcenotfound.py): Status code `404`. Applicable to 82 of 166 methods.* -* [`NotPermitted`](./src/polar_sdk/models/notpermitted.py): Status code `403`. Applicable to 10 of 166 methods.* -* [`Unauthorized`](./src/polar_sdk/models/unauthorized.py): Not authorized to manage license key. Status code `401`. Applicable to 5 of 166 methods.* -* [`AlreadyCanceledSubscription`](./src/polar_sdk/models/alreadycanceledsubscription.py): Status code `403`. Applicable to 4 of 166 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 166 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 166 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 166 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 166 methods.* -* [`ExpiredCheckoutError`](./src/polar_sdk/models/expiredcheckouterror.py): The checkout session is expired. Status code `410`. Applicable to 3 of 166 methods.* -* [`SubscriptionLocked`](./src/polar_sdk/models/subscriptionlocked.py): Subscription is pending an update. Status code `409`. Applicable to 2 of 166 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 166 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 166 methods.* -* [`PaymentError`](./src/polar_sdk/models/paymenterror.py): The payment failed. Status code `400`. Applicable to 1 of 166 methods.* -* [`CustomerNotReady`](./src/polar_sdk/models/customernotready.py): Customer is not ready to confirm a payment method. Status code `400`. Applicable to 1 of 166 methods.* -* [`PaymentMethodInUseByActiveSubscription`](./src/polar_sdk/models/paymentmethodinusebyactivesubscription.py): Payment method is used by active subscription(s). Status code `400`. Applicable to 1 of 166 methods.* -* [`RefundedAlready`](./src/polar_sdk/models/refundedalready.py): Order is already fully refunded. Status code `403`. Applicable to 1 of 166 methods.* -* [`PaymentAlreadyInProgress`](./src/polar_sdk/models/paymentalreadyinprogress.py): Payment already in progress. Status code `409`. Applicable to 1 of 166 methods.* -* [`OrderNotEligibleForRetry`](./src/polar_sdk/models/ordernoteligibleforretry.py): Order not eligible for retry or payment confirmation failed. Status code `422`. Applicable to 1 of 166 methods.* +* [`ResourceNotFound`](./src/polar_sdk/models/resourcenotfound.py): Status code `404`. Applicable to 82 of 170 methods.* +* [`NotPermitted`](./src/polar_sdk/models/notpermitted.py): Status code `403`. Applicable to 10 of 170 methods.* +* [`Unauthorized`](./src/polar_sdk/models/unauthorized.py): Not authorized to manage license key. Status code `401`. Applicable to 5 of 170 methods.* +* [`AlreadyCanceledSubscription`](./src/polar_sdk/models/alreadycanceledsubscription.py): Status code `403`. Applicable to 4 of 170 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 170 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 170 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 170 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 170 methods.* +* [`ExpiredCheckoutError`](./src/polar_sdk/models/expiredcheckouterror.py): The checkout session is expired. Status code `410`. Applicable to 3 of 170 methods.* +* [`SubscriptionLocked`](./src/polar_sdk/models/subscriptionlocked.py): Subscription is pending an update. Status code `409`. Applicable to 2 of 170 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 170 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 170 methods.* +* [`PaymentError`](./src/polar_sdk/models/paymenterror.py): The payment failed. Status code `400`. Applicable to 1 of 170 methods.* +* [`CustomerNotReady`](./src/polar_sdk/models/customernotready.py): Customer is not ready to confirm a payment method. Status code `400`. Applicable to 1 of 170 methods.* +* [`PaymentMethodInUseByActiveSubscription`](./src/polar_sdk/models/paymentmethodinusebyactivesubscription.py): Payment method is used by active subscription(s). Status code `400`. Applicable to 1 of 170 methods.* +* [`RefundedAlready`](./src/polar_sdk/models/refundedalready.py): Order is already fully refunded. Status code `403`. Applicable to 1 of 170 methods.* +* [`PaymentAlreadyInProgress`](./src/polar_sdk/models/paymentalreadyinprogress.py): Payment already in progress. Status code `409`. Applicable to 1 of 170 methods.* +* [`OrderNotEligibleForRetry`](./src/polar_sdk/models/ordernoteligibleforretry.py): Order not eligible for retry or payment confirmation failed. Status code `422`. Applicable to 1 of 170 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 f6aed069..c42b6e9a 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1023,4 +1023,14 @@ Based on: ### Generated - [python v0.28.4] . ### Releases -- [PyPI v0.28.4] https://pypi.org/project/polar-sdk/0.28.4 - . \ No newline at end of file +- [PyPI v0.28.4] https://pypi.org/project/polar-sdk/0.28.4 - . + +## 2026-02-18 00:21:15 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.648.0 (2.737.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.28.5] . +### Releases +- [PyPI v0.28.5] https://pypi.org/project/polar-sdk/0.28.5 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 9dc23658..6aa0e62e 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -86,7 +86,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.checkouts.create(request={\n \"customer_name\": \"John Doe\",\n \"customer_billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n \"products\": [\n \"\",\n \"\",\n \"\",\n ],\n })\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.checkouts.create(request={\n \"customer_name\": \"John Doe\",\n \"customer_billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n \"locale\": \"en\",\n \"products\": [\n \"\",\n \"\",\n \"\",\n ],\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/checkouts/client/{client_secret}"]["get"] update: "x-codeSamples": @@ -98,13 +98,13 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "from polar_sdk import Polar\n\n\nwith Polar() as polar:\n\n res = polar.checkouts.client_update(client_secret=\"\", checkout_update_public={\n \"customer_name\": \"John Doe\",\n \"customer_billing_address\": None,\n \"allow_trial\": False,\n })\n\n # Handle response\n print(res)" + "source": "from polar_sdk import Polar\n\n\nwith Polar() as polar:\n\n res = polar.checkouts.client_update(client_secret=\"\", checkout_update_public={\n \"customer_name\": \"John Doe\",\n \"customer_billing_address\": None,\n \"locale\": \"en\",\n \"allow_trial\": False,\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/checkouts/client/{client_secret}/confirm"]["post"] update: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.checkouts.client_confirm(client_secret=\"\", checkout_confirm_stripe={\n \"customer_name\": \"John Doe\",\n \"customer_billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n \"allow_trial\": False,\n })\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.checkouts.client_confirm(client_secret=\"\", checkout_confirm_stripe={\n \"customer_name\": \"John Doe\",\n \"customer_billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n \"locale\": \"en\",\n \"allow_trial\": False,\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/checkouts/{id}"]["get"] update: "x-codeSamples": @@ -116,7 +116,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.checkouts.update(id=\"\", checkout_update={\n \"customer_name\": \"John Doe\",\n \"customer_billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n })\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.checkouts.update(id=\"\", checkout_update={\n \"customer_name\": \"John Doe\",\n \"customer_billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n \"locale\": \"en\",\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/custom-fields/"]["get"] update: "x-codeSamples": @@ -261,6 +261,30 @@ actions: - "lang": "python" "label": "Python (SDK)" "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar() as polar:\n\n res = polar.customer_portal.license_keys.get(security=polar_sdk.CustomerPortalLicenseKeysGetSecurity(\n customer_session=\"\",\n ), id=\"\")\n\n # Handle response\n print(res)" + - target: $["paths"]["/v1/customer-portal/members"]["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.customer_portal.members.list_members()\n\n # Handle response\n print(res)" + - target: $["paths"]["/v1/customer-portal/members"]["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.customer_portal.members.add_member(request={\n \"email\": \"Domenica.Schamberger@yahoo.com\",\n })\n\n # Handle response\n print(res)" + - target: $["paths"]["/v1/customer-portal/members/{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.customer_portal.members.remove_member(id=\"b61c5e87-cda5-4b14-93ee-71a695f42d9d\")\n\n # Use the SDK ..." + - target: $["paths"]["/v1/customer-portal/members/{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.customer_portal.members.update_member(id=\"8319ae11-ed5f-4642-81e4-4b40731df195\", customer_portal_member_update={})\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/customer-portal/meters/"]["get"] update: "x-codeSamples": @@ -440,7 +464,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.customers.create(request={\n \"external_id\": \"usr_1337\",\n \"email\": \"customer@example.com\",\n \"name\": \"John Doe\",\n \"billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n \"tax_id\": [\n \"911144442\",\n \"us_ein\",\n ],\n \"organization_id\": \"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n \"owner\": {\n \"email\": \"member@example.com\",\n \"name\": \"Jane Doe\",\n \"external_id\": \"usr_1337\",\n },\n })\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.customers.create(request={\n \"external_id\": \"usr_1337\",\n \"email\": \"customer@example.com\",\n \"name\": \"John Doe\",\n \"billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n \"tax_id\": [\n \"911144442\",\n \"us_ein\",\n ],\n \"locale\": \"en\",\n \"type\": polar_sdk.CustomerType.INDIVIDUAL,\n \"organization_id\": \"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n \"owner\": {\n \"email\": \"member@example.com\",\n \"name\": \"Jane Doe\",\n \"external_id\": \"usr_1337\",\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/customers/export"]["get"] update: "x-codeSamples": @@ -464,7 +488,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.customers.update_external(external_id=\"\", customer_update_external_id={\n \"email\": \"customer@example.com\",\n \"name\": \"John Doe\",\n \"billing_address\": None,\n \"tax_id\": [\n \"911144442\",\n \"us_ein\",\n ],\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.customers.update_external(external_id=\"\", customer_update_external_id={\n \"email\": \"customer@example.com\",\n \"name\": \"John Doe\",\n \"billing_address\": None,\n \"tax_id\": [\n \"911144442\",\n \"us_ein\",\n ],\n \"locale\": \"en\",\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/customers/external/{external_id}/state"]["get"] update: "x-codeSamples": @@ -488,7 +512,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.customers.update(id=\"\", customer_update={\n \"email\": \"customer@example.com\",\n \"name\": \"John Doe\",\n \"billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n \"tax_id\": [\n \"911144442\",\n \"us_ein\",\n ],\n \"external_id\": \"usr_1337\",\n })\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.customers.update(id=\"\", customer_update={\n \"email\": \"customer@example.com\",\n \"name\": \"John Doe\",\n \"billing_address\": {\n \"country\": polar_sdk.CountryAlpha2Input.US,\n },\n \"tax_id\": [\n \"911144442\",\n \"us_ein\",\n ],\n \"locale\": \"en\",\n \"external_id\": \"usr_1337\",\n \"type\": polar_sdk.CustomerType.INDIVIDUAL,\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/customers/{id}/state"]["get"] update: "x-codeSamples": @@ -710,7 +734,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(\n access_token=\"\",\n) as polar:\n\n res = polar.meters.quantities(id=\"\", start_timestamp=parse_datetime(\"2026-11-25T04:37:16.823Z\"), end_timestamp=parse_datetime(\"2026-11-26T17:06:00.727Z\"), interval=polar_sdk.TimeInterval.DAY)\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(\n access_token=\"\",\n) as polar:\n\n res = polar.meters.quantities(id=\"\", start_timestamp=parse_datetime(\"2026-11-25T04:37:16.823Z\"), end_timestamp=parse_datetime(\"2026-11-26T17:06:00.727Z\"), interval=polar_sdk.TimeInterval.DAY, timezone=\"UTC\")\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/metrics/"]["get"] update: "x-codeSamples": @@ -884,7 +908,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.products.create(request={\n \"name\": \"\",\n \"prices\": [\n {\n \"amount_type\": \"custom\",\n \"price_currency\": \"usd\",\n \"minimum_amount\": 50,\n },\n ],\n \"organization_id\": \"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\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.products.create(request={\n \"name\": \"\",\n \"prices\": [\n {\n \"amount_type\": \"custom\",\n \"minimum_amount\": 50,\n },\n ],\n \"organization_id\": \"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/products/{id}"]["get"] update: "x-codeSamples": @@ -914,7 +938,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.refunds.create(request={\n \"order_id\": \"\",\n \"reason\": polar_sdk.RefundReason.SERVICE_DISRUPTION,\n \"amount\": 90,\n })\n\n assert res is not None\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.refunds.create(request={\n \"order_id\": \"\",\n \"reason\": polar_sdk.RefundReason.SERVICE_DISRUPTION,\n \"amount\": 90,\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/subscriptions/"]["get"] update: "x-codeSamples": @@ -968,7 +992,7 @@ actions: "x-codeSamples": - "lang": "python" "label": "Python (SDK)" - "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.webhooks.create_webhook_endpoint(request={\n \"url\": \"https://webhook.site/cb791d80-f26e-4f8c-be88-6e56054192b0\",\n \"format_\": polar_sdk.WebhookFormat.SLACK,\n \"events\": [\n polar_sdk.WebhookEventType.SUBSCRIPTION_CANCELED,\n ],\n \"organization_id\": \"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n })\n\n # Handle response\n print(res)" + "source": "import polar_sdk\nfrom polar_sdk import Polar\n\n\nwith Polar(\n access_token=\"\",\n) as polar:\n\n res = polar.webhooks.create_webhook_endpoint(request={\n \"url\": \"https://webhook.site/cb791d80-f26e-4f8c-be88-6e56054192b0\",\n \"format_\": polar_sdk.WebhookFormat.SLACK,\n \"events\": [\n polar_sdk.WebhookEventType.SUBSCRIPTION_ACTIVE,\n ],\n \"organization_id\": \"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n })\n\n # Handle response\n print(res)" - target: $["paths"]["/v1/webhooks/endpoints/{id}"]["delete"] update: "x-codeSamples": @@ -1004,7 +1028,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.endpointbenefit_created_post(request={\n \"type\": \"benefit.created\",\n \"timestamp\": parse_datetime(\"2026-10-17T23:42:52.571Z\"),\n \"data\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2026-05-24T21:27:59.843Z\"),\n \"modified_at\": parse_datetime(\"2025-07-01T06:29:09.775Z\"),\n \"type\": \"github_repository\",\n \"description\": \"beneath terrorise but about uh-huh\",\n \"selectable\": False,\n \"deletable\": True,\n \"organization_id\": \"\",\n \"metadata\": {\n\n },\n \"properties\": {\n \"repository_owner\": \"polarsource\",\n \"repository_name\": \"private_repo\",\n \"permission\": polar_sdk.Permission.PUSH,\n },\n },\n })\n\n # Handle response\n print(res)" + "source": "from polar_sdk import Polar\nfrom polar_sdk.utils import parse_datetime\n\n\nwith Polar() as polar:\n\n res = polar.endpointbenefit_created_post(request={\n \"type\": \"benefit.created\",\n \"timestamp\": parse_datetime(\"2026-10-17T23:42:52.571Z\"),\n \"data\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2026-05-24T21:27:59.843Z\"),\n \"modified_at\": parse_datetime(\"2025-07-01T06:29:09.775Z\"),\n \"type\": \"downloadables\",\n \"description\": \"beneath terrorise but about uh-huh\",\n \"selectable\": False,\n \"deletable\": True,\n \"organization_id\": \"\",\n \"metadata\": {\n\n },\n \"properties\": {\n \"archived\": {\n \"key\": True,\n \"key1\": True,\n },\n \"files\": [\n \"\",\n \"\",\n \"\",\n ],\n },\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["benefit.updated"]["post"] update: "x-codeSamples": @@ -1016,121 +1040,145 @@ 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.endpointbenefit_grant_created_post(request=polar_sdk.WebhookBenefitGrantCreatedPayload(\n timestamp=parse_datetime(\"2026-07-29T09:12:26.895Z\"),\n data=polar_sdk.BenefitGrantCustomWebhook(\n created_at=parse_datetime(\"2026-07-26T11:51:14.320Z\"),\n modified_at=parse_datetime(\"2024-06-25T18:19:56.152Z\"),\n id=\"\",\n is_granted=False,\n is_revoked=True,\n subscription_id=\"\",\n order_id=\"\",\n customer_id=\"\",\n benefit_id=\"\",\n customer=polar_sdk.Customer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-05-12T01:27:02.379Z\"),\n modified_at=parse_datetime(\"2024-11-16T04:22:37.821Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-02-21T01:01:33.050Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n member=polar_sdk.Member(\n id=\"\",\n created_at=parse_datetime(\"2024-10-15T11:07:39.330Z\"),\n modified_at=parse_datetime(\"2025-12-21T23:42:07.643Z\"),\n customer_id=\"\",\n email=\"member@example.com\",\n name=\"Jane Doe\",\n external_id=\"usr_1337\",\n role=polar_sdk.MemberRole.BILLING_MANAGER,\n ),\n benefit=polar_sdk.BenefitCustom(\n id=\"\",\n created_at=parse_datetime(\"2024-06-11T14:51:22.188Z\"),\n modified_at=parse_datetime(\"2024-06-03T11:09:21.440Z\"),\n description=\"vibraphone however abseil yet conservative\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitCustomProperties(\n note=\"\",\n ),\n ),\n properties=polar_sdk.BenefitGrantCustomProperties(),\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.endpointbenefit_grant_created_post(request=polar_sdk.WebhookBenefitGrantCreatedPayload(\n timestamp=parse_datetime(\"2026-07-29T09:12:26.895Z\"),\n data=polar_sdk.BenefitGrantCustomWebhook(\n created_at=parse_datetime(\"2026-07-26T11:51:14.320Z\"),\n modified_at=parse_datetime(\"2024-06-25T18:19:56.152Z\"),\n id=\"\",\n is_granted=False,\n is_revoked=True,\n subscription_id=\"\",\n order_id=\"\",\n customer_id=\"\",\n benefit_id=\"\",\n customer=polar_sdk.Customer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2026-05-12T01:27:02.379Z\"),\n modified_at=parse_datetime(\"2024-11-16T04:22:37.821Z\"),\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-02-21T01:01:33.050Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n member=polar_sdk.Member(\n id=\"\",\n created_at=parse_datetime(\"2024-10-15T11:07:39.330Z\"),\n modified_at=parse_datetime(\"2025-12-21T23:42:07.643Z\"),\n customer_id=\"\",\n email=\"member@example.com\",\n name=\"Jane Doe\",\n external_id=\"usr_1337\",\n role=polar_sdk.MemberRole.BILLING_MANAGER,\n ),\n benefit=polar_sdk.BenefitCustom(\n id=\"\",\n created_at=parse_datetime(\"2024-06-11T14:51:22.188Z\"),\n modified_at=parse_datetime(\"2024-06-03T11:09:21.440Z\"),\n description=\"vibraphone however abseil yet conservative\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitCustomProperties(\n note=\"\",\n ),\n ),\n properties=polar_sdk.BenefitGrantCustomProperties(),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["benefit_grant.cycled"]["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.endpointbenefit_grant_cycled_post(request=polar_sdk.WebhookBenefitGrantCycledPayload(\n timestamp=parse_datetime(\"2024-11-20T13:26:50.948Z\"),\n data=polar_sdk.BenefitGrantDiscordWebhook(\n created_at=parse_datetime(\"2024-07-18T03:56:32.649Z\"),\n modified_at=parse_datetime(\"2026-06-08T22:06:37.934Z\"),\n id=\"\",\n is_granted=False,\n is_revoked=False,\n subscription_id=\"\",\n order_id=\"\",\n customer_id=\"\",\n benefit_id=\"\",\n customer=polar_sdk.Customer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-06-18T10:06:52.830Z\"),\n modified_at=parse_datetime(\"2025-06-29T04:36:34.181Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-09-22T10:01:13.690Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n member=polar_sdk.Member(\n id=\"\",\n created_at=parse_datetime(\"2026-07-14T03:36:29.696Z\"),\n modified_at=parse_datetime(\"2024-08-19T01:19:24.073Z\"),\n customer_id=\"\",\n email=\"member@example.com\",\n name=\"Jane Doe\",\n external_id=\"usr_1337\",\n role=polar_sdk.MemberRole.MEMBER,\n ),\n benefit=polar_sdk.BenefitDiscord(\n id=\"\",\n created_at=parse_datetime(\"2026-02-04T13:44:07.858Z\"),\n modified_at=parse_datetime(\"2025-09-30T08:45:47.468Z\"),\n description=\"tenderly up an instead expensive made-up pace\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitDiscordProperties(\n guild_id=\"\",\n role_id=\"\",\n kick_member=True,\n guild_token=\"\",\n ),\n ),\n properties=polar_sdk.BenefitGrantDiscordProperties(),\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.endpointbenefit_grant_cycled_post(request=polar_sdk.WebhookBenefitGrantCycledPayload(\n timestamp=parse_datetime(\"2024-11-20T13:26:50.948Z\"),\n data=polar_sdk.BenefitGrantDiscordWebhook(\n created_at=parse_datetime(\"2024-07-18T03:56:32.649Z\"),\n modified_at=parse_datetime(\"2026-06-08T22:06:37.934Z\"),\n id=\"\",\n is_granted=False,\n is_revoked=False,\n subscription_id=\"\",\n order_id=\"\",\n customer_id=\"\",\n benefit_id=\"\",\n customer=polar_sdk.Customer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-06-18T10:06:52.830Z\"),\n modified_at=parse_datetime(\"2025-06-29T04:36:34.181Z\"),\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-09-22T10:01:13.690Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n member=polar_sdk.Member(\n id=\"\",\n created_at=parse_datetime(\"2026-07-14T03:36:29.696Z\"),\n modified_at=parse_datetime(\"2024-08-19T01:19:24.073Z\"),\n customer_id=\"\",\n email=\"member@example.com\",\n name=\"Jane Doe\",\n external_id=\"usr_1337\",\n role=polar_sdk.MemberRole.MEMBER,\n ),\n benefit=polar_sdk.BenefitDiscord(\n id=\"\",\n created_at=parse_datetime(\"2026-02-04T13:44:07.858Z\"),\n modified_at=parse_datetime(\"2025-09-30T08:45:47.468Z\"),\n description=\"tenderly up an instead expensive made-up pace\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitDiscordProperties(\n guild_id=\"\",\n role_id=\"\",\n kick_member=True,\n guild_token=\"\",\n ),\n ),\n properties=polar_sdk.BenefitGrantDiscordProperties(),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["benefit_grant.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.endpointbenefit_grant_revoked_post(request=polar_sdk.WebhookBenefitGrantRevokedPayload(\n timestamp=parse_datetime(\"2026-10-11T18:40:00.865Z\"),\n data=polar_sdk.BenefitGrantDiscordWebhook(\n created_at=parse_datetime(\"2024-04-29T09:48:15.700Z\"),\n modified_at=parse_datetime(\"2025-12-06T00:35:53.453Z\"),\n id=\"\",\n is_granted=True,\n is_revoked=True,\n subscription_id=\"\",\n order_id=\"\",\n customer_id=\"\",\n benefit_id=\"\",\n customer=polar_sdk.Customer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-05-05T05:52:04.552Z\"),\n modified_at=parse_datetime(\"2025-09-18T14:08:44.723Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n 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(\"2026-11-04T03:19:52.925Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n member=polar_sdk.Member(\n id=\"\",\n created_at=parse_datetime(\"2025-12-07T07:46:15.545Z\"),\n modified_at=parse_datetime(\"2026-12-04T06:46:25.328Z\"),\n customer_id=\"\",\n email=\"member@example.com\",\n name=\"Jane Doe\",\n external_id=\"usr_1337\",\n role=polar_sdk.MemberRole.MEMBER,\n ),\n benefit=polar_sdk.BenefitDiscord(\n id=\"\",\n created_at=parse_datetime(\"2024-07-03T19:52:37.655Z\"),\n modified_at=parse_datetime(\"2026-12-17T07:46:35.845Z\"),\n description=\"internationalize upright usually ew exhausted plump since since deduction poetry\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitDiscordProperties(\n guild_id=\"\",\n role_id=\"\",\n kick_member=True,\n guild_token=\"\",\n ),\n ),\n properties=polar_sdk.BenefitGrantDiscordProperties(),\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.endpointbenefit_grant_revoked_post(request=polar_sdk.WebhookBenefitGrantRevokedPayload(\n timestamp=parse_datetime(\"2026-10-11T18:40:00.865Z\"),\n data=polar_sdk.BenefitGrantDiscordWebhook(\n created_at=parse_datetime(\"2024-04-29T09:48:15.700Z\"),\n modified_at=parse_datetime(\"2025-12-06T00:35:53.453Z\"),\n id=\"\",\n is_granted=True,\n is_revoked=True,\n subscription_id=\"\",\n order_id=\"\",\n customer_id=\"\",\n benefit_id=\"\",\n customer=polar_sdk.Customer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-05-05T05:52:04.552Z\"),\n modified_at=parse_datetime(\"2025-09-18T14:08:44.723Z\"),\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_address=None,\n tax_id=[\n \"911144442\",\n \"us_ein\",\n ],\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n deleted_at=parse_datetime(\"2026-11-04T03:19:52.925Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n member=polar_sdk.Member(\n id=\"\",\n created_at=parse_datetime(\"2025-12-07T07:46:15.545Z\"),\n modified_at=parse_datetime(\"2026-12-04T06:46:25.328Z\"),\n customer_id=\"\",\n email=\"member@example.com\",\n name=\"Jane Doe\",\n external_id=\"usr_1337\",\n role=polar_sdk.MemberRole.MEMBER,\n ),\n benefit=polar_sdk.BenefitDiscord(\n id=\"\",\n created_at=parse_datetime(\"2024-07-03T19:52:37.655Z\"),\n modified_at=parse_datetime(\"2026-12-17T07:46:35.845Z\"),\n description=\"internationalize upright usually ew exhausted plump since since deduction poetry\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitDiscordProperties(\n guild_id=\"\",\n role_id=\"\",\n kick_member=True,\n guild_token=\"\",\n ),\n ),\n properties=polar_sdk.BenefitGrantDiscordProperties(),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["benefit_grant.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.endpointbenefit_grant_updated_post(request=polar_sdk.WebhookBenefitGrantUpdatedPayload(\n timestamp=parse_datetime(\"2024-06-14T00:42:20.858Z\"),\n data=polar_sdk.BenefitGrantDownloadablesWebhook(\n created_at=parse_datetime(\"2024-09-08T02:35:13.085Z\"),\n modified_at=parse_datetime(\"2025-04-28T04:44:42.040Z\"),\n id=\"\",\n is_granted=True,\n is_revoked=False,\n subscription_id=\"\",\n order_id=\"\",\n customer_id=\"\",\n benefit_id=\"\",\n customer=polar_sdk.Customer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-06-22T06:57:35.281Z\"),\n modified_at=parse_datetime(\"2026-06-14T15:07:20.731Z\"),\n metadata={\n \"key\": 322224,\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-09-29T05:46:04.457Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n member=polar_sdk.Member(\n id=\"\",\n created_at=parse_datetime(\"2025-09-28T22:38:44.093Z\"),\n modified_at=parse_datetime(\"2025-06-05T03:01:15.151Z\"),\n customer_id=\"\",\n email=\"member@example.com\",\n name=\"Jane Doe\",\n external_id=\"usr_1337\",\n role=polar_sdk.MemberRole.BILLING_MANAGER,\n ),\n benefit=polar_sdk.BenefitDownloadables(\n id=\"\",\n created_at=parse_datetime(\"2025-06-23T01:13:04.636Z\"),\n modified_at=parse_datetime(\"2025-11-30T14:06:15.982Z\"),\n description=\"hm waterlogged vastly widow lay\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitDownloadablesProperties(\n archived={\n \"key\": False,\n },\n files=[\n \"\",\n \"\",\n ],\n ),\n ),\n properties=polar_sdk.BenefitGrantDownloadablesProperties(),\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.endpointbenefit_grant_updated_post(request=polar_sdk.WebhookBenefitGrantUpdatedPayload(\n timestamp=parse_datetime(\"2024-06-14T00:42:20.858Z\"),\n data=polar_sdk.BenefitGrantDownloadablesWebhook(\n created_at=parse_datetime(\"2024-09-08T02:35:13.085Z\"),\n modified_at=parse_datetime(\"2025-04-28T04:44:42.040Z\"),\n id=\"\",\n is_granted=True,\n is_revoked=False,\n subscription_id=\"\",\n order_id=\"\",\n customer_id=\"\",\n benefit_id=\"\",\n customer=polar_sdk.Customer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-06-22T06:57:35.281Z\"),\n modified_at=parse_datetime(\"2026-06-14T15:07:20.731Z\"),\n metadata={\n \"key\": 322224,\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-09-29T05:46:04.457Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n member=polar_sdk.Member(\n id=\"\",\n created_at=parse_datetime(\"2025-09-28T22:38:44.093Z\"),\n modified_at=parse_datetime(\"2025-06-05T03:01:15.151Z\"),\n customer_id=\"\",\n email=\"member@example.com\",\n name=\"Jane Doe\",\n external_id=\"usr_1337\",\n role=polar_sdk.MemberRole.BILLING_MANAGER,\n ),\n benefit=polar_sdk.BenefitDownloadables(\n id=\"\",\n created_at=parse_datetime(\"2025-06-23T01:13:04.636Z\"),\n modified_at=parse_datetime(\"2025-11-30T14:06:15.982Z\"),\n description=\"hm waterlogged vastly widow lay\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitDownloadablesProperties(\n archived={\n \"key\": False,\n },\n files=[\n \"\",\n \"\",\n ],\n ),\n ),\n properties=polar_sdk.BenefitGrantDownloadablesProperties(),\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["checkout.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.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 total_amount=203013,\n currency=\"Australian Dollar\",\n allow_trial=True,\n active_trial_interval=polar_sdk.TrialInterval.MONTH,\n active_trial_interval_count=47757,\n trial_end=None,\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=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.CountryAlpha2.US,\n ),\n customer_tax_id=\"\",\n payment_processor_metadata={\n\n },\n billing_address_fields=polar_sdk.CheckoutBillingAddressFields(\n country=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n state=polar_sdk.BillingAddressFieldMode.DISABLED,\n city=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n postal_code=polar_sdk.BillingAddressFieldMode.REQUIRED,\n line1=polar_sdk.BillingAddressFieldMode.DISABLED,\n line2=polar_sdk.BillingAddressFieldMode.REQUIRED,\n ),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=945017,\n metadata={\n\n },\n external_customer_id=\"\",\n customer_external_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 recurring_interval=None,\n recurring_interval_count=996088,\n is_recurring=False,\n is_archived=True,\n organization_id=\"\",\n prices=[],\n benefits=[],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/var/yp\",\n mime_type=\"\",\n size=1211,\n storage_version=\"\",\n checksum_etag=None,\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2024-08-10T21:05:07.943Z\"),\n version=\"\",\n is_uploaded=False,\n created_at=parse_datetime(\"2025-09-05T01:36:20.132Z\"),\n size_readable=\"\",\n public_url=\"https://next-peninsula.net\",\n ),\n ],\n ),\n ],\n product=polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2026-07-24T22:06:51.276Z\"),\n modified_at=parse_datetime(\"2026-04-12T19:47:40.853Z\"),\n trial_interval=None,\n trial_interval_count=None,\n name=\"\",\n description=\"below presell cleave silky marimba\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n recurring_interval_count=174683,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n prices=[],\n benefits=[],\n medias=[],\n ),\n product_price=polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2026-09-14T04:08:29.152Z\"),\n modified_at=parse_datetime(\"2026-10-07T17:41:46.324Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n price_currency=\"\",\n price_amount=489298,\n ),\n prices={\n \"key\": [\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2025-10-07T04:25:23.887Z\"),\n modified_at=parse_datetime(\"2024-09-26T23:58:12.698Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n price_currency=\"\",\n minimum_amount=341062,\n maximum_amount=977037,\n preset_amount=499786,\n ),\n ],\n \"key1\": [\n polar_sdk.ProductPriceSeatBased(\n created_at=parse_datetime(\"2025-05-30T18:45:36.542Z\"),\n modified_at=parse_datetime(\"2025-09-13T12:13:23.093Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n is_archived=False,\n product_id=\"\",\n type=polar_sdk.ProductPriceType.RECURRING,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n price_currency=\"\",\n seat_tiers=polar_sdk.ProductPriceSeatTiersOutput(\n tiers=[\n polar_sdk.ProductPriceSeatTier(\n min_seats=287910,\n price_per_seat=597897,\n ),\n ],\n minimum_seats=357440,\n maximum_seats=821665,\n ),\n ),\n ],\n \"key2\": [\n polar_sdk.ProductPriceMeteredUnit(\n created_at=parse_datetime(\"2024-09-11T20:26:20.871Z\"),\n modified_at=None,\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n is_archived=False,\n product_id=\"\",\n type=polar_sdk.ProductPriceType.ONE_TIME,\n recurring_interval=None,\n price_currency=\"\",\n unit_amount=\"\",\n cap_amount=800933,\n meter_id=\"\",\n meter=polar_sdk.ProductPriceMeter(\n id=\"\",\n name=\"\",\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 id=\"\",\n name=\"\",\n code=\"\",\n ),\n subscription_id=None,\n attached_custom_fields=None,\n customer_metadata={\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.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 total_amount=203013,\n currency=\"Australian Dollar\",\n allow_trial=True,\n active_trial_interval=polar_sdk.TrialInterval.MONTH,\n active_trial_interval_count=47757,\n trial_end=None,\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=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.CountryAlpha2.US,\n ),\n customer_tax_id=\"\",\n payment_processor_metadata={\n\n },\n billing_address_fields=polar_sdk.CheckoutBillingAddressFields(\n country=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n state=polar_sdk.BillingAddressFieldMode.DISABLED,\n city=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n postal_code=polar_sdk.BillingAddressFieldMode.REQUIRED,\n line1=polar_sdk.BillingAddressFieldMode.DISABLED,\n line2=polar_sdk.BillingAddressFieldMode.REQUIRED,\n ),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=945017,\n metadata={\n\n },\n external_customer_id=\"\",\n customer_external_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 is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n minimum_amount=538452,\n maximum_amount=996539,\n preset_amount=654854,\n ),\n ],\n benefits=[\n polar_sdk.BenefitPublic(\n id=\"\",\n created_at=parse_datetime(\"2025-04-26T07:56:31.500Z\"),\n modified_at=parse_datetime(\"2026-02-10T10:10:24.048Z\"),\n type=polar_sdk.BenefitType.LICENSE_KEYS,\n description=\"midwife hexagon cope\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n ),\n ],\n medias=[],\n ),\n ],\n product=polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2025-11-08T23:47:21.205Z\"),\n modified_at=parse_datetime(\"2025-08-20T01:40:30.899Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=413218,\n name=\"\",\n description=\"zowie zowie greedily black pike wonderfully sprinkles\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=287910,\n is_recurring=False,\n is_archived=True,\n organization_id=\"\",\n prices=[\n polar_sdk.ProductPriceMeteredUnit(\n created_at=parse_datetime(\"2026-05-12T08:03:19.061Z\"),\n modified_at=parse_datetime(\"2024-09-11T20:26:20.871Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n is_archived=False,\n product_id=\"\",\n type=polar_sdk.ProductPriceType.RECURRING,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n unit_amount=\"\",\n cap_amount=800933,\n meter_id=\"\",\n meter=polar_sdk.ProductPriceMeter(\n id=\"\",\n name=\"\",\n ),\n ),\n ],\n benefits=[\n polar_sdk.BenefitPublic(\n id=\"\",\n created_at=parse_datetime(\"2025-04-26T07:56:31.500Z\"),\n modified_at=parse_datetime(\"2026-02-10T10:10:24.048Z\"),\n type=polar_sdk.BenefitType.LICENSE_KEYS,\n description=\"midwife hexagon cope\",\n selectable=False,\n deletable=True,\n organization_id=\"\",\n ),\n ],\n medias=[],\n ),\n product_price=None,\n prices={\n \"key\": [],\n \"key1\": [],\n },\n discount=polar_sdk.CheckoutDiscountPercentageOnceForeverDuration(\n duration=polar_sdk.DiscountDuration.REPEATING,\n type=polar_sdk.DiscountType.FIXED,\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.CustomFieldDate(\n created_at=parse_datetime(\"2025-06-01T08:38:21.918Z\"),\n modified_at=parse_datetime(\"2024-02-18T12:09:03.075Z\"),\n id=\"\",\n metadata={\n \"key\": \"\",\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldDateProperties(),\n ),\n order=7912,\n required=True,\n ),\n ],\n customer_metadata={\n\n },\n ),\n ))\n\n # Handle response\n print(res)" + - target: $["paths"]["checkout.expired"]["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.endpointcheckout_expired_post(request=polar_sdk.WebhookCheckoutExpiredPayload(\n timestamp=parse_datetime(\"2025-07-24T10:11:01.088Z\"),\n data=polar_sdk.Checkout(\n id=\"\",\n created_at=parse_datetime(\"2024-05-04T16:36:16.430Z\"),\n modified_at=parse_datetime(\"2025-07-14T11:38:07.998Z\"),\n payment_processor=polar_sdk.PaymentProcessor.STRIPE,\n status=polar_sdk.CheckoutStatus.OPEN,\n client_secret=\"\",\n url=\"https://husky-advertisement.biz/\",\n expires_at=parse_datetime(\"2026-08-22T23:38:29.173Z\"),\n success_url=\"https://wasteful-premeditation.org\",\n return_url=\"https://torn-toothpick.name\",\n embed_origin=\"\",\n amount=104765,\n discount_amount=723749,\n net_amount=208098,\n tax_amount=740520,\n total_amount=729691,\n currency=\"Kwanza\",\n allow_trial=True,\n active_trial_interval=polar_sdk.TrialInterval.DAY,\n active_trial_interval_count=884805,\n trial_end=parse_datetime(\"2026-12-24T16:37:35.525Z\"),\n organization_id=\"\",\n product_id=\"\",\n product_price_id=\"\",\n discount_id=\"\",\n allow_discount_codes=False,\n require_billing_address=True,\n is_discount_applicable=True,\n is_free_product_price=True,\n is_payment_required=False,\n is_payment_setup_required=True,\n is_payment_form_required=True,\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.CountryAlpha2.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.DISABLED,\n state=polar_sdk.BillingAddressFieldMode.REQUIRED,\n city=polar_sdk.BillingAddressFieldMode.DISABLED,\n postal_code=polar_sdk.BillingAddressFieldMode.REQUIRED,\n line1=polar_sdk.BillingAddressFieldMode.REQUIRED,\n line2=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n ),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=374640,\n metadata={\n\n },\n external_customer_id=\"\",\n customer_external_id=\"\",\n products=[],\n product=polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2025-05-03T04:05:53.922Z\"),\n modified_at=None,\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=672250,\n name=\"\",\n description=\"dishonor annually freely lest across tuxedo\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=32642,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n prices=[],\n benefits=[\n polar_sdk.BenefitPublic(\n id=\"\",\n created_at=parse_datetime(\"2024-02-13T06:46:22.784Z\"),\n modified_at=None,\n type=polar_sdk.BenefitType.METER_CREDIT,\n description=\"backburn ceramics key drat ah\",\n selectable=True,\n deletable=False,\n organization_id=\"\",\n ),\n ],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/dev\",\n mime_type=\"\",\n size=297560,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=None,\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2024-10-02T10:50:58.254Z\"),\n version=\"\",\n is_uploaded=False,\n created_at=parse_datetime(\"2024-06-17T02:47:29.959Z\"),\n size_readable=\"\",\n public_url=\"https://vague-napkin.info\",\n ),\n ],\n ),\n product_price=polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2026-09-26T14:55:05.068Z\"),\n modified_at=parse_datetime(\"2024-04-29T01:26:29.276Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n price_amount=837258,\n ),\n prices={\n \"key\": [\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2024-11-21T10:54:15.138Z\"),\n modified_at=parse_datetime(\"2024-02-01T03:56:24.308Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n price_amount=899093,\n ),\n ],\n \"key1\": [],\n },\n discount=polar_sdk.CheckoutDiscountPercentageRepeatDuration(\n duration=polar_sdk.DiscountDuration.ONCE,\n duration_in_months=999128,\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.CustomFieldText(\n created_at=parse_datetime(\"2024-04-29T17:45:00.608Z\"),\n modified_at=parse_datetime(\"2025-05-11T11:55:01.279Z\"),\n id=\"\",\n metadata={\n \"key\": True,\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldTextProperties(),\n ),\n order=404380,\n required=False,\n ),\n ],\n customer_metadata={\n \"key\": 8180,\n },\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["checkout.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.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 total_amount=41301,\n currency=\"Azerbaijanian Manat\",\n allow_trial=True,\n active_trial_interval=None,\n active_trial_interval_count=669303,\n trial_end=parse_datetime(\"2026-01-10T10:00:41.343Z\"),\n organization_id=\"\",\n product_id=\"\",\n product_price_id=\"\",\n discount_id=\"\",\n allow_discount_codes=True,\n require_billing_address=False,\n is_discount_applicable=False,\n is_free_product_price=False,\n is_payment_required=True,\n is_payment_setup_required=True,\n is_payment_form_required=True,\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.CountryAlpha2.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.DISABLED,\n state=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n city=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n postal_code=polar_sdk.BillingAddressFieldMode.REQUIRED,\n line1=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n line2=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n ),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=591735,\n metadata={\n\n },\n external_customer_id=\"\",\n customer_external_id=\"\",\n products=[\n polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2024-06-20T05:48:31.398Z\"),\n modified_at=parse_datetime(\"2025-09-06T09:34:57.464Z\"),\n trial_interval=polar_sdk.TrialInterval.DAY,\n trial_interval_count=868555,\n name=\"\",\n description=\"tempting by or hippodrome mountain strict militate soupy partially simple\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=787637,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n prices=[],\n benefits=[\n polar_sdk.BenefitPublic(\n id=\"\",\n created_at=parse_datetime(\"2025-03-20T21:54:02.026Z\"),\n modified_at=parse_datetime(\"2026-11-22T22:06:43.546Z\"),\n type=polar_sdk.BenefitType.GITHUB_REPOSITORY,\n description=\"boring mysterious psst though lest\",\n selectable=False,\n deletable=False,\n organization_id=\"\",\n ),\n ],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/var/yp\",\n mime_type=\"\",\n size=742109,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2025-01-04T08:21:09.966Z\"),\n version=None,\n is_uploaded=False,\n created_at=parse_datetime(\"2025-07-12T04:50:26.552Z\"),\n size_readable=\"\",\n public_url=\"https://common-makeover.biz/\",\n ),\n ],\n ),\n ],\n product=polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2025-06-19T06:14:05.114Z\"),\n modified_at=parse_datetime(\"2024-03-10T18:17:16.587Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=392090,\n name=\"\",\n description=\"whereas steeple brr regularly make huzzah cheerfully ignite sense\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=439686,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2026-06-19T15:55:16.121Z\"),\n modified_at=parse_datetime(\"2026-11-24T07:57:40.732Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n price_currency=\"\",\n price_amount=357928,\n ),\n ],\n benefits=[],\n medias=[],\n ),\n product_price=polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2024-07-24T08:49:00.941Z\"),\n modified_at=parse_datetime(\"2025-02-13T11:02:18.649Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n price_currency=\"\",\n price_amount=347948,\n ),\n prices={\n \"key\": [],\n },\n discount=polar_sdk.CheckoutDiscountFixedOnceForeverDuration(\n duration=polar_sdk.DiscountDuration.REPEATING,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\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(\"2024-11-24T09:30:53.131Z\"),\n modified_at=parse_datetime(\"2025-10-15T09:09:32.242Z\"),\n id=\"\",\n metadata={\n \"key\": 9467.85,\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldNumberProperties(),\n ),\n order=591165,\n required=False,\n ),\n ],\n customer_metadata={\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.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 total_amount=41301,\n currency=\"Azerbaijanian Manat\",\n allow_trial=True,\n active_trial_interval=None,\n active_trial_interval_count=669303,\n trial_end=parse_datetime(\"2026-01-10T10:00:41.343Z\"),\n organization_id=\"\",\n product_id=\"\",\n product_price_id=\"\",\n discount_id=\"\",\n allow_discount_codes=True,\n require_billing_address=False,\n is_discount_applicable=False,\n is_free_product_price=False,\n is_payment_required=True,\n is_payment_setup_required=True,\n is_payment_form_required=True,\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.CountryAlpha2.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.DISABLED,\n state=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n city=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n postal_code=polar_sdk.BillingAddressFieldMode.REQUIRED,\n line1=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n line2=polar_sdk.BillingAddressFieldMode.OPTIONAL,\n ),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=591735,\n metadata={\n\n },\n external_customer_id=\"\",\n customer_external_id=\"\",\n products=[\n polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2024-06-20T05:48:31.398Z\"),\n modified_at=parse_datetime(\"2025-09-06T09:34:57.464Z\"),\n trial_interval=polar_sdk.TrialInterval.DAY,\n trial_interval_count=868555,\n name=\"\",\n description=\"tempting by or hippodrome mountain strict militate soupy partially simple\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n recurring_interval_count=198497,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n prices=[\n polar_sdk.LegacyRecurringProductPriceFree(\n created_at=parse_datetime(\"2026-11-22T22:06:43.546Z\"),\n modified_at=parse_datetime(\"2024-12-18T01:07:08.468Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n price_currency=\"\",\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n ),\n ],\n benefits=[],\n medias=[],\n ),\n ],\n product=polar_sdk.CheckoutProduct(\n id=\"\",\n created_at=parse_datetime(\"2024-03-29T14:25:34.360Z\"),\n modified_at=parse_datetime(\"2024-09-16T18:07:01.178Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=797061,\n name=\"\",\n description=\"cycle determined unaware scaly boohoo better blond boohoo times\",\n visibility=polar_sdk.ProductVisibility.DRAFT,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=963451,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n prices=[],\n benefits=[\n polar_sdk.BenefitPublic(\n id=\"\",\n created_at=parse_datetime(\"2026-03-22T07:52:36.730Z\"),\n modified_at=None,\n type=polar_sdk.BenefitType.GITHUB_REPOSITORY,\n description=\"make huzzah cheerfully ignite sense noted yesterday drowse\",\n selectable=True,\n deletable=True,\n organization_id=\"\",\n ),\n ],\n medias=[],\n ),\n product_price=polar_sdk.LegacyRecurringProductPriceFree(\n created_at=parse_datetime(\"2025-03-05T16:30:42.563Z\"),\n modified_at=parse_datetime(\"2025-01-16T08:25:31.112Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n ),\n prices={\n \"key\": [],\n \"key1\": [],\n },\n discount=polar_sdk.CheckoutDiscountPercentageOnceForeverDuration(\n duration=polar_sdk.DiscountDuration.FOREVER,\n type=polar_sdk.DiscountType.FIXED,\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.CustomFieldText(\n created_at=parse_datetime(\"2025-10-09T21:59:38.696Z\"),\n modified_at=parse_datetime(\"2024-11-24T14:16:50.844Z\"),\n id=\"\",\n metadata={\n\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldTextProperties(),\n ),\n order=22565,\n required=True,\n ),\n ],\n customer_metadata={\n \"key\": False,\n },\n ),\n ))\n\n # Handle response\n print(res)" - target: $["paths"]["customer.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.endpointcustomer_created_post(request={\n \"type\": \"customer.created\",\n \"timestamp\": parse_datetime(\"2026-10-24T17:37:29.711Z\"),\n \"data\": {\n \"id\": \"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n \"created_at\": parse_datetime(\"2026-03-08T02:57:16.205Z\"),\n \"modified_at\": parse_datetime(\"2025-10-31T06:26:45.555Z\"),\n \"metadata\": {\n\n },\n \"external_id\": \"usr_1337\",\n \"email\": \"customer@example.com\",\n \"email_verified\": True,\n \"name\": \"John Doe\",\n \"billing_address\": {\n \"country\": polar_sdk.CountryAlpha2.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-23T20:28:46.681Z\"),\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_created_post(request={\n \"type\": \"customer.created\",\n \"timestamp\": parse_datetime(\"2026-10-24T17:37:29.711Z\"),\n \"data\": {\n \"id\": \"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n \"created_at\": parse_datetime(\"2026-03-08T02:57:16.205Z\"),\n \"modified_at\": parse_datetime(\"2025-10-31T06:26:45.555Z\"),\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_address\": {\n \"country\": polar_sdk.CountryAlpha2.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-23T20:28:46.681Z\"),\n \"avatar_url\": \"https://www.gravatar.com/avatar/xxx?d=404\",\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["customer.deleted"]["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.endpointcustomer_deleted_post(request={\n \"type\": \"customer.deleted\",\n \"timestamp\": parse_datetime(\"2024-07-11T21:40:34.752Z\"),\n \"data\": {\n \"id\": \"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n \"created_at\": parse_datetime(\"2026-12-23T11:32:42.100Z\"),\n \"modified_at\": parse_datetime(\"2024-07-08T17:16:24.833Z\"),\n \"metadata\": {\n\n },\n \"external_id\": \"usr_1337\",\n \"email\": \"customer@example.com\",\n \"email_verified\": True,\n \"name\": \"John Doe\",\n \"billing_address\": {\n \"country\": polar_sdk.CountryAlpha2.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-09-29T09:04:17.770Z\"),\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_deleted_post(request={\n \"type\": \"customer.deleted\",\n \"timestamp\": parse_datetime(\"2024-07-11T21:40:34.752Z\"),\n \"data\": {\n \"id\": \"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n \"created_at\": parse_datetime(\"2026-12-23T11:32:42.100Z\"),\n \"modified_at\": parse_datetime(\"2024-07-08T17:16:24.833Z\"),\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_address\": {\n \"country\": polar_sdk.CountryAlpha2.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-09-29T09:04:17.770Z\"),\n \"avatar_url\": \"https://www.gravatar.com/avatar/xxx?d=404\",\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["customer.state_changed"]["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.endpointcustomer_state_changed_post(request={\n \"type\": \"customer.state_changed\",\n \"timestamp\": parse_datetime(\"2026-05-22T16:03:32.369Z\"),\n \"data\": {\n \"id\": \"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n \"created_at\": parse_datetime(\"2024-07-24T20:57:42.542Z\"),\n \"modified_at\": None,\n \"metadata\": {\n\n },\n \"external_id\": \"usr_1337\",\n \"email\": \"customer@example.com\",\n \"email_verified\": True,\n \"name\": \"John Doe\",\n \"billing_address\": {\n \"country\": polar_sdk.CountryAlpha2.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-09-08T18:19:10.187Z\"),\n \"active_subscriptions\": [],\n \"granted_benefits\": [\n {\n \"id\": \"d322132c-a9d0-4e0d-b8d3-d81ad021a3a9\",\n \"created_at\": parse_datetime(\"2026-09-01T02:21:29.525Z\"),\n \"modified_at\": parse_datetime(\"2024-11-11T17:51:37.646Z\"),\n \"granted_at\": parse_datetime(\"2025-01-03T13:37:00Z\"),\n \"benefit_id\": \"397a17aa-15cf-4cb4-9333-18040203cf98\",\n \"benefit_type\": polar_sdk.BenefitType.METER_CREDIT,\n \"benefit_metadata\": {\n\n },\n \"properties\": {},\n },\n ],\n \"active_meters\": [],\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={\n \"type\": \"customer.state_changed\",\n \"timestamp\": parse_datetime(\"2026-05-22T16:03:32.369Z\"),\n \"data\": {\n \"id\": \"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n \"created_at\": parse_datetime(\"2024-07-24T20:57:42.542Z\"),\n \"modified_at\": None,\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_address\": {\n \"country\": polar_sdk.CountryAlpha2.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-09-08T18:19:10.187Z\"),\n \"active_subscriptions\": [],\n \"granted_benefits\": [\n {\n \"id\": \"d322132c-a9d0-4e0d-b8d3-d81ad021a3a9\",\n \"created_at\": parse_datetime(\"2026-09-01T02:21:29.525Z\"),\n \"modified_at\": parse_datetime(\"2024-11-11T17:51:37.646Z\"),\n \"granted_at\": parse_datetime(\"2025-01-03T13:37:00Z\"),\n \"benefit_id\": \"397a17aa-15cf-4cb4-9333-18040203cf98\",\n \"benefit_type\": polar_sdk.BenefitType.METER_CREDIT,\n \"benefit_metadata\": {\n\n },\n \"properties\": {},\n },\n ],\n \"active_meters\": [],\n \"avatar_url\": \"https://www.gravatar.com/avatar/xxx?d=404\",\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["customer.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.endpointcustomer_updated_post(request={\n \"type\": \"customer.updated\",\n \"timestamp\": parse_datetime(\"2024-07-08T20:22:33.716Z\"),\n \"data\": {\n \"id\": \"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n \"created_at\": parse_datetime(\"2025-07-18T23:25:12.977Z\"),\n \"modified_at\": parse_datetime(\"2024-04-06T04:58:11.725Z\"),\n \"metadata\": {\n \"key\": 983601,\n },\n \"external_id\": \"usr_1337\",\n \"email\": \"customer@example.com\",\n \"email_verified\": True,\n \"name\": \"John Doe\",\n \"billing_address\": {\n \"country\": polar_sdk.CountryAlpha2.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-01-11T12:43:11.694Z\"),\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_updated_post(request={\n \"type\": \"customer.updated\",\n \"timestamp\": parse_datetime(\"2024-07-08T20:22:33.716Z\"),\n \"data\": {\n \"id\": \"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n \"created_at\": parse_datetime(\"2025-07-18T23:25:12.977Z\"),\n \"modified_at\": parse_datetime(\"2024-04-06T04:58:11.725Z\"),\n \"metadata\": {\n \"key\": 983601,\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_address\": {\n \"country\": polar_sdk.CountryAlpha2.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-01-11T12:43:11.694Z\"),\n \"avatar_url\": \"https://www.gravatar.com/avatar/xxx?d=404\",\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["customer_seat.assigned"]["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.endpointcustomer_seat_assigned_post(request={\n \"type\": \"customer_seat.assigned\",\n \"timestamp\": parse_datetime(\"2024-01-24T21:46:22.729Z\"),\n \"data\": {\n \"created_at\": parse_datetime(\"2025-04-02T01:55:00.575Z\"),\n \"modified_at\": parse_datetime(\"2026-03-27T17:16:29.966Z\"),\n \"id\": \"ded032fb-362e-4ae1-83b9-4f4bcab6f430\",\n \"status\": polar_sdk.SeatStatus.REVOKED,\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_seat_assigned_post(request={\n \"type\": \"customer_seat.assigned\",\n \"timestamp\": parse_datetime(\"2024-01-24T21:46:22.729Z\"),\n \"data\": {\n \"created_at\": parse_datetime(\"2025-04-02T01:55:00.575Z\"),\n \"modified_at\": parse_datetime(\"2026-03-27T17:16:29.966Z\"),\n \"id\": \"ded032fb-362e-4ae1-83b9-4f4bcab6f430\",\n \"status\": polar_sdk.SeatStatus.REVOKED,\n \"member\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2025-05-28T13:45:05.891Z\"),\n \"modified_at\": parse_datetime(\"2024-04-28T02:42:57.743Z\"),\n \"customer_id\": \"\",\n \"email\": \"member@example.com\",\n \"name\": \"Jane Doe\",\n \"external_id\": \"usr_1337\",\n \"role\": polar_sdk.MemberRole.OWNER,\n },\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["customer_seat.claimed"]["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.endpointcustomer_seat_claimed_post(request={\n \"type\": \"customer_seat.claimed\",\n \"timestamp\": parse_datetime(\"2024-08-21T13:16:39.616Z\"),\n \"data\": {\n \"created_at\": parse_datetime(\"2024-05-09T18:50:40.033Z\"),\n \"modified_at\": parse_datetime(\"2024-07-11T19:06:41.896Z\"),\n \"id\": \"35ac8c8c-dc4e-44ea-9684-2a2c2b600002\",\n \"status\": polar_sdk.SeatStatus.PENDING,\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_seat_claimed_post(request={\n \"type\": \"customer_seat.claimed\",\n \"timestamp\": parse_datetime(\"2024-08-21T13:16:39.616Z\"),\n \"data\": {\n \"created_at\": parse_datetime(\"2024-05-09T18:50:40.033Z\"),\n \"modified_at\": parse_datetime(\"2024-07-11T19:06:41.896Z\"),\n \"id\": \"35ac8c8c-dc4e-44ea-9684-2a2c2b600002\",\n \"status\": polar_sdk.SeatStatus.PENDING,\n \"member\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2025-06-30T01:51:26.918Z\"),\n \"modified_at\": parse_datetime(\"2024-06-26T15:30:16.099Z\"),\n \"customer_id\": \"\",\n \"email\": \"member@example.com\",\n \"name\": \"Jane Doe\",\n \"external_id\": \"usr_1337\",\n \"role\": polar_sdk.MemberRole.MEMBER,\n },\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["customer_seat.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.endpointcustomer_seat_revoked_post(request={\n \"type\": \"customer_seat.revoked\",\n \"timestamp\": parse_datetime(\"2024-11-11T11:49:39.839Z\"),\n \"data\": {\n \"created_at\": parse_datetime(\"2025-08-05T10:54:13.336Z\"),\n \"modified_at\": parse_datetime(\"2024-12-01T21:24:11.844Z\"),\n \"id\": \"518899df-02c0-4220-abaf-0f2f32e97539\",\n \"status\": polar_sdk.SeatStatus.PENDING,\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_seat_revoked_post(request={\n \"type\": \"customer_seat.revoked\",\n \"timestamp\": parse_datetime(\"2024-11-11T11:49:39.839Z\"),\n \"data\": {\n \"created_at\": parse_datetime(\"2025-08-05T10:54:13.336Z\"),\n \"modified_at\": parse_datetime(\"2024-12-01T21:24:11.844Z\"),\n \"id\": \"518899df-02c0-4220-abaf-0f2f32e97539\",\n \"status\": polar_sdk.SeatStatus.PENDING,\n \"member\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2025-09-21T17:06:36.526Z\"),\n \"modified_at\": parse_datetime(\"2026-03-24T04:32:13.997Z\"),\n \"customer_id\": \"\",\n \"email\": \"member@example.com\",\n \"name\": \"Jane Doe\",\n \"external_id\": \"usr_1337\",\n \"role\": polar_sdk.MemberRole.BILLING_MANAGER,\n },\n },\n })\n\n # Handle response\n print(res)" + - target: $["paths"]["member.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.endpointmember_created_post(request={\n \"type\": \"member.created\",\n \"timestamp\": parse_datetime(\"2025-04-28T23:04:51.808Z\"),\n \"data\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2026-12-23T03:38:19.037Z\"),\n \"modified_at\": parse_datetime(\"2024-09-06T19:43:22.649Z\"),\n \"customer_id\": \"\",\n \"email\": \"member@example.com\",\n \"name\": \"Jane Doe\",\n \"external_id\": \"usr_1337\",\n \"role\": polar_sdk.MemberRole.BILLING_MANAGER,\n },\n })\n\n # Handle response\n print(res)" + - target: $["paths"]["member.deleted"]["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.endpointmember_deleted_post(request={\n \"type\": \"member.deleted\",\n \"timestamp\": parse_datetime(\"2026-07-12T12:40:50.807Z\"),\n \"data\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2024-10-18T18:24:30.902Z\"),\n \"modified_at\": None,\n \"customer_id\": \"\",\n \"email\": \"member@example.com\",\n \"name\": \"Jane Doe\",\n \"external_id\": \"usr_1337\",\n \"role\": polar_sdk.MemberRole.OWNER,\n },\n })\n\n # Handle response\n print(res)" + - target: $["paths"]["member.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.endpointmember_updated_post(request={\n \"type\": \"member.updated\",\n \"timestamp\": parse_datetime(\"2024-11-05T05:14:18.329Z\"),\n \"data\": {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2026-05-18T02:38:40.957Z\"),\n \"modified_at\": parse_datetime(\"2025-05-04T19:57:55.589Z\"),\n \"customer_id\": \"\",\n \"email\": \"member@example.com\",\n \"name\": \"Jane Doe\",\n \"external_id\": \"usr_1337\",\n \"role\": polar_sdk.MemberRole.MEMBER,\n },\n })\n\n # Handle response\n print(res)" - target: $["paths"]["order.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.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.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.PURCHASE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n \"key\": \"\",\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-08-09T17:02:40.706Z\"),\n modified_at=parse_datetime(\"2026-10-06T19:34:47.732Z\"),\n metadata={\n \"key\": 701529,\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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 user_id=\"\",\n product=polar_sdk.OrderProduct(\n metadata={\n\n },\n id=\"\",\n created_at=parse_datetime(\"2026-06-03T19:46:15.179Z\"),\n modified_at=parse_datetime(\"2024-10-20T21:28:56.316Z\"),\n trial_interval=polar_sdk.TrialInterval.WEEK,\n trial_interval_count=271259,\n name=\"\",\n description=\"gadzooks trek amid misspend ravioli supposing bare pfft\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=168138,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n duration_in_months=260667,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n created_at=parse_datetime(\"2025-04-11T00:21:08.353Z\"),\n modified_at=parse_datetime(\"2026-05-03T15:56:59.028Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=None,\n starts_at=parse_datetime(\"2024-03-05T18:58:41.541Z\"),\n ends_at=parse_datetime(\"2025-02-06T05:20:48.151Z\"),\n max_redemptions=200286,\n redemptions_count=148325,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=None,\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2025-01-03T15:31:18.185Z\"),\n modified_at=parse_datetime(\"2024-12-09T13:26:22.287Z\"),\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 ),\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.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.PURCHASE,\n billing_name=\"\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n subscription_id=\"\",\n checkout_id=\"\",\n metadata={\n \"key\": \"\",\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-08-09T17:02:40.706Z\"),\n modified_at=parse_datetime(\"2026-10-06T19:34:47.732Z\"),\n metadata={\n \"key\": 701529,\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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 user_id=\"\",\n product=polar_sdk.OrderProduct(\n metadata={\n\n },\n id=\"\",\n created_at=parse_datetime(\"2026-06-03T19:46:15.179Z\"),\n modified_at=parse_datetime(\"2024-10-20T21:28:56.316Z\"),\n trial_interval=polar_sdk.TrialInterval.WEEK,\n trial_interval_count=271259,\n name=\"\",\n description=\"gadzooks trek amid misspend ravioli supposing bare pfft\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=211748,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n duration_in_months=865488,\n type=polar_sdk.DiscountType.FIXED,\n amount=1000,\n currency=\"usd\",\n created_at=parse_datetime(\"2024-08-03T14:24:05.390Z\"),\n modified_at=parse_datetime(\"2024-01-25T10:47:26.689Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=None,\n ends_at=parse_datetime(\"2025-02-06T05:20:48.151Z\"),\n max_redemptions=200286,\n redemptions_count=148325,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=None,\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2025-01-03T15:31:18.185Z\"),\n modified_at=parse_datetime(\"2024-12-09T13:26:22.287Z\"),\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 ),\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.CountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=True,\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-08-31T00:54:53.749Z\"),\n modified_at=parse_datetime(\"2026-07-24T12:09:26.716Z\"),\n metadata={\n \"key\": \"\",\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-04-20T14:41:24.727Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n user_id=\"\",\n product=polar_sdk.OrderProduct(\n metadata={\n\n },\n id=\"\",\n created_at=parse_datetime(\"2024-06-17T22:24:34.935Z\"),\n modified_at=parse_datetime(\"2026-08-01T03:33:20.782Z\"),\n trial_interval=polar_sdk.TrialInterval.WEEK,\n trial_interval_count=125374,\n name=\"\",\n description=\"easily carouse plus quietly reservation bright injunction plastic gah\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=458129,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n duration_in_months=375708,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n created_at=parse_datetime(\"2025-05-24T21:01:40.292Z\"),\n modified_at=parse_datetime(\"2025-05-25T21:22:06.978Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-09-14T19:23:38.365Z\"),\n ends_at=parse_datetime(\"2025-10-02T13:51:42.523Z\"),\n max_redemptions=231748,\n redemptions_count=846855,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=polar_sdk.OrderSubscription(\n metadata={\n \"key\": 5251.57,\n },\n created_at=parse_datetime(\"2026-02-12T23:41:13.290Z\"),\n modified_at=parse_datetime(\"2024-02-24T15:15:22.018Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=310795,\n status=polar_sdk.SubscriptionStatus.CANCELED,\n current_period_start=parse_datetime(\"2024-11-19T10:20:23.628Z\"),\n current_period_end=parse_datetime(\"2026-08-05T06:11:40.745Z\"),\n trial_start=parse_datetime(\"2024-12-04T06:32:48.307Z\"),\n trial_end=None,\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2024-08-07T23:25:37.197Z\"),\n started_at=parse_datetime(\"2025-10-04T00:59:57.339Z\"),\n ends_at=parse_datetime(\"2026-02-01T22:39:43.609Z\"),\n ended_at=parse_datetime(\"2024-08-03T10:17:52.706Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=None,\n customer_cancellation_comment=\"\",\n ),\n items=[],\n description=\"Pro Plan\",\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.CountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=True,\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-08-31T00:54:53.749Z\"),\n modified_at=parse_datetime(\"2026-07-24T12:09:26.716Z\"),\n metadata={\n \"key\": \"\",\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-04-20T14:41:24.727Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n user_id=\"\",\n product=polar_sdk.OrderProduct(\n metadata={\n\n },\n id=\"\",\n created_at=parse_datetime(\"2024-06-17T22:24:34.935Z\"),\n modified_at=parse_datetime(\"2026-08-01T03:33:20.782Z\"),\n trial_interval=polar_sdk.TrialInterval.WEEK,\n trial_interval_count=125374,\n name=\"\",\n description=\"easily carouse plus quietly reservation bright injunction plastic gah\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=417172,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountPercentageOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n created_at=parse_datetime(\"2025-05-24T21:01:40.292Z\"),\n modified_at=parse_datetime(\"2025-05-25T21:22:06.978Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-09-14T19:23:38.365Z\"),\n ends_at=parse_datetime(\"2025-10-02T13:51:42.523Z\"),\n max_redemptions=231748,\n redemptions_count=846855,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=polar_sdk.OrderSubscription(\n metadata={\n \"key\": 5251.57,\n },\n created_at=parse_datetime(\"2026-02-12T23:41:13.290Z\"),\n modified_at=parse_datetime(\"2024-02-24T15:15:22.018Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=310795,\n status=polar_sdk.SubscriptionStatus.CANCELED,\n current_period_start=parse_datetime(\"2024-11-19T10:20:23.628Z\"),\n current_period_end=parse_datetime(\"2026-08-05T06:11:40.745Z\"),\n trial_start=parse_datetime(\"2024-12-04T06:32:48.307Z\"),\n trial_end=None,\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2024-08-07T23:25:37.197Z\"),\n started_at=parse_datetime(\"2025-10-04T00:59:57.339Z\"),\n ends_at=parse_datetime(\"2026-02-01T22:39:43.609Z\"),\n ended_at=parse_datetime(\"2024-08-03T10:17:52.706Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=None,\n customer_cancellation_comment=\"\",\n ),\n items=[],\n description=\"Pro Plan\",\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.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.CountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\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(\"2025-05-21T22:00:59.902Z\"),\n modified_at=parse_datetime(\"2025-08-24T07:48:58.778Z\"),\n metadata={\n \"key\": 647689,\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-19T02:54:30.835Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n user_id=\"\",\n product=None,\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n duration_in_months=310259,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n created_at=parse_datetime(\"2024-01-26T21:26:48.872Z\"),\n modified_at=parse_datetime(\"2024-01-16T07:26:04.196Z\"),\n id=\"\",\n metadata={\n \"key\": 4016.73,\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2026-09-14T03:05:33.012Z\"),\n ends_at=None,\n max_redemptions=211875,\n redemptions_count=188354,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=None,\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2025-12-08T10:40:25.472Z\"),\n modified_at=parse_datetime(\"2024-12-19T17:19:16.701Z\"),\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 ),\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.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.CountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=False,\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(\"2025-05-21T22:00:59.902Z\"),\n modified_at=parse_datetime(\"2025-08-24T07:48:58.778Z\"),\n metadata={\n \"key\": 647689,\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-19T02:54:30.835Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n user_id=\"\",\n product=None,\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n duration_in_months=310259,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n created_at=parse_datetime(\"2024-01-26T21:26:48.872Z\"),\n modified_at=parse_datetime(\"2024-01-16T07:26:04.196Z\"),\n id=\"\",\n metadata={\n \"key\": 4016.73,\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2026-09-14T03:05:33.012Z\"),\n ends_at=None,\n max_redemptions=211875,\n redemptions_count=188354,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=None,\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2025-12-08T10:40:25.472Z\"),\n modified_at=parse_datetime(\"2024-12-19T17:19:16.701Z\"),\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 ),\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.CountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=True,\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(\"2024-12-13T17:38:07.808Z\"),\n modified_at=parse_datetime(\"2025-04-07T10:18:18.539Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-10-23T02:39:12.424Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n user_id=\"\",\n product=polar_sdk.OrderProduct(\n metadata={\n\n },\n id=\"\",\n created_at=parse_datetime(\"2025-12-03T05:16:11.415Z\"),\n modified_at=parse_datetime(\"2024-03-10T05:58:05.184Z\"),\n trial_interval=None,\n trial_interval_count=None,\n name=\"\",\n description=\"simple eventually briskly considering\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n recurring_interval_count=None,\n is_recurring=False,\n is_archived=True,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountPercentageRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n duration_in_months=976971,\n type=polar_sdk.DiscountType.FIXED,\n basis_points=1000,\n created_at=parse_datetime(\"2025-02-27T06:12:39.096Z\"),\n modified_at=parse_datetime(\"2024-09-30T05:16:42.046Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-08-28T07:16:56.183Z\"),\n ends_at=parse_datetime(\"2024-02-25T14:55:58.248Z\"),\n max_redemptions=970746,\n redemptions_count=314425,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=None,\n items=[\n polar_sdk.OrderItemSchema(\n created_at=parse_datetime(\"2025-10-24T22:29:24.352Z\"),\n modified_at=parse_datetime(\"2024-05-01T19:12:30.014Z\"),\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 ),\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.CountryAlpha2.US,\n ),\n invoice_number=\"\",\n is_invoice_generated=True,\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(\"2024-12-13T17:38:07.808Z\"),\n modified_at=parse_datetime(\"2025-04-07T10:18:18.539Z\"),\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-10-23T02:39:12.424Z\"),\n avatar_url=\"https://www.gravatar.com/avatar/xxx?d=404\",\n ),\n user_id=\"\",\n product=polar_sdk.OrderProduct(\n metadata={\n\n },\n id=\"\",\n created_at=parse_datetime(\"2025-12-03T05:16:11.415Z\"),\n modified_at=parse_datetime(\"2024-03-10T05:58:05.184Z\"),\n trial_interval=None,\n trial_interval_count=None,\n name=\"\",\n description=\"simple eventually briskly considering\",\n visibility=polar_sdk.ProductVisibility.PUBLIC,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=164584,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n ),\n discount=polar_sdk.DiscountPercentageRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n duration_in_months=386185,\n type=polar_sdk.DiscountType.FIXED,\n basis_points=1000,\n created_at=parse_datetime(\"2024-09-30T05:16:42.046Z\"),\n modified_at=None,\n id=\"\",\n metadata={\n \"key\": 5522.84,\n },\n name=\"\",\n code=\"\",\n starts_at=None,\n ends_at=parse_datetime(\"2026-11-29T22:29:50.794Z\"),\n max_redemptions=87962,\n redemptions_count=617041,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n subscription=polar_sdk.OrderSubscription(\n metadata={\n\n },\n created_at=parse_datetime(\"2024-05-01T19:12:30.014Z\"),\n modified_at=parse_datetime(\"2025-05-12T23:36:17.099Z\"),\n id=\"\",\n amount=10000,\n currency=\"usd\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=71896,\n status=polar_sdk.SubscriptionStatus.UNPAID,\n current_period_start=parse_datetime(\"2024-05-04T04:27:56.002Z\"),\n current_period_end=None,\n trial_start=parse_datetime(\"2024-01-24T12:25:14.117Z\"),\n trial_end=parse_datetime(\"2024-12-27T18:30:07.396Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2024-08-31T14:56:03.459Z\"),\n started_at=parse_datetime(\"2025-10-01T02:03:16.161Z\"),\n ends_at=parse_datetime(\"2026-03-04T09:29:46.413Z\"),\n ended_at=parse_datetime(\"2026-11-15T17:24:36.671Z\"),\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-03-12T02:07:55.904Z\"),\n modified_at=parse_datetime(\"2024-08-25T12:56:24.423Z\"),\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 ),\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=polar_sdk.WebhookOrganizationUpdatedPayload(\n timestamp=parse_datetime(\"2026-08-19T15:02:44.139Z\"),\n data=polar_sdk.Organization(\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.PRORATE,\n allow_customer_updates=True,\n email=\"Marianne.Haag@yahoo.com\",\n website=None,\n socials=[],\n status=polar_sdk.OrganizationStatus.INITIAL_REVIEW,\n details_submitted_at=parse_datetime(\"2025-06-29T16:05:16.127Z\"),\n feature_settings=polar_sdk.OrganizationFeatureSettings(),\n subscription_settings=polar_sdk.OrganizationSubscriptionSettings(\n allow_multiple_subscriptions=False,\n allow_customer_updates=True,\n proration_behavior=polar_sdk.SubscriptionProrationBehavior.INVOICE,\n benefit_revocation_grace_period=778168,\n prevent_trial_abuse=False,\n ),\n notification_settings=polar_sdk.OrganizationNotificationSettings(\n new_order=True,\n new_subscription=False,\n ),\n customer_email_settings=polar_sdk.OrganizationCustomerEmailSettings(\n order_confirmation=True,\n subscription_cancellation=True,\n subscription_confirmation=True,\n subscription_cycled=False,\n subscription_past_due=True,\n subscription_revoked=False,\n subscription_uncanceled=False,\n subscription_updated=True,\n ),\n customer_portal_settings=polar_sdk.OrganizationCustomerPortalSettings(\n usage=polar_sdk.CustomerPortalUsageSettings(\n show=True,\n ),\n subscription=polar_sdk.CustomerPortalSubscriptionSettings(\n update_seats=True,\n update_plan=False,\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.endpointorganization_updated_post(request=polar_sdk.WebhookOrganizationUpdatedPayload(\n timestamp=parse_datetime(\"2026-08-19T15:02:44.139Z\"),\n data=polar_sdk.Organization(\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.PRORATE,\n allow_customer_updates=True,\n email=\"Marianne.Haag@yahoo.com\",\n website=None,\n socials=[],\n status=polar_sdk.OrganizationStatus.INITIAL_REVIEW,\n details_submitted_at=parse_datetime(\"2025-06-29T16:05:16.127Z\"),\n default_presentment_currency=\"\",\n feature_settings=polar_sdk.OrganizationFeatureSettings(),\n subscription_settings=polar_sdk.OrganizationSubscriptionSettings(\n allow_multiple_subscriptions=False,\n allow_customer_updates=True,\n proration_behavior=polar_sdk.SubscriptionProrationBehavior.INVOICE,\n benefit_revocation_grace_period=778168,\n prevent_trial_abuse=False,\n ),\n notification_settings=polar_sdk.OrganizationNotificationSettings(\n new_order=True,\n new_subscription=False,\n ),\n customer_email_settings=polar_sdk.OrganizationCustomerEmailSettings(\n order_confirmation=True,\n subscription_cancellation=True,\n subscription_confirmation=True,\n subscription_cycled=False,\n subscription_past_due=True,\n subscription_revoked=False,\n subscription_uncanceled=False,\n subscription_updated=True,\n ),\n customer_portal_settings=polar_sdk.OrganizationCustomerPortalSettings(\n usage=polar_sdk.CustomerPortalUsageSettings(\n show=True,\n ),\n subscription=polar_sdk.CustomerPortalSubscriptionSettings(\n update_seats=True,\n update_plan=False,\n ),\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 \"recurring_interval\": polar_sdk.SubscriptionRecurringInterval.YEAR,\n \"recurring_interval_count\": 944417,\n \"is_recurring\": False,\n \"is_archived\": True,\n \"organization_id\": \"\",\n \"metadata\": {\n\n },\n \"prices\": [],\n \"benefits\": [\n {\n \"id\": \"\",\n \"created_at\": parse_datetime(\"2024-03-02T14:19:40.156Z\"),\n \"modified_at\": parse_datetime(\"2026-12-07T23:08:11.973Z\"),\n \"type\": \"discord\",\n \"description\": \"gosh consequently gladly beneath horse\",\n \"selectable\": True,\n \"deletable\": False,\n \"organization_id\": \"\",\n \"metadata\": {\n \"key\": 5806.69,\n },\n \"properties\": {\n \"guild_id\": \"\",\n \"role_id\": \"\",\n \"kick_member\": False,\n \"guild_token\": \"\",\n },\n },\n ],\n \"medias\": [],\n \"attached_custom_fields\": [\n {\n \"custom_field_id\": \"\",\n \"custom_field\": {\n \"created_at\": parse_datetime(\"2026-10-04T08:22:15.858Z\"),\n \"modified_at\": None,\n \"id\": \"\",\n \"metadata\": {\n \"key\": False,\n },\n \"type\": \"number\",\n \"slug\": \"\",\n \"name\": \"\",\n \"organization_id\": \"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n \"properties\": {},\n },\n \"order\": 92084,\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_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 \"is_archived\": True,\n \"product_id\": \"\",\n \"type\": \"recurring\",\n \"recurring_interval\": polar_sdk.SubscriptionRecurringInterval.MONTH,\n \"minimum_amount\": 217398,\n \"maximum_amount\": 927218,\n \"preset_amount\": 804154,\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 \"recurring_interval\": polar_sdk.SubscriptionRecurringInterval.YEAR,\n \"recurring_interval_count\": 731544,\n \"is_recurring\": False,\n \"is_archived\": True,\n \"organization_id\": \"\",\n \"metadata\": {\n\n },\n \"prices\": [\n {\n \"created_at\": parse_datetime(\"2026-06-01T04:39:05.245Z\"),\n \"modified_at\": parse_datetime(\"2025-05-10T10:53:55.427Z\"),\n \"id\": \"\",\n \"source\": polar_sdk.ProductPriceSource.CATALOG,\n \"amount_type\": \"free\",\n \"is_archived\": False,\n \"product_id\": \"\",\n \"type\": \"recurring\",\n \"recurring_interval\": polar_sdk.SubscriptionRecurringInterval.DAY,\n \"legacy\": True,\n },\n ],\n \"benefits\": [],\n \"medias\": [\n {\n \"id\": \"\",\n \"organization_id\": \"\",\n \"name\": \"\",\n \"path\": \"/usr/src\",\n \"mime_type\": \"\",\n \"size\": 825582,\n \"storage_version\": \"\",\n \"checksum_etag\": \"\",\n \"checksum_sha256_base64\": \"\",\n \"checksum_sha256_hex\": \"\",\n \"last_modified_at\": parse_datetime(\"2026-10-10T23:54:17.582Z\"),\n \"version\": \"\",\n \"service\": \"product_media\",\n \"is_uploaded\": True,\n \"created_at\": parse_datetime(\"2024-08-26T11:33:39.456Z\"),\n \"size_readable\": \"\",\n \"public_url\": \"https://equatorial-gerbil.net/\",\n },\n ],\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_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 \"is_archived\": False,\n \"product_id\": \"\",\n \"type\": \"recurring\",\n \"recurring_interval\": polar_sdk.SubscriptionRecurringInterval.MONTH,\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": @@ -1148,40 +1196,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=None,\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 name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-04-07T22:28:00.101Z\"),\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 recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n recurring_interval_count=48572,\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 is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n price_currency=\"\",\n minimum_amount=154892,\n maximum_amount=778615,\n preset_amount=829362,\n ),\n ],\n benefits=[\n polar_sdk.BenefitGitHubRepository(\n id=\"\",\n created_at=parse_datetime(\"2025-04-05T11:10:16.533Z\"),\n modified_at=parse_datetime(\"2024-02-12T06:44:11.052Z\"),\n description=\"against effector as upbeat yuck\",\n selectable=True,\n deletable=False,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitGitHubRepositoryProperties(\n repository_owner=\"polarsource\",\n repository_name=\"private_repo\",\n permission=polar_sdk.Permission.MAINTAIN,\n ),\n ),\n ],\n medias=[],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountPercentageRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n duration_in_months=629236,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n created_at=parse_datetime(\"2024-04-08T15:13:09.162Z\"),\n modified_at=parse_datetime(\"2024-02-11T00:08:34.711Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-07-16T10:58:24.296Z\"),\n ends_at=None,\n max_redemptions=929853,\n redemptions_count=426681,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2024-06-22T00:23:01.418Z\"),\n modified_at=parse_datetime(\"2024-08-21T07:22:13.326Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n price_currency=\"\",\n minimum_amount=168659,\n maximum_amount=84871,\n preset_amount=549701,\n ),\n ],\n meters=[\n polar_sdk.SubscriptionMeter(\n created_at=parse_datetime(\"2025-10-27T03:26:40.201Z\"),\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\": 99831,\n },\n created_at=parse_datetime(\"2025-03-30T14:50:52.711Z\"),\n modified_at=parse_datetime(\"2025-06-25T05:59:30.258Z\"),\n id=\"\",\n name=\"\",\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.CountAggregation(),\n organization_id=\"\",\n ),\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.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=None,\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.INDIVIDUAL,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-04-07T22:28:00.101Z\"),\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 is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n minimum_amount=154892,\n maximum_amount=778615,\n preset_amount=829362,\n ),\n ],\n benefits=[\n polar_sdk.BenefitDownloadables(\n id=\"\",\n created_at=parse_datetime(\"2025-04-05T11:10:16.533Z\"),\n modified_at=parse_datetime(\"2024-02-12T06:44:11.052Z\"),\n description=\"against effector as upbeat yuck\",\n selectable=True,\n deletable=False,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n properties=polar_sdk.BenefitDownloadablesProperties(\n archived={\n \"key\": True,\n \"key1\": True,\n },\n files=[\n \"\",\n \"\",\n \"\",\n ],\n ),\n ),\n ],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/usr/libexec\",\n mime_type=\"\",\n size=629236,\n storage_version=\"\",\n checksum_etag=None,\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=None,\n last_modified_at=parse_datetime(\"2025-10-21T08:00:16.195Z\"),\n version=\"\",\n is_uploaded=False,\n created_at=parse_datetime(\"2024-01-26T13:42:22.194Z\"),\n size_readable=\"\",\n public_url=\"https://vengeful-hoof.name/\",\n ),\n ],\n attached_custom_fields=[],\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 created_at=parse_datetime(\"2026-10-22T18:50:20.612Z\"),\n modified_at=parse_datetime(\"2024-10-21T11:54:46.292Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=None,\n ends_at=parse_datetime(\"2025-08-25T11:20:18.677Z\"),\n max_redemptions=606883,\n redemptions_count=64507,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2025-03-30T14:50:52.711Z\"),\n modified_at=parse_datetime(\"2025-06-25T05:59:30.258Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n minimum_amount=120061,\n maximum_amount=None,\n preset_amount=31018,\n ),\n ],\n meters=[],\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-08-03T03:14:29.655Z\"),\n trial_start=parse_datetime(\"2026-03-21T15:50:39.816Z\"),\n trial_end=parse_datetime(\"2025-01-06T18:54:45.602Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2024-05-04T03:28:24.281Z\"),\n started_at=parse_datetime(\"2025-08-20T02:19:30.433Z\"),\n ends_at=parse_datetime(\"2024-01-03T22:38:10.292Z\"),\n ended_at=None,\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 metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-06-06T08:13:58.211Z\"),\n modified_at=parse_datetime(\"2024-06-06T02:15:24.636Z\"),\n metadata={\n \"key\": 1764.16,\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-03-18T13:26:34.470Z\"),\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-08-22T01:08:59.550Z\"),\n modified_at=None,\n trial_interval=polar_sdk.TrialInterval.DAY,\n trial_interval_count=920579,\n name=\"\",\n description=\"via hm truly\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n recurring_interval_count=848785,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n metadata={\n \"key\": True,\n },\n prices=[],\n benefits=[],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/lib\",\n mime_type=\"\",\n size=83334,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2025-09-21T18:00:22.332Z\"),\n version=\"\",\n is_uploaded=True,\n created_at=parse_datetime(\"2026-04-11T14:16:04.184Z\"),\n size_readable=\"\",\n public_url=\"https://entire-ethyl.org/\",\n ),\n ],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldCheckbox(\n created_at=parse_datetime(\"2025-11-19T14:39:19.899Z\"),\n modified_at=parse_datetime(\"2025-10-07T08:09:01.589Z\"),\n id=\"\",\n metadata={\n \"key\": \"\",\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldCheckboxProperties(),\n ),\n order=350933,\n required=False,\n ),\n ],\n ),\n discount=polar_sdk.DiscountPercentageOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n created_at=parse_datetime(\"2024-05-19T18:55:11.120Z\"),\n modified_at=parse_datetime(\"2026-01-19T16:58:36.968Z\"),\n id=\"\",\n metadata={\n \"key\": \"\",\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-09-20T02:04:48.363Z\"),\n ends_at=parse_datetime(\"2024-02-23T04:10:00.244Z\"),\n max_redemptions=839446,\n redemptions_count=119301,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[],\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.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-08-03T03:14:29.655Z\"),\n trial_start=parse_datetime(\"2026-03-21T15:50:39.816Z\"),\n trial_end=parse_datetime(\"2025-01-06T18:54:45.602Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2024-05-04T03:28:24.281Z\"),\n started_at=parse_datetime(\"2025-08-20T02:19:30.433Z\"),\n ends_at=parse_datetime(\"2024-01-03T22:38:10.292Z\"),\n ended_at=None,\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 metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-06-06T08:13:58.211Z\"),\n modified_at=parse_datetime(\"2024-06-06T02:15:24.636Z\"),\n metadata={\n \"key\": 1764.16,\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-03-18T13:26:34.470Z\"),\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-08-22T01:08:59.550Z\"),\n modified_at=None,\n trial_interval=polar_sdk.TrialInterval.DAY,\n trial_interval_count=920579,\n name=\"\",\n description=\"via hm truly\",\n visibility=polar_sdk.ProductVisibility.DRAFT,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=536791,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n metadata={\n \"key\": \"\",\n },\n prices=[],\n benefits=[],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/lib\",\n mime_type=\"\",\n size=83334,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2025-09-21T18:00:22.332Z\"),\n version=\"\",\n is_uploaded=True,\n created_at=parse_datetime(\"2026-04-11T14:16:04.184Z\"),\n size_readable=\"\",\n public_url=\"https://entire-ethyl.org/\",\n ),\n ],\n attached_custom_fields=[\n polar_sdk.AttachedCustomField(\n custom_field_id=\"\",\n custom_field=polar_sdk.CustomFieldCheckbox(\n created_at=parse_datetime(\"2025-11-19T14:39:19.899Z\"),\n modified_at=parse_datetime(\"2025-10-07T08:09:01.589Z\"),\n id=\"\",\n metadata={\n \"key\": \"\",\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldCheckboxProperties(),\n ),\n order=350933,\n required=False,\n ),\n ],\n ),\n discount=polar_sdk.DiscountPercentageOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n created_at=parse_datetime(\"2024-05-19T18:55:11.120Z\"),\n modified_at=parse_datetime(\"2026-01-19T16:58:36.968Z\"),\n id=\"\",\n metadata={\n \"key\": \"\",\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-09-20T02:04:48.363Z\"),\n ends_at=parse_datetime(\"2024-02-23T04:10:00.244Z\"),\n max_redemptions=839446,\n redemptions_count=119301,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[],\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-07-30T16:54:44.427Z\"),\n trial_start=parse_datetime(\"2026-01-24T01:20:23.589Z\"),\n trial_end=parse_datetime(\"2024-09-09T12:12:44.499Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2025-06-27T22:01:23.333Z\"),\n started_at=parse_datetime(\"2025-07-24T19:43:04.879Z\"),\n ends_at=None,\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 name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-26T21:09:46.234Z\"),\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-05-14T22:05:41.858Z\"),\n modified_at=parse_datetime(\"2025-01-30T16:35:38.441Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=271531,\n name=\"\",\n description=\"platypus scrape adventurously which cautiously secret completion\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=803045,\n is_recurring=False,\n is_archived=True,\n organization_id=\"\",\n metadata={\n\n },\n prices=[],\n benefits=[],\n medias=[],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountPercentageRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n duration_in_months=274053,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n created_at=parse_datetime(\"2026-09-05T16:45:03.444Z\"),\n modified_at=parse_datetime(\"2026-01-22T02:13:03.697Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-02-18T11:12:06.291Z\"),\n ends_at=parse_datetime(\"2025-01-28T14:46:42.846Z\"),\n max_redemptions=440571,\n redemptions_count=801134,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[],\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.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-07-30T16:54:44.427Z\"),\n trial_start=parse_datetime(\"2026-01-24T01:20:23.589Z\"),\n trial_end=parse_datetime(\"2024-09-09T12:12:44.499Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2025-06-27T22:01:23.333Z\"),\n started_at=parse_datetime(\"2025-07-24T19:43:04.879Z\"),\n ends_at=None,\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.INDIVIDUAL,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-26T21:09:46.234Z\"),\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-05-14T22:05:41.858Z\"),\n modified_at=parse_datetime(\"2025-01-30T16:35:38.441Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=271531,\n name=\"\",\n description=\"platypus scrape adventurously which cautiously secret completion\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=591901,\n is_recurring=True,\n is_archived=True,\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(\"2026-08-19T12:34:00.701Z\"),\n modified_at=parse_datetime(\"2026-04-03T20:11:30.100Z\"),\n id=\"\",\n metadata={\n \"key\": 6862.16,\n },\n slug=\"\",\n name=\"\",\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n properties=polar_sdk.CustomFieldTextProperties(),\n ),\n order=149871,\n required=True,\n ),\n ],\n ),\n discount=polar_sdk.DiscountFixedOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n type=polar_sdk.DiscountType.FIXED,\n amount=1000,\n currency=\"usd\",\n created_at=parse_datetime(\"2026-12-17T08:21:24.389Z\"),\n modified_at=parse_datetime(\"2026-05-28T01:01:51.966Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2024-06-16T21:54:34.689Z\"),\n ends_at=parse_datetime(\"2025-01-28T17:06:11.180Z\"),\n max_redemptions=691175,\n redemptions_count=794334,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2026-07-04T09:22:41.058Z\"),\n modified_at=parse_datetime(\"2025-10-27T12:22:08.463Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n price_amount=728623,\n ),\n ],\n meters=[\n polar_sdk.SubscriptionMeter(\n created_at=parse_datetime(\"2025-06-05T19:36:34.311Z\"),\n modified_at=parse_datetime(\"2024-11-11T14:02:45.026Z\"),\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(\"2025-12-16T00:10:05.769Z\"),\n modified_at=parse_datetime(\"2026-12-16T06:51:22.523Z\"),\n id=\"\",\n name=\"\",\n filter_=polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.OR,\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 ),\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(\"2026-05-17T12:45:53.215Z\"),\n trial_start=parse_datetime(\"2026-08-11T03:24:52.872Z\"),\n trial_end=parse_datetime(\"2026-11-23T15:14:32.091Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2026-11-23T20:41:28.274Z\"),\n started_at=parse_datetime(\"2024-06-06T00:58:09.164Z\"),\n ends_at=parse_datetime(\"2024-04-29T18:50:10.865Z\"),\n ended_at=parse_datetime(\"2025-10-24T10:41:48.448Z\"),\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 \"key\": 88296,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2024-10-22T07:41:47.878Z\"),\n modified_at=parse_datetime(\"2024-03-22T16:08:53.531Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-03-24T05:44:38.605Z\"),\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-12-22T12:33:51.204Z\"),\n modified_at=parse_datetime(\"2026-12-27T02:54:47.268Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=142723,\n name=\"\",\n description=\"within tomb spectacles um after when chunter inwardly brr\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=49747,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[],\n benefits=[],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/usr/bin\",\n mime_type=\"\",\n size=189018,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=None,\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2025-10-16T11:09:40.675Z\"),\n version=None,\n is_uploaded=True,\n created_at=parse_datetime(\"2024-04-24T02:01:36.979Z\"),\n size_readable=\"\",\n public_url=\"https://exalted-unblinking.name\",\n ),\n ],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountPercentageOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n created_at=parse_datetime(\"2025-09-15T03:00:42.261Z\"),\n modified_at=parse_datetime(\"2024-01-21T01:11:57.675Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-05-03T02:53:30.217Z\"),\n ends_at=parse_datetime(\"2026-12-13T03:09:13.905Z\"),\n max_redemptions=205428,\n redemptions_count=683480,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[],\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.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(\"2026-05-17T12:45:53.215Z\"),\n trial_start=parse_datetime(\"2026-08-11T03:24:52.872Z\"),\n trial_end=parse_datetime(\"2026-11-23T15:14:32.091Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2026-11-23T20:41:28.274Z\"),\n started_at=parse_datetime(\"2024-06-06T00:58:09.164Z\"),\n ends_at=parse_datetime(\"2024-04-29T18:50:10.865Z\"),\n ended_at=parse_datetime(\"2025-10-24T10:41:48.448Z\"),\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 \"key\": 88296,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2024-10-22T07:41:47.878Z\"),\n modified_at=parse_datetime(\"2024-03-22T16:08:53.531Z\"),\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-03-24T05:44:38.605Z\"),\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-12-22T12:33:51.204Z\"),\n modified_at=parse_datetime(\"2026-12-27T02:54:47.268Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=142723,\n name=\"\",\n description=\"within tomb spectacles um after when chunter inwardly brr\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=None,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[],\n benefits=[],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/usr/bin\",\n mime_type=\"\",\n size=189018,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=None,\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2025-10-16T11:09:40.675Z\"),\n version=None,\n is_uploaded=True,\n created_at=parse_datetime(\"2024-04-24T02:01:36.979Z\"),\n size_readable=\"\",\n public_url=\"https://exalted-unblinking.name\",\n ),\n ],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountPercentageOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\n created_at=parse_datetime(\"2025-09-15T03:00:42.261Z\"),\n modified_at=parse_datetime(\"2024-01-21T01:11:57.675Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-05-03T02:53:30.217Z\"),\n ends_at=parse_datetime(\"2026-12-13T03:09:13.905Z\"),\n max_redemptions=205428,\n redemptions_count=683480,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[],\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(\"2024-05-31T18:10:42.435Z\"),\n trial_start=parse_datetime(\"2024-02-17T04:59:11.584Z\"),\n trial_end=parse_datetime(\"2025-02-13T23:20:57.498Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2024-11-12T16:37:04.348Z\"),\n started_at=parse_datetime(\"2024-12-27T07:35:48.028Z\"),\n ends_at=parse_datetime(\"2025-01-25T10:24:50.250Z\"),\n ended_at=parse_datetime(\"2025-06-20T16:37:33.284Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.TOO_EXPENSIVE,\n customer_cancellation_comment=\"\",\n metadata={\n \"key\": 8717.41,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-05-28T06:09:58.228Z\"),\n modified_at=parse_datetime(\"2026-01-19T04:39:36.127Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-05-31T05:10:14.997Z\"),\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-06-26T05:35:27.950Z\"),\n modified_at=parse_datetime(\"2025-06-01T00:18:42.763Z\"),\n trial_interval=polar_sdk.TrialInterval.WEEK,\n trial_interval_count=455030,\n name=\"\",\n description=\"overburden quarrelsome outrun phew whose merrily language\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=518934,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[],\n benefits=[\n polar_sdk.BenefitDiscord(\n id=\"\",\n created_at=parse_datetime(\"2024-12-15T06:31:21.339Z\"),\n modified_at=parse_datetime(\"2025-06-28T04:33:55.419Z\"),\n description=\"yuck after plus meh enrich that\",\n selectable=False,\n deletable=False,\n organization_id=\"\",\n metadata={\n \"key\": 484393,\n },\n properties=polar_sdk.BenefitDiscordProperties(\n guild_id=\"\",\n role_id=\"\",\n kick_member=False,\n guild_token=\"\",\n ),\n ),\n ],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/usr/bin\",\n mime_type=\"\",\n size=968821,\n storage_version=None,\n checksum_etag=\"\",\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2024-08-07T17:21:00.549Z\"),\n version=\"\",\n is_uploaded=True,\n created_at=parse_datetime(\"2024-09-15T06:24:58.018Z\"),\n size_readable=\"\",\n public_url=\"https://utter-requirement.name\",\n ),\n ],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountFixedRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.REPEATING,\n duration_in_months=999351,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n created_at=parse_datetime(\"2025-07-01T13:17:29.420Z\"),\n modified_at=parse_datetime(\"2026-02-23T14:37:34.479Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2025-12-31T12:49:59.518Z\"),\n ends_at=parse_datetime(\"2025-06-27T11:23:29.412Z\"),\n max_redemptions=437648,\n redemptions_count=444423,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2026-10-03T04:33:30.421Z\"),\n modified_at=parse_datetime(\"2024-02-24T01:04:52.565Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.AD_HOC,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n price_currency=\"\",\n price_amount=366002,\n ),\n ],\n meters=[],\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.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(\"2024-05-31T18:10:42.435Z\"),\n trial_start=parse_datetime(\"2024-02-17T04:59:11.584Z\"),\n trial_end=parse_datetime(\"2025-02-13T23:20:57.498Z\"),\n cancel_at_period_end=False,\n canceled_at=parse_datetime(\"2024-11-12T16:37:04.348Z\"),\n started_at=parse_datetime(\"2024-12-27T07:35:48.028Z\"),\n ends_at=parse_datetime(\"2025-01-25T10:24:50.250Z\"),\n ended_at=parse_datetime(\"2025-06-20T16:37:33.284Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.TOO_EXPENSIVE,\n customer_cancellation_comment=\"\",\n metadata={\n \"key\": 8717.41,\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-05-28T06:09:58.228Z\"),\n modified_at=parse_datetime(\"2026-01-19T04:39:36.127Z\"),\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-05-31T05:10:14.997Z\"),\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-06-26T05:35:27.950Z\"),\n modified_at=parse_datetime(\"2025-06-01T00:18:42.763Z\"),\n trial_interval=polar_sdk.TrialInterval.WEEK,\n trial_interval_count=455030,\n name=\"\",\n description=\"overburden quarrelsome outrun phew whose merrily language\",\n visibility=polar_sdk.ProductVisibility.PRIVATE,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=72687,\n is_recurring=False,\n is_archived=True,\n organization_id=\"\",\n metadata={\n\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2025-05-24T15:38:32.041Z\"),\n modified_at=parse_datetime(\"2025-04-14T20:45:08.137Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n minimum_amount=428724,\n maximum_amount=117420,\n preset_amount=None,\n ),\n ],\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 is_archived=False,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n minimum_amount=700771,\n maximum_amount=710863,\n preset_amount=4629,\n ),\n ],\n meters=[\n polar_sdk.SubscriptionMeter(\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 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-05-10T20:29:53.178Z\"),\n modified_at=parse_datetime(\"2024-09-15T06:24:58.018Z\"),\n id=\"\",\n name=\"\",\n filter_=polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.OR,\n clauses=[\n polar_sdk.Filter(\n conjunction=polar_sdk.FilterConjunction.OR,\n clauses=[],\n ),\n ],\n ),\n aggregation=polar_sdk.PropertyAggregation(\n func=polar_sdk.Func.MAX,\n property=\"\",\n ),\n organization_id=\"\",\n ),\n ),\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(\"2024-04-27T08:16:42.068Z\"),\n trial_start=parse_datetime(\"2024-10-02T23:40:30.923Z\"),\n trial_end=parse_datetime(\"2025-11-16T02:01:16.824Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2024-12-22T04:50:00.016Z\"),\n started_at=parse_datetime(\"2025-10-18T16:25:47.209Z\"),\n ends_at=parse_datetime(\"2024-01-21T06:39:24.599Z\"),\n ended_at=parse_datetime(\"2024-05-31T22:55:56.558Z\"),\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 metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-12-23T09:30:11.195Z\"),\n modified_at=parse_datetime(\"2025-12-20T09:31:52.259Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-09-21T11:20:51.361Z\"),\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-10-15T19:47:04.648Z\"),\n modified_at=parse_datetime(\"2025-08-04T07:14:33.597Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=449040,\n name=\"\",\n description=\"geez proper whenever exaggerate\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=130752,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n metadata={\n \"key\": 4421.44,\n },\n prices=[\n polar_sdk.ProductPriceSeatBased(\n created_at=parse_datetime(\"2025-02-13T17:42:30.228Z\"),\n modified_at=parse_datetime(\"2024-10-31T03:56:36.911Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n is_archived=True,\n product_id=\"\",\n type=polar_sdk.ProductPriceType.ONE_TIME,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n price_currency=\"\",\n seat_tiers=polar_sdk.ProductPriceSeatTiersOutput(\n tiers=[\n polar_sdk.ProductPriceSeatTier(\n min_seats=810993,\n price_per_seat=930595,\n ),\n ],\n minimum_seats=241578,\n maximum_seats=526699,\n ),\n ),\n ],\n benefits=[\n polar_sdk.BenefitDownloadables(\n id=\"\",\n created_at=parse_datetime(\"2025-07-09T11:35:46.121Z\"),\n modified_at=parse_datetime(\"2025-07-14T11:45:04.348Z\"),\n description=\"esteemed aha arcade\",\n selectable=True,\n deletable=False,\n organization_id=\"\",\n metadata={\n\n },\n properties=polar_sdk.BenefitDownloadablesProperties(\n archived={\n \"key\": False,\n },\n files=[\n \"\",\n \"\",\n \"\",\n ],\n ),\n ),\n ],\n medias=[\n polar_sdk.ProductMediaFileRead(\n id=\"\",\n organization_id=\"\",\n name=\"\",\n path=\"/var/tmp\",\n mime_type=\"\",\n size=22167,\n storage_version=\"\",\n checksum_etag=\"\",\n checksum_sha256_base64=\"\",\n checksum_sha256_hex=\"\",\n last_modified_at=parse_datetime(\"2025-08-07T07:38:27.510Z\"),\n version=\"\",\n is_uploaded=True,\n created_at=parse_datetime(\"2026-11-02T09:55:02.233Z\"),\n size_readable=\"\",\n public_url=\"https://mediocre-slide.org/\",\n ),\n ],\n attached_custom_fields=[],\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 created_at=parse_datetime(\"2024-05-31T04:28:19.613Z\"),\n modified_at=parse_datetime(\"2024-10-10T04:47:47.627Z\"),\n id=\"\",\n metadata={\n \"key\": True,\n },\n name=\"\",\n code=None,\n starts_at=parse_datetime(\"2024-08-16T10:43:36.241Z\"),\n ends_at=parse_datetime(\"2024-03-12T22:18:03.414Z\"),\n max_redemptions=650601,\n redemptions_count=888940,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2025-11-01T15:28:26.266Z\"),\n modified_at=parse_datetime(\"2026-08-21T13:52:57.281Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.MONTH,\n price_currency=\"\",\n price_amount=633088,\n ),\n ],\n meters=[],\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.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(\"2024-04-27T08:16:42.068Z\"),\n trial_start=parse_datetime(\"2024-10-02T23:40:30.923Z\"),\n trial_end=parse_datetime(\"2025-11-16T02:01:16.824Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2024-12-22T04:50:00.016Z\"),\n started_at=parse_datetime(\"2025-10-18T16:25:47.209Z\"),\n ends_at=parse_datetime(\"2024-01-21T06:39:24.599Z\"),\n ended_at=parse_datetime(\"2024-05-31T22:55:56.558Z\"),\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 metadata={\n\n },\n customer=polar_sdk.SubscriptionCustomer(\n id=\"992fae2a-2a17-4b7a-8d9e-e287cf90131b\",\n created_at=parse_datetime(\"2025-12-23T09:30:11.195Z\"),\n modified_at=parse_datetime(\"2025-12-20T09:31:52.259Z\"),\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-09-21T11:20:51.361Z\"),\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-10-15T19:47:04.648Z\"),\n modified_at=parse_datetime(\"2025-08-04T07:14:33.597Z\"),\n trial_interval=polar_sdk.TrialInterval.MONTH,\n trial_interval_count=449040,\n name=\"\",\n description=\"geez proper whenever exaggerate\",\n visibility=polar_sdk.ProductVisibility.DRAFT,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n recurring_interval_count=74999,\n is_recurring=True,\n is_archived=False,\n organization_id=\"\",\n metadata={\n \"key\": 830318,\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceFixed(\n created_at=parse_datetime(\"2025-12-20T04:38:50.493Z\"),\n modified_at=parse_datetime(\"2024-10-21T14:53:31.756Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n price_amount=810993,\n ),\n ],\n benefits=[\n polar_sdk.BenefitDiscord(\n id=\"\",\n created_at=parse_datetime(\"2025-12-25T00:51:16.069Z\"),\n modified_at=parse_datetime(\"2025-12-29T01:39:15.691Z\"),\n description=\"helpfully CD for however loosely incomparable on\",\n selectable=True,\n deletable=True,\n organization_id=\"\",\n metadata={\n\n },\n properties=polar_sdk.BenefitDiscordProperties(\n guild_id=\"\",\n role_id=\"\",\n kick_member=True,\n guild_token=\"\",\n ),\n ),\n ],\n medias=[],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountPercentageRepeatDurationBase(\n duration=polar_sdk.DiscountDuration.FOREVER,\n duration_in_months=7151,\n type=polar_sdk.DiscountType.PERCENTAGE,\n basis_points=1000,\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 metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2026-11-17T23:47:39.352Z\"),\n ends_at=parse_datetime(\"2024-10-02T12:47:21.236Z\"),\n max_redemptions=508482,\n redemptions_count=879178,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[],\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-08-23T22:14:10.131Z\"),\n trial_start=parse_datetime(\"2026-12-11T02:41:54.261Z\"),\n trial_end=parse_datetime(\"2026-12-29T02:13:52.269Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2026-01-23T22:07:32.693Z\"),\n started_at=parse_datetime(\"2026-05-14T13:55:44.367Z\"),\n ends_at=parse_datetime(\"2025-10-25T00:53:02.943Z\"),\n ended_at=parse_datetime(\"2024-09-28T06:12:50.252Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.SWITCHED_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-02-25T04:35:08.698Z\"),\n modified_at=parse_datetime(\"2025-01-09T06:45:35.933Z\"),\n metadata={\n\n },\n external_id=\"usr_1337\",\n email=\"customer@example.com\",\n email_verified=True,\n name=\"John Doe\",\n billing_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-04-21T20:23:52.355Z\"),\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-05-09T07:26:17.258Z\"),\n modified_at=parse_datetime(\"2026-07-20T14:48:07.590Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=640251,\n name=\"\",\n description=\"swelter when besides utter phew knottily utilization now\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.YEAR,\n recurring_interval_count=None,\n is_recurring=True,\n is_archived=True,\n organization_id=\"\",\n metadata={\n \"key\": 2229.58,\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2025-10-24T03:47:20.035Z\"),\n modified_at=parse_datetime(\"2024-07-27T10:52:24.280Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n price_currency=\"\",\n minimum_amount=588876,\n maximum_amount=280866,\n preset_amount=942797,\n ),\n ],\n benefits=[],\n medias=[],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountFixedOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n created_at=parse_datetime(\"2026-11-18T23:26:50.006Z\"),\n modified_at=parse_datetime(\"2025-05-31T09:53:13.946Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2026-12-28T16:59:30.195Z\"),\n ends_at=parse_datetime(\"2024-06-08T06:11:59.062Z\"),\n max_redemptions=580493,\n redemptions_count=595442,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[\n polar_sdk.SubscriptionMeter(\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 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(\"2024-04-11T20:54:06.410Z\"),\n modified_at=parse_datetime(\"2026-03-19T14:28:57.223Z\"),\n id=\"\",\n name=\"\",\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 ),\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.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-08-23T22:14:10.131Z\"),\n trial_start=parse_datetime(\"2026-12-11T02:41:54.261Z\"),\n trial_end=parse_datetime(\"2026-12-29T02:13:52.269Z\"),\n cancel_at_period_end=True,\n canceled_at=parse_datetime(\"2026-01-23T22:07:32.693Z\"),\n started_at=parse_datetime(\"2026-05-14T13:55:44.367Z\"),\n ends_at=parse_datetime(\"2025-10-25T00:53:02.943Z\"),\n ended_at=parse_datetime(\"2024-09-28T06:12:50.252Z\"),\n customer_id=\"\",\n product_id=\"\",\n discount_id=\"\",\n checkout_id=\"\",\n customer_cancellation_reason=polar_sdk.CustomerCancellationReason.SWITCHED_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-02-25T04:35:08.698Z\"),\n modified_at=parse_datetime(\"2025-01-09T06:45:35.933Z\"),\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_address=polar_sdk.Address(\n country=polar_sdk.CountryAlpha2.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-04-21T20:23:52.355Z\"),\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-05-09T07:26:17.258Z\"),\n modified_at=parse_datetime(\"2026-07-20T14:48:07.590Z\"),\n trial_interval=polar_sdk.TrialInterval.YEAR,\n trial_interval_count=640251,\n name=\"\",\n description=\"swelter when besides utter phew knottily utilization now\",\n visibility=polar_sdk.ProductVisibility.DRAFT,\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.DAY,\n recurring_interval_count=307128,\n is_recurring=False,\n is_archived=False,\n organization_id=\"\",\n metadata={\n\n },\n prices=[\n polar_sdk.LegacyRecurringProductPriceCustom(\n created_at=parse_datetime(\"2025-10-24T03:47:20.035Z\"),\n modified_at=parse_datetime(\"2024-07-27T10:52:24.280Z\"),\n id=\"\",\n source=polar_sdk.ProductPriceSource.CATALOG,\n price_currency=\"\",\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\n minimum_amount=588876,\n maximum_amount=280866,\n preset_amount=942797,\n ),\n ],\n benefits=[],\n medias=[],\n attached_custom_fields=[],\n ),\n discount=polar_sdk.DiscountFixedOnceForeverDurationBase(\n duration=polar_sdk.DiscountDuration.ONCE,\n type=polar_sdk.DiscountType.PERCENTAGE,\n amount=1000,\n currency=\"usd\",\n created_at=parse_datetime(\"2026-11-18T23:26:50.006Z\"),\n modified_at=parse_datetime(\"2025-05-31T09:53:13.946Z\"),\n id=\"\",\n metadata={\n\n },\n name=\"\",\n code=\"\",\n starts_at=parse_datetime(\"2026-12-28T16:59:30.195Z\"),\n ends_at=parse_datetime(\"2024-06-08T06:11:59.062Z\"),\n max_redemptions=580493,\n redemptions_count=595442,\n organization_id=\"1dbfc517-0bbf-4301-9ba8-555ca42b9737\",\n ),\n prices=[],\n meters=[\n polar_sdk.SubscriptionMeter(\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 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(\"2024-04-11T20:54:06.410Z\"),\n modified_at=parse_datetime(\"2026-03-19T14:28:57.223Z\"),\n id=\"\",\n name=\"\",\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 ),\n ))\n\n # Handle response\n print(res)" diff --git a/docs/models/availablescope.md b/docs/models/availablescope.md index 241fade7..9ae54ee1 100644 --- a/docs/models/availablescope.md +++ b/docs/models/availablescope.md @@ -56,13 +56,8 @@ | `METRICS_READ` | metrics:read | | `WEBHOOKS_READ` | webhooks:read | | `WEBHOOKS_WRITE` | webhooks:write | -| `EXTERNAL_ORGANIZATIONS_READ` | external_organizations:read | | `LICENSE_KEYS_READ` | license_keys:read | | `LICENSE_KEYS_WRITE` | license_keys:write | -| `REPOSITORIES_READ` | repositories:read | -| `REPOSITORIES_WRITE` | repositories:write | -| `ISSUES_READ` | issues:read | -| `ISSUES_WRITE` | issues:write | | `CUSTOMER_PORTAL_READ` | customer_portal:read | | `CUSTOMER_PORTAL_WRITE` | customer_portal:write | | `NOTIFICATIONS_READ` | notifications:read | diff --git a/docs/models/balancecreditorderevent.md b/docs/models/balancecreditorderevent.md index f13fb8cf..f7718e0d 100644 --- a/docs/models/balancecreditorderevent.md +++ b/docs/models/balancecreditorderevent.md @@ -13,6 +13,8 @@ An event created by Polar when an order is paid via customer balance. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/balancedisputeevent.md b/docs/models/balancedisputeevent.md index 4158af73..bbae6ef8 100644 --- a/docs/models/balancedisputeevent.md +++ b/docs/models/balancedisputeevent.md @@ -13,6 +13,8 @@ An event created by Polar when an order is disputed. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/balancedisputemetadata.md b/docs/models/balancedisputemetadata.md index cc703743..b7e1dd88 100644 --- a/docs/models/balancedisputemetadata.md +++ b/docs/models/balancedisputemetadata.md @@ -18,4 +18,5 @@ | `tax_amount` | *int* | :heavy_check_mark: | N/A | | `tax_state` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `tax_country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `fee` | *int* | :heavy_check_mark: | N/A | \ No newline at end of file +| `fee` | *int* | :heavy_check_mark: | N/A | +| `exchange_rate` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/balancedisputereversalevent.md b/docs/models/balancedisputereversalevent.md index b923835f..a4591248 100644 --- a/docs/models/balancedisputereversalevent.md +++ b/docs/models/balancedisputereversalevent.md @@ -13,6 +13,8 @@ An event created by Polar when a dispute is won and funds are reinstated. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/balanceorderevent.md b/docs/models/balanceorderevent.md index 48a5e2e3..23d4057d 100644 --- a/docs/models/balanceorderevent.md +++ b/docs/models/balanceorderevent.md @@ -13,6 +13,8 @@ An event created by Polar when an order is paid. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/balanceordermetadata.md b/docs/models/balanceordermetadata.md index 0d3b11f2..497ca5f2 100644 --- a/docs/models/balanceordermetadata.md +++ b/docs/models/balanceordermetadata.md @@ -10,10 +10,12 @@ | `product_id` | *Optional[str]* | :heavy_minus_sign: | N/A | | `subscription_id` | *Optional[str]* | :heavy_minus_sign: | N/A | | `amount` | *int* | :heavy_check_mark: | N/A | +| `net_amount` | *Optional[int]* | :heavy_minus_sign: | N/A | | `currency` | *str* | :heavy_check_mark: | N/A | | `presentment_amount` | *int* | :heavy_check_mark: | N/A | | `presentment_currency` | *str* | :heavy_check_mark: | N/A | | `tax_amount` | *int* | :heavy_check_mark: | N/A | | `tax_state` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `tax_country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `fee` | *int* | :heavy_check_mark: | N/A | \ No newline at end of file +| `fee` | *int* | :heavy_check_mark: | N/A | +| `exchange_rate` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/balancerefundevent.md b/docs/models/balancerefundevent.md index 8ef28c53..70588a7e 100644 --- a/docs/models/balancerefundevent.md +++ b/docs/models/balancerefundevent.md @@ -13,6 +13,8 @@ An event created by Polar when an order is refunded. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/balancerefundmetadata.md b/docs/models/balancerefundmetadata.md index 8eeec279..75569299 100644 --- a/docs/models/balancerefundmetadata.md +++ b/docs/models/balancerefundmetadata.md @@ -19,4 +19,5 @@ | `tax_amount` | *int* | :heavy_check_mark: | N/A | | `tax_state` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `tax_country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | -| `fee` | *int* | :heavy_check_mark: | N/A | \ No newline at end of file +| `fee` | *int* | :heavy_check_mark: | N/A | +| `exchange_rate` | *Optional[float]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/balancerefundreversalevent.md b/docs/models/balancerefundreversalevent.md index 5e405b9d..8add18b5 100644 --- a/docs/models/balancerefundreversalevent.md +++ b/docs/models/balancerefundreversalevent.md @@ -13,6 +13,8 @@ An event created by Polar when a refund is reverted. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/benefit.md b/docs/models/benefit.md index c80c3fd3..8f141659 100644 --- a/docs/models/benefit.md +++ b/docs/models/benefit.md @@ -15,16 +15,16 @@ value: models.BenefitCustom = /* values here */ value: models.BenefitDiscord = /* values here */ ``` -### `models.BenefitGitHubRepository` +### `models.BenefitDownloadables` ```python -value: models.BenefitGitHubRepository = /* values here */ +value: models.BenefitDownloadables = /* values here */ ``` -### `models.BenefitDownloadables` +### `models.BenefitGitHubRepository` ```python -value: models.BenefitDownloadables = /* values here */ +value: models.BenefitGitHubRepository = /* values here */ ``` ### `models.BenefitLicenseKeys` diff --git a/docs/models/benefitcycledevent.md b/docs/models/benefitcycledevent.md index 5c6f1db6..9dc0b261 100644 --- a/docs/models/benefitcycledevent.md +++ b/docs/models/benefitcycledevent.md @@ -13,6 +13,8 @@ An event created by Polar when a benefit is cycled. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/benefitgrant.md b/docs/models/benefitgrant.md index 9aaaa9de..177ac18a 100644 --- a/docs/models/benefitgrant.md +++ b/docs/models/benefitgrant.md @@ -19,5 +19,6 @@ | `benefit_id` | *str* | :heavy_check_mark: | The ID of the benefit concerned by this grant. | | `error` | [OptionalNullable[models.BenefitGrantError]](../models/benefitgranterror.md) | :heavy_minus_sign: | The error information if the benefit grant failed with an unrecoverable error. | | `customer` | [models.Customer](../models/customer.md) | :heavy_check_mark: | A customer in an organization. | +| `member` | [OptionalNullable[models.Member]](../models/member.md) | :heavy_minus_sign: | N/A | | `benefit` | [models.Benefit](../models/benefit.md) | :heavy_check_mark: | N/A | | `properties` | [models.Properties](../models/properties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/benefitgrantedevent.md b/docs/models/benefitgrantedevent.md index 21ba5071..97add221 100644 --- a/docs/models/benefitgrantedevent.md +++ b/docs/models/benefitgrantedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a benefit is granted to a customer. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/benefitgrantlicensekeysproperties.md b/docs/models/benefitgrantlicensekeysproperties.md index 4dc079bc..2b5cff78 100644 --- a/docs/models/benefitgrantlicensekeysproperties.md +++ b/docs/models/benefitgrantlicensekeysproperties.md @@ -3,7 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `license_key_id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `display_key` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------- | ------------------- | ------------------- | ------------------- | +| `user_provided_key` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `license_key_id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `display_key` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/benefitrevokedevent.md b/docs/models/benefitrevokedevent.md index 554df426..d7e7e8a8 100644 --- a/docs/models/benefitrevokedevent.md +++ b/docs/models/benefitrevokedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a benefit is revoked from a customer. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/benefitupdatedevent.md b/docs/models/benefitupdatedevent.md index 67de29e3..e0388176 100644 --- a/docs/models/benefitupdatedevent.md +++ b/docs/models/benefitupdatedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a benefit is updated. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/checkout.md b/docs/models/checkout.md index 30344e3b..4366fabc 100644 --- a/docs/models/checkout.md +++ b/docs/models/checkout.md @@ -50,6 +50,7 @@ Checkout session data retrieved using an access token. | `customer_billing_name` | *Nullable[str]* | :heavy_check_mark: | N/A | | `customer_billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | `customer_tax_id` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `payment_processor_metadata` | Dict[str, *str*] | :heavy_check_mark: | N/A | | `billing_address_fields` | [models.CheckoutBillingAddressFields](../models/checkoutbillingaddressfields.md) | :heavy_check_mark: | N/A | | `trial_interval` | [Nullable[models.TrialInterval]](../models/trialinterval.md) | :heavy_check_mark: | The interval unit for the trial period. | diff --git a/docs/models/checkoutconfirmstripe.md b/docs/models/checkoutconfirmstripe.md index 06abaa57..665993a5 100644 --- a/docs/models/checkoutconfirmstripe.md +++ b/docs/models/checkoutconfirmstripe.md @@ -18,6 +18,7 @@ Confirm a checkout session using a Stripe confirmation token. | `customer_billing_name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | | `customer_billing_address` | [OptionalNullable[models.AddressInput]](../models/addressinput.md) | :heavy_minus_sign: | N/A | | | `customer_tax_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | en | | `discount_code` | *OptionalNullable[str]* | :heavy_minus_sign: | Discount code to apply to the checkout. | | | `allow_trial` | *OptionalNullable[Literal[False]]* | :heavy_minus_sign: | Disable the trial period for the checkout session. It's mainly useful when the trial is blocked because the customer already redeemed one. | | | `confirmation_token_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the Stripe confirmation token. Required for fixed prices and custom prices. | | \ No newline at end of file diff --git a/docs/models/checkoutcreate.md b/docs/models/checkoutcreate.md index fbf1e74d..35de6177 100644 --- a/docs/models/checkoutcreate.md +++ b/docs/models/checkoutcreate.md @@ -35,6 +35,7 @@ to the resulting order and/or subscription. | `success_url` | *OptionalNullable[str]* | :heavy_minus_sign: | URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. | | | `return_url` | *OptionalNullable[str]* | :heavy_minus_sign: | When set, a back button will be shown in the checkout to return to this URL. | | | `embed_origin` | *OptionalNullable[str]* | :heavy_minus_sign: | If you plan to embed the checkout session, set this to the Origin of the embedding page. It'll allow the Polar iframe to communicate with the parent page. | | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | en | | `currency` | [OptionalNullable[models.PresentmentCurrency]](../models/presentmentcurrency.md) | :heavy_minus_sign: | N/A | | | `products` | List[*str*] | :heavy_check_mark: | List of product IDs available to select at that checkout. The first one will be selected by default. | | | `prices` | Dict[str, List[[models.CheckoutCreatePrices](../models/checkoutcreateprices.md)]] | :heavy_minus_sign: | Optional mapping of product IDs to a list of ad-hoc prices to create for that product. If not set, catalog prices of the product will be used. | | \ No newline at end of file diff --git a/docs/models/checkoutcreatedevent.md b/docs/models/checkoutcreatedevent.md index 8bfad0a9..61cd0f03 100644 --- a/docs/models/checkoutcreatedevent.md +++ b/docs/models/checkoutcreatedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a checkout is created. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/checkoutlinkproduct.md b/docs/models/checkoutlinkproduct.md index 3aa1db89..71717d79 100644 --- a/docs/models/checkoutlinkproduct.md +++ b/docs/models/checkoutlinkproduct.md @@ -15,6 +15,7 @@ Product data for a checkout link. | `trial_interval_count` | *Nullable[int]* | :heavy_check_mark: | The number of interval units for the trial period. | | `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_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. | diff --git a/docs/models/checkoutproduct.md b/docs/models/checkoutproduct.md index 4881ce10..74170b1f 100644 --- a/docs/models/checkoutproduct.md +++ b/docs/models/checkoutproduct.md @@ -14,6 +14,7 @@ Product data for a checkout session. | `trial_interval_count` | *Nullable[int]* | :heavy_check_mark: | The number of interval units for the trial period. | | `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_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. | diff --git a/docs/models/checkoutpublic.md b/docs/models/checkoutpublic.md index a61c949f..f32347f3 100644 --- a/docs/models/checkoutpublic.md +++ b/docs/models/checkoutpublic.md @@ -50,6 +50,7 @@ Checkout session data retrieved using the client secret. | `customer_billing_name` | *Nullable[str]* | :heavy_check_mark: | N/A | | `customer_billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | `customer_tax_id` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `payment_processor_metadata` | Dict[str, *str*] | :heavy_check_mark: | N/A | | `billing_address_fields` | [models.CheckoutBillingAddressFields](../models/checkoutbillingaddressfields.md) | :heavy_check_mark: | N/A | | `products` | List[[models.CheckoutProduct](../models/checkoutproduct.md)] | :heavy_check_mark: | List of products available to select. | diff --git a/docs/models/checkoutpublicconfirmed.md b/docs/models/checkoutpublicconfirmed.md index 75f9c438..e0f81107 100644 --- a/docs/models/checkoutpublicconfirmed.md +++ b/docs/models/checkoutpublicconfirmed.md @@ -53,6 +53,7 @@ right after the checkout. | `customer_billing_name` | *Nullable[str]* | :heavy_check_mark: | N/A | | `customer_billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | `customer_tax_id` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `payment_processor_metadata` | Dict[str, *str*] | :heavy_check_mark: | N/A | | `billing_address_fields` | [models.CheckoutBillingAddressFields](../models/checkoutbillingaddressfields.md) | :heavy_check_mark: | N/A | | `products` | List[[models.CheckoutProduct](../models/checkoutproduct.md)] | :heavy_check_mark: | List of products available to select. | diff --git a/docs/models/checkoutupdate.md b/docs/models/checkoutupdate.md index 03e125f4..1ebac402 100644 --- a/docs/models/checkoutupdate.md +++ b/docs/models/checkoutupdate.md @@ -18,6 +18,7 @@ Update an existing checkout session using an access token. | `customer_billing_name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | | `customer_billing_address` | [OptionalNullable[models.AddressInput]](../models/addressinput.md) | :heavy_minus_sign: | N/A | | | `customer_tax_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | en | | `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. | | | `metadata` | Dict[str, [models.CheckoutUpdateMetadata](../models/checkoutupdatemetadata.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**. | | diff --git a/docs/models/checkoutupdatepublic.md b/docs/models/checkoutupdatepublic.md index b3aaa791..8a9ba5cb 100644 --- a/docs/models/checkoutupdatepublic.md +++ b/docs/models/checkoutupdatepublic.md @@ -18,5 +18,6 @@ Update an existing checkout session using the client secret. | `customer_billing_name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | | `customer_billing_address` | [OptionalNullable[models.AddressInput]](../models/addressinput.md) | :heavy_minus_sign: | N/A | | | `customer_tax_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | en | | `discount_code` | *OptionalNullable[str]* | :heavy_minus_sign: | Discount code to apply to the checkout. | | | `allow_trial` | *OptionalNullable[Literal[False]]* | :heavy_minus_sign: | Disable the trial period for the checkout session. It's mainly useful when the trial is blocked because the customer already redeemed one. | | \ No newline at end of file diff --git a/docs/models/context.md b/docs/models/context.md new file mode 100644 index 00000000..107f1bd4 --- /dev/null +++ b/docs/models/context.md @@ -0,0 +1,7 @@ +# Context + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/customer.md b/docs/models/customer.md index b9670908..1b0885a2 100644 --- a/docs/models/customer.md +++ b/docs/models/customer.md @@ -5,18 +5,20 @@ A customer in an organization. ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | -| `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. | | -| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | -| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | -| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | -| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | -| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | -| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | -| `tax_id` | List[[Nullable[models.CustomerTaxID]](../models/customertaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `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 +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | +| `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. | | +| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | +| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | +| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | +| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | +| `type` | [OptionalNullable[models.CustomerType]](../models/customertype.md) | :heavy_minus_sign: | The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'. | individual | +| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | +| `tax_id` | List[[Nullable[models.CustomerTaxID]](../models/customertaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `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 diff --git a/docs/models/customerbenefitgrantcustom.md b/docs/models/customerbenefitgrantcustom.md index 737f797a..0bfb01aa 100644 --- a/docs/models/customerbenefitgrantcustom.md +++ b/docs/models/customerbenefitgrantcustom.md @@ -17,6 +17,7 @@ | `order_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | `is_granted` | *bool* | :heavy_check_mark: | N/A | | `is_revoked` | *bool* | :heavy_check_mark: | N/A | +| `error` | [OptionalNullable[models.BenefitGrantError]](../models/benefitgranterror.md) | :heavy_minus_sign: | N/A | | `customer` | [models.CustomerPortalCustomer](../models/customerportalcustomer.md) | :heavy_check_mark: | N/A | | `benefit` | [models.BenefitCustomSubscriber](../models/benefitcustomsubscriber.md) | :heavy_check_mark: | N/A | | `properties` | [models.BenefitGrantCustomProperties](../models/benefitgrantcustomproperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customerbenefitgrantdiscord.md b/docs/models/customerbenefitgrantdiscord.md index a403317c..c59dff86 100644 --- a/docs/models/customerbenefitgrantdiscord.md +++ b/docs/models/customerbenefitgrantdiscord.md @@ -17,6 +17,7 @@ | `order_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | `is_granted` | *bool* | :heavy_check_mark: | N/A | | `is_revoked` | *bool* | :heavy_check_mark: | N/A | +| `error` | [OptionalNullable[models.BenefitGrantError]](../models/benefitgranterror.md) | :heavy_minus_sign: | N/A | | `customer` | [models.CustomerPortalCustomer](../models/customerportalcustomer.md) | :heavy_check_mark: | N/A | | `benefit` | [models.BenefitDiscordSubscriber](../models/benefitdiscordsubscriber.md) | :heavy_check_mark: | N/A | | `properties` | [models.BenefitGrantDiscordProperties](../models/benefitgrantdiscordproperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customerbenefitgrantdownloadables.md b/docs/models/customerbenefitgrantdownloadables.md index 6f66e822..664c4f78 100644 --- a/docs/models/customerbenefitgrantdownloadables.md +++ b/docs/models/customerbenefitgrantdownloadables.md @@ -17,6 +17,7 @@ | `order_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | `is_granted` | *bool* | :heavy_check_mark: | N/A | | `is_revoked` | *bool* | :heavy_check_mark: | N/A | +| `error` | [OptionalNullable[models.BenefitGrantError]](../models/benefitgranterror.md) | :heavy_minus_sign: | N/A | | `customer` | [models.CustomerPortalCustomer](../models/customerportalcustomer.md) | :heavy_check_mark: | N/A | | `benefit` | [models.BenefitDownloadablesSubscriber](../models/benefitdownloadablessubscriber.md) | :heavy_check_mark: | N/A | | `properties` | [models.BenefitGrantDownloadablesProperties](../models/benefitgrantdownloadablesproperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customerbenefitgrantgithubrepository.md b/docs/models/customerbenefitgrantgithubrepository.md index 83a68786..0302198e 100644 --- a/docs/models/customerbenefitgrantgithubrepository.md +++ b/docs/models/customerbenefitgrantgithubrepository.md @@ -17,6 +17,7 @@ | `order_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | `is_granted` | *bool* | :heavy_check_mark: | N/A | | `is_revoked` | *bool* | :heavy_check_mark: | N/A | +| `error` | [OptionalNullable[models.BenefitGrantError]](../models/benefitgranterror.md) | :heavy_minus_sign: | N/A | | `customer` | [models.CustomerPortalCustomer](../models/customerportalcustomer.md) | :heavy_check_mark: | N/A | | `benefit` | [models.BenefitGitHubRepositorySubscriber](../models/benefitgithubrepositorysubscriber.md) | :heavy_check_mark: | N/A | | `properties` | [models.BenefitGrantGitHubRepositoryProperties](../models/benefitgrantgithubrepositoryproperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customerbenefitgrantlicensekeys.md b/docs/models/customerbenefitgrantlicensekeys.md index e4a244ba..995ed78d 100644 --- a/docs/models/customerbenefitgrantlicensekeys.md +++ b/docs/models/customerbenefitgrantlicensekeys.md @@ -17,6 +17,7 @@ | `order_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | `is_granted` | *bool* | :heavy_check_mark: | N/A | | `is_revoked` | *bool* | :heavy_check_mark: | N/A | +| `error` | [OptionalNullable[models.BenefitGrantError]](../models/benefitgranterror.md) | :heavy_minus_sign: | N/A | | `customer` | [models.CustomerPortalCustomer](../models/customerportalcustomer.md) | :heavy_check_mark: | N/A | | `benefit` | [models.BenefitLicenseKeysSubscriber](../models/benefitlicensekeyssubscriber.md) | :heavy_check_mark: | N/A | | `properties` | [models.BenefitGrantLicenseKeysProperties](../models/benefitgrantlicensekeysproperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customerbenefitgrantmetercredit.md b/docs/models/customerbenefitgrantmetercredit.md index cea37ab1..536dc497 100644 --- a/docs/models/customerbenefitgrantmetercredit.md +++ b/docs/models/customerbenefitgrantmetercredit.md @@ -17,6 +17,7 @@ | `order_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | `is_granted` | *bool* | :heavy_check_mark: | N/A | | `is_revoked` | *bool* | :heavy_check_mark: | N/A | +| `error` | [OptionalNullable[models.BenefitGrantError]](../models/benefitgranterror.md) | :heavy_minus_sign: | N/A | | `customer` | [models.CustomerPortalCustomer](../models/customerportalcustomer.md) | :heavy_check_mark: | N/A | | `benefit` | [models.BenefitMeterCreditSubscriber](../models/benefitmetercreditsubscriber.md) | :heavy_check_mark: | N/A | | `properties` | [models.BenefitGrantMeterCreditProperties](../models/benefitgrantmetercreditproperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customercreate.md b/docs/models/customercreate.md index 8dff881b..9ccae871 100644 --- a/docs/models/customercreate.md +++ b/docs/models/customercreate.md @@ -11,5 +11,7 @@ | `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | John Doe | | `billing_address` | [OptionalNullable[models.AddressInput]](../models/addressinput.md) | :heavy_minus_sign: | N/A | | | `tax_id` | List[[Nullable[models.CustomerCreateTaxID]](../models/customercreatetaxid.md)] | :heavy_minus_sign: | N/A | [
"911144442",
"us_ein"
] | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | en | +| `type` | [OptionalNullable[models.CustomerType]](../models/customertype.md) | :heavy_minus_sign: | The type of customer. Defaults to 'individual'. Set to 'team' for customers that can have multiple members. | individual | | `organization_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the organization owning the customer. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | | `owner` | [OptionalNullable[models.OwnerCreate]](../models/ownercreate.md) | :heavy_minus_sign: | Optional owner member to create with the customer. If not provided, an owner member will be automatically created using the customer's email and name. | | \ No newline at end of file diff --git a/docs/models/customercreatedevent.md b/docs/models/customercreatedevent.md index 9cdd5e05..b92992a6 100644 --- a/docs/models/customercreatedevent.md +++ b/docs/models/customercreatedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a customer is created. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/customerdeletedevent.md b/docs/models/customerdeletedevent.md index 88144932..d3a72878 100644 --- a/docs/models/customerdeletedevent.md +++ b/docs/models/customerdeletedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a customer is deleted. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/customerorderproduct.md b/docs/models/customerorderproduct.md index 8d99f413..7e110a00 100644 --- a/docs/models/customerorderproduct.md +++ b/docs/models/customerorderproduct.md @@ -12,6 +12,7 @@ | `trial_interval_count` | *Nullable[int]* | :heavy_check_mark: | The number of interval units for the trial period. | | `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_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. | diff --git a/docs/models/customerorganization.md b/docs/models/customerorganization.md index 6fc4eb4c..304966a0 100644 --- a/docs/models/customerorganization.md +++ b/docs/models/customerorganization.md @@ -3,14 +3,15 @@ ## 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 object. | -| `name` | *str* | :heavy_check_mark: | Organization name shown in checkout, customer portal, emails etc. | -| `slug` | *str* | :heavy_check_mark: | Unique organization slug in checkout, customer portal and credit card statements. | -| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | Avatar URL shown in checkout, customer portal, emails etc. | -| `proration_behavior` | [models.SubscriptionProrationBehavior](../models/subscriptionprorationbehavior.md) | :heavy_check_mark: | N/A | -| `allow_customer_updates` | *bool* | :heavy_check_mark: | Whether customers can update their subscriptions from the customer portal. | -| `customer_portal_settings` | [models.OrganizationCustomerPortalSettings](../models/organizationcustomerportalsettings.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| 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 object. | +| `name` | *str* | :heavy_check_mark: | Organization name shown in checkout, customer portal, emails etc. | +| `slug` | *str* | :heavy_check_mark: | Unique organization slug in checkout, customer portal and credit card statements. | +| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | Avatar URL shown in checkout, customer portal, emails etc. | +| `proration_behavior` | [models.SubscriptionProrationBehavior](../models/subscriptionprorationbehavior.md) | :heavy_check_mark: | N/A | +| `allow_customer_updates` | *bool* | :heavy_check_mark: | Whether customers can update their subscriptions from the customer portal. | +| `customer_portal_settings` | [models.OrganizationCustomerPortalSettings](../models/organizationcustomerportalsettings.md) | :heavy_check_mark: | N/A | +| `organization_features` | [Optional[models.CustomerOrganizationFeatureSettings]](../models/customerorganizationfeaturesettings.md) | :heavy_minus_sign: | Feature flags exposed to the customer portal. | \ No newline at end of file diff --git a/docs/models/customerorganizationfeaturesettings.md b/docs/models/customerorganizationfeaturesettings.md new file mode 100644 index 00000000..c515ff82 --- /dev/null +++ b/docs/models/customerorganizationfeaturesettings.md @@ -0,0 +1,10 @@ +# CustomerOrganizationFeatureSettings + +Feature flags exposed to the customer portal. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `member_model_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether the member model is enabled for this organization. | \ No newline at end of file diff --git a/docs/models/customerportalbenefitgrantslistrequest.md b/docs/models/customerportalbenefitgrantslistrequest.md index 6b1d77ba..d5a32dce 100644 --- a/docs/models/customerportalbenefitgrantslistrequest.md +++ b/docs/models/customerportalbenefitgrantslistrequest.md @@ -5,6 +5,7 @@ | Field | Type | Required | Description | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `query` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by benefit description. | | `type_filter` | [OptionalNullable[models.QueryParamBenefitTypeFilter]](../models/queryparambenefittypefilter.md) | :heavy_minus_sign: | Filter by benefit type. | | `benefit_id` | [OptionalNullable[models.CustomerPortalBenefitGrantsListQueryParamBenefitIDFilter]](../models/customerportalbenefitgrantslistqueryparambenefitidfilter.md) | :heavy_minus_sign: | Filter by benefit ID. | | `checkout_id` | [OptionalNullable[models.QueryParamCheckoutIDFilter]](../models/queryparamcheckoutidfilter.md) | :heavy_minus_sign: | Filter by checkout ID. | diff --git a/docs/models/customerportalcustomer.md b/docs/models/customerportalcustomer.md index fab6420f..ece4f49f 100644 --- a/docs/models/customerportalcustomer.md +++ b/docs/models/customerportalcustomer.md @@ -15,4 +15,5 @@ | `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | | `tax_id` | List[[Nullable[models.CustomerPortalCustomerTaxID]](../models/customerportalcustomertaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | | `oauth_accounts` | Dict[str, [models.CustomerPortalOAuthAccount](../models/customerportaloauthaccount.md)] | :heavy_check_mark: | N/A | | -| `default_payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `default_payment_method_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `type` | [OptionalNullable[models.CustomerType]](../models/customertype.md) | :heavy_minus_sign: | N/A | individual | \ No newline at end of file diff --git a/docs/models/customerportalmember.md b/docs/models/customerportalmember.md new file mode 100644 index 00000000..27a38fd6 --- /dev/null +++ b/docs/models/customerportalmember.md @@ -0,0 +1,15 @@ +# CustomerPortalMember + +A member of the customer's team as seen in the customer portal. + + +## 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 object. | +| `email` | *str* | :heavy_check_mark: | The email address of the member. | +| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the member. | +| `role` | [models.MemberRole](../models/memberrole.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customerportalmembercreate.md b/docs/models/customerportalmembercreate.md new file mode 100644 index 00000000..eddd9e05 --- /dev/null +++ b/docs/models/customerportalmembercreate.md @@ -0,0 +1,12 @@ +# CustomerPortalMemberCreate + +Schema for adding a new member to the customer's team. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `email` | *str* | :heavy_check_mark: | The email address of the new member. | +| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the new member (optional). | +| `role` | [Optional[models.MemberRole]](../models/memberrole.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/customerportalmembersremovememberrequest.md b/docs/models/customerportalmembersremovememberrequest.md new file mode 100644 index 00000000..e948521e --- /dev/null +++ b/docs/models/customerportalmembersremovememberrequest.md @@ -0,0 +1,8 @@ +# CustomerPortalMembersRemoveMemberRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customerportalmembersupdatememberrequest.md b/docs/models/customerportalmembersupdatememberrequest.md new file mode 100644 index 00000000..8296cf90 --- /dev/null +++ b/docs/models/customerportalmembersupdatememberrequest.md @@ -0,0 +1,9 @@ +# CustomerPortalMembersUpdateMemberRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | N/A | +| `customer_portal_member_update` | [models.CustomerPortalMemberUpdate](../models/customerportalmemberupdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/customerportalmemberupdate.md b/docs/models/customerportalmemberupdate.md new file mode 100644 index 00000000..48fc8ddd --- /dev/null +++ b/docs/models/customerportalmemberupdate.md @@ -0,0 +1,10 @@ +# CustomerPortalMemberUpdate + +Schema for updating a member's role 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 diff --git a/docs/models/customerproduct.md b/docs/models/customerproduct.md index 30198fb0..ed29baf2 100644 --- a/docs/models/customerproduct.md +++ b/docs/models/customerproduct.md @@ -14,6 +14,7 @@ Schema of a product for customer portal. | `trial_interval_count` | *Nullable[int]* | :heavy_check_mark: | The number of interval units for the trial period. | | `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_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. | diff --git a/docs/models/customerseat.md b/docs/models/customerseat.md index a9a0e6a1..d308a653 100644 --- a/docs/models/customerseat.md +++ b/docs/models/customerseat.md @@ -13,6 +13,7 @@ | `status` | [models.SeatStatus](../models/seatstatus.md) | :heavy_check_mark: | N/A | | `customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The customer ID. When member_model_enabled is true, this is the billing customer (purchaser). When false, this is the seat member customer. | | `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The member ID of the seat occupant | +| `member` | [OptionalNullable[models.Member]](../models/member.md) | :heavy_minus_sign: | The member associated with this seat | | `email` | *OptionalNullable[str]* | :heavy_minus_sign: | Email of the seat member (set when member_model_enabled is true) | | `customer_email` | *OptionalNullable[str]* | :heavy_minus_sign: | The assigned customer email | | `invitation_token_expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | When the invitation token expires | diff --git a/docs/models/customerstate.md b/docs/models/customerstate.md index 04b51368..a1f21f80 100644 --- a/docs/models/customerstate.md +++ b/docs/models/customerstate.md @@ -9,21 +9,23 @@ A customer along with additional state information: ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | -| `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. | | -| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | -| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | -| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | -| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | -| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | -| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | -| `tax_id` | List[[Nullable[models.CustomerStateTaxID]](../models/customerstatetaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | -| `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 +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | +| `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. | | +| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | +| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | +| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | +| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | +| `type` | [OptionalNullable[models.CustomerType]](../models/customertype.md) | :heavy_minus_sign: | The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'. | individual | +| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | +| `tax_id` | List[[Nullable[models.CustomerStateTaxID]](../models/customerstatetaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | +| `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 diff --git a/docs/models/customersubscriptionproduct.md b/docs/models/customersubscriptionproduct.md index 2fe72991..598a2851 100644 --- a/docs/models/customersubscriptionproduct.md +++ b/docs/models/customersubscriptionproduct.md @@ -12,6 +12,7 @@ | `trial_interval_count` | *Nullable[int]* | :heavy_check_mark: | The number of interval units for the trial period. | | `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_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. | diff --git a/docs/models/customertype.md b/docs/models/customertype.md new file mode 100644 index 00000000..b379cd36 --- /dev/null +++ b/docs/models/customertype.md @@ -0,0 +1,9 @@ +# CustomerType + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INDIVIDUAL` | individual | +| `TEAM` | team | \ No newline at end of file diff --git a/docs/models/customerupdate.md b/docs/models/customerupdate.md index 7174112c..e684a111 100644 --- a/docs/models/customerupdate.md +++ b/docs/models/customerupdate.md @@ -10,4 +10,6 @@ | `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | John Doe | | `billing_address` | [OptionalNullable[models.AddressInput]](../models/addressinput.md) | :heavy_minus_sign: | N/A | | | `tax_id` | List[[Nullable[models.CustomerUpdateTaxID]](../models/customerupdatetaxid.md)] | :heavy_minus_sign: | N/A | [
"911144442",
"us_ein"
] | -| `external_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | \ No newline at end of file +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | en | +| `external_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | +| `type` | [OptionalNullable[models.CustomerType]](../models/customertype.md) | :heavy_minus_sign: | The customer type. Can only be upgraded from 'individual' to 'team', never downgraded. | individual | \ No newline at end of file diff --git a/docs/models/customerupdatedevent.md b/docs/models/customerupdatedevent.md index 20b37faa..f7163aeb 100644 --- a/docs/models/customerupdatedevent.md +++ b/docs/models/customerupdatedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a customer is updated. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/customerupdateexternalid.md b/docs/models/customerupdateexternalid.md index 298a60f3..c3ffea0d 100644 --- a/docs/models/customerupdateexternalid.md +++ b/docs/models/customerupdateexternalid.md @@ -9,4 +9,5 @@ | `email` | *OptionalNullable[str]* | :heavy_minus_sign: | The email address of the customer. This must be unique within the organization. | customer@example.com | | `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | John Doe | | `billing_address` | [OptionalNullable[models.AddressInput]](../models/addressinput.md) | :heavy_minus_sign: | N/A | | -| `tax_id` | List[[Nullable[models.CustomerUpdateExternalIDTaxID]](../models/customerupdateexternalidtaxid.md)] | :heavy_minus_sign: | N/A | [
"911144442",
"us_ein"
] | \ No newline at end of file +| `tax_id` | List[[Nullable[models.CustomerUpdateExternalIDTaxID]](../models/customerupdateexternalidtaxid.md)] | :heavy_minus_sign: | N/A | [
"911144442",
"us_ein"
] | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | en | \ No newline at end of file diff --git a/docs/models/customerwithmembers.md b/docs/models/customerwithmembers.md index 1a634798..ba69cdb2 100644 --- a/docs/models/customerwithmembers.md +++ b/docs/models/customerwithmembers.md @@ -5,19 +5,21 @@ A customer in an organization with their members loaded. ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | -| `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. | | -| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | -| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | -| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | -| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | -| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | -| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | -| `tax_id` | List[[Nullable[models.CustomerWithMembersTaxID]](../models/customerwithmemberstaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | -| `members` | List[[models.Member](../models/member.md)] | :heavy_minus_sign: | List of members belonging to this customer. | | -| `avatar_url` | *str* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | +| `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. | | +| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | +| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | +| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | +| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | +| `type` | [OptionalNullable[models.CustomerType]](../models/customertype.md) | :heavy_minus_sign: | The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'. | individual | +| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | +| `tax_id` | List[[Nullable[models.CustomerWithMembersTaxID]](../models/customerwithmemberstaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | +| `members` | List[[models.Member](../models/member.md)] | :heavy_minus_sign: | List of members belonging to this customer. | | +| `avatar_url` | *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 65c88306..f3efd73c 100644 --- a/docs/models/discountproduct.md +++ b/docs/models/discountproduct.md @@ -15,6 +15,7 @@ A product that a discount can be applied to. | `trial_interval_count` | *Nullable[int]* | :heavy_check_mark: | The number of interval units for the trial period. | | `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_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. | diff --git a/docs/models/eventcreatecustomer.md b/docs/models/eventcreatecustomer.md index aaa5b2fc..c838f033 100644 --- a/docs/models/eventcreatecustomer.md +++ b/docs/models/eventcreatecustomer.md @@ -3,12 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The timestamp of the event. | | -| `name` | *str* | :heavy_check_mark: | The name of the event. | | -| `organization_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the organization owning the event. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `external_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Your unique identifier for this event. Useful for deduplication and parent-child relationships. | | -| `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. Can be either a Polar event ID (UUID) or an external event ID. | | -| `metadata` | Dict[str, [models.EventMetadataInput](../models/eventmetadatainput.md)] | :heavy_minus_sign: | N/A | | -| `customer_id` | *str* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The timestamp of the event. | | +| `name` | *str* | :heavy_check_mark: | The name of the event. | | +| `organization_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the organization owning the event. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `external_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Your unique identifier for this event. Useful for deduplication and parent-child relationships. | | +| `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. Can be either a Polar event ID (UUID) or an external event ID. | | +| `metadata` | Dict[str, [models.EventMetadataInput](../models/eventmetadatainput.md)] | :heavy_minus_sign: | N/A | | +| `customer_id` | *str* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action. Used for member-level attribution in B2B. | | \ No newline at end of file diff --git a/docs/models/eventcreateexternalcustomer.md b/docs/models/eventcreateexternalcustomer.md index dca068a2..6f592b66 100644 --- a/docs/models/eventcreateexternalcustomer.md +++ b/docs/models/eventcreateexternalcustomer.md @@ -3,12 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The timestamp of the event. | | -| `name` | *str* | :heavy_check_mark: | The name of the event. | | -| `organization_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the organization owning the event. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `external_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Your unique identifier for this event. Useful for deduplication and parent-child relationships. | | -| `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. Can be either a Polar event ID (UUID) or an external event ID. | | -| `metadata` | Dict[str, [models.EventMetadataInput](../models/eventmetadatainput.md)] | :heavy_minus_sign: | N/A | | -| `external_customer_id` | *str* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | The timestamp of the event. | | +| `name` | *str* | :heavy_check_mark: | The name of the event. | | +| `organization_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the organization owning the event. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `external_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Your unique identifier for this event. Useful for deduplication and parent-child relationships. | | +| `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. Can be either a Polar event ID (UUID) or an external event ID. | | +| `metadata` | Dict[str, [models.EventMetadataInput](../models/eventmetadatainput.md)] | :heavy_minus_sign: | N/A | | +| `external_customer_id` | *str* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action. Used for member-level attribution in B2B. | | \ No newline at end of file diff --git a/docs/models/legacyrecurringproductpricecustom.md b/docs/models/legacyrecurringproductpricecustom.md index bf2ec631..2ce2f5df 100644 --- a/docs/models/legacyrecurringproductpricecustom.md +++ b/docs/models/legacyrecurringproductpricecustom.md @@ -14,11 +14,11 @@ A pay-what-you-want recurring price for a product, i.e. a subscription. | `id` | *str* | :heavy_check_mark: | The ID of the price. | | `source` | [models.ProductPriceSource](../models/productpricesource.md) | :heavy_check_mark: | N/A | | `amount_type` | *Literal["custom"]* | :heavy_check_mark: | N/A | +| `price_currency` | *str* | :heavy_check_mark: | The currency in which the customer will be charged. | | `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 | -| `price_currency` | *str* | :heavy_check_mark: | The currency. | | `minimum_amount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. | | `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 6165f716..7f7ca941 100644 --- a/docs/models/legacyrecurringproductpricefixed.md +++ b/docs/models/legacyrecurringproductpricefixed.md @@ -14,10 +14,10 @@ A recurring price for a product, i.e. a subscription. | `id` | *str* | :heavy_check_mark: | The ID of the price. | | `source` | [models.ProductPriceSource](../models/productpricesource.md) | :heavy_check_mark: | N/A | | `amount_type` | *Literal["fixed"]* | :heavy_check_mark: | N/A | +| `price_currency` | *str* | :heavy_check_mark: | The currency in which the customer will be charged. | | `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 | -| `price_currency` | *str* | :heavy_check_mark: | The currency. | | `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 index 3e790e91..f0aa739d 100644 --- a/docs/models/legacyrecurringproductpricefree.md +++ b/docs/models/legacyrecurringproductpricefree.md @@ -14,6 +14,7 @@ A free recurring price for a product, i.e. a subscription. | `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. | | `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. | diff --git a/docs/models/licensekeycustomer.md b/docs/models/licensekeycustomer.md index d4b80a6a..092c4eeb 100644 --- a/docs/models/licensekeycustomer.md +++ b/docs/models/licensekeycustomer.md @@ -3,18 +3,20 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | -| `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. | | -| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | -| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | -| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | -| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | -| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | -| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | -| `tax_id` | List[[Nullable[models.LicenseKeyCustomerTaxID]](../models/licensekeycustomertaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `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 +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | +| `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. | | +| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | +| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | +| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | +| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | +| `type` | [OptionalNullable[models.CustomerType]](../models/customertype.md) | :heavy_minus_sign: | The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'. | individual | +| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | +| `tax_id` | List[[Nullable[models.LicenseKeyCustomerTaxID]](../models/licensekeycustomertaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `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 diff --git a/docs/models/metercreditevent.md b/docs/models/metercreditevent.md index 73d874a0..87f0af22 100644 --- a/docs/models/metercreditevent.md +++ b/docs/models/metercreditevent.md @@ -13,6 +13,8 @@ An event created by Polar when credits are added to a customer meter. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/meterresetevent.md b/docs/models/meterresetevent.md index 3f62ef4a..1043f315 100644 --- a/docs/models/meterresetevent.md +++ b/docs/models/meterresetevent.md @@ -13,6 +13,8 @@ An event created by Polar when a customer meter is reset. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/metersquantitiesrequest.md b/docs/models/metersquantitiesrequest.md index 83c113ee..2a018d15 100644 --- a/docs/models/metersquantitiesrequest.md +++ b/docs/models/metersquantitiesrequest.md @@ -9,6 +9,7 @@ | `start_timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Start timestamp. | | `end_timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | End timestamp. | | `interval` | [models.TimeInterval](../models/timeinterval.md) | :heavy_check_mark: | Interval between two timestamps. | +| `timezone` | *Optional[str]* | :heavy_minus_sign: | Timezone to use for the timestamps. Default is UTC. | | `customer_id` | [OptionalNullable[models.MetersQuantitiesQueryParamCustomerIDFilter]](../models/metersquantitiesqueryparamcustomeridfilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `external_customer_id` | [OptionalNullable[models.MetersQuantitiesQueryParamExternalCustomerIDFilter]](../models/metersquantitiesqueryparamexternalcustomeridfilter.md) | :heavy_minus_sign: | Filter by external customer ID. | | `customer_aggregation_function` | [OptionalNullable[models.AggregationFunction]](../models/aggregationfunction.md) | :heavy_minus_sign: | If set, will first compute the quantities per customer before aggregating them using the given function. If not set, the quantities will be aggregated across all events. | diff --git a/docs/models/ordercustomer.md b/docs/models/ordercustomer.md index c3652c5b..a485e316 100644 --- a/docs/models/ordercustomer.md +++ b/docs/models/ordercustomer.md @@ -3,18 +3,20 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | -| `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. | | -| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | -| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | -| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | -| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | -| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | -| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | -| `tax_id` | List[[Nullable[models.OrderCustomerTaxID]](../models/ordercustomertaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `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 +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | +| `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. | | +| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | +| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | +| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | +| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | +| `type` | [OptionalNullable[models.CustomerType]](../models/customertype.md) | :heavy_minus_sign: | The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'. | individual | +| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | +| `tax_id` | List[[Nullable[models.OrderCustomerTaxID]](../models/ordercustomertaxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `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 diff --git a/docs/models/orderpaidevent.md b/docs/models/orderpaidevent.md index 88b89c28..1dbae369 100644 --- a/docs/models/orderpaidevent.md +++ b/docs/models/orderpaidevent.md @@ -13,6 +13,8 @@ An event created by Polar when an order is paid. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/orderproduct.md b/docs/models/orderproduct.md index 57764d60..e64f9f6b 100644 --- a/docs/models/orderproduct.md +++ b/docs/models/orderproduct.md @@ -13,6 +13,7 @@ | `trial_interval_count` | *Nullable[int]* | :heavy_check_mark: | The number of interval units for the trial period. | | `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_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. | diff --git a/docs/models/orderrefundedevent.md b/docs/models/orderrefundedevent.md index 96ba9048..396a87a9 100644 --- a/docs/models/orderrefundedevent.md +++ b/docs/models/orderrefundedevent.md @@ -13,6 +13,8 @@ An event created by Polar when an order is refunded. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/organization.md b/docs/models/organization.md index e88c8f8d..61fc4add 100644 --- a/docs/models/organization.md +++ b/docs/models/organization.md @@ -3,23 +3,24 @@ ## 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 object. | -| `name` | *str* | :heavy_check_mark: | Organization name shown in checkout, customer portal, emails etc. | -| `slug` | *str* | :heavy_check_mark: | Unique organization slug in checkout, customer portal and credit card statements. | -| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | Avatar URL shown in checkout, customer portal, emails etc. | -| `proration_behavior` | [models.SubscriptionProrationBehavior](../models/subscriptionprorationbehavior.md) | :heavy_check_mark: | N/A | -| `allow_customer_updates` | *bool* | :heavy_check_mark: | Whether customers can update their subscriptions from the customer portal. | -| `email` | *Nullable[str]* | :heavy_check_mark: | Public support email. | -| `website` | *Nullable[str]* | :heavy_check_mark: | Official website of the organization. | -| `socials` | List[[models.OrganizationSocialLink](../models/organizationsociallink.md)] | :heavy_check_mark: | Links to social profiles. | -| `status` | [models.OrganizationStatus](../models/organizationstatus.md) | :heavy_check_mark: | N/A | -| `details_submitted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the business details were submitted. | -| `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 | \ No newline at end of file +| 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 object. | +| `name` | *str* | :heavy_check_mark: | Organization name shown in checkout, customer portal, emails etc. | +| `slug` | *str* | :heavy_check_mark: | Unique organization slug in checkout, customer portal and credit card statements. | +| `avatar_url` | *Nullable[str]* | :heavy_check_mark: | Avatar URL shown in checkout, customer portal, emails etc. | +| `proration_behavior` | [models.SubscriptionProrationBehavior](../models/subscriptionprorationbehavior.md) | :heavy_check_mark: | N/A | +| `allow_customer_updates` | *bool* | :heavy_check_mark: | Whether customers can update their subscriptions from the customer portal. | +| `email` | *Nullable[str]* | :heavy_check_mark: | Public support email. | +| `website` | *Nullable[str]* | :heavy_check_mark: | Official website of the organization. | +| `socials` | List[[models.OrganizationSocialLink](../models/organizationsociallink.md)] | :heavy_check_mark: | Links to social profiles. | +| `status` | [models.OrganizationStatus](../models/organizationstatus.md) | :heavy_check_mark: | N/A | +| `details_submitted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | When the business details were submitted. | +| `default_presentment_currency` | *str* | :heavy_check_mark: | Default presentment currency. Used as fallback in checkout and customer portal, if the customer's local currency is not available. | +| `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 | \ No newline at end of file diff --git a/docs/models/organizationcreate.md b/docs/models/organizationcreate.md index 0cd17fac..82b7cd51 100644 --- a/docs/models/organizationcreate.md +++ b/docs/models/organizationcreate.md @@ -16,4 +16,5 @@ | `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 | \ No newline at end of file +| `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 | \ No newline at end of file diff --git a/docs/models/organizationfeaturesettings.md b/docs/models/organizationfeaturesettings.md index 6993f053..c890e36d 100644 --- a/docs/models/organizationfeaturesettings.md +++ b/docs/models/organizationfeaturesettings.md @@ -3,10 +3,14 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | -| `issue_funding_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has issue funding enabled | -| `seat_based_pricing_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has seat-based pricing enabled | -| `revops_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has RevOps enabled | -| `wallets_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has Wallets enabled | -| `member_model_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has the Member model enabled | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `issue_funding_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has issue funding enabled | +| `seat_based_pricing_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has seat-based pricing enabled | +| `revops_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has RevOps enabled | +| `wallets_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has Wallets enabled | +| `member_model_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has the Member model enabled | +| `tinybird_read` | *Optional[bool]* | :heavy_minus_sign: | If this organization reads from Tinybird | +| `tinybird_compare` | *Optional[bool]* | :heavy_minus_sign: | If this organization compares Tinybird results with database | +| `presentment_currencies_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has multiple presentment currencies enabled | +| `checkout_localization_enabled` | *Optional[bool]* | :heavy_minus_sign: | If this organization has checkout localization enabled | \ No newline at end of file diff --git a/docs/models/organizationupdate.md b/docs/models/organizationupdate.md index 8cbfb562..13881861 100644 --- a/docs/models/organizationupdate.md +++ b/docs/models/organizationupdate.md @@ -15,4 +15,5 @@ | `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 | \ No newline at end of file +| `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 | \ No newline at end of file diff --git a/docs/models/portalauthenticateduser.md b/docs/models/portalauthenticateduser.md index a8197251..048f22a0 100644 --- a/docs/models/portalauthenticateduser.md +++ b/docs/models/portalauthenticateduser.md @@ -11,4 +11,5 @@ Information about the authenticated portal user. | `name` | *Nullable[str]* | :heavy_check_mark: | User's name, if available. | | `email` | *str* | :heavy_check_mark: | User's email address. | | `customer_id` | *str* | :heavy_check_mark: | Associated customer ID. | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Member ID. Only set for members. | | `role` | *OptionalNullable[str]* | :heavy_minus_sign: | Member role (owner, billing_manager, member). Only set for members. | \ No newline at end of file diff --git a/docs/models/presentmentcurrency.md b/docs/models/presentmentcurrency.md index e598a80c..e8dedae8 100644 --- a/docs/models/presentmentcurrency.md +++ b/docs/models/presentmentcurrency.md @@ -5,11 +5,13 @@ | Name | Value | | ----- | ----- | -| `USD` | usd | +| `AUD` | aud | +| `BRL` | brl | +| `CAD` | cad | +| `CHF` | chf | | `EUR` | eur | +| `INR` | inr | | `GBP` | gbp | -| `CAD` | cad | -| `AUD` | aud | | `JPY` | jpy | -| `CHF` | chf | -| `SEK` | sek | \ No newline at end of file +| `SEK` | sek | +| `USD` | usd | \ No newline at end of file diff --git a/docs/models/product.md b/docs/models/product.md index 70c18d86..eb51de29 100644 --- a/docs/models/product.md +++ b/docs/models/product.md @@ -14,6 +14,7 @@ A product. | `trial_interval_count` | *Nullable[int]* | :heavy_check_mark: | The number of interval units for the trial period. | | `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_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. | diff --git a/docs/models/productcreateonetime.md b/docs/models/productcreateonetime.md index ae65639a..0acde2c9 100644 --- a/docs/models/productcreateonetime.md +++ b/docs/models/productcreateonetime.md @@ -8,6 +8,7 @@ | `metadata` | Dict[str, [models.ProductCreateOneTimeMetadata](../models/productcreateonetimemetadata.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**. | | | `name` | *str* | :heavy_check_mark: | The name of the product. | | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | The description of the product. | | +| `visibility` | [Optional[models.ProductVisibility]](../models/productvisibility.md) | :heavy_minus_sign: | N/A | | | `prices` | List[[models.ProductCreateOneTimePrices](../models/productcreateonetimeprices.md)] | :heavy_check_mark: | List of available prices for this product. It should contain at most one static price (fixed, custom or free), and any number of metered prices. Metered prices are not supported on one-time purchase products. | | | `medias` | List[*str*] | :heavy_minus_sign: | List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded. | | | `attached_custom_fields` | List[[models.AttachedCustomFieldCreate](../models/attachedcustomfieldcreate.md)] | :heavy_minus_sign: | List of custom fields to attach. | | diff --git a/docs/models/productcreaterecurring.md b/docs/models/productcreaterecurring.md index 56d82d0a..85474db4 100644 --- a/docs/models/productcreaterecurring.md +++ b/docs/models/productcreaterecurring.md @@ -8,6 +8,7 @@ | `metadata` | Dict[str, [models.ProductCreateRecurringMetadata](../models/productcreaterecurringmetadata.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**. | | | `name` | *str* | :heavy_check_mark: | The name of the product. | | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | The description of the product. | | +| `visibility` | [Optional[models.ProductVisibility]](../models/productvisibility.md) | :heavy_minus_sign: | N/A | | | `prices` | List[[models.ProductCreateRecurringPrices](../models/productcreaterecurringprices.md)] | :heavy_check_mark: | List of available prices for this product. It should contain at most one static price (fixed, custom or free), and any number of metered prices. Metered prices are not supported on one-time purchase products. | | | `medias` | List[*str*] | :heavy_minus_sign: | List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded. | | | `attached_custom_fields` | List[[models.AttachedCustomFieldCreate](../models/attachedcustomfieldcreate.md)] | :heavy_minus_sign: | List of custom fields to attach. | | diff --git a/docs/models/productpricecustom.md b/docs/models/productpricecustom.md index 00da8800..131a9e6c 100644 --- a/docs/models/productpricecustom.md +++ b/docs/models/productpricecustom.md @@ -12,11 +12,11 @@ A pay-what-you-want price for a product. | `id` | *str* | :heavy_check_mark: | The ID of the price. | | `source` | [models.ProductPriceSource](../models/productpricesource.md) | :heavy_check_mark: | N/A | | `amount_type` | *Literal["custom"]* | :heavy_check_mark: | N/A | +| `price_currency` | *str* | :heavy_check_mark: | The currency in which the customer will be charged. | | `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` | [models.ProductPriceType](../models/productpricetype.md) | :heavy_check_mark: | N/A | | ~~`recurring_interval`~~ | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | -| `price_currency` | *str* | :heavy_check_mark: | The currency. | | `minimum_amount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. | | `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. | \ No newline at end of file diff --git a/docs/models/productpricecustomcreate.md b/docs/models/productpricecustomcreate.md index 8fd89653..d72646dd 100644 --- a/docs/models/productpricecustomcreate.md +++ b/docs/models/productpricecustomcreate.md @@ -8,7 +8,7 @@ Schema to create a pay-what-you-want price. | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `amount_type` | *Literal["custom"]* | :heavy_check_mark: | N/A | -| `price_currency` | *Optional[str]* | :heavy_minus_sign: | The currency. Currently, only `usd` is supported. | +| `price_currency` | [Optional[models.PresentmentCurrency]](../models/presentmentcurrency.md) | :heavy_minus_sign: | N/A | | `minimum_amount` | *Optional[int]* | :heavy_minus_sign: | The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value between 1-49, it will be rejected. Defaults to 50 cents. | | `maximum_amount` | *OptionalNullable[int]* | :heavy_minus_sign: | The maximum amount the customer can pay. | | `preset_amount` | *OptionalNullable[int]* | :heavy_minus_sign: | The initial amount shown to the customer. If 0, the customer will see $0 as the default. Values between 1-49 are rejected. | \ No newline at end of file diff --git a/docs/models/productpricefixed.md b/docs/models/productpricefixed.md index b627d7c9..2ed8fe2b 100644 --- a/docs/models/productpricefixed.md +++ b/docs/models/productpricefixed.md @@ -12,9 +12,9 @@ A fixed price for a product. | `id` | *str* | :heavy_check_mark: | The ID of the price. | | `source` | [models.ProductPriceSource](../models/productpricesource.md) | :heavy_check_mark: | N/A | | `amount_type` | *Literal["fixed"]* | :heavy_check_mark: | N/A | +| `price_currency` | *str* | :heavy_check_mark: | The currency in which the customer will be charged. | | `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` | [models.ProductPriceType](../models/productpricetype.md) | :heavy_check_mark: | N/A | | ~~`recurring_interval`~~ | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | -| `price_currency` | *str* | :heavy_check_mark: | The currency. | | `price_amount` | *int* | :heavy_check_mark: | The price in cents. | \ No newline at end of file diff --git a/docs/models/productpricefixedcreate.md b/docs/models/productpricefixedcreate.md index 169a4ba3..85a04541 100644 --- a/docs/models/productpricefixedcreate.md +++ b/docs/models/productpricefixedcreate.md @@ -5,8 +5,8 @@ Schema to create a fixed price. ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | -| `amount_type` | *Literal["fixed"]* | :heavy_check_mark: | N/A | -| `price_amount` | *int* | :heavy_check_mark: | The price in cents. | -| `price_currency` | *Optional[str]* | :heavy_minus_sign: | The currency. Currently, only `usd` is supported. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `amount_type` | *Literal["fixed"]* | :heavy_check_mark: | N/A | +| `price_currency` | [Optional[models.PresentmentCurrency]](../models/presentmentcurrency.md) | :heavy_minus_sign: | N/A | +| `price_amount` | *int* | :heavy_check_mark: | The price in cents. | \ No newline at end of file diff --git a/docs/models/productpricefree.md b/docs/models/productpricefree.md index 27394e87..eca11c21 100644 --- a/docs/models/productpricefree.md +++ b/docs/models/productpricefree.md @@ -12,6 +12,7 @@ A free price for a product. | `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. | | `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` | [models.ProductPriceType](../models/productpricetype.md) | :heavy_check_mark: | N/A | diff --git a/docs/models/productpricefreecreate.md b/docs/models/productpricefreecreate.md index 71f35898..a34c17eb 100644 --- a/docs/models/productpricefreecreate.md +++ b/docs/models/productpricefreecreate.md @@ -5,6 +5,7 @@ Schema to create a free price. ## Fields -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `amount_type` | *Literal["free"]* | :heavy_check_mark: | N/A | \ No newline at end of file +| 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 | \ No newline at end of file diff --git a/docs/models/productpricemeteredunit.md b/docs/models/productpricemeteredunit.md index f1a3e33f..7e0b926a 100644 --- a/docs/models/productpricemeteredunit.md +++ b/docs/models/productpricemeteredunit.md @@ -12,11 +12,11 @@ A metered, usage-based, price for a product, with a fixed unit price. | `id` | *str* | :heavy_check_mark: | The ID of the price. | | `source` | [models.ProductPriceSource](../models/productpricesource.md) | :heavy_check_mark: | N/A | | `amount_type` | *Literal["metered_unit"]* | :heavy_check_mark: | N/A | +| `price_currency` | *str* | :heavy_check_mark: | The currency in which the customer will be charged. | | `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` | [models.ProductPriceType](../models/productpricetype.md) | :heavy_check_mark: | N/A | | ~~`recurring_interval`~~ | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | -| `price_currency` | *str* | :heavy_check_mark: | The currency. | | `unit_amount` | *str* | :heavy_check_mark: | The price per unit in cents. | | `cap_amount` | *Nullable[int]* | :heavy_check_mark: | The maximum amount in cents that can be charged, regardless of the number of units consumed. | | `meter_id` | *str* | :heavy_check_mark: | The ID of the meter associated to the price. | diff --git a/docs/models/productpricemeteredunitcreate.md b/docs/models/productpricemeteredunitcreate.md index fca82ca8..c6f04ac8 100644 --- a/docs/models/productpricemeteredunitcreate.md +++ b/docs/models/productpricemeteredunitcreate.md @@ -8,7 +8,7 @@ Schema to create a metered price with a fixed unit price. | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | | `amount_type` | *Literal["metered_unit"]* | :heavy_check_mark: | N/A | +| `price_currency` | [Optional[models.PresentmentCurrency]](../models/presentmentcurrency.md) | :heavy_minus_sign: | N/A | | `meter_id` | *str* | :heavy_check_mark: | The ID of the meter associated to the price. | -| `price_currency` | *Optional[str]* | :heavy_minus_sign: | The currency. Currently, only `usd` is supported. | | `unit_amount` | [models.UnitAmount](../models/unitamount.md) | :heavy_check_mark: | The price per unit in cents. Supports up to 12 decimal places. | | `cap_amount` | *OptionalNullable[int]* | :heavy_minus_sign: | Optional maximum amount in cents that can be charged, regardless of the number of units consumed. | \ No newline at end of file diff --git a/docs/models/productpriceseatbased.md b/docs/models/productpriceseatbased.md index 6e63cb88..4fa351b4 100644 --- a/docs/models/productpriceseatbased.md +++ b/docs/models/productpriceseatbased.md @@ -12,9 +12,9 @@ A seat-based price for a product. | `id` | *str* | :heavy_check_mark: | The ID of the price. | | `source` | [models.ProductPriceSource](../models/productpricesource.md) | :heavy_check_mark: | N/A | | `amount_type` | *Literal["seat_based"]* | :heavy_check_mark: | N/A | +| `price_currency` | *str* | :heavy_check_mark: | The currency in which the customer will be charged. | | `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` | [models.ProductPriceType](../models/productpricetype.md) | :heavy_check_mark: | N/A | | ~~`recurring_interval`~~ | [Nullable[models.SubscriptionRecurringInterval]](../models/subscriptionrecurringinterval.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | -| `price_currency` | *str* | :heavy_check_mark: | The currency. | | `seat_tiers` | [models.ProductPriceSeatTiersOutput](../models/productpriceseattiersoutput.md) | :heavy_check_mark: | List of pricing tiers for seat-based pricing.

The minimum and maximum seat limits are derived from the tiers:
- minimum_seats = first tier's min_seats
- maximum_seats = last tier's max_seats (None for unlimited) | \ No newline at end of file diff --git a/docs/models/productpriceseatbasedcreate.md b/docs/models/productpriceseatbasedcreate.md index 0cc7e6ec..f7c1f7cd 100644 --- a/docs/models/productpriceseatbasedcreate.md +++ b/docs/models/productpriceseatbasedcreate.md @@ -8,5 +8,5 @@ Schema to create a seat-based price with volume-based tiers. | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `amount_type` | *Literal["seat_based"]* | :heavy_check_mark: | N/A | -| `price_currency` | *Optional[str]* | :heavy_minus_sign: | The currency. Currently, only `usd` is supported. | +| `price_currency` | [Optional[models.PresentmentCurrency]](../models/presentmentcurrency.md) | :heavy_minus_sign: | N/A | | `seat_tiers` | [models.ProductPriceSeatTiersInput](../models/productpriceseattiersinput.md) | :heavy_check_mark: | List of pricing tiers for seat-based pricing.

The minimum and maximum seat limits are derived from the tiers:
- minimum_seats = first tier's min_seats
- maximum_seats = last tier's max_seats (None for unlimited) | \ No newline at end of file diff --git a/docs/models/productslistrequest.md b/docs/models/productslistrequest.md index cc68f123..2f3c7961 100644 --- a/docs/models/productslistrequest.md +++ b/docs/models/productslistrequest.md @@ -11,6 +11,7 @@ | `is_archived` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter on archived products. | | `is_recurring` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter on recurring products. If `true`, only subscriptions tiers are returned. If `false`, only one-time purchase products are returned. | | `benefit_id` | [OptionalNullable[models.BenefitIDFilter]](../models/benefitidfilter.md) | :heavy_minus_sign: | Filter products granting specific benefit. | +| `visibility` | List[[models.ProductVisibility](../models/productvisibility.md)] | :heavy_minus_sign: | Filter by visibility. | | `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.ProductSortProperty](../models/productsortproperty.md)] | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | diff --git a/docs/models/productupdate.md b/docs/models/productupdate.md index 736aaa85..216462a4 100644 --- a/docs/models/productupdate.md +++ b/docs/models/productupdate.md @@ -15,6 +15,7 @@ Schema to update a 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_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. | | `prices` | List[[models.ProductUpdatePrices](../models/productupdateprices.md)] | :heavy_minus_sign: | List of available prices for this product. If you want to keep existing prices, include them in the list as an `ExistingProductPrice` object. | | `medias` | List[*str*] | :heavy_minus_sign: | List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded. | | `attached_custom_fields` | List[[models.AttachedCustomFieldCreate](../models/attachedcustomfieldcreate.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/productvisibility.md b/docs/models/productvisibility.md new file mode 100644 index 00000000..e1526004 --- /dev/null +++ b/docs/models/productvisibility.md @@ -0,0 +1,10 @@ +# ProductVisibility + + +## Values + +| Name | Value | +| --------- | --------- | +| `DRAFT` | draft | +| `PRIVATE` | private | +| `PUBLIC` | public | \ No newline at end of file diff --git a/docs/models/scope.md b/docs/models/scope.md index 355d531d..ec088cb1 100644 --- a/docs/models/scope.md +++ b/docs/models/scope.md @@ -58,13 +58,8 @@ | `METRICS_READ` | metrics:read | | `WEBHOOKS_READ` | webhooks:read | | `WEBHOOKS_WRITE` | webhooks:write | -| `EXTERNAL_ORGANIZATIONS_READ` | external_organizations:read | | `LICENSE_KEYS_READ` | license_keys:read | | `LICENSE_KEYS_WRITE` | license_keys:write | -| `REPOSITORIES_READ` | repositories:read | -| `REPOSITORIES_WRITE` | repositories:write | -| `ISSUES_READ` | issues:read | -| `ISSUES_WRITE` | issues:write | | `CUSTOMER_PORTAL_READ` | customer_portal:read | | `CUSTOMER_PORTAL_WRITE` | customer_portal:write | | `NOTIFICATIONS_READ` | notifications:read | diff --git a/docs/models/seatassign.md b/docs/models/seatassign.md index 336df6cc..4d468085 100644 --- a/docs/models/seatassign.md +++ b/docs/models/seatassign.md @@ -3,13 +3,15 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `subscription_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Subscription ID. Required if checkout_id and order_id are not provided. | -| `checkout_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Checkout ID. Used to look up subscription or order from the checkout page. | -| `order_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Order ID for one-time purchases. Required if subscription_id and checkout_id are not provided. | -| `email` | *OptionalNullable[str]* | :heavy_minus_sign: | Email of the customer to assign the seat to | -| `external_customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | External customer ID for the seat assignment | -| `customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Customer ID for the seat assignment | -| `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | Additional metadata for the seat (max 10 keys, 1KB total) | -| `immediate_claim` | *Optional[bool]* | :heavy_minus_sign: | If true, the seat will be immediately claimed without sending an invitation email. API-only feature. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `subscription_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Subscription ID. Required if checkout_id and order_id are not provided. | +| `checkout_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Checkout ID. Used to look up subscription or order from the checkout page. | +| `order_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Order ID for one-time purchases. Required if subscription_id and checkout_id are not provided. | +| `email` | *OptionalNullable[str]* | :heavy_minus_sign: | Email of the customer to assign the seat to | +| `external_customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | External customer ID for the seat assignment | +| `customer_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Customer ID for the seat assignment | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | External member ID for the seat assignment. Only supported when member_model_enabled is true. Can be used alone (lookup existing member) or with email (create/validate member). | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Member ID for the seat assignment. Only supported when member_model_enabled is true. | +| `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | Additional metadata for the seat (max 10 keys, 1KB total) | +| `immediate_claim` | *Optional[bool]* | :heavy_minus_sign: | If true, the seat will be immediately claimed without sending an invitation email. API-only feature. | \ No newline at end of file diff --git a/docs/models/subscriptionbillingperiodupdatedevent.md b/docs/models/subscriptionbillingperiodupdatedevent.md index 22a172f9..2f7d905d 100644 --- a/docs/models/subscriptionbillingperiodupdatedevent.md +++ b/docs/models/subscriptionbillingperiodupdatedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a subscription billing period is updated. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/subscriptioncanceledevent.md b/docs/models/subscriptioncanceledevent.md index a9ea419a..ed0d2db7 100644 --- a/docs/models/subscriptioncanceledevent.md +++ b/docs/models/subscriptioncanceledevent.md @@ -13,6 +13,8 @@ An event created by Polar when a subscription is canceled. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/subscriptioncreatedevent.md b/docs/models/subscriptioncreatedevent.md index 67a9b460..d33fde3d 100644 --- a/docs/models/subscriptioncreatedevent.md +++ b/docs/models/subscriptioncreatedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a subscription is created. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/subscriptioncustomer.md b/docs/models/subscriptioncustomer.md index 90a4179c..69744ef9 100644 --- a/docs/models/subscriptioncustomer.md +++ b/docs/models/subscriptioncustomer.md @@ -3,18 +3,20 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | -| `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. | | -| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | -| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | -| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | -| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | -| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | -| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | -| `tax_id` | List[[Nullable[models.TaxID]](../models/taxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `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 +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | +| `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. | | +| `metadata` | Dict[str, [models.MetadataOutputType](../models/metadataoutputtype.md)] | :heavy_check_mark: | N/A | | +| `external_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | +| `email` | *str* | :heavy_check_mark: | The email address of the customer. This must be unique within the organization. | customer@example.com | +| `email_verified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | +| `type` | [OptionalNullable[models.CustomerType]](../models/customertype.md) | :heavy_minus_sign: | The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'. | individual | +| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billing_address` | [Nullable[models.Address]](../models/address.md) | :heavy_check_mark: | N/A | | +| `tax_id` | List[[Nullable[models.TaxID]](../models/taxid.md)] | :heavy_check_mark: | N/A | [
"911144442",
"us_ein"
] | +| `locale` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `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 diff --git a/docs/models/subscriptioncycledevent.md b/docs/models/subscriptioncycledevent.md index c8dee090..76d68fff 100644 --- a/docs/models/subscriptioncycledevent.md +++ b/docs/models/subscriptioncycledevent.md @@ -13,6 +13,8 @@ An event created by Polar when a subscription is cycled. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/subscriptionproductupdatedevent.md b/docs/models/subscriptionproductupdatedevent.md index b9620693..982406a6 100644 --- a/docs/models/subscriptionproductupdatedevent.md +++ b/docs/models/subscriptionproductupdatedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a subscription changes the product. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/subscriptionrevokedevent.md b/docs/models/subscriptionrevokedevent.md index 96bb0f10..63548953 100644 --- a/docs/models/subscriptionrevokedevent.md +++ b/docs/models/subscriptionrevokedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a subscription is revoked from a customer. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/subscriptionseatsupdatedevent.md b/docs/models/subscriptionseatsupdatedevent.md index b66d9f2e..6ca8e5ba 100644 --- a/docs/models/subscriptionseatsupdatedevent.md +++ b/docs/models/subscriptionseatsupdatedevent.md @@ -13,6 +13,8 @@ An event created by Polar when a the seats on a subscription is changed. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/subscriptionuncanceledevent.md b/docs/models/subscriptionuncanceledevent.md index 3aa5ee51..6f272e73 100644 --- a/docs/models/subscriptionuncanceledevent.md +++ b/docs/models/subscriptionuncanceledevent.md @@ -13,6 +13,8 @@ An event created by Polar when a subscription cancellation is reversed. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/userevent.md b/docs/models/userevent.md index f20b1e0a..3a5b4793 100644 --- a/docs/models/userevent.md +++ b/docs/models/userevent.md @@ -13,6 +13,8 @@ An event you created through the ingestion API. | `customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | | `customer` | [Nullable[models.Customer]](../models/customer.md) | :heavy_check_mark: | The customer associated with the event. | | | `external_customer_id` | *Nullable[str]* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `external_member_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | | `child_count` | *Optional[int]* | :heavy_minus_sign: | Number of direct child events linked to this event. | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the parent event. | | | `label` | *str* | :heavy_check_mark: | Human readable label of the event type. | | diff --git a/docs/models/validationerror.md b/docs/models/validationerror.md index 7a1654a1..5bcea5b5 100644 --- a/docs/models/validationerror.md +++ b/docs/models/validationerror.md @@ -3,8 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `loc` | List[[models.Loc](../models/loc.md)] | :heavy_check_mark: | N/A | -| `msg` | *str* | :heavy_check_mark: | N/A | -| `type` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `loc` | List[[models.Loc](../models/loc.md)] | :heavy_check_mark: | N/A | +| `msg` | *str* | :heavy_check_mark: | N/A | +| `type` | *str* | :heavy_check_mark: | N/A | +| `input` | *Optional[Any]* | :heavy_minus_sign: | N/A | +| `ctx` | [Optional[models.Context]](../models/context.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/webhookcheckoutexpiredpayload.md b/docs/models/webhookcheckoutexpiredpayload.md new file mode 100644 index 00000000..98f6917e --- /dev/null +++ b/docs/models/webhookcheckoutexpiredpayload.md @@ -0,0 +1,17 @@ +# WebhookCheckoutExpiredPayload + +Sent when a checkout expires. + +This event fires when a checkout reaches its expiration time without being completed. +Developers can use this to send reminder emails or track checkout abandonment. + +**Discord & Slack support:** Basic + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `type` | *Literal["checkout.expired"]* | :heavy_check_mark: | N/A | checkout.expired | +| `timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | | +| `data` | [models.Checkout](../models/checkout.md) | :heavy_check_mark: | Checkout session data retrieved using an access token. | | \ No newline at end of file diff --git a/docs/models/webhookeventtype.md b/docs/models/webhookeventtype.md index 0c658388..2f72c1e8 100644 --- a/docs/models/webhookeventtype.md +++ b/docs/models/webhookeventtype.md @@ -7,6 +7,7 @@ | ------------------------- | ------------------------- | | `CHECKOUT_CREATED` | checkout.created | | `CHECKOUT_UPDATED` | checkout.updated | +| `CHECKOUT_EXPIRED` | checkout.expired | | `CUSTOMER_CREATED` | customer.created | | `CUSTOMER_UPDATED` | customer.updated | | `CUSTOMER_DELETED` | customer.deleted | @@ -14,6 +15,9 @@ | `CUSTOMER_SEAT_ASSIGNED` | customer_seat.assigned | | `CUSTOMER_SEAT_CLAIMED` | customer_seat.claimed | | `CUSTOMER_SEAT_REVOKED` | customer_seat.revoked | +| `MEMBER_CREATED` | member.created | +| `MEMBER_UPDATED` | member.updated | +| `MEMBER_DELETED` | member.deleted | | `ORDER_CREATED` | order.created | | `ORDER_UPDATED` | order.updated | | `ORDER_PAID` | order.paid | diff --git a/docs/models/webhookmembercreatedpayload.md b/docs/models/webhookmembercreatedpayload.md new file mode 100644 index 00000000..baeeaf3e --- /dev/null +++ b/docs/models/webhookmembercreatedpayload.md @@ -0,0 +1,19 @@ +# WebhookMemberCreatedPayload + +Sent when a new member is created. + +A member represents an individual within a customer (team). +This event is triggered when a member is added to a customer, +either programmatically via the API or when an owner is automatically +created for a new customer. + +**Discord & Slack support:** Basic + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `type` | *Literal["member.created"]* | :heavy_check_mark: | N/A | member.created | +| `timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | | +| `data` | [models.Member](../models/member.md) | :heavy_check_mark: | A member of a customer. | | \ No newline at end of file diff --git a/docs/models/webhookmemberdeletedpayload.md b/docs/models/webhookmemberdeletedpayload.md new file mode 100644 index 00000000..87b202db --- /dev/null +++ b/docs/models/webhookmemberdeletedpayload.md @@ -0,0 +1,17 @@ +# WebhookMemberDeletedPayload + +Sent when a member is deleted. + +This event is triggered when a member is removed from a customer. +Any active seats assigned to the member will be automatically revoked. + +**Discord & Slack support:** Basic + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `type` | *Literal["member.deleted"]* | :heavy_check_mark: | N/A | member.deleted | +| `timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | | +| `data` | [models.Member](../models/member.md) | :heavy_check_mark: | A member of a customer. | | \ No newline at end of file diff --git a/docs/models/webhookmemberupdatedpayload.md b/docs/models/webhookmemberupdatedpayload.md new file mode 100644 index 00000000..b38d160a --- /dev/null +++ b/docs/models/webhookmemberupdatedpayload.md @@ -0,0 +1,17 @@ +# WebhookMemberUpdatedPayload + +Sent when a member is updated. + +This event is triggered when member details are updated, +such as their name or role within the customer. + +**Discord & Slack support:** Basic + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `type` | *Literal["member.updated"]* | :heavy_check_mark: | N/A | member.updated | +| `timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | | +| `data` | [models.Member](../models/member.md) | :heavy_check_mark: | A member of a customer. | | \ No newline at end of file diff --git a/docs/sdks/checkouts/README.md b/docs/sdks/checkouts/README.md index a8e0512e..9f834d15 100644 --- a/docs/sdks/checkouts/README.md +++ b/docs/sdks/checkouts/README.md @@ -88,6 +88,7 @@ with Polar( "customer_billing_address": { "country": polar_sdk.CountryAlpha2Input.US, }, + "locale": "en", "products": [ "", "", @@ -184,6 +185,7 @@ with Polar( "customer_billing_address": { "country": polar_sdk.CountryAlpha2Input.US, }, + "locale": "en", }) # Handle response @@ -271,6 +273,7 @@ with Polar() as polar: res = polar.checkouts.client_update(client_secret="", checkout_update_public={ "customer_name": "John Doe", "customer_billing_address": None, + "locale": "en", "allow_trial": False, }) @@ -327,6 +330,7 @@ with Polar( "customer_billing_address": { "country": polar_sdk.CountryAlpha2Input.US, }, + "locale": "en", "allow_trial": False, }) diff --git a/docs/sdks/customers/README.md b/docs/sdks/customers/README.md index a9ae30a8..fd30adda 100644 --- a/docs/sdks/customers/README.md +++ b/docs/sdks/customers/README.md @@ -96,6 +96,8 @@ with Polar( "911144442", "us_ein", ], + "locale": "en", + "type": polar_sdk.CustomerType.INDIVIDUAL, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "owner": { "email": "member@example.com", @@ -240,7 +242,9 @@ with Polar( "911144442", "us_ein", ], + "locale": "en", "external_id": "usr_1337", + "type": polar_sdk.CustomerType.INDIVIDUAL, }) # Handle response @@ -389,6 +393,7 @@ with Polar( "911144442", "us_ein", ], + "locale": "en", }) # Handle response diff --git a/docs/sdks/meters/README.md b/docs/sdks/meters/README.md index e96c30ce..a42d3c71 100644 --- a/docs/sdks/meters/README.md +++ b/docs/sdks/meters/README.md @@ -227,7 +227,7 @@ with Polar( access_token="", ) as polar: - res = polar.meters.quantities(id="", start_timestamp=parse_datetime("2025-11-25T04:37:16.823Z"), end_timestamp=parse_datetime("2025-11-26T17:06:00.727Z"), interval=polar_sdk.TimeInterval.DAY) + res = polar.meters.quantities(id="", start_timestamp=parse_datetime("2025-11-25T04:37:16.823Z"), end_timestamp=parse_datetime("2025-11-26T17:06:00.727Z"), interval=polar_sdk.TimeInterval.DAY, timezone="UTC") # Handle response print(res) @@ -242,6 +242,7 @@ with Polar( | `start_timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Start timestamp. | | `end_timestamp` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | End timestamp. | | `interval` | [models.TimeInterval](../../models/timeinterval.md) | :heavy_check_mark: | Interval between two timestamps. | +| `timezone` | *Optional[str]* | :heavy_minus_sign: | Timezone to use for the timestamps. Default is UTC. | | `customer_id` | [OptionalNullable[models.MetersQuantitiesQueryParamCustomerIDFilter]](../../models/metersquantitiesqueryparamcustomeridfilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `external_customer_id` | [OptionalNullable[models.MetersQuantitiesQueryParamExternalCustomerIDFilter]](../../models/metersquantitiesqueryparamexternalcustomeridfilter.md) | :heavy_minus_sign: | Filter by external customer ID. | | `customer_aggregation_function` | [OptionalNullable[models.AggregationFunction]](../../models/aggregationfunction.md) | :heavy_minus_sign: | If set, will first compute the quantities per customer before aggregating them using the given function. If not set, the quantities will be aggregated across all events. | diff --git a/docs/sdks/polarbenefitgrants/README.md b/docs/sdks/polarbenefitgrants/README.md index 370b04ec..0cad3e92 100644 --- a/docs/sdks/polarbenefitgrants/README.md +++ b/docs/sdks/polarbenefitgrants/README.md @@ -41,6 +41,7 @@ with Polar() as polar: | Parameter | Type | Required | Description | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `security` | [models.CustomerPortalBenefitGrantsListSecurity](../../models/customerportalbenefitgrantslistsecurity.md) | :heavy_check_mark: | N/A | +| `query` | *OptionalNullable[str]* | :heavy_minus_sign: | Filter by benefit description. | | `type_filter` | [OptionalNullable[models.QueryParamBenefitTypeFilter]](../../models/queryparambenefittypefilter.md) | :heavy_minus_sign: | Filter by benefit type. | | `benefit_id` | [OptionalNullable[models.CustomerPortalBenefitGrantsListQueryParamBenefitIDFilter]](../../models/customerportalbenefitgrantslistqueryparambenefitidfilter.md) | :heavy_minus_sign: | Filter by benefit ID. | | `checkout_id` | [OptionalNullable[models.QueryParamCheckoutIDFilter]](../../models/queryparamcheckoutidfilter.md) | :heavy_minus_sign: | Filter by checkout ID. | diff --git a/docs/sdks/polarmembers/README.md b/docs/sdks/polarmembers/README.md new file mode 100644 index 00000000..f206a4a3 --- /dev/null +++ b/docs/sdks/polarmembers/README.md @@ -0,0 +1,187 @@ +# PolarMembers +(*customer_portal.members*) + +## Overview + +### Available Operations + +* [list_members](#list_members) - List Members +* [add_member](#add_member) - Add Member +* [update_member](#update_member) - Update Member +* [remove_member](#remove_member) - Remove Member + +## list_members + +List all members of the customer's team. + +Only available to owners and billing managers of team customers. + +### Example Usage + + +```python +from polar_sdk import Polar + + +with Polar( + access_token="", +) as polar: + + res = polar.customer_portal.members.list_members() + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[List[models.CustomerPortalMember]](../../models/.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| --------------- | --------------- | --------------- | +| models.SDKError | 4XX, 5XX | \*/\* | + +## add_member + +Add a new member to the customer's team. + +Only available to owners and billing managers of team customers. + +Rules: +- Cannot add a member with the owner role (there must be exactly one owner) +- If a member with this email already exists, the existing member is returned + +### Example Usage + + +```python +from polar_sdk import Polar + + +with Polar( + access_token="", +) as polar: + + res = polar.customer_portal.members.add_member(request={ + "email": "Domenica.Schamberger@yahoo.com", + }) + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `request` | [models.CustomerPortalMemberCreate](../../models/customerportalmembercreate.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.CustomerPortalMember](../../models/customerportalmember.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| models.HTTPValidationError | 422 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## update_member + +Update a member's role. + +Only available to owners and billing managers of team customers. + +Rules: +- Cannot modify your own role (to prevent self-demotion) +- Customer must have exactly one owner at all times + +### Example Usage + + +```python +from polar_sdk import Polar + + +with Polar( + access_token="", +) as polar: + + res = polar.customer_portal.members.update_member(id="8319ae11-ed5f-4642-81e4-4b40731df195", customer_portal_member_update={}) + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | N/A | +| `customer_portal_member_update` | [models.CustomerPortalMemberUpdate](../../models/customerportalmemberupdate.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.CustomerPortalMember](../../models/customerportalmember.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| models.HTTPValidationError | 422 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## remove_member + +Remove a member from the team. + +Only available to owners and billing managers of team customers. + +Rules: +- Cannot remove yourself +- Cannot remove the only owner + +### Example Usage + + +```python +from polar_sdk import Polar + + +with Polar( + access_token="", +) as polar: + + polar.customer_portal.members.remove_member(id="b61c5e87-cda5-4b14-93ee-71a695f42d9d") + + # 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/polarsubscriptions/README.md b/docs/sdks/polarsubscriptions/README.md index 389252d1..8da25c10 100644 --- a/docs/sdks/polarsubscriptions/README.md +++ b/docs/sdks/polarsubscriptions/README.md @@ -110,8 +110,6 @@ with Polar() as polar: Update a subscription of the authenticated customer. -**Scopes**: `customer_portal:write` - ### Example Usage @@ -157,8 +155,6 @@ with Polar() as polar: Cancel a subscription of the authenticated customer. -**Scopes**: `customer_portal:write` - ### Example Usage diff --git a/docs/sdks/products/README.md b/docs/sdks/products/README.md index fbe51ebd..e7e58d36 100644 --- a/docs/sdks/products/README.md +++ b/docs/sdks/products/README.md @@ -47,6 +47,7 @@ with Polar( | `is_archived` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter on archived products. | | `is_recurring` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter on recurring products. If `true`, only subscriptions tiers are returned. If `false`, only one-time purchase products are returned. | | `benefit_id` | [OptionalNullable[models.BenefitIDFilter]](../../models/benefitidfilter.md) | :heavy_minus_sign: | Filter products granting specific benefit. | +| `visibility` | List[[models.ProductVisibility](../../models/productvisibility.md)] | :heavy_minus_sign: | Filter by visibility. | | `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.ProductSortProperty](../../models/productsortproperty.md)] | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | diff --git a/docs/sdks/refunds/README.md b/docs/sdks/refunds/README.md index 5d944210..44a659f1 100644 --- a/docs/sdks/refunds/README.md +++ b/docs/sdks/refunds/README.md @@ -85,8 +85,6 @@ with Polar( "amount": 90, }) - assert res is not None - # Handle response print(res) diff --git a/pyproject.toml b/pyproject.toml index 53ae74ba..16ea051e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "polar-sdk" -version = "0.28.4" +version = "0.28.5" 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 e7aeb7de..cddb5eaa 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.28.4" +__version__: str = "0.28.5" __openapi_doc_version__: str = "0.1.0" __gen_version__: str = "2.737.0" -__user_agent__: str = "speakeasy-sdk/python 0.28.4 2.737.0 0.1.0 polar-sdk" +__user_agent__: str = "speakeasy-sdk/python 0.28.5 2.737.0 0.1.0 polar-sdk" try: if __package__ is not None: diff --git a/src/polar_sdk/customer_portal.py b/src/polar_sdk/customer_portal.py index 6ad4215c..e6defd2a 100644 --- a/src/polar_sdk/customer_portal.py +++ b/src/polar_sdk/customer_portal.py @@ -8,6 +8,7 @@ from polar_sdk.polar_customer_meters import PolarCustomerMeters from polar_sdk.polar_customers import PolarCustomers from polar_sdk.polar_license_keys import PolarLicenseKeys +from polar_sdk.polar_members import PolarMembers from polar_sdk.polar_orders import PolarOrders from polar_sdk.polar_organizations import PolarOrganizations from polar_sdk.polar_subscriptions import PolarSubscriptions @@ -24,6 +25,7 @@ class CustomerPortal(BaseSDK): customer_session: CustomerSessionSDK downloadables: Downloadables license_keys: PolarLicenseKeys + members: PolarMembers orders: PolarOrders organizations: PolarOrganizations subscriptions: PolarSubscriptions @@ -56,6 +58,7 @@ def _init_sdks(self): self.license_keys = PolarLicenseKeys( self.sdk_configuration, parent_ref=self.parent_ref ) + self.members = PolarMembers(self.sdk_configuration, parent_ref=self.parent_ref) self.orders = PolarOrders(self.sdk_configuration, parent_ref=self.parent_ref) self.organizations = PolarOrganizations( self.sdk_configuration, parent_ref=self.parent_ref diff --git a/src/polar_sdk/meters.py b/src/polar_sdk/meters.py index 8460a304..f78f4a20 100644 --- a/src/polar_sdk/meters.py +++ b/src/polar_sdk/meters.py @@ -888,6 +888,7 @@ def quantities( start_timestamp: datetime, end_timestamp: datetime, interval: models.TimeInterval, + timezone: Optional[str] = "UTC", customer_id: OptionalNullable[ Union[ models.MetersQuantitiesQueryParamCustomerIDFilter, @@ -924,6 +925,7 @@ def quantities( :param start_timestamp: Start timestamp. :param end_timestamp: End timestamp. :param interval: Interval between two timestamps. + :param timezone: Timezone to use for the timestamps. Default is UTC. :param customer_id: Filter by customer ID. :param external_customer_id: Filter by external customer ID. :param customer_aggregation_function: If set, will first compute the quantities per customer before aggregating them using the given function. If not set, the quantities will be aggregated across all events. @@ -948,6 +950,7 @@ def quantities( start_timestamp=start_timestamp, end_timestamp=end_timestamp, interval=interval, + timezone=timezone, customer_id=customer_id, external_customer_id=external_customer_id, customer_aggregation_function=customer_aggregation_function, @@ -1020,6 +1023,7 @@ async def quantities_async( start_timestamp: datetime, end_timestamp: datetime, interval: models.TimeInterval, + timezone: Optional[str] = "UTC", customer_id: OptionalNullable[ Union[ models.MetersQuantitiesQueryParamCustomerIDFilter, @@ -1056,6 +1060,7 @@ async def quantities_async( :param start_timestamp: Start timestamp. :param end_timestamp: End timestamp. :param interval: Interval between two timestamps. + :param timezone: Timezone to use for the timestamps. Default is UTC. :param customer_id: Filter by customer ID. :param external_customer_id: Filter by external customer ID. :param customer_aggregation_function: If set, will first compute the quantities per customer before aggregating them using the given function. If not set, the quantities will be aggregated across all events. @@ -1080,6 +1085,7 @@ async def quantities_async( start_timestamp=start_timestamp, end_timestamp=end_timestamp, interval=interval, + timezone=timezone, customer_id=customer_id, external_customer_id=external_customer_id, customer_aggregation_function=customer_aggregation_function, diff --git a/src/polar_sdk/models/__init__.py b/src/polar_sdk/models/__init__.py index 2db9be0a..b9e3b573 100644 --- a/src/polar_sdk/models/__init__.py +++ b/src/polar_sdk/models/__init__.py @@ -751,6 +751,14 @@ CustomerPortalLicenseKeysListSecurity, CustomerPortalLicenseKeysListSecurityTypedDict, ) + from .customer_portal_members_remove_memberop import ( + CustomerPortalMembersRemoveMemberRequest, + CustomerPortalMembersRemoveMemberRequestTypedDict, + ) + from .customer_portal_members_update_memberop import ( + CustomerPortalMembersUpdateMemberRequest, + CustomerPortalMembersUpdateMemberRequestTypedDict, + ) from .customer_portal_orders_confirm_retry_paymentop import ( CustomerPortalOrdersConfirmRetryPaymentRequest, CustomerPortalOrdersConfirmRetryPaymentRequestTypedDict, @@ -1038,6 +1046,10 @@ CustomerOrganizationData, CustomerOrganizationDataTypedDict, ) + from .customerorganizationfeaturesettings import ( + CustomerOrganizationFeatureSettings, + CustomerOrganizationFeatureSettingsTypedDict, + ) from .customerpaymentmethod import ( CustomerPaymentMethod, CustomerPaymentMethodTypedDict, @@ -1072,6 +1084,18 @@ CustomerPortalCustomerUpdate, CustomerPortalCustomerUpdateTypedDict, ) + from .customerportalmember import ( + CustomerPortalMember, + CustomerPortalMemberTypedDict, + ) + from .customerportalmembercreate import ( + CustomerPortalMemberCreate, + CustomerPortalMemberCreateTypedDict, + ) + from .customerportalmemberupdate import ( + CustomerPortalMemberUpdate, + CustomerPortalMemberUpdateTypedDict, + ) from .customerportaloauthaccount import ( CustomerPortalOAuthAccount, CustomerPortalOAuthAccountTypedDict, @@ -1201,6 +1225,7 @@ CustomerSubscriptionUpdateSeats, CustomerSubscriptionUpdateSeatsTypedDict, ) + from .customertype import CustomerType from .customerupdate import ( CustomerUpdate, CustomerUpdateMetadata, @@ -2334,6 +2359,7 @@ Two, TwoTypedDict, ) + from .productvisibility import ProductVisibility from .propertyaggregation import ( Func, PropertyAggregation, @@ -2651,6 +2677,8 @@ from .userinfouser import UserInfoUser, UserInfoUserTypedDict from .validatedlicensekey import ValidatedLicenseKey, ValidatedLicenseKeyTypedDict from .validationerror import ( + Context, + ContextTypedDict, Loc, LocTypedDict, ValidationError, @@ -2684,6 +2712,10 @@ WebhookCheckoutCreatedPayload, WebhookCheckoutCreatedPayloadTypedDict, ) + from .webhookcheckoutexpiredpayload import ( + WebhookCheckoutExpiredPayload, + WebhookCheckoutExpiredPayloadTypedDict, + ) from .webhookcheckoutupdatedpayload import ( WebhookCheckoutUpdatedPayload, WebhookCheckoutUpdatedPayloadTypedDict, @@ -2729,6 +2761,18 @@ from .webhookevent import WebhookEvent, WebhookEventTypedDict from .webhookeventtype import WebhookEventType from .webhookformat import WebhookFormat + from .webhookmembercreatedpayload import ( + WebhookMemberCreatedPayload, + WebhookMemberCreatedPayloadTypedDict, + ) + from .webhookmemberdeletedpayload import ( + WebhookMemberDeletedPayload, + WebhookMemberDeletedPayloadTypedDict, + ) + from .webhookmemberupdatedpayload import ( + WebhookMemberUpdatedPayload, + WebhookMemberUpdatedPayloadTypedDict, + ) from .webhookordercreatedpayload import ( WebhookOrderCreatedPayload, WebhookOrderCreatedPayloadTypedDict, @@ -3280,6 +3324,8 @@ "CommittedSubscriptionsTypedDict", "Conditions", "ConditionsTypedDict", + "Context", + "ContextTypedDict", "CostMetadataInput", "CostMetadataInputTypedDict", "CostMetadataOutput", @@ -3485,6 +3531,8 @@ "CustomerOrganization", "CustomerOrganizationData", "CustomerOrganizationDataTypedDict", + "CustomerOrganizationFeatureSettings", + "CustomerOrganizationFeatureSettingsTypedDict", "CustomerOrganizationTypedDict", "CustomerPaymentMethod", "CustomerPaymentMethodConfirm", @@ -3572,6 +3620,16 @@ "CustomerPortalLicenseKeysListResponseTypedDict", "CustomerPortalLicenseKeysListSecurity", "CustomerPortalLicenseKeysListSecurityTypedDict", + "CustomerPortalMember", + "CustomerPortalMemberCreate", + "CustomerPortalMemberCreateTypedDict", + "CustomerPortalMemberTypedDict", + "CustomerPortalMemberUpdate", + "CustomerPortalMemberUpdateTypedDict", + "CustomerPortalMembersRemoveMemberRequest", + "CustomerPortalMembersRemoveMemberRequestTypedDict", + "CustomerPortalMembersUpdateMemberRequest", + "CustomerPortalMembersUpdateMemberRequestTypedDict", "CustomerPortalOAuthAccount", "CustomerPortalOAuthAccountTypedDict", "CustomerPortalOrdersConfirmRetryPaymentRequest", @@ -3728,6 +3786,7 @@ "CustomerSubscriptionUpdateTypedDict", "CustomerTaxID", "CustomerTaxIDTypedDict", + "CustomerType", "CustomerTypedDict", "CustomerUpdate", "CustomerUpdateExternalID", @@ -4579,6 +4638,7 @@ "ProductUpdatePrices", "ProductUpdatePricesTypedDict", "ProductUpdateTypedDict", + "ProductVisibility", "ProductsGetRequest", "ProductsGetRequestTypedDict", "ProductsListQueryParamOrganizationIDFilter", @@ -4843,6 +4903,8 @@ "WebhookBenefitUpdatedPayloadTypedDict", "WebhookCheckoutCreatedPayload", "WebhookCheckoutCreatedPayloadTypedDict", + "WebhookCheckoutExpiredPayload", + "WebhookCheckoutExpiredPayloadTypedDict", "WebhookCheckoutUpdatedPayload", "WebhookCheckoutUpdatedPayloadTypedDict", "WebhookCustomerCreatedPayload", @@ -4871,6 +4933,12 @@ "WebhookEventType", "WebhookEventTypedDict", "WebhookFormat", + "WebhookMemberCreatedPayload", + "WebhookMemberCreatedPayloadTypedDict", + "WebhookMemberDeletedPayload", + "WebhookMemberDeletedPayloadTypedDict", + "WebhookMemberUpdatedPayload", + "WebhookMemberUpdatedPayloadTypedDict", "WebhookOrderCreatedPayload", "WebhookOrderCreatedPayloadTypedDict", "WebhookOrderPaidPayload", @@ -5441,6 +5509,10 @@ "CustomerPortalLicenseKeysListResponseTypedDict": ".customer_portal_license_keys_listop", "CustomerPortalLicenseKeysListSecurity": ".customer_portal_license_keys_listop", "CustomerPortalLicenseKeysListSecurityTypedDict": ".customer_portal_license_keys_listop", + "CustomerPortalMembersRemoveMemberRequest": ".customer_portal_members_remove_memberop", + "CustomerPortalMembersRemoveMemberRequestTypedDict": ".customer_portal_members_remove_memberop", + "CustomerPortalMembersUpdateMemberRequest": ".customer_portal_members_update_memberop", + "CustomerPortalMembersUpdateMemberRequestTypedDict": ".customer_portal_members_update_memberop", "CustomerPortalOrdersConfirmRetryPaymentRequest": ".customer_portal_orders_confirm_retry_paymentop", "CustomerPortalOrdersConfirmRetryPaymentRequestTypedDict": ".customer_portal_orders_confirm_retry_paymentop", "CustomerPortalOrdersConfirmRetryPaymentSecurity": ".customer_portal_orders_confirm_retry_paymentop", @@ -5620,6 +5692,8 @@ "CustomerOrganizationTypedDict": ".customerorganization", "CustomerOrganizationData": ".customerorganizationdata", "CustomerOrganizationDataTypedDict": ".customerorganizationdata", + "CustomerOrganizationFeatureSettings": ".customerorganizationfeaturesettings", + "CustomerOrganizationFeatureSettingsTypedDict": ".customerorganizationfeaturesettings", "CustomerPaymentMethod": ".customerpaymentmethod", "CustomerPaymentMethodTypedDict": ".customerpaymentmethod", "CustomerPaymentMethodConfirm": ".customerpaymentmethodconfirm", @@ -5638,6 +5712,12 @@ "CustomerPortalCustomerTypedDict": ".customerportalcustomer", "CustomerPortalCustomerUpdate": ".customerportalcustomerupdate", "CustomerPortalCustomerUpdateTypedDict": ".customerportalcustomerupdate", + "CustomerPortalMember": ".customerportalmember", + "CustomerPortalMemberTypedDict": ".customerportalmember", + "CustomerPortalMemberCreate": ".customerportalmembercreate", + "CustomerPortalMemberCreateTypedDict": ".customerportalmembercreate", + "CustomerPortalMemberUpdate": ".customerportalmemberupdate", + "CustomerPortalMemberUpdateTypedDict": ".customerportalmemberupdate", "CustomerPortalOAuthAccount": ".customerportaloauthaccount", "CustomerPortalOAuthAccountTypedDict": ".customerportaloauthaccount", "CustomerPortalSubscriptionSettings": ".customerportalsubscriptionsettings", @@ -5717,6 +5797,7 @@ "CustomerSubscriptionUpdateProductTypedDict": ".customersubscriptionupdateproduct", "CustomerSubscriptionUpdateSeats": ".customersubscriptionupdateseats", "CustomerSubscriptionUpdateSeatsTypedDict": ".customersubscriptionupdateseats", + "CustomerType": ".customertype", "CustomerUpdate": ".customerupdate", "CustomerUpdateMetadata": ".customerupdate", "CustomerUpdateMetadataTypedDict": ".customerupdate", @@ -6628,6 +6709,7 @@ "ProductUpdateTypedDict": ".productupdate", "Two": ".productupdate", "TwoTypedDict": ".productupdate", + "ProductVisibility": ".productvisibility", "Func": ".propertyaggregation", "PropertyAggregation": ".propertyaggregation", "PropertyAggregationTypedDict": ".propertyaggregation", @@ -6893,6 +6975,8 @@ "UserInfoUserTypedDict": ".userinfouser", "ValidatedLicenseKey": ".validatedlicensekey", "ValidatedLicenseKeyTypedDict": ".validatedlicensekey", + "Context": ".validationerror", + "ContextTypedDict": ".validationerror", "Loc": ".validationerror", "LocTypedDict": ".validationerror", "ValidationError": ".validationerror", @@ -6911,6 +6995,8 @@ "WebhookBenefitUpdatedPayloadTypedDict": ".webhookbenefitupdatedpayload", "WebhookCheckoutCreatedPayload": ".webhookcheckoutcreatedpayload", "WebhookCheckoutCreatedPayloadTypedDict": ".webhookcheckoutcreatedpayload", + "WebhookCheckoutExpiredPayload": ".webhookcheckoutexpiredpayload", + "WebhookCheckoutExpiredPayloadTypedDict": ".webhookcheckoutexpiredpayload", "WebhookCheckoutUpdatedPayload": ".webhookcheckoutupdatedpayload", "WebhookCheckoutUpdatedPayloadTypedDict": ".webhookcheckoutupdatedpayload", "WebhookCustomerCreatedPayload": ".webhookcustomercreatedpayload", @@ -6939,6 +7025,12 @@ "WebhookEventTypedDict": ".webhookevent", "WebhookEventType": ".webhookeventtype", "WebhookFormat": ".webhookformat", + "WebhookMemberCreatedPayload": ".webhookmembercreatedpayload", + "WebhookMemberCreatedPayloadTypedDict": ".webhookmembercreatedpayload", + "WebhookMemberDeletedPayload": ".webhookmemberdeletedpayload", + "WebhookMemberDeletedPayloadTypedDict": ".webhookmemberdeletedpayload", + "WebhookMemberUpdatedPayload": ".webhookmemberupdatedpayload", + "WebhookMemberUpdatedPayloadTypedDict": ".webhookmemberupdatedpayload", "WebhookOrderCreatedPayload": ".webhookordercreatedpayload", "WebhookOrderCreatedPayloadTypedDict": ".webhookordercreatedpayload", "WebhookOrderPaidPayload": ".webhookorderpaidpayload", diff --git a/src/polar_sdk/models/availablescope.py b/src/polar_sdk/models/availablescope.py index a9428a32..4e54c1e5 100644 --- a/src/polar_sdk/models/availablescope.py +++ b/src/polar_sdk/models/availablescope.py @@ -56,13 +56,8 @@ class AvailableScope(str, Enum): METRICS_READ = "metrics:read" WEBHOOKS_READ = "webhooks:read" WEBHOOKS_WRITE = "webhooks:write" - EXTERNAL_ORGANIZATIONS_READ = "external_organizations:read" LICENSE_KEYS_READ = "license_keys:read" LICENSE_KEYS_WRITE = "license_keys:write" - REPOSITORIES_READ = "repositories:read" - REPOSITORIES_WRITE = "repositories:write" - ISSUES_READ = "issues:read" - ISSUES_WRITE = "issues:write" CUSTOMER_PORTAL_READ = "customer_portal:read" CUSTOMER_PORTAL_WRITE = "customer_portal:write" NOTIFICATIONS_READ = "notifications:read" diff --git a/src/polar_sdk/models/balancecreditorderevent.py b/src/polar_sdk/models/balancecreditorderevent.py index 4322b1e0..00290943 100644 --- a/src/polar_sdk/models/balancecreditorderevent.py +++ b/src/polar_sdk/models/balancecreditorderevent.py @@ -34,6 +34,10 @@ class BalanceCreditOrderEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BalanceCreditOrderMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class BalanceCreditOrderEvent(BaseModel): metadata: BalanceCreditOrderMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class BalanceCreditOrderEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/balancedisputeevent.py b/src/polar_sdk/models/balancedisputeevent.py index 251537c6..4ab54239 100644 --- a/src/polar_sdk/models/balancedisputeevent.py +++ b/src/polar_sdk/models/balancedisputeevent.py @@ -34,6 +34,10 @@ class BalanceDisputeEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BalanceDisputeMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class BalanceDisputeEvent(BaseModel): metadata: BalanceDisputeMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class BalanceDisputeEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/balancedisputemetadata.py b/src/polar_sdk/models/balancedisputemetadata.py index a5432d39..ea515068 100644 --- a/src/polar_sdk/models/balancedisputemetadata.py +++ b/src/polar_sdk/models/balancedisputemetadata.py @@ -22,6 +22,7 @@ class BalanceDisputeMetadataTypedDict(TypedDict): subscription_id: NotRequired[str] tax_state: NotRequired[Nullable[str]] tax_country: NotRequired[Nullable[str]] + exchange_rate: NotRequired[float] class BalanceDisputeMetadata(BaseModel): @@ -53,6 +54,8 @@ class BalanceDisputeMetadata(BaseModel): tax_country: OptionalNullable[str] = UNSET + exchange_rate: Optional[float] = None + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ @@ -62,6 +65,7 @@ def serialize_model(self, handler): "subscription_id", "tax_state", "tax_country", + "exchange_rate", ] nullable_fields = ["tax_state", "tax_country"] null_default_fields = [] diff --git a/src/polar_sdk/models/balancedisputereversalevent.py b/src/polar_sdk/models/balancedisputereversalevent.py index e1b72696..48d728aa 100644 --- a/src/polar_sdk/models/balancedisputereversalevent.py +++ b/src/polar_sdk/models/balancedisputereversalevent.py @@ -34,6 +34,10 @@ class BalanceDisputeReversalEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BalanceDisputeMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class BalanceDisputeReversalEvent(BaseModel): metadata: BalanceDisputeMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class BalanceDisputeReversalEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/balanceorderevent.py b/src/polar_sdk/models/balanceorderevent.py index 934bc7d8..d4953bd8 100644 --- a/src/polar_sdk/models/balanceorderevent.py +++ b/src/polar_sdk/models/balanceorderevent.py @@ -31,6 +31,10 @@ class BalanceOrderEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BalanceOrderMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class BalanceOrderEvent(BaseModel): metadata: BalanceOrderMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -89,11 +99,18 @@ class BalanceOrderEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/balanceordermetadata.py b/src/polar_sdk/models/balanceordermetadata.py index 895c1c98..9ca36fb4 100644 --- a/src/polar_sdk/models/balanceordermetadata.py +++ b/src/polar_sdk/models/balanceordermetadata.py @@ -18,8 +18,10 @@ class BalanceOrderMetadataTypedDict(TypedDict): fee: int product_id: NotRequired[str] subscription_id: NotRequired[str] + net_amount: NotRequired[int] tax_state: NotRequired[Nullable[str]] tax_country: NotRequired[Nullable[str]] + exchange_rate: NotRequired[float] class BalanceOrderMetadata(BaseModel): @@ -43,13 +45,24 @@ class BalanceOrderMetadata(BaseModel): subscription_id: Optional[str] = None + net_amount: Optional[int] = None + tax_state: OptionalNullable[str] = UNSET tax_country: OptionalNullable[str] = UNSET + exchange_rate: Optional[float] = None + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["product_id", "subscription_id", "tax_state", "tax_country"] + optional_fields = [ + "product_id", + "subscription_id", + "net_amount", + "tax_state", + "tax_country", + "exchange_rate", + ] nullable_fields = ["tax_state", "tax_country"] null_default_fields = [] diff --git a/src/polar_sdk/models/balancerefundevent.py b/src/polar_sdk/models/balancerefundevent.py index 67ee92f0..53688e1f 100644 --- a/src/polar_sdk/models/balancerefundevent.py +++ b/src/polar_sdk/models/balancerefundevent.py @@ -31,6 +31,10 @@ class BalanceRefundEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BalanceRefundMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class BalanceRefundEvent(BaseModel): metadata: BalanceRefundMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -89,11 +99,18 @@ class BalanceRefundEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/balancerefundmetadata.py b/src/polar_sdk/models/balancerefundmetadata.py index d8b76215..cdde2c13 100644 --- a/src/polar_sdk/models/balancerefundmetadata.py +++ b/src/polar_sdk/models/balancerefundmetadata.py @@ -23,6 +23,7 @@ class BalanceRefundMetadataTypedDict(TypedDict): refundable_amount: NotRequired[int] tax_state: NotRequired[Nullable[str]] tax_country: NotRequired[Nullable[str]] + exchange_rate: NotRequired[float] class BalanceRefundMetadata(BaseModel): @@ -56,6 +57,8 @@ class BalanceRefundMetadata(BaseModel): tax_country: OptionalNullable[str] = UNSET + exchange_rate: Optional[float] = None + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ @@ -66,6 +69,7 @@ def serialize_model(self, handler): "refundable_amount", "tax_state", "tax_country", + "exchange_rate", ] nullable_fields = ["tax_state", "tax_country"] null_default_fields = [] diff --git a/src/polar_sdk/models/balancerefundreversalevent.py b/src/polar_sdk/models/balancerefundreversalevent.py index d3371bb6..968b9c14 100644 --- a/src/polar_sdk/models/balancerefundreversalevent.py +++ b/src/polar_sdk/models/balancerefundreversalevent.py @@ -31,6 +31,10 @@ class BalanceRefundReversalEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BalanceRefundMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class BalanceRefundReversalEvent(BaseModel): metadata: BalanceRefundMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -90,11 +100,18 @@ class BalanceRefundReversalEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/benefit.py b/src/polar_sdk/models/benefit.py index ca478185..6d15c681 100644 --- a/src/polar_sdk/models/benefit.py +++ b/src/polar_sdk/models/benefit.py @@ -10,8 +10,10 @@ ) from .benefitlicensekeys import BenefitLicenseKeys, BenefitLicenseKeysTypedDict from .benefitmetercredit import BenefitMeterCredit, BenefitMeterCreditTypedDict +from polar_sdk.utils import get_discriminator +from pydantic import Discriminator, Tag from typing import Union -from typing_extensions import TypeAliasType +from typing_extensions import Annotated, TypeAliasType BenefitTypedDict = TypeAliasType( @@ -27,14 +29,14 @@ ) -Benefit = TypeAliasType( - "Benefit", +Benefit = Annotated[ Union[ - BenefitCustom, - BenefitDiscord, - BenefitGitHubRepository, - BenefitDownloadables, - BenefitLicenseKeys, - BenefitMeterCredit, + Annotated[BenefitCustom, Tag("custom")], + Annotated[BenefitDiscord, Tag("discord")], + Annotated[BenefitDownloadables, Tag("downloadables")], + Annotated[BenefitGitHubRepository, Tag("github_repository")], + Annotated[BenefitLicenseKeys, Tag("license_keys")], + Annotated[BenefitMeterCredit, Tag("meter_credit")], ], -) + Discriminator(lambda m: get_discriminator(m, "type", "type")), +] diff --git a/src/polar_sdk/models/benefitcycledevent.py b/src/polar_sdk/models/benefitcycledevent.py index 85917c12..0cb654bd 100644 --- a/src/polar_sdk/models/benefitcycledevent.py +++ b/src/polar_sdk/models/benefitcycledevent.py @@ -31,6 +31,10 @@ class BenefitCycledEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BenefitGrantMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class BenefitCycledEvent(BaseModel): metadata: BenefitGrantMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -89,11 +99,18 @@ class BenefitCycledEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/benefitgrant.py b/src/polar_sdk/models/benefitgrant.py index 4c3d48bb..b3fedd32 100644 --- a/src/polar_sdk/models/benefitgrant.py +++ b/src/polar_sdk/models/benefitgrant.py @@ -24,6 +24,7 @@ BenefitGrantLicenseKeysPropertiesTypedDict, ) from .customer import Customer, CustomerTypedDict +from .member import Member, MemberTypedDict from datetime import datetime from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from pydantic import model_serializer @@ -86,6 +87,7 @@ class BenefitGrantTypedDict(TypedDict): r"""The ID of the member concerned by this grant.""" error: NotRequired[Nullable[BenefitGrantErrorTypedDict]] r"""The error information if the benefit grant failed with an unrecoverable error.""" + member: NotRequired[Nullable[MemberTypedDict]] class BenefitGrant(BaseModel): @@ -135,9 +137,11 @@ class BenefitGrant(BaseModel): error: OptionalNullable[BenefitGrantError] = UNSET r"""The error information if the benefit grant failed with an unrecoverable error.""" + member: OptionalNullable[Member] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["granted_at", "revoked_at", "member_id", "error"] + optional_fields = ["granted_at", "revoked_at", "member_id", "error", "member"] nullable_fields = [ "modified_at", "granted_at", @@ -146,6 +150,7 @@ def serialize_model(self, handler): "order_id", "member_id", "error", + "member", ] null_default_fields = [] diff --git a/src/polar_sdk/models/benefitgrantedevent.py b/src/polar_sdk/models/benefitgrantedevent.py index c6db8c06..a12a182d 100644 --- a/src/polar_sdk/models/benefitgrantedevent.py +++ b/src/polar_sdk/models/benefitgrantedevent.py @@ -31,6 +31,10 @@ class BenefitGrantedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BenefitGrantMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class BenefitGrantedEvent(BaseModel): metadata: BenefitGrantMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -90,11 +100,18 @@ class BenefitGrantedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/benefitgrantlicensekeysproperties.py b/src/polar_sdk/models/benefitgrantlicensekeysproperties.py index e95e11c2..15bf31ac 100644 --- a/src/polar_sdk/models/benefitgrantlicensekeysproperties.py +++ b/src/polar_sdk/models/benefitgrantlicensekeysproperties.py @@ -7,11 +7,14 @@ class BenefitGrantLicenseKeysPropertiesTypedDict(TypedDict): + user_provided_key: NotRequired[str] license_key_id: NotRequired[str] display_key: NotRequired[str] class BenefitGrantLicenseKeysProperties(BaseModel): + user_provided_key: Optional[str] = None + license_key_id: Optional[str] = None display_key: Optional[str] = None diff --git a/src/polar_sdk/models/benefitrevokedevent.py b/src/polar_sdk/models/benefitrevokedevent.py index cdf91e22..1c571643 100644 --- a/src/polar_sdk/models/benefitrevokedevent.py +++ b/src/polar_sdk/models/benefitrevokedevent.py @@ -31,6 +31,10 @@ class BenefitRevokedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BenefitGrantMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class BenefitRevokedEvent(BaseModel): metadata: BenefitGrantMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -90,11 +100,18 @@ class BenefitRevokedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/benefitupdatedevent.py b/src/polar_sdk/models/benefitupdatedevent.py index 4e3eb901..ed1a43fd 100644 --- a/src/polar_sdk/models/benefitupdatedevent.py +++ b/src/polar_sdk/models/benefitupdatedevent.py @@ -31,6 +31,10 @@ class BenefitUpdatedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: BenefitGrantMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class BenefitUpdatedEvent(BaseModel): metadata: BenefitGrantMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -90,11 +100,18 @@ class BenefitUpdatedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/checkout.py b/src/polar_sdk/models/checkout.py index 1409ba8b..b6c69011 100644 --- a/src/polar_sdk/models/checkout.py +++ b/src/polar_sdk/models/checkout.py @@ -209,6 +209,7 @@ class CheckoutTypedDict(TypedDict): r"""Number of seats for seat-based pricing.""" price_per_seat: NotRequired[Nullable[int]] r"""Price per seat in cents for the current seat count, based on the applicable tier. Only relevant for seat-based pricing.""" + locale: NotRequired[Nullable[str]] class Checkout(BaseModel): @@ -388,9 +389,11 @@ class Checkout(BaseModel): price_per_seat: OptionalNullable[int] = UNSET r"""Price per seat in cents for the current seat count, based on the applicable tier. Only relevant for seat-based pricing.""" + locale: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["custom_field_data", "seats", "price_per_seat"] + optional_fields = ["custom_field_data", "seats", "price_per_seat", "locale"] nullable_fields = [ "modified_at", "return_url", @@ -412,6 +415,7 @@ def serialize_model(self, handler): "customer_billing_name", "customer_billing_address", "customer_tax_id", + "locale", "trial_interval", "trial_interval_count", "external_customer_id", diff --git a/src/polar_sdk/models/checkoutconfirmstripe.py b/src/polar_sdk/models/checkoutconfirmstripe.py index 4bd874a9..59937ba6 100644 --- a/src/polar_sdk/models/checkoutconfirmstripe.py +++ b/src/polar_sdk/models/checkoutconfirmstripe.py @@ -42,6 +42,7 @@ class CheckoutConfirmStripeTypedDict(TypedDict): customer_billing_name: NotRequired[Nullable[str]] customer_billing_address: NotRequired[Nullable[AddressInputTypedDict]] customer_tax_id: NotRequired[Nullable[str]] + locale: NotRequired[Nullable[str]] discount_code: NotRequired[Nullable[str]] r"""Discount code to apply to the checkout.""" allow_trial: Nullable[Literal[False]] @@ -86,6 +87,8 @@ class CheckoutConfirmStripe(BaseModel): customer_tax_id: OptionalNullable[str] = UNSET + locale: OptionalNullable[str] = UNSET + discount_code: OptionalNullable[str] = UNSET r"""Discount code to apply to the checkout.""" @@ -114,6 +117,7 @@ def serialize_model(self, handler): "customer_billing_name", "customer_billing_address", "customer_tax_id", + "locale", "discount_code", "allow_trial", "confirmation_token_id", @@ -129,6 +133,7 @@ def serialize_model(self, handler): "customer_billing_name", "customer_billing_address", "customer_tax_id", + "locale", "discount_code", "allow_trial", "confirmation_token_id", diff --git a/src/polar_sdk/models/checkoutcreate.py b/src/polar_sdk/models/checkoutcreate.py index 5f32ea65..b8dcd15d 100644 --- a/src/polar_sdk/models/checkoutcreate.py +++ b/src/polar_sdk/models/checkoutcreate.py @@ -161,6 +161,7 @@ class CheckoutCreateTypedDict(TypedDict): r"""When set, a back button will be shown in the checkout to return to this URL.""" embed_origin: NotRequired[Nullable[str]] r"""If you plan to embed the checkout session, set this to the Origin of the embedding page. It'll allow the Polar iframe to communicate with the parent page.""" + locale: NotRequired[Nullable[str]] currency: NotRequired[Nullable[PresentmentCurrency]] prices: NotRequired[Nullable[Dict[str, List[CheckoutCreatePricesTypedDict]]]] r"""Optional mapping of product IDs to a list of ad-hoc prices to create for that product. If not set, catalog prices of the product will be used.""" @@ -266,6 +267,8 @@ class CheckoutCreate(BaseModel): embed_origin: OptionalNullable[str] = UNSET r"""If you plan to embed the checkout session, set this to the Origin of the embedding page. It'll allow the Polar iframe to communicate with the parent page.""" + locale: OptionalNullable[str] = UNSET + currency: OptionalNullable[PresentmentCurrency] = UNSET prices: OptionalNullable[Dict[str, List[CheckoutCreatePrices]]] = UNSET @@ -298,6 +301,7 @@ def serialize_model(self, handler): "success_url", "return_url", "embed_origin", + "locale", "currency", "prices", ] @@ -319,6 +323,7 @@ def serialize_model(self, handler): "success_url", "return_url", "embed_origin", + "locale", "currency", "prices", ] diff --git a/src/polar_sdk/models/checkoutcreatedevent.py b/src/polar_sdk/models/checkoutcreatedevent.py index 176e4e38..136a8a32 100644 --- a/src/polar_sdk/models/checkoutcreatedevent.py +++ b/src/polar_sdk/models/checkoutcreatedevent.py @@ -34,6 +34,10 @@ class CheckoutCreatedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: CheckoutCreatedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class CheckoutCreatedEvent(BaseModel): metadata: CheckoutCreatedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class CheckoutCreatedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/checkoutlinkproduct.py b/src/polar_sdk/models/checkoutlinkproduct.py index 3a232d89..61e70089 100644 --- a/src/polar_sdk/models/checkoutlinkproduct.py +++ b/src/polar_sdk/models/checkoutlinkproduct.py @@ -9,6 +9,7 @@ from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from datetime import datetime @@ -47,6 +48,7 @@ class CheckoutLinkProductTypedDict(TypedDict): r"""The name of the product.""" description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] @@ -91,6 +93,8 @@ class CheckoutLinkProduct(BaseModel): description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility + recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" diff --git a/src/polar_sdk/models/checkoutproduct.py b/src/polar_sdk/models/checkoutproduct.py index c61ec462..6f6fff4b 100644 --- a/src/polar_sdk/models/checkoutproduct.py +++ b/src/polar_sdk/models/checkoutproduct.py @@ -8,6 +8,7 @@ ) from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from datetime import datetime @@ -45,6 +46,7 @@ class CheckoutProductTypedDict(TypedDict): r"""The name of the product.""" description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] @@ -87,6 +89,8 @@ class CheckoutProduct(BaseModel): description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility + recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" diff --git a/src/polar_sdk/models/checkoutpublic.py b/src/polar_sdk/models/checkoutpublic.py index 76a70f40..38309500 100644 --- a/src/polar_sdk/models/checkoutpublic.py +++ b/src/polar_sdk/models/checkoutpublic.py @@ -192,6 +192,7 @@ class CheckoutPublicTypedDict(TypedDict): r"""Number of seats for seat-based pricing.""" price_per_seat: NotRequired[Nullable[int]] r"""Price per seat in cents for the current seat count, based on the applicable tier. Only relevant for seat-based pricing.""" + locale: NotRequired[Nullable[str]] class CheckoutPublic(BaseModel): @@ -353,9 +354,11 @@ class CheckoutPublic(BaseModel): price_per_seat: OptionalNullable[int] = UNSET r"""Price per seat in cents for the current seat count, based on the applicable tier. Only relevant for seat-based pricing.""" + locale: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["custom_field_data", "seats", "price_per_seat"] + optional_fields = ["custom_field_data", "seats", "price_per_seat", "locale"] nullable_fields = [ "modified_at", "return_url", @@ -377,6 +380,7 @@ def serialize_model(self, handler): "customer_billing_name", "customer_billing_address", "customer_tax_id", + "locale", "product", "product_price", "prices", diff --git a/src/polar_sdk/models/checkoutpublicconfirmed.py b/src/polar_sdk/models/checkoutpublicconfirmed.py index 7282381a..a02b6146 100644 --- a/src/polar_sdk/models/checkoutpublicconfirmed.py +++ b/src/polar_sdk/models/checkoutpublicconfirmed.py @@ -199,6 +199,7 @@ class CheckoutPublicConfirmedTypedDict(TypedDict): r"""Number of seats for seat-based pricing.""" price_per_seat: NotRequired[Nullable[int]] r"""Price per seat in cents for the current seat count, based on the applicable tier. Only relevant for seat-based pricing.""" + locale: NotRequired[Nullable[str]] class CheckoutPublicConfirmed(BaseModel): @@ -369,9 +370,11 @@ class CheckoutPublicConfirmed(BaseModel): price_per_seat: OptionalNullable[int] = UNSET r"""Price per seat in cents for the current seat count, based on the applicable tier. Only relevant for seat-based pricing.""" + locale: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["custom_field_data", "seats", "price_per_seat"] + optional_fields = ["custom_field_data", "seats", "price_per_seat", "locale"] nullable_fields = [ "modified_at", "return_url", @@ -393,6 +396,7 @@ def serialize_model(self, handler): "customer_billing_name", "customer_billing_address", "customer_tax_id", + "locale", "product", "product_price", "prices", diff --git a/src/polar_sdk/models/checkoutupdate.py b/src/polar_sdk/models/checkoutupdate.py index c025819f..fb8e8e49 100644 --- a/src/polar_sdk/models/checkoutupdate.py +++ b/src/polar_sdk/models/checkoutupdate.py @@ -62,6 +62,7 @@ class CheckoutUpdateTypedDict(TypedDict): customer_billing_name: NotRequired[Nullable[str]] customer_billing_address: NotRequired[Nullable[AddressInputTypedDict]] customer_tax_id: NotRequired[Nullable[str]] + locale: NotRequired[Nullable[str]] trial_interval: NotRequired[Nullable[TrialInterval]] r"""The interval unit for the trial period.""" trial_interval_count: NotRequired[Nullable[int]] @@ -148,6 +149,8 @@ class CheckoutUpdate(BaseModel): customer_tax_id: OptionalNullable[str] = UNSET + locale: OptionalNullable[str] = UNSET + trial_interval: OptionalNullable[TrialInterval] = UNSET r"""The interval unit for the trial period.""" @@ -223,6 +226,7 @@ def serialize_model(self, handler): "customer_billing_name", "customer_billing_address", "customer_tax_id", + "locale", "trial_interval", "trial_interval_count", "metadata", @@ -248,6 +252,7 @@ def serialize_model(self, handler): "customer_billing_name", "customer_billing_address", "customer_tax_id", + "locale", "trial_interval", "trial_interval_count", "currency", diff --git a/src/polar_sdk/models/checkoutupdatepublic.py b/src/polar_sdk/models/checkoutupdatepublic.py index d41d005c..dc822b56 100644 --- a/src/polar_sdk/models/checkoutupdatepublic.py +++ b/src/polar_sdk/models/checkoutupdatepublic.py @@ -42,6 +42,7 @@ class CheckoutUpdatePublicTypedDict(TypedDict): customer_billing_name: NotRequired[Nullable[str]] customer_billing_address: NotRequired[Nullable[AddressInputTypedDict]] customer_tax_id: NotRequired[Nullable[str]] + locale: NotRequired[Nullable[str]] discount_code: NotRequired[Nullable[str]] r"""Discount code to apply to the checkout.""" allow_trial: Nullable[Literal[False]] @@ -84,6 +85,8 @@ class CheckoutUpdatePublic(BaseModel): customer_tax_id: OptionalNullable[str] = UNSET + locale: OptionalNullable[str] = UNSET + discount_code: OptionalNullable[str] = UNSET r"""Discount code to apply to the checkout.""" @@ -109,6 +112,7 @@ def serialize_model(self, handler): "customer_billing_name", "customer_billing_address", "customer_tax_id", + "locale", "discount_code", "allow_trial", ] @@ -123,6 +127,7 @@ def serialize_model(self, handler): "customer_billing_name", "customer_billing_address", "customer_tax_id", + "locale", "discount_code", "allow_trial", ] diff --git a/src/polar_sdk/models/customer.py b/src/polar_sdk/models/customer.py index 4c21b652..be020a1e 100644 --- a/src/polar_sdk/models/customer.py +++ b/src/polar_sdk/models/customer.py @@ -2,13 +2,14 @@ from __future__ import annotations from .address import Address, AddressTypedDict +from .customertype import CustomerType from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .taxidformat import TaxIDFormat 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 Dict, List, Union -from typing_extensions import TypeAliasType, TypedDict +from typing_extensions import NotRequired, TypeAliasType, TypedDict CustomerTaxIDTypedDict = TypeAliasType( @@ -44,6 +45,9 @@ class CustomerTypedDict(TypedDict): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" avatar_url: str + type: NotRequired[Nullable[CustomerType]] + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + locale: NotRequired[Nullable[str]] class Customer(BaseModel): @@ -84,15 +88,22 @@ class Customer(BaseModel): avatar_url: str + type: OptionalNullable[CustomerType] = UNSET + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + + locale: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type", "locale"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", + "locale", "deleted_at", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customer_portal_benefit_grants_listop.py b/src/polar_sdk/models/customer_portal_benefit_grants_listop.py index 6511ea06..41f895e8 100644 --- a/src/polar_sdk/models/customer_portal_benefit_grants_listop.py +++ b/src/polar_sdk/models/customer_portal_benefit_grants_listop.py @@ -121,6 +121,8 @@ class CustomerPortalBenefitGrantsListSecurity(BaseModel): class CustomerPortalBenefitGrantsListRequestTypedDict(TypedDict): + query: NotRequired[Nullable[str]] + r"""Filter by benefit description.""" type_filter: NotRequired[Nullable[QueryParamBenefitTypeFilterTypedDict]] r"""Filter by benefit type.""" benefit_id: NotRequired[ @@ -146,6 +148,12 @@ class CustomerPortalBenefitGrantsListRequestTypedDict(TypedDict): class CustomerPortalBenefitGrantsListRequest(BaseModel): + query: Annotated[ + OptionalNullable[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""Filter by benefit description.""" + type_filter: Annotated[ OptionalNullable[QueryParamBenefitTypeFilter], pydantic.Field(alias="type"), @@ -204,6 +212,7 @@ class CustomerPortalBenefitGrantsListRequest(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ + "query", "type_filter", "benefit_id", "checkout_id", @@ -215,6 +224,7 @@ def serialize_model(self, handler): "sorting", ] nullable_fields = [ + "query", "type_filter", "benefit_id", "checkout_id", diff --git a/src/polar_sdk/models/customer_portal_members_remove_memberop.py b/src/polar_sdk/models/customer_portal_members_remove_memberop.py new file mode 100644 index 00000000..73cceebe --- /dev/null +++ b/src/polar_sdk/models/customer_portal_members_remove_memberop.py @@ -0,0 +1,16 @@ +"""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 CustomerPortalMembersRemoveMemberRequestTypedDict(TypedDict): + id: str + + +class CustomerPortalMembersRemoveMemberRequest(BaseModel): + id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] diff --git a/src/polar_sdk/models/customer_portal_members_update_memberop.py b/src/polar_sdk/models/customer_portal_members_update_memberop.py new file mode 100644 index 00000000..3c45aa5a --- /dev/null +++ b/src/polar_sdk/models/customer_portal_members_update_memberop.py @@ -0,0 +1,26 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .customerportalmemberupdate import ( + CustomerPortalMemberUpdate, + CustomerPortalMemberUpdateTypedDict, +) +from polar_sdk.types import BaseModel +from polar_sdk.utils import FieldMetadata, PathParamMetadata, RequestMetadata +from typing_extensions import Annotated, TypedDict + + +class CustomerPortalMembersUpdateMemberRequestTypedDict(TypedDict): + id: str + customer_portal_member_update: CustomerPortalMemberUpdateTypedDict + + +class CustomerPortalMembersUpdateMemberRequest(BaseModel): + id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + + customer_portal_member_update: Annotated[ + CustomerPortalMemberUpdate, + FieldMetadata(request=RequestMetadata(media_type="application/json")), + ] diff --git a/src/polar_sdk/models/customerbenefitgrantcustom.py b/src/polar_sdk/models/customerbenefitgrantcustom.py index a4521d7e..9de2b6ce 100644 --- a/src/polar_sdk/models/customerbenefitgrantcustom.py +++ b/src/polar_sdk/models/customerbenefitgrantcustom.py @@ -9,6 +9,7 @@ BenefitGrantCustomProperties, BenefitGrantCustomPropertiesTypedDict, ) +from .benefitgranterror import BenefitGrantError, BenefitGrantErrorTypedDict from .customerportalcustomer import ( CustomerPortalCustomer, CustomerPortalCustomerTypedDict, @@ -38,6 +39,7 @@ class CustomerBenefitGrantCustomTypedDict(TypedDict): benefit: BenefitCustomSubscriberTypedDict properties: BenefitGrantCustomPropertiesTypedDict member_id: NotRequired[Nullable[str]] + error: NotRequired[Nullable[BenefitGrantErrorTypedDict]] class CustomerBenefitGrantCustom(BaseModel): @@ -74,9 +76,11 @@ class CustomerBenefitGrantCustom(BaseModel): member_id: OptionalNullable[str] = UNSET + error: OptionalNullable[BenefitGrantError] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["member_id"] + optional_fields = ["member_id", "error"] nullable_fields = [ "modified_at", "granted_at", @@ -84,6 +88,7 @@ def serialize_model(self, handler): "member_id", "subscription_id", "order_id", + "error", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerbenefitgrantdiscord.py b/src/polar_sdk/models/customerbenefitgrantdiscord.py index e491d240..64993ec8 100644 --- a/src/polar_sdk/models/customerbenefitgrantdiscord.py +++ b/src/polar_sdk/models/customerbenefitgrantdiscord.py @@ -9,6 +9,7 @@ BenefitGrantDiscordProperties, BenefitGrantDiscordPropertiesTypedDict, ) +from .benefitgranterror import BenefitGrantError, BenefitGrantErrorTypedDict from .customerportalcustomer import ( CustomerPortalCustomer, CustomerPortalCustomerTypedDict, @@ -38,6 +39,7 @@ class CustomerBenefitGrantDiscordTypedDict(TypedDict): benefit: BenefitDiscordSubscriberTypedDict properties: BenefitGrantDiscordPropertiesTypedDict member_id: NotRequired[Nullable[str]] + error: NotRequired[Nullable[BenefitGrantErrorTypedDict]] class CustomerBenefitGrantDiscord(BaseModel): @@ -74,9 +76,11 @@ class CustomerBenefitGrantDiscord(BaseModel): member_id: OptionalNullable[str] = UNSET + error: OptionalNullable[BenefitGrantError] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["member_id"] + optional_fields = ["member_id", "error"] nullable_fields = [ "modified_at", "granted_at", @@ -84,6 +88,7 @@ def serialize_model(self, handler): "member_id", "subscription_id", "order_id", + "error", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerbenefitgrantdownloadables.py b/src/polar_sdk/models/customerbenefitgrantdownloadables.py index cf49dc13..363294b7 100644 --- a/src/polar_sdk/models/customerbenefitgrantdownloadables.py +++ b/src/polar_sdk/models/customerbenefitgrantdownloadables.py @@ -9,6 +9,7 @@ BenefitGrantDownloadablesProperties, BenefitGrantDownloadablesPropertiesTypedDict, ) +from .benefitgranterror import BenefitGrantError, BenefitGrantErrorTypedDict from .customerportalcustomer import ( CustomerPortalCustomer, CustomerPortalCustomerTypedDict, @@ -38,6 +39,7 @@ class CustomerBenefitGrantDownloadablesTypedDict(TypedDict): benefit: BenefitDownloadablesSubscriberTypedDict properties: BenefitGrantDownloadablesPropertiesTypedDict member_id: NotRequired[Nullable[str]] + error: NotRequired[Nullable[BenefitGrantErrorTypedDict]] class CustomerBenefitGrantDownloadables(BaseModel): @@ -74,9 +76,11 @@ class CustomerBenefitGrantDownloadables(BaseModel): member_id: OptionalNullable[str] = UNSET + error: OptionalNullable[BenefitGrantError] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["member_id"] + optional_fields = ["member_id", "error"] nullable_fields = [ "modified_at", "granted_at", @@ -84,6 +88,7 @@ def serialize_model(self, handler): "member_id", "subscription_id", "order_id", + "error", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerbenefitgrantgithubrepository.py b/src/polar_sdk/models/customerbenefitgrantgithubrepository.py index 9ce335b8..67f92f32 100644 --- a/src/polar_sdk/models/customerbenefitgrantgithubrepository.py +++ b/src/polar_sdk/models/customerbenefitgrantgithubrepository.py @@ -5,6 +5,7 @@ BenefitGitHubRepositorySubscriber, BenefitGitHubRepositorySubscriberTypedDict, ) +from .benefitgranterror import BenefitGrantError, BenefitGrantErrorTypedDict from .benefitgrantgithubrepositoryproperties import ( BenefitGrantGitHubRepositoryProperties, BenefitGrantGitHubRepositoryPropertiesTypedDict, @@ -38,6 +39,7 @@ class CustomerBenefitGrantGitHubRepositoryTypedDict(TypedDict): benefit: BenefitGitHubRepositorySubscriberTypedDict properties: BenefitGrantGitHubRepositoryPropertiesTypedDict member_id: NotRequired[Nullable[str]] + error: NotRequired[Nullable[BenefitGrantErrorTypedDict]] class CustomerBenefitGrantGitHubRepository(BaseModel): @@ -74,9 +76,11 @@ class CustomerBenefitGrantGitHubRepository(BaseModel): member_id: OptionalNullable[str] = UNSET + error: OptionalNullable[BenefitGrantError] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["member_id"] + optional_fields = ["member_id", "error"] nullable_fields = [ "modified_at", "granted_at", @@ -84,6 +88,7 @@ def serialize_model(self, handler): "member_id", "subscription_id", "order_id", + "error", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerbenefitgrantlicensekeys.py b/src/polar_sdk/models/customerbenefitgrantlicensekeys.py index dfbd18be..4949899f 100644 --- a/src/polar_sdk/models/customerbenefitgrantlicensekeys.py +++ b/src/polar_sdk/models/customerbenefitgrantlicensekeys.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .benefitgranterror import BenefitGrantError, BenefitGrantErrorTypedDict from .benefitgrantlicensekeysproperties import ( BenefitGrantLicenseKeysProperties, BenefitGrantLicenseKeysPropertiesTypedDict, @@ -38,6 +39,7 @@ class CustomerBenefitGrantLicenseKeysTypedDict(TypedDict): benefit: BenefitLicenseKeysSubscriberTypedDict properties: BenefitGrantLicenseKeysPropertiesTypedDict member_id: NotRequired[Nullable[str]] + error: NotRequired[Nullable[BenefitGrantErrorTypedDict]] class CustomerBenefitGrantLicenseKeys(BaseModel): @@ -74,9 +76,11 @@ class CustomerBenefitGrantLicenseKeys(BaseModel): member_id: OptionalNullable[str] = UNSET + error: OptionalNullable[BenefitGrantError] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["member_id"] + optional_fields = ["member_id", "error"] nullable_fields = [ "modified_at", "granted_at", @@ -84,6 +88,7 @@ def serialize_model(self, handler): "member_id", "subscription_id", "order_id", + "error", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerbenefitgrantmetercredit.py b/src/polar_sdk/models/customerbenefitgrantmetercredit.py index 904bfb17..d9f89fb3 100644 --- a/src/polar_sdk/models/customerbenefitgrantmetercredit.py +++ b/src/polar_sdk/models/customerbenefitgrantmetercredit.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .benefitgranterror import BenefitGrantError, BenefitGrantErrorTypedDict from .benefitgrantmetercreditproperties import ( BenefitGrantMeterCreditProperties, BenefitGrantMeterCreditPropertiesTypedDict, @@ -38,6 +39,7 @@ class CustomerBenefitGrantMeterCreditTypedDict(TypedDict): benefit: BenefitMeterCreditSubscriberTypedDict properties: BenefitGrantMeterCreditPropertiesTypedDict member_id: NotRequired[Nullable[str]] + error: NotRequired[Nullable[BenefitGrantErrorTypedDict]] class CustomerBenefitGrantMeterCredit(BaseModel): @@ -74,9 +76,11 @@ class CustomerBenefitGrantMeterCredit(BaseModel): member_id: OptionalNullable[str] = UNSET + error: OptionalNullable[BenefitGrantError] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["member_id"] + optional_fields = ["member_id", "error"] nullable_fields = [ "modified_at", "granted_at", @@ -84,6 +88,7 @@ def serialize_model(self, handler): "member_id", "subscription_id", "order_id", + "error", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customercreate.py b/src/polar_sdk/models/customercreate.py index 039a1cc2..0bab284d 100644 --- a/src/polar_sdk/models/customercreate.py +++ b/src/polar_sdk/models/customercreate.py @@ -2,6 +2,7 @@ from __future__ import annotations from .addressinput import AddressInput, AddressInputTypedDict +from .customertype import CustomerType from .ownercreate import OwnerCreate, OwnerCreateTypedDict from .taxidformat import TaxIDFormat from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL @@ -49,6 +50,9 @@ class CustomerCreateTypedDict(TypedDict): name: NotRequired[Nullable[str]] billing_address: NotRequired[Nullable[AddressInputTypedDict]] tax_id: NotRequired[Nullable[List[Nullable[CustomerCreateTaxIDTypedDict]]]] + locale: NotRequired[Nullable[str]] + type: NotRequired[Nullable[CustomerType]] + r"""The type of customer. Defaults to 'individual'. Set to 'team' for customers that can have multiple members.""" organization_id: NotRequired[Nullable[str]] r"""The ID of the organization owning the customer. **Required unless you use an organization token.**""" owner: NotRequired[Nullable[OwnerCreateTypedDict]] @@ -82,6 +86,11 @@ class CustomerCreate(BaseModel): tax_id: OptionalNullable[List[Nullable[CustomerCreateTaxID]]] = UNSET + locale: OptionalNullable[str] = UNSET + + type: OptionalNullable[CustomerType] = UNSET + r"""The type of customer. Defaults to 'individual'. Set to 'team' for customers that can have multiple members.""" + organization_id: OptionalNullable[str] = UNSET r"""The ID of the organization owning the customer. **Required unless you use an organization token.**""" @@ -96,6 +105,8 @@ def serialize_model(self, handler): "name", "billing_address", "tax_id", + "locale", + "type", "organization_id", "owner", ] @@ -104,6 +115,8 @@ def serialize_model(self, handler): "name", "billing_address", "tax_id", + "locale", + "type", "organization_id", "owner", ] diff --git a/src/polar_sdk/models/customercreatedevent.py b/src/polar_sdk/models/customercreatedevent.py index 64b9b77b..71342b39 100644 --- a/src/polar_sdk/models/customercreatedevent.py +++ b/src/polar_sdk/models/customercreatedevent.py @@ -34,6 +34,10 @@ class CustomerCreatedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: CustomerCreatedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class CustomerCreatedEvent(BaseModel): metadata: CustomerCreatedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class CustomerCreatedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerdeletedevent.py b/src/polar_sdk/models/customerdeletedevent.py index 716427bb..05b73e6c 100644 --- a/src/polar_sdk/models/customerdeletedevent.py +++ b/src/polar_sdk/models/customerdeletedevent.py @@ -34,6 +34,10 @@ class CustomerDeletedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: CustomerDeletedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class CustomerDeletedEvent(BaseModel): metadata: CustomerDeletedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class CustomerDeletedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerorderproduct.py b/src/polar_sdk/models/customerorderproduct.py index c58ff045..9ef76256 100644 --- a/src/polar_sdk/models/customerorderproduct.py +++ b/src/polar_sdk/models/customerorderproduct.py @@ -9,6 +9,7 @@ ) from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from datetime import datetime @@ -44,6 +45,7 @@ class CustomerOrderProductTypedDict(TypedDict): r"""The name of the product.""" description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] @@ -85,6 +87,8 @@ class CustomerOrderProduct(BaseModel): description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility + recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" diff --git a/src/polar_sdk/models/customerorganization.py b/src/polar_sdk/models/customerorganization.py index 7aead3a6..e12db68b 100644 --- a/src/polar_sdk/models/customerorganization.py +++ b/src/polar_sdk/models/customerorganization.py @@ -1,6 +1,10 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .customerorganizationfeaturesettings import ( + CustomerOrganizationFeatureSettings, + CustomerOrganizationFeatureSettingsTypedDict, +) from .organizationcustomerportalsettings import ( OrganizationCustomerPortalSettings, OrganizationCustomerPortalSettingsTypedDict, @@ -9,7 +13,8 @@ from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL from pydantic import model_serializer -from typing_extensions import TypedDict +from typing import Optional +from typing_extensions import NotRequired, TypedDict class CustomerOrganizationTypedDict(TypedDict): @@ -29,6 +34,8 @@ class CustomerOrganizationTypedDict(TypedDict): allow_customer_updates: bool r"""Whether customers can update their subscriptions from the customer portal.""" customer_portal_settings: OrganizationCustomerPortalSettingsTypedDict + organization_features: NotRequired[CustomerOrganizationFeatureSettingsTypedDict] + r"""Feature flags exposed to the customer portal.""" class CustomerOrganization(BaseModel): @@ -57,9 +64,12 @@ class CustomerOrganization(BaseModel): customer_portal_settings: OrganizationCustomerPortalSettings + organization_features: Optional[CustomerOrganizationFeatureSettings] = None + r"""Feature flags exposed to the customer portal.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["organization_features"] nullable_fields = ["modified_at", "avatar_url"] null_default_fields = [] diff --git a/src/polar_sdk/models/customerorganizationfeaturesettings.py b/src/polar_sdk/models/customerorganizationfeaturesettings.py new file mode 100644 index 00000000..7ea57894 --- /dev/null +++ b/src/polar_sdk/models/customerorganizationfeaturesettings.py @@ -0,0 +1,20 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from polar_sdk.types import BaseModel +from typing import Optional +from typing_extensions import NotRequired, TypedDict + + +class CustomerOrganizationFeatureSettingsTypedDict(TypedDict): + r"""Feature flags exposed to the customer portal.""" + + member_model_enabled: NotRequired[bool] + r"""Whether the member model is enabled for this organization.""" + + +class CustomerOrganizationFeatureSettings(BaseModel): + r"""Feature flags exposed to the customer portal.""" + + member_model_enabled: Optional[bool] = False + r"""Whether the member model is enabled for this organization.""" diff --git a/src/polar_sdk/models/customerportalcustomer.py b/src/polar_sdk/models/customerportalcustomer.py index 79e05a60..48190554 100644 --- a/src/polar_sdk/models/customerportalcustomer.py +++ b/src/polar_sdk/models/customerportalcustomer.py @@ -6,6 +6,7 @@ CustomerPortalOAuthAccount, CustomerPortalOAuthAccountTypedDict, ) +from .customertype import CustomerType from .taxidformat import TaxIDFormat from datetime import datetime from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL @@ -39,6 +40,7 @@ class CustomerPortalCustomerTypedDict(TypedDict): tax_id: Nullable[List[Nullable[CustomerPortalCustomerTaxIDTypedDict]]] oauth_accounts: Dict[str, CustomerPortalOAuthAccountTypedDict] default_payment_method_id: NotRequired[Nullable[str]] + type: NotRequired[Nullable[CustomerType]] class CustomerPortalCustomer(BaseModel): @@ -67,9 +69,11 @@ class CustomerPortalCustomer(BaseModel): default_payment_method_id: OptionalNullable[str] = UNSET + type: OptionalNullable[CustomerType] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["default_payment_method_id"] + optional_fields = ["default_payment_method_id", "type"] nullable_fields = [ "modified_at", "name", @@ -77,6 +81,7 @@ def serialize_model(self, handler): "billing_address", "tax_id", "default_payment_method_id", + "type", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerportalmember.py b/src/polar_sdk/models/customerportalmember.py new file mode 100644 index 00000000..247724bb --- /dev/null +++ b/src/polar_sdk/models/customerportalmember.py @@ -0,0 +1,75 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .memberrole import MemberRole +from datetime import datetime +from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL +from pydantic import model_serializer +from typing_extensions import TypedDict + + +class CustomerPortalMemberTypedDict(TypedDict): + r"""A member of the customer's team as seen in the customer portal.""" + + 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 object.""" + email: str + r"""The email address of the member.""" + name: Nullable[str] + r"""The name of the member.""" + role: MemberRole + + +class CustomerPortalMember(BaseModel): + r"""A member of the customer's team as seen in the customer portal.""" + + 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 object.""" + + email: str + r"""The email address of the member.""" + + name: Nullable[str] + r"""The name of the member.""" + + role: MemberRole + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [] + nullable_fields = ["modified_at", "name"] + 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/customerportalmembercreate.py b/src/polar_sdk/models/customerportalmembercreate.py new file mode 100644 index 00000000..39bce866 --- /dev/null +++ b/src/polar_sdk/models/customerportalmembercreate.py @@ -0,0 +1,60 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .memberrole import MemberRole +from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +from pydantic import model_serializer +from typing import Optional +from typing_extensions import NotRequired, TypedDict + + +class CustomerPortalMemberCreateTypedDict(TypedDict): + r"""Schema for adding a new member to the customer's team.""" + + email: str + r"""The email address of the new member.""" + name: NotRequired[Nullable[str]] + r"""The name of the new member (optional).""" + role: NotRequired[MemberRole] + + +class CustomerPortalMemberCreate(BaseModel): + r"""Schema for adding a new member to the customer's team.""" + + email: str + r"""The email address of the new member.""" + + name: OptionalNullable[str] = UNSET + r"""The name of the new member (optional).""" + + role: Optional[MemberRole] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["name", "role"] + nullable_fields = ["name"] + 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/customerportalmemberupdate.py b/src/polar_sdk/models/customerportalmemberupdate.py new file mode 100644 index 00000000..ac0b40b0 --- /dev/null +++ b/src/polar_sdk/models/customerportalmemberupdate.py @@ -0,0 +1,51 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .memberrole import MemberRole +from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict + + +class CustomerPortalMemberUpdateTypedDict(TypedDict): + r"""Schema for updating a member's role in the customer portal.""" + + 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.""" + + 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"] + 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/customerproduct.py b/src/polar_sdk/models/customerproduct.py index 8902168b..4746ae97 100644 --- a/src/polar_sdk/models/customerproduct.py +++ b/src/polar_sdk/models/customerproduct.py @@ -8,6 +8,7 @@ ) from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from datetime import datetime @@ -45,6 +46,7 @@ class CustomerProductTypedDict(TypedDict): r"""The name of the product.""" description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] @@ -87,6 +89,8 @@ class CustomerProduct(BaseModel): description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility + recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" diff --git a/src/polar_sdk/models/customerseat.py b/src/polar_sdk/models/customerseat.py index 75dafcd0..8ffa0c2e 100644 --- a/src/polar_sdk/models/customerseat.py +++ b/src/polar_sdk/models/customerseat.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .member import Member, MemberTypedDict from .seatstatus import SeatStatus from datetime import datetime from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL @@ -25,6 +26,8 @@ class CustomerSeatTypedDict(TypedDict): r"""The customer ID. When member_model_enabled is true, this is the billing customer (purchaser). When false, this is the seat member customer.""" member_id: NotRequired[Nullable[str]] r"""The member ID of the seat occupant""" + member: NotRequired[Nullable[MemberTypedDict]] + r"""The member associated with this seat""" email: NotRequired[Nullable[str]] r"""Email of the seat member (set when member_model_enabled is true)""" customer_email: NotRequired[Nullable[str]] @@ -63,6 +66,9 @@ class CustomerSeat(BaseModel): member_id: OptionalNullable[str] = UNSET r"""The member ID of the seat occupant""" + member: OptionalNullable[Member] = UNSET + r"""The member associated with this seat""" + email: OptionalNullable[str] = UNSET r"""Email of the seat member (set when member_model_enabled is true)""" @@ -88,6 +94,7 @@ def serialize_model(self, handler): "order_id", "customer_id", "member_id", + "member", "email", "customer_email", "invitation_token_expires_at", @@ -101,6 +108,7 @@ def serialize_model(self, handler): "order_id", "customer_id", "member_id", + "member", "email", "customer_email", "invitation_token_expires_at", diff --git a/src/polar_sdk/models/customerstate.py b/src/polar_sdk/models/customerstate.py index f4991600..fa96cd9c 100644 --- a/src/polar_sdk/models/customerstate.py +++ b/src/polar_sdk/models/customerstate.py @@ -11,13 +11,14 @@ CustomerStateSubscription, CustomerStateSubscriptionTypedDict, ) +from .customertype import CustomerType from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .taxidformat import TaxIDFormat 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 Dict, List, Union -from typing_extensions import TypeAliasType, TypedDict +from typing_extensions import NotRequired, TypeAliasType, TypedDict CustomerStateTaxIDTypedDict = TypeAliasType( @@ -64,6 +65,9 @@ class CustomerStateTypedDict(TypedDict): active_meters: List[CustomerStateMeterTypedDict] r"""The customer's active meters.""" avatar_url: str + type: NotRequired[Nullable[CustomerType]] + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + locale: NotRequired[Nullable[str]] class CustomerState(BaseModel): @@ -118,15 +122,22 @@ class CustomerState(BaseModel): avatar_url: str + type: OptionalNullable[CustomerType] = UNSET + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + + locale: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type", "locale"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", + "locale", "deleted_at", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customersubscriptionproduct.py b/src/polar_sdk/models/customersubscriptionproduct.py index 94225778..2b5a0c77 100644 --- a/src/polar_sdk/models/customersubscriptionproduct.py +++ b/src/polar_sdk/models/customersubscriptionproduct.py @@ -9,6 +9,7 @@ ) from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from datetime import datetime @@ -45,6 +46,7 @@ class CustomerSubscriptionProductTypedDict(TypedDict): r"""The name of the product.""" description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] @@ -86,6 +88,8 @@ class CustomerSubscriptionProduct(BaseModel): description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility + recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" diff --git a/src/polar_sdk/models/customertype.py b/src/polar_sdk/models/customertype.py new file mode 100644 index 00000000..dfcf9f52 --- /dev/null +++ b/src/polar_sdk/models/customertype.py @@ -0,0 +1,9 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from enum import Enum + + +class CustomerType(str, Enum): + INDIVIDUAL = "individual" + TEAM = "team" diff --git a/src/polar_sdk/models/customerupdate.py b/src/polar_sdk/models/customerupdate.py index 1dd88a4e..d2100664 100644 --- a/src/polar_sdk/models/customerupdate.py +++ b/src/polar_sdk/models/customerupdate.py @@ -2,6 +2,7 @@ from __future__ import annotations from .addressinput import AddressInput, AddressInputTypedDict +from .customertype import CustomerType from .taxidformat import TaxIDFormat from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from pydantic import model_serializer @@ -46,8 +47,11 @@ class CustomerUpdateTypedDict(TypedDict): name: NotRequired[Nullable[str]] billing_address: NotRequired[Nullable[AddressInputTypedDict]] tax_id: NotRequired[Nullable[List[Nullable[CustomerUpdateTaxIDTypedDict]]]] + locale: NotRequired[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: NotRequired[Nullable[CustomerType]] + r"""The customer type. Can only be upgraded from 'individual' to 'team', never downgraded.""" class CustomerUpdate(BaseModel): @@ -74,9 +78,14 @@ class CustomerUpdate(BaseModel): tax_id: OptionalNullable[List[Nullable[CustomerUpdateTaxID]]] = UNSET + locale: OptionalNullable[str] = UNSET + 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.""" + type: OptionalNullable[CustomerType] = UNSET + r"""The customer type. Can only be upgraded from 'individual' to 'team', never downgraded.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ @@ -85,9 +94,19 @@ def serialize_model(self, handler): "name", "billing_address", "tax_id", + "locale", + "external_id", + "type", + ] + nullable_fields = [ + "email", + "name", + "billing_address", + "tax_id", + "locale", "external_id", + "type", ] - nullable_fields = ["email", "name", "billing_address", "tax_id", "external_id"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/customerupdatedevent.py b/src/polar_sdk/models/customerupdatedevent.py index cc6e4573..ea8108fa 100644 --- a/src/polar_sdk/models/customerupdatedevent.py +++ b/src/polar_sdk/models/customerupdatedevent.py @@ -34,6 +34,10 @@ class CustomerUpdatedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: CustomerUpdatedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class CustomerUpdatedEvent(BaseModel): metadata: CustomerUpdatedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class CustomerUpdatedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/customerupdateexternalid.py b/src/polar_sdk/models/customerupdateexternalid.py index 83387f7c..503e28c4 100644 --- a/src/polar_sdk/models/customerupdateexternalid.py +++ b/src/polar_sdk/models/customerupdateexternalid.py @@ -50,6 +50,7 @@ class CustomerUpdateExternalIDTypedDict(TypedDict): tax_id: NotRequired[ Nullable[List[Nullable[CustomerUpdateExternalIDTaxIDTypedDict]]] ] + locale: NotRequired[Nullable[str]] class CustomerUpdateExternalID(BaseModel): @@ -76,10 +77,19 @@ class CustomerUpdateExternalID(BaseModel): tax_id: OptionalNullable[List[Nullable[CustomerUpdateExternalIDTaxID]]] = UNSET + locale: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["metadata", "email", "name", "billing_address", "tax_id"] - nullable_fields = ["email", "name", "billing_address", "tax_id"] + optional_fields = [ + "metadata", + "email", + "name", + "billing_address", + "tax_id", + "locale", + ] + nullable_fields = ["email", "name", "billing_address", "tax_id", "locale"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/customerwithmembers.py b/src/polar_sdk/models/customerwithmembers.py index e1293de7..71ca7075 100644 --- a/src/polar_sdk/models/customerwithmembers.py +++ b/src/polar_sdk/models/customerwithmembers.py @@ -2,11 +2,12 @@ from __future__ import annotations from .address import Address, AddressTypedDict +from .customertype import CustomerType from .member import Member, MemberTypedDict from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .taxidformat import TaxIDFormat 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 Dict, List, Optional, Union from typing_extensions import NotRequired, TypeAliasType, TypedDict @@ -47,6 +48,9 @@ class CustomerWithMembersTypedDict(TypedDict): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" avatar_url: str + type: NotRequired[Nullable[CustomerType]] + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + locale: NotRequired[Nullable[str]] members: NotRequired[List[MemberTypedDict]] r"""List of members belonging to this customer.""" @@ -89,18 +93,25 @@ class CustomerWithMembers(BaseModel): avatar_url: str + type: OptionalNullable[CustomerType] = UNSET + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + + locale: OptionalNullable[str] = UNSET + members: Optional[List[Member]] = None r"""List of members belonging to this customer.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["members"] + optional_fields = ["type", "locale", "members"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", + "locale", "deleted_at", ] null_default_fields = [] diff --git a/src/polar_sdk/models/discountproduct.py b/src/polar_sdk/models/discountproduct.py index ec3f37a5..6ca69cb1 100644 --- a/src/polar_sdk/models/discountproduct.py +++ b/src/polar_sdk/models/discountproduct.py @@ -2,6 +2,7 @@ from __future__ import annotations from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from datetime import datetime @@ -29,6 +30,7 @@ class DiscountProductTypedDict(TypedDict): r"""The name of the product.""" description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] @@ -67,6 +69,8 @@ class DiscountProduct(BaseModel): description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility + recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" diff --git a/src/polar_sdk/models/eventcreatecustomer.py b/src/polar_sdk/models/eventcreatecustomer.py index de373a42..32179253 100644 --- a/src/polar_sdk/models/eventcreatecustomer.py +++ b/src/polar_sdk/models/eventcreatecustomer.py @@ -23,6 +23,8 @@ class EventCreateCustomerTypedDict(TypedDict): parent_id: NotRequired[Nullable[str]] r"""The ID of the parent event. Can be either a Polar event ID (UUID) or an external event ID.""" metadata: NotRequired[Dict[str, EventMetadataInputTypedDict]] + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action. Used for member-level attribution in B2B.""" class EventCreateCustomer(BaseModel): @@ -46,6 +48,9 @@ class EventCreateCustomer(BaseModel): metadata: Optional[Dict[str, EventMetadataInput]] = None + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action. Used for member-level attribution in B2B.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ @@ -54,8 +59,9 @@ def serialize_model(self, handler): "external_id", "parent_id", "metadata", + "member_id", ] - nullable_fields = ["organization_id", "external_id", "parent_id"] + nullable_fields = ["organization_id", "external_id", "parent_id", "member_id"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/eventcreateexternalcustomer.py b/src/polar_sdk/models/eventcreateexternalcustomer.py index ea0ee18b..59beba0d 100644 --- a/src/polar_sdk/models/eventcreateexternalcustomer.py +++ b/src/polar_sdk/models/eventcreateexternalcustomer.py @@ -23,6 +23,8 @@ class EventCreateExternalCustomerTypedDict(TypedDict): parent_id: NotRequired[Nullable[str]] r"""The ID of the parent event. Can be either a Polar event ID (UUID) or an external event ID.""" metadata: NotRequired[Dict[str, EventMetadataInputTypedDict]] + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action. Used for member-level attribution in B2B.""" class EventCreateExternalCustomer(BaseModel): @@ -46,6 +48,9 @@ class EventCreateExternalCustomer(BaseModel): metadata: Optional[Dict[str, EventMetadataInput]] = None + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action. Used for member-level attribution in B2B.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ @@ -54,8 +59,14 @@ def serialize_model(self, handler): "external_id", "parent_id", "metadata", + "external_member_id", + ] + nullable_fields = [ + "organization_id", + "external_id", + "parent_id", + "external_member_id", ] - nullable_fields = ["organization_id", "external_id", "parent_id"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/legacyrecurringproductpricecustom.py b/src/polar_sdk/models/legacyrecurringproductpricecustom.py index 63a0c217..f7d52da4 100644 --- a/src/polar_sdk/models/legacyrecurringproductpricecustom.py +++ b/src/polar_sdk/models/legacyrecurringproductpricecustom.py @@ -26,13 +26,13 @@ class LegacyRecurringProductPriceCustomTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" 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 - price_currency: str - r"""The currency.""" minimum_amount: int r"""The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents.""" maximum_amount: Nullable[int] @@ -62,6 +62,9 @@ class LegacyRecurringProductPriceCustom(BaseModel): source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -70,9 +73,6 @@ class LegacyRecurringProductPriceCustom(BaseModel): recurring_interval: SubscriptionRecurringInterval - price_currency: str - r"""The currency.""" - minimum_amount: int r"""The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents.""" diff --git a/src/polar_sdk/models/legacyrecurringproductpricefixed.py b/src/polar_sdk/models/legacyrecurringproductpricefixed.py index f855f0d9..e530ddc3 100644 --- a/src/polar_sdk/models/legacyrecurringproductpricefixed.py +++ b/src/polar_sdk/models/legacyrecurringproductpricefixed.py @@ -26,13 +26,13 @@ class LegacyRecurringProductPriceFixedTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" 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 - price_currency: str - r"""The currency.""" price_amount: int r"""The price in cents.""" amount_type: Literal["fixed"] @@ -58,6 +58,9 @@ class LegacyRecurringProductPriceFixed(BaseModel): source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -66,9 +69,6 @@ class LegacyRecurringProductPriceFixed(BaseModel): recurring_interval: SubscriptionRecurringInterval - price_currency: str - r"""The currency.""" - price_amount: int r"""The price in cents.""" diff --git a/src/polar_sdk/models/legacyrecurringproductpricefree.py b/src/polar_sdk/models/legacyrecurringproductpricefree.py index a4404125..640cc9b7 100644 --- a/src/polar_sdk/models/legacyrecurringproductpricefree.py +++ b/src/polar_sdk/models/legacyrecurringproductpricefree.py @@ -26,6 +26,8 @@ class LegacyRecurringProductPriceFreeTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" is_archived: bool r"""Whether the price is archived and no longer available.""" product_id: str @@ -54,6 +56,9 @@ class LegacyRecurringProductPriceFree(BaseModel): source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" + is_archived: bool r"""Whether the price is archived and no longer available.""" diff --git a/src/polar_sdk/models/licensekeycustomer.py b/src/polar_sdk/models/licensekeycustomer.py index a18d8b1d..58612f34 100644 --- a/src/polar_sdk/models/licensekeycustomer.py +++ b/src/polar_sdk/models/licensekeycustomer.py @@ -2,13 +2,14 @@ from __future__ import annotations from .address import Address, AddressTypedDict +from .customertype import CustomerType from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .taxidformat import TaxIDFormat 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 Dict, List, Union -from typing_extensions import TypeAliasType, TypedDict +from typing_extensions import NotRequired, TypeAliasType, TypedDict LicenseKeyCustomerTaxIDTypedDict = TypeAliasType( @@ -44,6 +45,9 @@ class LicenseKeyCustomerTypedDict(TypedDict): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" avatar_url: str + type: NotRequired[Nullable[CustomerType]] + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + locale: NotRequired[Nullable[str]] class LicenseKeyCustomer(BaseModel): @@ -82,15 +86,22 @@ class LicenseKeyCustomer(BaseModel): avatar_url: str + type: OptionalNullable[CustomerType] = UNSET + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + + locale: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type", "locale"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", + "locale", "deleted_at", ] null_default_fields = [] diff --git a/src/polar_sdk/models/metercreditevent.py b/src/polar_sdk/models/metercreditevent.py index a8021d57..1a76df94 100644 --- a/src/polar_sdk/models/metercreditevent.py +++ b/src/polar_sdk/models/metercreditevent.py @@ -31,6 +31,10 @@ class MeterCreditEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: MeterCreditedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class MeterCreditEvent(BaseModel): metadata: MeterCreditedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -89,11 +99,18 @@ class MeterCreditEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/meterresetevent.py b/src/polar_sdk/models/meterresetevent.py index c4205a8c..db6a2233 100644 --- a/src/polar_sdk/models/meterresetevent.py +++ b/src/polar_sdk/models/meterresetevent.py @@ -31,6 +31,10 @@ class MeterResetEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: MeterResetMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class MeterResetEvent(BaseModel): metadata: MeterResetMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -89,11 +99,18 @@ class MeterResetEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/oauth2clientconfiguration.py b/src/polar_sdk/models/oauth2clientconfiguration.py index fd294553..1ea8b9ca 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 webhooks:read webhooks:write external_organizations:read license_keys:read license_keys:write repositories:read repositories:write issues:read issues: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 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_uri: OptionalNullable[str] = UNSET diff --git a/src/polar_sdk/models/oauth2clientconfigurationupdate.py b/src/polar_sdk/models/oauth2clientconfigurationupdate.py index 20e00d44..36569d73 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 webhooks:read webhooks:write external_organizations:read license_keys:read license_keys:write repositories:read repositories:write issues:read issues: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 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_uri: OptionalNullable[str] = UNSET diff --git a/src/polar_sdk/models/ordercustomer.py b/src/polar_sdk/models/ordercustomer.py index 898bffcb..93c44481 100644 --- a/src/polar_sdk/models/ordercustomer.py +++ b/src/polar_sdk/models/ordercustomer.py @@ -2,13 +2,14 @@ from __future__ import annotations from .address import Address, AddressTypedDict +from .customertype import CustomerType from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .taxidformat import TaxIDFormat 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 Dict, List, Union -from typing_extensions import TypeAliasType, TypedDict +from typing_extensions import NotRequired, TypeAliasType, TypedDict OrderCustomerTaxIDTypedDict = TypeAliasType( @@ -42,6 +43,9 @@ class OrderCustomerTypedDict(TypedDict): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" avatar_url: str + type: NotRequired[Nullable[CustomerType]] + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + locale: NotRequired[Nullable[str]] class OrderCustomer(BaseModel): @@ -80,15 +84,22 @@ class OrderCustomer(BaseModel): avatar_url: str + type: OptionalNullable[CustomerType] = UNSET + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + + locale: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type", "locale"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", + "locale", "deleted_at", ] null_default_fields = [] diff --git a/src/polar_sdk/models/orderpaidevent.py b/src/polar_sdk/models/orderpaidevent.py index 21770f06..f982f602 100644 --- a/src/polar_sdk/models/orderpaidevent.py +++ b/src/polar_sdk/models/orderpaidevent.py @@ -31,6 +31,10 @@ class OrderPaidEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: OrderPaidMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class OrderPaidEvent(BaseModel): metadata: OrderPaidMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -87,11 +97,18 @@ class OrderPaidEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/orderproduct.py b/src/polar_sdk/models/orderproduct.py index e094d94f..a913edf3 100644 --- a/src/polar_sdk/models/orderproduct.py +++ b/src/polar_sdk/models/orderproduct.py @@ -2,6 +2,7 @@ from __future__ import annotations from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from datetime import datetime @@ -27,6 +28,7 @@ class OrderProductTypedDict(TypedDict): r"""The name of the product.""" description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] @@ -63,6 +65,8 @@ class OrderProduct(BaseModel): description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility + recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" diff --git a/src/polar_sdk/models/orderrefundedevent.py b/src/polar_sdk/models/orderrefundedevent.py index e2bc258c..92393b5a 100644 --- a/src/polar_sdk/models/orderrefundedevent.py +++ b/src/polar_sdk/models/orderrefundedevent.py @@ -31,6 +31,10 @@ class OrderRefundedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: OrderRefundedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -67,6 +71,12 @@ class OrderRefundedEvent(BaseModel): metadata: OrderRefundedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -89,11 +99,18 @@ class OrderRefundedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/organization.py b/src/polar_sdk/models/organization.py index 00b5ced8..e698ac33 100644 --- a/src/polar_sdk/models/organization.py +++ b/src/polar_sdk/models/organization.py @@ -59,6 +59,8 @@ class OrganizationTypedDict(TypedDict): status: OrganizationStatus details_submitted_at: Nullable[datetime] r"""When the business details were submitted.""" + default_presentment_currency: str + r"""Default presentment currency. Used as fallback in checkout and customer portal, if the customer's local currency is not available.""" feature_settings: Nullable[OrganizationFeatureSettingsTypedDict] r"""Organization feature settings""" subscription_settings: OrganizationSubscriptionSettingsTypedDict @@ -105,6 +107,9 @@ class Organization(BaseModel): details_submitted_at: Nullable[datetime] r"""When the business details were submitted.""" + default_presentment_currency: str + r"""Default presentment currency. Used as fallback in checkout and customer portal, if the customer's local currency is not available.""" + feature_settings: Nullable[OrganizationFeatureSettings] r"""Organization feature settings""" diff --git a/src/polar_sdk/models/organizationcreate.py b/src/polar_sdk/models/organizationcreate.py index 8b73b5e1..b712e8b9 100644 --- a/src/polar_sdk/models/organizationcreate.py +++ b/src/polar_sdk/models/organizationcreate.py @@ -26,9 +26,10 @@ OrganizationSubscriptionSettings, OrganizationSubscriptionSettingsTypedDict, ) +from .presentmentcurrency import PresentmentCurrency from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from pydantic import model_serializer -from typing import List +from typing import List, Optional from typing_extensions import NotRequired, TypedDict @@ -57,6 +58,7 @@ class OrganizationCreateTypedDict(TypedDict): customer_portal_settings: NotRequired[ Nullable[OrganizationCustomerPortalSettingsTypedDict] ] + default_presentment_currency: NotRequired[PresentmentCurrency] class OrganizationCreate(BaseModel): @@ -90,6 +92,8 @@ class OrganizationCreate(BaseModel): UNSET ) + default_presentment_currency: Optional[PresentmentCurrency] = None + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ @@ -103,6 +107,7 @@ def serialize_model(self, handler): "notification_settings", "customer_email_settings", "customer_portal_settings", + "default_presentment_currency", ] nullable_fields = [ "avatar_url", diff --git a/src/polar_sdk/models/organizationfeaturesettings.py b/src/polar_sdk/models/organizationfeaturesettings.py index c4e2aca1..7a9c3a66 100644 --- a/src/polar_sdk/models/organizationfeaturesettings.py +++ b/src/polar_sdk/models/organizationfeaturesettings.py @@ -17,6 +17,14 @@ class OrganizationFeatureSettingsTypedDict(TypedDict): r"""If this organization has Wallets enabled""" member_model_enabled: NotRequired[bool] r"""If this organization has the Member model enabled""" + tinybird_read: NotRequired[bool] + r"""If this organization reads from Tinybird""" + tinybird_compare: NotRequired[bool] + r"""If this organization compares Tinybird results with database""" + presentment_currencies_enabled: NotRequired[bool] + r"""If this organization has multiple presentment currencies enabled""" + checkout_localization_enabled: NotRequired[bool] + r"""If this organization has checkout localization enabled""" class OrganizationFeatureSettings(BaseModel): @@ -34,3 +42,15 @@ class OrganizationFeatureSettings(BaseModel): member_model_enabled: Optional[bool] = False r"""If this organization has the Member model enabled""" + + tinybird_read: Optional[bool] = False + r"""If this organization reads from Tinybird""" + + tinybird_compare: Optional[bool] = False + r"""If this organization compares Tinybird results with database""" + + presentment_currencies_enabled: Optional[bool] = False + r"""If this organization has multiple presentment currencies enabled""" + + checkout_localization_enabled: Optional[bool] = False + r"""If this organization has checkout localization enabled""" diff --git a/src/polar_sdk/models/organizationupdate.py b/src/polar_sdk/models/organizationupdate.py index bd628445..626ae04c 100644 --- a/src/polar_sdk/models/organizationupdate.py +++ b/src/polar_sdk/models/organizationupdate.py @@ -26,6 +26,7 @@ OrganizationSubscriptionSettings, OrganizationSubscriptionSettingsTypedDict, ) +from .presentmentcurrency import PresentmentCurrency from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from pydantic import model_serializer from typing import List @@ -56,6 +57,8 @@ class OrganizationUpdateTypedDict(TypedDict): customer_portal_settings: NotRequired[ Nullable[OrganizationCustomerPortalSettingsTypedDict] ] + default_presentment_currency: NotRequired[Nullable[PresentmentCurrency]] + r"""Default presentment currency for the organization""" class OrganizationUpdate(BaseModel): @@ -87,6 +90,9 @@ class OrganizationUpdate(BaseModel): UNSET ) + default_presentment_currency: OptionalNullable[PresentmentCurrency] = UNSET + r"""Default presentment currency for the organization""" + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ @@ -101,6 +107,7 @@ def serialize_model(self, handler): "notification_settings", "customer_email_settings", "customer_portal_settings", + "default_presentment_currency", ] nullable_fields = [ "name", @@ -114,6 +121,7 @@ def serialize_model(self, handler): "notification_settings", "customer_email_settings", "customer_portal_settings", + "default_presentment_currency", ] null_default_fields = [] diff --git a/src/polar_sdk/models/portalauthenticateduser.py b/src/polar_sdk/models/portalauthenticateduser.py index a2b7ecc4..7f5414ad 100644 --- a/src/polar_sdk/models/portalauthenticateduser.py +++ b/src/polar_sdk/models/portalauthenticateduser.py @@ -17,6 +17,8 @@ class PortalAuthenticatedUserTypedDict(TypedDict): r"""User's email address.""" customer_id: str r"""Associated customer ID.""" + member_id: NotRequired[Nullable[str]] + r"""Member ID. Only set for members.""" role: NotRequired[Nullable[str]] r"""Member role (owner, billing_manager, member). Only set for members.""" @@ -36,13 +38,16 @@ class PortalAuthenticatedUser(BaseModel): customer_id: str r"""Associated customer ID.""" + member_id: OptionalNullable[str] = UNSET + r"""Member ID. Only set for members.""" + role: OptionalNullable[str] = UNSET r"""Member role (owner, billing_manager, member). Only set for members.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["role"] - nullable_fields = ["name", "role"] + optional_fields = ["member_id", "role"] + nullable_fields = ["name", "member_id", "role"] null_default_fields = [] serialized = handler(self) diff --git a/src/polar_sdk/models/presentmentcurrency.py b/src/polar_sdk/models/presentmentcurrency.py index a6194268..a79c4c6d 100644 --- a/src/polar_sdk/models/presentmentcurrency.py +++ b/src/polar_sdk/models/presentmentcurrency.py @@ -5,11 +5,13 @@ class PresentmentCurrency(str, Enum): - USD = "usd" + AUD = "aud" + BRL = "brl" + CAD = "cad" + CHF = "chf" EUR = "eur" + INR = "inr" GBP = "gbp" - CAD = "cad" - AUD = "aud" JPY = "jpy" - CHF = "chf" SEK = "sek" + USD = "usd" diff --git a/src/polar_sdk/models/product.py b/src/polar_sdk/models/product.py index a9db40a3..0285857e 100644 --- a/src/polar_sdk/models/product.py +++ b/src/polar_sdk/models/product.py @@ -10,6 +10,7 @@ from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .productmediafileread import ProductMediaFileRead, ProductMediaFileReadTypedDict from .productprice import ProductPrice, ProductPriceTypedDict +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from datetime import datetime @@ -45,6 +46,7 @@ class ProductTypedDict(TypedDict): r"""The name of the product.""" description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" recurring_interval_count: Nullable[int] @@ -90,6 +92,8 @@ class Product(BaseModel): description: Nullable[str] r"""The description of the product.""" + visibility: ProductVisibility + recurring_interval: Nullable[SubscriptionRecurringInterval] r"""The recurring interval of the product. If `None`, the product is a one-time purchase.""" diff --git a/src/polar_sdk/models/productcreateonetime.py b/src/polar_sdk/models/productcreateonetime.py index a3bc3d58..5d46e799 100644 --- a/src/polar_sdk/models/productcreateonetime.py +++ b/src/polar_sdk/models/productcreateonetime.py @@ -25,6 +25,7 @@ ProductPriceSeatBasedCreate, ProductPriceSeatBasedCreateTypedDict, ) +from .productvisibility import ProductVisibility from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import get_discriminator from pydantic import Discriminator, Tag, model_serializer @@ -86,6 +87,7 @@ class ProductCreateOneTimeTypedDict(TypedDict): """ description: NotRequired[Nullable[str]] r"""The description of the product.""" + visibility: NotRequired[ProductVisibility] medias: NotRequired[Nullable[List[str]]] r"""List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded.""" attached_custom_fields: NotRequired[List[AttachedCustomFieldCreateTypedDict]] @@ -122,6 +124,8 @@ class ProductCreateOneTime(BaseModel): description: OptionalNullable[str] = UNSET r"""The description of the product.""" + visibility: Optional[ProductVisibility] = None + medias: OptionalNullable[List[str]] = UNSET r"""List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded.""" @@ -142,6 +146,7 @@ def serialize_model(self, handler): optional_fields = [ "metadata", "description", + "visibility", "medias", "attached_custom_fields", "organization_id", diff --git a/src/polar_sdk/models/productcreaterecurring.py b/src/polar_sdk/models/productcreaterecurring.py index 2c129f53..99ce823b 100644 --- a/src/polar_sdk/models/productcreaterecurring.py +++ b/src/polar_sdk/models/productcreaterecurring.py @@ -25,6 +25,7 @@ ProductPriceSeatBasedCreate, ProductPriceSeatBasedCreateTypedDict, ) +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL @@ -89,6 +90,7 @@ class ProductCreateRecurringTypedDict(TypedDict): """ description: NotRequired[Nullable[str]] r"""The description of the product.""" + visibility: NotRequired[ProductVisibility] medias: NotRequired[Nullable[List[str]]] r"""List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded.""" attached_custom_fields: NotRequired[List[AttachedCustomFieldCreateTypedDict]] @@ -129,6 +131,8 @@ class ProductCreateRecurring(BaseModel): description: OptionalNullable[str] = UNSET r"""The description of the product.""" + visibility: Optional[ProductVisibility] = None + medias: OptionalNullable[List[str]] = UNSET r"""List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded.""" @@ -152,6 +156,7 @@ def serialize_model(self, handler): optional_fields = [ "metadata", "description", + "visibility", "medias", "attached_custom_fields", "organization_id", diff --git a/src/polar_sdk/models/productpricecustom.py b/src/polar_sdk/models/productpricecustom.py index ce46b0bd..52077577 100644 --- a/src/polar_sdk/models/productpricecustom.py +++ b/src/polar_sdk/models/productpricecustom.py @@ -24,14 +24,14 @@ class ProductPriceCustomTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" 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.""" type: ProductPriceType recurring_interval: Nullable[SubscriptionRecurringInterval] - price_currency: str - r"""The currency.""" minimum_amount: int r"""The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents.""" maximum_amount: Nullable[int] @@ -55,6 +55,9 @@ class ProductPriceCustom(BaseModel): source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -70,9 +73,6 @@ class ProductPriceCustom(BaseModel): ), ] - price_currency: str - r"""The currency.""" - minimum_amount: int r"""The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents.""" diff --git a/src/polar_sdk/models/productpricecustomcreate.py b/src/polar_sdk/models/productpricecustomcreate.py index d451e65a..8e7cde8b 100644 --- a/src/polar_sdk/models/productpricecustomcreate.py +++ b/src/polar_sdk/models/productpricecustomcreate.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import validate_const import pydantic @@ -14,8 +15,7 @@ class ProductPriceCustomCreateTypedDict(TypedDict): r"""Schema to create a pay-what-you-want price.""" amount_type: Literal["custom"] - price_currency: NotRequired[str] - r"""The currency. Currently, only `usd` is supported.""" + price_currency: NotRequired[PresentmentCurrency] minimum_amount: NotRequired[int] r"""The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value between 1-49, it will be rejected. Defaults to 50 cents.""" maximum_amount: NotRequired[Nullable[int]] @@ -32,8 +32,7 @@ class ProductPriceCustomCreate(BaseModel): pydantic.Field(alias="amount_type"), ] = "custom" - price_currency: Optional[str] = "usd" - r"""The currency. Currently, only `usd` is supported.""" + price_currency: Optional[PresentmentCurrency] = None minimum_amount: Optional[int] = 50 r"""The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value between 1-49, it will be rejected. Defaults to 50 cents.""" diff --git a/src/polar_sdk/models/productpricefixed.py b/src/polar_sdk/models/productpricefixed.py index 5c100c21..092ee8ae 100644 --- a/src/polar_sdk/models/productpricefixed.py +++ b/src/polar_sdk/models/productpricefixed.py @@ -24,14 +24,14 @@ class ProductPriceFixedTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" 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.""" type: ProductPriceType recurring_interval: Nullable[SubscriptionRecurringInterval] - price_currency: str - r"""The currency.""" price_amount: int r"""The price in cents.""" amount_type: Literal["fixed"] @@ -51,6 +51,9 @@ class ProductPriceFixed(BaseModel): source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -66,9 +69,6 @@ class ProductPriceFixed(BaseModel): ), ] - price_currency: str - r"""The currency.""" - price_amount: int r"""The price in cents.""" diff --git a/src/polar_sdk/models/productpricefixedcreate.py b/src/polar_sdk/models/productpricefixedcreate.py index 5c63d90b..8ef91c06 100644 --- a/src/polar_sdk/models/productpricefixedcreate.py +++ b/src/polar_sdk/models/productpricefixedcreate.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from polar_sdk.types import BaseModel from polar_sdk.utils import validate_const import pydantic @@ -15,8 +16,7 @@ class ProductPriceFixedCreateTypedDict(TypedDict): price_amount: int r"""The price in cents.""" amount_type: Literal["fixed"] - price_currency: NotRequired[str] - r"""The currency. Currently, only `usd` is supported.""" + price_currency: NotRequired[PresentmentCurrency] class ProductPriceFixedCreate(BaseModel): @@ -30,5 +30,4 @@ class ProductPriceFixedCreate(BaseModel): pydantic.Field(alias="amount_type"), ] = "fixed" - price_currency: Optional[str] = "usd" - r"""The currency. Currently, only `usd` is supported.""" + price_currency: Optional[PresentmentCurrency] = None diff --git a/src/polar_sdk/models/productpricefree.py b/src/polar_sdk/models/productpricefree.py index b91200dd..9e15bcf2 100644 --- a/src/polar_sdk/models/productpricefree.py +++ b/src/polar_sdk/models/productpricefree.py @@ -24,6 +24,8 @@ class ProductPriceFreeTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" is_archived: bool r"""Whether the price is archived and no longer available.""" product_id: str @@ -47,6 +49,9 @@ class ProductPriceFree(BaseModel): source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" + is_archived: bool r"""Whether the price is archived and no longer available.""" diff --git a/src/polar_sdk/models/productpricefreecreate.py b/src/polar_sdk/models/productpricefreecreate.py index f6d6aa6b..4cc1253c 100644 --- a/src/polar_sdk/models/productpricefreecreate.py +++ b/src/polar_sdk/models/productpricefreecreate.py @@ -1,18 +1,20 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency 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 -from typing_extensions import Annotated, TypedDict +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] class ProductPriceFreeCreate(BaseModel): @@ -22,3 +24,5 @@ class ProductPriceFreeCreate(BaseModel): Annotated[Literal["free"], AfterValidator(validate_const("free"))], pydantic.Field(alias="amount_type"), ] = "free" + + price_currency: Optional[PresentmentCurrency] = None diff --git a/src/polar_sdk/models/productpricemeteredunit.py b/src/polar_sdk/models/productpricemeteredunit.py index d5943d9f..7caee216 100644 --- a/src/polar_sdk/models/productpricemeteredunit.py +++ b/src/polar_sdk/models/productpricemeteredunit.py @@ -25,14 +25,14 @@ class ProductPriceMeteredUnitTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" 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.""" type: ProductPriceType recurring_interval: Nullable[SubscriptionRecurringInterval] - price_currency: str - r"""The currency.""" unit_amount: str r"""The price per unit in cents.""" cap_amount: Nullable[int] @@ -58,6 +58,9 @@ class ProductPriceMeteredUnit(BaseModel): source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -73,9 +76,6 @@ class ProductPriceMeteredUnit(BaseModel): ), ] - price_currency: str - r"""The currency.""" - unit_amount: str r"""The price per unit in cents.""" diff --git a/src/polar_sdk/models/productpricemeteredunitcreate.py b/src/polar_sdk/models/productpricemeteredunitcreate.py index 2e938541..8ad2d15d 100644 --- a/src/polar_sdk/models/productpricemeteredunitcreate.py +++ b/src/polar_sdk/models/productpricemeteredunitcreate.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from polar_sdk.utils import validate_const import pydantic @@ -26,8 +27,7 @@ class ProductPriceMeteredUnitCreateTypedDict(TypedDict): unit_amount: UnitAmountTypedDict r"""The price per unit in cents. Supports up to 12 decimal places.""" amount_type: Literal["metered_unit"] - price_currency: NotRequired[str] - r"""The currency. Currently, only `usd` is supported.""" + price_currency: NotRequired[PresentmentCurrency] cap_amount: NotRequired[Nullable[int]] r"""Optional maximum amount in cents that can be charged, regardless of the number of units consumed.""" @@ -48,8 +48,7 @@ class ProductPriceMeteredUnitCreate(BaseModel): pydantic.Field(alias="amount_type"), ] = "metered_unit" - price_currency: Optional[str] = "usd" - r"""The currency. Currently, only `usd` is supported.""" + price_currency: Optional[PresentmentCurrency] = None cap_amount: OptionalNullable[int] = UNSET r"""Optional maximum amount in cents that can be charged, regardless of the number of units consumed.""" diff --git a/src/polar_sdk/models/productpriceseatbased.py b/src/polar_sdk/models/productpriceseatbased.py index b41b2c05..d7d0a760 100644 --- a/src/polar_sdk/models/productpriceseatbased.py +++ b/src/polar_sdk/models/productpriceseatbased.py @@ -28,14 +28,14 @@ class ProductPriceSeatBasedTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" 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.""" type: ProductPriceType recurring_interval: Nullable[SubscriptionRecurringInterval] - price_currency: str - r"""The currency.""" seat_tiers: ProductPriceSeatTiersOutputTypedDict r"""List of pricing tiers for seat-based pricing. @@ -60,6 +60,9 @@ class ProductPriceSeatBased(BaseModel): source: ProductPriceSource + price_currency: str + r"""The currency in which the customer will be charged.""" + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -75,9 +78,6 @@ class ProductPriceSeatBased(BaseModel): ), ] - price_currency: str - r"""The currency.""" - seat_tiers: ProductPriceSeatTiersOutput r"""List of pricing tiers for seat-based pricing. diff --git a/src/polar_sdk/models/productpriceseatbasedcreate.py b/src/polar_sdk/models/productpriceseatbasedcreate.py index f9a31927..1df697e4 100644 --- a/src/polar_sdk/models/productpriceseatbasedcreate.py +++ b/src/polar_sdk/models/productpriceseatbasedcreate.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from .productpriceseattiers_input import ( ProductPriceSeatTiersInput, ProductPriceSeatTiersInputTypedDict, @@ -24,8 +25,7 @@ class ProductPriceSeatBasedCreateTypedDict(TypedDict): - maximum_seats = last tier's max_seats (None for unlimited) """ amount_type: Literal["seat_based"] - price_currency: NotRequired[str] - r"""The currency. Currently, only `usd` is supported.""" + price_currency: NotRequired[PresentmentCurrency] class ProductPriceSeatBasedCreate(BaseModel): @@ -44,5 +44,4 @@ class ProductPriceSeatBasedCreate(BaseModel): pydantic.Field(alias="amount_type"), ] = "seat_based" - price_currency: Optional[str] = "usd" - r"""The currency. Currently, only `usd` is supported.""" + price_currency: Optional[PresentmentCurrency] = None diff --git a/src/polar_sdk/models/productupdate.py b/src/polar_sdk/models/productupdate.py index 1e6b0a85..c063b7d4 100644 --- a/src/polar_sdk/models/productupdate.py +++ b/src/polar_sdk/models/productupdate.py @@ -26,6 +26,7 @@ ProductPriceSeatBasedCreate, ProductPriceSeatBasedCreateTypedDict, ) +from .productvisibility import ProductVisibility from .subscriptionrecurringinterval import SubscriptionRecurringInterval from .trialinterval import TrialInterval from polar_sdk.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL @@ -108,6 +109,8 @@ class ProductUpdateTypedDict(TypedDict): 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.**""" is_archived: NotRequired[Nullable[bool]] r"""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: NotRequired[Nullable[ProductVisibility]] + r"""The visibility of the product.""" prices: NotRequired[Nullable[List[ProductUpdatePricesTypedDict]]] r"""List of available prices for this product. If you want to keep existing prices, include them in the list as an `ExistingProductPrice` object.""" medias: NotRequired[Nullable[List[str]]] @@ -154,6 +157,9 @@ class ProductUpdate(BaseModel): is_archived: OptionalNullable[bool] = UNSET r"""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[ProductVisibility] = UNSET + r"""The visibility of the product.""" + prices: OptionalNullable[List[ProductUpdatePrices]] = UNSET r"""List of available prices for this product. If you want to keep existing prices, include them in the list as an `ExistingProductPrice` object.""" @@ -173,6 +179,7 @@ def serialize_model(self, handler): "recurring_interval", "recurring_interval_count", "is_archived", + "visibility", "prices", "medias", "attached_custom_fields", @@ -185,6 +192,7 @@ def serialize_model(self, handler): "recurring_interval", "recurring_interval_count", "is_archived", + "visibility", "prices", "medias", "attached_custom_fields", diff --git a/src/polar_sdk/models/productvisibility.py b/src/polar_sdk/models/productvisibility.py new file mode 100644 index 00000000..6980cbf0 --- /dev/null +++ b/src/polar_sdk/models/productvisibility.py @@ -0,0 +1,10 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from enum import Enum + + +class ProductVisibility(str, Enum): + DRAFT = "draft" + PRIVATE = "private" + PUBLIC = "public" diff --git a/src/polar_sdk/models/scope.py b/src/polar_sdk/models/scope.py index 55ab1d68..93f805e3 100644 --- a/src/polar_sdk/models/scope.py +++ b/src/polar_sdk/models/scope.py @@ -58,13 +58,8 @@ class Scope(str, Enum): METRICS_READ = "metrics:read" WEBHOOKS_READ = "webhooks:read" WEBHOOKS_WRITE = "webhooks:write" - EXTERNAL_ORGANIZATIONS_READ = "external_organizations:read" LICENSE_KEYS_READ = "license_keys:read" LICENSE_KEYS_WRITE = "license_keys:write" - REPOSITORIES_READ = "repositories:read" - REPOSITORIES_WRITE = "repositories:write" - ISSUES_READ = "issues:read" - ISSUES_WRITE = "issues:write" CUSTOMER_PORTAL_READ = "customer_portal:read" CUSTOMER_PORTAL_WRITE = "customer_portal:write" NOTIFICATIONS_READ = "notifications:read" diff --git a/src/polar_sdk/models/seatassign.py b/src/polar_sdk/models/seatassign.py index 402158bd..2b19b384 100644 --- a/src/polar_sdk/models/seatassign.py +++ b/src/polar_sdk/models/seatassign.py @@ -20,6 +20,10 @@ class SeatAssignTypedDict(TypedDict): r"""External customer ID for the seat assignment""" customer_id: NotRequired[Nullable[str]] r"""Customer ID for the seat assignment""" + external_member_id: NotRequired[Nullable[str]] + r"""External member ID for the seat assignment. Only supported when member_model_enabled is true. Can be used alone (lookup existing member) or with email (create/validate member).""" + member_id: NotRequired[Nullable[str]] + r"""Member ID for the seat assignment. Only supported when member_model_enabled is true.""" metadata: NotRequired[Nullable[Dict[str, Any]]] r"""Additional metadata for the seat (max 10 keys, 1KB total)""" immediate_claim: NotRequired[bool] @@ -45,6 +49,12 @@ class SeatAssign(BaseModel): customer_id: OptionalNullable[str] = UNSET r"""Customer ID for the seat assignment""" + external_member_id: OptionalNullable[str] = UNSET + r"""External member ID for the seat assignment. Only supported when member_model_enabled is true. Can be used alone (lookup existing member) or with email (create/validate member).""" + + member_id: OptionalNullable[str] = UNSET + r"""Member ID for the seat assignment. Only supported when member_model_enabled is true.""" + metadata: OptionalNullable[Dict[str, Any]] = UNSET r"""Additional metadata for the seat (max 10 keys, 1KB total)""" @@ -60,6 +70,8 @@ def serialize_model(self, handler): "email", "external_customer_id", "customer_id", + "external_member_id", + "member_id", "metadata", "immediate_claim", ] @@ -70,6 +82,8 @@ def serialize_model(self, handler): "email", "external_customer_id", "customer_id", + "external_member_id", + "member_id", "metadata", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptionbillingperiodupdatedevent.py b/src/polar_sdk/models/subscriptionbillingperiodupdatedevent.py index 25607626..5240dcf4 100644 --- a/src/polar_sdk/models/subscriptionbillingperiodupdatedevent.py +++ b/src/polar_sdk/models/subscriptionbillingperiodupdatedevent.py @@ -34,6 +34,10 @@ class SubscriptionBillingPeriodUpdatedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: SubscriptionBillingPeriodUpdatedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class SubscriptionBillingPeriodUpdatedEvent(BaseModel): metadata: SubscriptionBillingPeriodUpdatedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class SubscriptionBillingPeriodUpdatedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptioncanceledevent.py b/src/polar_sdk/models/subscriptioncanceledevent.py index b3bbe629..3d85724c 100644 --- a/src/polar_sdk/models/subscriptioncanceledevent.py +++ b/src/polar_sdk/models/subscriptioncanceledevent.py @@ -34,6 +34,10 @@ class SubscriptionCanceledEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: SubscriptionCanceledMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class SubscriptionCanceledEvent(BaseModel): metadata: SubscriptionCanceledMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class SubscriptionCanceledEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptioncreatedevent.py b/src/polar_sdk/models/subscriptioncreatedevent.py index da7a68f0..8cd2f8f8 100644 --- a/src/polar_sdk/models/subscriptioncreatedevent.py +++ b/src/polar_sdk/models/subscriptioncreatedevent.py @@ -34,6 +34,10 @@ class SubscriptionCreatedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: SubscriptionCreatedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class SubscriptionCreatedEvent(BaseModel): metadata: SubscriptionCreatedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class SubscriptionCreatedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptioncustomer.py b/src/polar_sdk/models/subscriptioncustomer.py index 69493fc7..46ad4270 100644 --- a/src/polar_sdk/models/subscriptioncustomer.py +++ b/src/polar_sdk/models/subscriptioncustomer.py @@ -2,13 +2,14 @@ from __future__ import annotations from .address import Address, AddressTypedDict +from .customertype import CustomerType from .metadataoutputtype import MetadataOutputType, MetadataOutputTypeTypedDict from .taxidformat import TaxIDFormat 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 Dict, List, Union -from typing_extensions import TypeAliasType, TypedDict +from typing_extensions import NotRequired, TypeAliasType, TypedDict TaxIDTypedDict = TypeAliasType("TaxIDTypedDict", Union[str, TaxIDFormat]) @@ -40,6 +41,9 @@ class SubscriptionCustomerTypedDict(TypedDict): deleted_at: Nullable[datetime] r"""Timestamp for when the customer was soft deleted.""" avatar_url: str + type: NotRequired[Nullable[CustomerType]] + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + locale: NotRequired[Nullable[str]] class SubscriptionCustomer(BaseModel): @@ -78,15 +82,22 @@ class SubscriptionCustomer(BaseModel): avatar_url: str + type: OptionalNullable[CustomerType] = UNSET + r"""The type of customer: 'individual' for single users, 'team' for customers with multiple members. Legacy customers may have NULL type which is treated as 'individual'.""" + + locale: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type", "locale"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", + "locale", "deleted_at", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptioncycledevent.py b/src/polar_sdk/models/subscriptioncycledevent.py index b098ed78..83073a64 100644 --- a/src/polar_sdk/models/subscriptioncycledevent.py +++ b/src/polar_sdk/models/subscriptioncycledevent.py @@ -34,6 +34,10 @@ class SubscriptionCycledEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: SubscriptionCycledMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class SubscriptionCycledEvent(BaseModel): metadata: SubscriptionCycledMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class SubscriptionCycledEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptionproductupdatedevent.py b/src/polar_sdk/models/subscriptionproductupdatedevent.py index 5759b047..fadfe7bd 100644 --- a/src/polar_sdk/models/subscriptionproductupdatedevent.py +++ b/src/polar_sdk/models/subscriptionproductupdatedevent.py @@ -34,6 +34,10 @@ class SubscriptionProductUpdatedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: SubscriptionProductUpdatedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class SubscriptionProductUpdatedEvent(BaseModel): metadata: SubscriptionProductUpdatedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class SubscriptionProductUpdatedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptionrevokedevent.py b/src/polar_sdk/models/subscriptionrevokedevent.py index d8aca20d..519419c0 100644 --- a/src/polar_sdk/models/subscriptionrevokedevent.py +++ b/src/polar_sdk/models/subscriptionrevokedevent.py @@ -34,6 +34,10 @@ class SubscriptionRevokedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: SubscriptionRevokedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class SubscriptionRevokedEvent(BaseModel): metadata: SubscriptionRevokedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class SubscriptionRevokedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptions_listop.py b/src/polar_sdk/models/subscriptions_listop.py index 9ed817d2..21c854e4 100644 --- a/src/polar_sdk/models/subscriptions_listop.py +++ b/src/polar_sdk/models/subscriptions_listop.py @@ -28,6 +28,7 @@ from .ordersortproperty import OrderSortProperty from .productbillingtype import ProductBillingType from .productsortproperty import ProductSortProperty +from .productvisibility import ProductVisibility from .subscriptionsortproperty import SubscriptionSortProperty from .timeinterval import TimeInterval from datetime import datetime @@ -481,6 +482,8 @@ class ProductsListRequestTypedDict(TypedDict): r"""Filter on recurring products. If `true`, only subscriptions tiers are returned. If `false`, only one-time purchase products are returned.""" benefit_id: NotRequired[Nullable[BenefitIDFilterTypedDict]] r"""Filter products granting specific benefit.""" + visibility: NotRequired[Nullable[List[ProductVisibility]]] + r"""Filter by visibility.""" page: NotRequired[int] r"""Page number, defaults to 1.""" limit: NotRequired[int] @@ -528,6 +531,12 @@ class ProductsListRequest(BaseModel): ] = UNSET r"""Filter products granting specific benefit.""" + visibility: Annotated[ + OptionalNullable[List[ProductVisibility]], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""Filter by visibility.""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -561,6 +570,7 @@ def serialize_model(self, handler): "is_archived", "is_recurring", "benefit_id", + "visibility", "page", "limit", "sorting", @@ -573,6 +583,7 @@ def serialize_model(self, handler): "is_archived", "is_recurring", "benefit_id", + "visibility", "sorting", "metadata", ] @@ -1408,6 +1419,8 @@ class MetersQuantitiesRequestTypedDict(TypedDict): r"""End timestamp.""" interval: TimeInterval r"""Interval between two timestamps.""" + timezone: NotRequired[str] + r"""Timezone to use for the timestamps. Default is UTC.""" customer_id: NotRequired[ Nullable[MetersQuantitiesQueryParamCustomerIDFilterTypedDict] ] @@ -1444,6 +1457,12 @@ class MetersQuantitiesRequest(BaseModel): ] r"""Interval between two timestamps.""" + timezone: Annotated[ + Optional[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = "UTC" + r"""Timezone to use for the timestamps. Default is UTC.""" + customer_id: Annotated[ OptionalNullable[MetersQuantitiesQueryParamCustomerIDFilter], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -1471,6 +1490,7 @@ class MetersQuantitiesRequest(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ + "timezone", "customer_id", "external_customer_id", "customer_aggregation_function", diff --git a/src/polar_sdk/models/subscriptionseatsupdatedevent.py b/src/polar_sdk/models/subscriptionseatsupdatedevent.py index c0172bab..ed58b8a9 100644 --- a/src/polar_sdk/models/subscriptionseatsupdatedevent.py +++ b/src/polar_sdk/models/subscriptionseatsupdatedevent.py @@ -34,6 +34,10 @@ class SubscriptionSeatsUpdatedEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: SubscriptionSeatsUpdatedMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class SubscriptionSeatsUpdatedEvent(BaseModel): metadata: SubscriptionSeatsUpdatedMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class SubscriptionSeatsUpdatedEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/subscriptionuncanceledevent.py b/src/polar_sdk/models/subscriptionuncanceledevent.py index e0482d5e..9a9fa63b 100644 --- a/src/polar_sdk/models/subscriptionuncanceledevent.py +++ b/src/polar_sdk/models/subscriptionuncanceledevent.py @@ -34,6 +34,10 @@ class SubscriptionUncanceledEventTypedDict(TypedDict): label: str r"""Human readable label of the event type.""" metadata: SubscriptionUncanceledMetadataTypedDict + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class SubscriptionUncanceledEvent(BaseModel): metadata: SubscriptionUncanceledMetadata + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -93,11 +103,18 @@ class SubscriptionUncanceledEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/userevent.py b/src/polar_sdk/models/userevent.py index a262f694..19a15a42 100644 --- a/src/polar_sdk/models/userevent.py +++ b/src/polar_sdk/models/userevent.py @@ -33,6 +33,10 @@ class UserEventTypedDict(TypedDict): name: str r"""The name of the event.""" metadata: Dict[str, EventMetadataOutputTypedDict] + member_id: NotRequired[Nullable[str]] + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + external_member_id: NotRequired[Nullable[str]] + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" child_count: NotRequired[int] r"""Number of direct child events linked to this event.""" parent_id: NotRequired[Nullable[str]] @@ -70,6 +74,12 @@ class UserEvent(BaseModel): metadata: Dict[str, EventMetadataOutput] + member_id: OptionalNullable[str] = UNSET + r"""ID of the member within the customer's organization who performed the action inside B2B.""" + + external_member_id: OptionalNullable[str] = UNSET + r"""ID of the member in your system within the customer's organization who performed the action inside B2B.""" + child_count: Optional[int] = 0 r"""Number of direct child events linked to this event.""" @@ -84,11 +94,18 @@ class UserEvent(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["child_count", "parent_id"] + optional_fields = [ + "member_id", + "external_member_id", + "child_count", + "parent_id", + ] nullable_fields = [ "customer_id", "customer", "external_customer_id", + "member_id", + "external_member_id", "parent_id", ] null_default_fields = [] diff --git a/src/polar_sdk/models/validationerror.py b/src/polar_sdk/models/validationerror.py index d9760cca..cb976406 100644 --- a/src/polar_sdk/models/validationerror.py +++ b/src/polar_sdk/models/validationerror.py @@ -2,8 +2,8 @@ from __future__ import annotations from polar_sdk.types import BaseModel -from typing import List, Union -from typing_extensions import TypeAliasType, TypedDict +from typing import Any, List, Optional, Union +from typing_extensions import NotRequired, TypeAliasType, TypedDict LocTypedDict = TypeAliasType("LocTypedDict", Union[str, int]) @@ -12,10 +12,20 @@ Loc = TypeAliasType("Loc", Union[str, int]) +class ContextTypedDict(TypedDict): + pass + + +class Context(BaseModel): + pass + + class ValidationErrorTypedDict(TypedDict): loc: List[LocTypedDict] msg: str type: str + input: NotRequired[Any] + ctx: NotRequired[ContextTypedDict] class ValidationError(BaseModel): @@ -24,3 +34,7 @@ class ValidationError(BaseModel): msg: str type: str + + input: Optional[Any] = None + + ctx: Optional[Context] = None diff --git a/src/polar_sdk/models/webhookcheckoutexpiredpayload.py b/src/polar_sdk/models/webhookcheckoutexpiredpayload.py new file mode 100644 index 00000000..fefc7dc6 --- /dev/null +++ b/src/polar_sdk/models/webhookcheckoutexpiredpayload.py @@ -0,0 +1,49 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .checkout import Checkout, CheckoutTypedDict +from datetime import datetime +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 +from typing_extensions import Annotated, TypedDict + + +class WebhookCheckoutExpiredPayloadTypedDict(TypedDict): + r"""Sent when a checkout expires. + + This event fires when a checkout reaches its expiration time without being completed. + Developers can use this to send reminder emails or track checkout abandonment. + + **Discord & Slack support:** Basic + """ + + timestamp: datetime + data: CheckoutTypedDict + r"""Checkout session data retrieved using an access token.""" + type: Literal["checkout.expired"] + + +class WebhookCheckoutExpiredPayload(BaseModel): + r"""Sent when a checkout expires. + + This event fires when a checkout reaches its expiration time without being completed. + Developers can use this to send reminder emails or track checkout abandonment. + + **Discord & Slack support:** Basic + """ + + timestamp: datetime + + data: Checkout + r"""Checkout session data retrieved using an access token.""" + + TYPE: Annotated[ + Annotated[ + Literal["checkout.expired"], + AfterValidator(validate_const("checkout.expired")), + ], + pydantic.Field(alias="type"), + ] = "checkout.expired" diff --git a/src/polar_sdk/models/webhookeventtype.py b/src/polar_sdk/models/webhookeventtype.py index 1fbb6e60..4d9da48e 100644 --- a/src/polar_sdk/models/webhookeventtype.py +++ b/src/polar_sdk/models/webhookeventtype.py @@ -7,6 +7,7 @@ class WebhookEventType(str, Enum): CHECKOUT_CREATED = "checkout.created" CHECKOUT_UPDATED = "checkout.updated" + CHECKOUT_EXPIRED = "checkout.expired" CUSTOMER_CREATED = "customer.created" CUSTOMER_UPDATED = "customer.updated" CUSTOMER_DELETED = "customer.deleted" @@ -14,6 +15,9 @@ class WebhookEventType(str, Enum): CUSTOMER_SEAT_ASSIGNED = "customer_seat.assigned" CUSTOMER_SEAT_CLAIMED = "customer_seat.claimed" CUSTOMER_SEAT_REVOKED = "customer_seat.revoked" + MEMBER_CREATED = "member.created" + MEMBER_UPDATED = "member.updated" + MEMBER_DELETED = "member.deleted" ORDER_CREATED = "order.created" ORDER_UPDATED = "order.updated" ORDER_PAID = "order.paid" diff --git a/src/polar_sdk/models/webhookmembercreatedpayload.py b/src/polar_sdk/models/webhookmembercreatedpayload.py new file mode 100644 index 00000000..55113a10 --- /dev/null +++ b/src/polar_sdk/models/webhookmembercreatedpayload.py @@ -0,0 +1,52 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .member import Member, MemberTypedDict +from datetime import datetime +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 +from typing_extensions import Annotated, TypedDict + + +class WebhookMemberCreatedPayloadTypedDict(TypedDict): + r"""Sent when a new member is created. + + A member represents an individual within a customer (team). + This event is triggered when a member is added to a customer, + either programmatically via the API or when an owner is automatically + created for a new customer. + + **Discord & Slack support:** Basic + """ + + timestamp: datetime + data: MemberTypedDict + r"""A member of a customer.""" + type: Literal["member.created"] + + +class WebhookMemberCreatedPayload(BaseModel): + r"""Sent when a new member is created. + + A member represents an individual within a customer (team). + This event is triggered when a member is added to a customer, + either programmatically via the API or when an owner is automatically + created for a new customer. + + **Discord & Slack support:** Basic + """ + + timestamp: datetime + + data: Member + r"""A member of a customer.""" + + TYPE: Annotated[ + Annotated[ + Literal["member.created"], AfterValidator(validate_const("member.created")) + ], + pydantic.Field(alias="type"), + ] = "member.created" diff --git a/src/polar_sdk/models/webhookmemberdeletedpayload.py b/src/polar_sdk/models/webhookmemberdeletedpayload.py new file mode 100644 index 00000000..cba34fac --- /dev/null +++ b/src/polar_sdk/models/webhookmemberdeletedpayload.py @@ -0,0 +1,48 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .member import Member, MemberTypedDict +from datetime import datetime +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 +from typing_extensions import Annotated, TypedDict + + +class WebhookMemberDeletedPayloadTypedDict(TypedDict): + r"""Sent when a member is deleted. + + This event is triggered when a member is removed from a customer. + Any active seats assigned to the member will be automatically revoked. + + **Discord & Slack support:** Basic + """ + + timestamp: datetime + data: MemberTypedDict + r"""A member of a customer.""" + type: Literal["member.deleted"] + + +class WebhookMemberDeletedPayload(BaseModel): + r"""Sent when a member is deleted. + + This event is triggered when a member is removed from a customer. + Any active seats assigned to the member will be automatically revoked. + + **Discord & Slack support:** Basic + """ + + timestamp: datetime + + data: Member + r"""A member of a customer.""" + + TYPE: Annotated[ + Annotated[ + Literal["member.deleted"], AfterValidator(validate_const("member.deleted")) + ], + pydantic.Field(alias="type"), + ] = "member.deleted" diff --git a/src/polar_sdk/models/webhookmemberupdatedpayload.py b/src/polar_sdk/models/webhookmemberupdatedpayload.py new file mode 100644 index 00000000..9d2606f0 --- /dev/null +++ b/src/polar_sdk/models/webhookmemberupdatedpayload.py @@ -0,0 +1,48 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .member import Member, MemberTypedDict +from datetime import datetime +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 +from typing_extensions import Annotated, TypedDict + + +class WebhookMemberUpdatedPayloadTypedDict(TypedDict): + r"""Sent when a member is updated. + + This event is triggered when member details are updated, + such as their name or role within the customer. + + **Discord & Slack support:** Basic + """ + + timestamp: datetime + data: MemberTypedDict + r"""A member of a customer.""" + type: Literal["member.updated"] + + +class WebhookMemberUpdatedPayload(BaseModel): + r"""Sent when a member is updated. + + This event is triggered when member details are updated, + such as their name or role within the customer. + + **Discord & Slack support:** Basic + """ + + timestamp: datetime + + data: Member + r"""A member of a customer.""" + + TYPE: Annotated[ + Annotated[ + Literal["member.updated"], AfterValidator(validate_const("member.updated")) + ], + pydantic.Field(alias="type"), + ] = "member.updated" diff --git a/src/polar_sdk/polar_benefit_grants.py b/src/polar_sdk/polar_benefit_grants.py index da2d3328..60fcfe5e 100644 --- a/src/polar_sdk/polar_benefit_grants.py +++ b/src/polar_sdk/polar_benefit_grants.py @@ -17,6 +17,7 @@ def list( models.CustomerPortalBenefitGrantsListSecurity, models.CustomerPortalBenefitGrantsListSecurityTypedDict, ], + query: OptionalNullable[str] = UNSET, type_filter: OptionalNullable[ Union[ models.QueryParamBenefitTypeFilter, @@ -70,6 +71,7 @@ def list( **Scopes**: `customer_portal:read` `customer_portal:write` :param security: + :param query: Filter by benefit description. :param type_filter: Filter by benefit type. :param benefit_id: Filter by benefit ID. :param checkout_id: Filter by checkout ID. @@ -95,6 +97,7 @@ def list( base_url = self._get_url(base_url, url_variables) request = models.CustomerPortalBenefitGrantsListRequest( + query=query, type_filter=type_filter, benefit_id=benefit_id, checkout_id=checkout_id, @@ -165,6 +168,7 @@ def next_func() -> Optional[models.CustomerPortalBenefitGrantsListResponse]: return self.list( security=security, + query=query, type_filter=type_filter, benefit_id=benefit_id, checkout_id=checkout_id, @@ -206,6 +210,7 @@ async def list_async( models.CustomerPortalBenefitGrantsListSecurity, models.CustomerPortalBenefitGrantsListSecurityTypedDict, ], + query: OptionalNullable[str] = UNSET, type_filter: OptionalNullable[ Union[ models.QueryParamBenefitTypeFilter, @@ -259,6 +264,7 @@ async def list_async( **Scopes**: `customer_portal:read` `customer_portal:write` :param security: + :param query: Filter by benefit description. :param type_filter: Filter by benefit type. :param benefit_id: Filter by benefit ID. :param checkout_id: Filter by checkout ID. @@ -284,6 +290,7 @@ async def list_async( base_url = self._get_url(base_url, url_variables) request = models.CustomerPortalBenefitGrantsListRequest( + query=query, type_filter=type_filter, benefit_id=benefit_id, checkout_id=checkout_id, @@ -354,6 +361,7 @@ def next_func() -> Optional[models.CustomerPortalBenefitGrantsListResponse]: return self.list( security=security, + query=query, type_filter=type_filter, benefit_id=benefit_id, checkout_id=checkout_id, diff --git a/src/polar_sdk/polar_members.py b/src/polar_sdk/polar_members.py new file mode 100644 index 00000000..8903fe16 --- /dev/null +++ b/src/polar_sdk/polar_members.py @@ -0,0 +1,762 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from .basesdk import BaseSDK +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, List, Mapping, Optional, Union, cast + + +class PolarMembers(BaseSDK): + def list_members( + self, + *, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> List[models.CustomerPortalMember]: + r"""List Members + + List all members of the customer's team. + + Only available to owners and billing managers of team customers. + + :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) + req = self._build_request( + method="GET", + path="/v1/customer-portal/members", + base_url=base_url, + url_variables=url_variables, + request=None, + 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="customer_portal:members:list_members", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=["401", "403", "4XX", "5XX"], + retry_config=retry_config, + ) + + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(List[models.CustomerPortalMember], http_res) + if utils.match_response(http_res, ["401", "403", "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_members_async( + self, + *, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> List[models.CustomerPortalMember]: + r"""List Members + + List all members of the customer's team. + + Only available to owners and billing managers of team customers. + + :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) + req = self._build_request_async( + method="GET", + path="/v1/customer-portal/members", + base_url=base_url, + url_variables=url_variables, + request=None, + 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="customer_portal:members:list_members", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=["401", "403", "4XX", "5XX"], + retry_config=retry_config, + ) + + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(List[models.CustomerPortalMember], http_res) + if utils.match_response(http_res, ["401", "403", "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 add_member( + self, + *, + request: Union[ + models.CustomerPortalMemberCreate, + models.CustomerPortalMemberCreateTypedDict, + ], + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.CustomerPortalMember: + r"""Add Member + + Add a new member to the customer's team. + + Only available to owners and billing managers of team customers. + + Rules: + - Cannot add a member with the owner role (there must be exactly one owner) + - If a member with this email already exists, the existing member is returned + + :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.CustomerPortalMemberCreate) + request = cast(models.CustomerPortalMemberCreate, request) + + req = self._build_request( + method="POST", + path="/v1/customer-portal/members", + 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.CustomerPortalMemberCreate + ), + 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="customer_portal:members:add_member", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=["400", "401", "403", "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.CustomerPortalMember, 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, ["400", "401", "403", "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 add_member_async( + self, + *, + request: Union[ + models.CustomerPortalMemberCreate, + models.CustomerPortalMemberCreateTypedDict, + ], + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.CustomerPortalMember: + r"""Add Member + + Add a new member to the customer's team. + + Only available to owners and billing managers of team customers. + + Rules: + - Cannot add a member with the owner role (there must be exactly one owner) + - If a member with this email already exists, the existing member is returned + + :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.CustomerPortalMemberCreate) + request = cast(models.CustomerPortalMemberCreate, request) + + req = self._build_request_async( + method="POST", + path="/v1/customer-portal/members", + 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.CustomerPortalMemberCreate + ), + 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="customer_portal:members:add_member", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=["400", "401", "403", "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.CustomerPortalMember, 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, ["400", "401", "403", "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_member( + self, + *, + id: str, + customer_portal_member_update: Union[ + models.CustomerPortalMemberUpdate, + models.CustomerPortalMemberUpdateTypedDict, + ], + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.CustomerPortalMember: + r"""Update Member + + Update a member's role. + + Only available to owners and billing managers of team customers. + + Rules: + - Cannot modify your own role (to prevent self-demotion) + - Customer must have exactly one owner at all times + + :param id: + :param customer_portal_member_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.CustomerPortalMembersUpdateMemberRequest( + id=id, + customer_portal_member_update=utils.get_pydantic_model( + customer_portal_member_update, models.CustomerPortalMemberUpdate + ), + ) + + req = self._build_request( + method="PATCH", + path="/v1/customer-portal/members/{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.customer_portal_member_update, + False, + False, + "json", + models.CustomerPortalMemberUpdate, + ), + 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="customer_portal:members:update_member", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=["400", "401", "403", "404", "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.CustomerPortalMember, 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, ["400", "401", "403", "404", "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_member_async( + self, + *, + id: str, + customer_portal_member_update: Union[ + models.CustomerPortalMemberUpdate, + models.CustomerPortalMemberUpdateTypedDict, + ], + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.CustomerPortalMember: + r"""Update Member + + Update a member's role. + + Only available to owners and billing managers of team customers. + + Rules: + - Cannot modify your own role (to prevent self-demotion) + - Customer must have exactly one owner at all times + + :param id: + :param customer_portal_member_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.CustomerPortalMembersUpdateMemberRequest( + id=id, + customer_portal_member_update=utils.get_pydantic_model( + customer_portal_member_update, models.CustomerPortalMemberUpdate + ), + ) + + req = self._build_request_async( + method="PATCH", + path="/v1/customer-portal/members/{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.customer_portal_member_update, + False, + False, + "json", + models.CustomerPortalMemberUpdate, + ), + 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="customer_portal:members:update_member", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=["400", "401", "403", "404", "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.CustomerPortalMember, 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, ["400", "401", "403", "404", "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 remove_member( + 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"""Remove Member + + Remove a member from the team. + + Only available to owners and billing managers of team customers. + + Rules: + - Cannot remove yourself + - Cannot remove the only owner + + :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.CustomerPortalMembersRemoveMemberRequest( + id=id, + ) + + req = self._build_request( + method="DELETE", + path="/v1/customer-portal/members/{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="customer_portal:members:remove_member", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=["400", "401", "403", "404", "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, ["400", "401", "403", "404", "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 remove_member_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"""Remove Member + + Remove a member from the team. + + Only available to owners and billing managers of team customers. + + Rules: + - Cannot remove yourself + - Cannot remove the only owner + + :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.CustomerPortalMembersRemoveMemberRequest( + id=id, + ) + + req = self._build_request_async( + method="DELETE", + path="/v1/customer-portal/members/{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="customer_portal:members:remove_member", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + ), + request=req, + error_status_codes=["400", "401", "403", "404", "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, ["400", "401", "403", "404", "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_subscriptions.py b/src/polar_sdk/polar_subscriptions.py index b19d8f7e..5d2a1fce 100644 --- a/src/polar_sdk/polar_subscriptions.py +++ b/src/polar_sdk/polar_subscriptions.py @@ -537,8 +537,6 @@ def update( Update a subscription of the authenticated customer. - **Scopes**: `customer_portal:write` - :param security: :param id: The subscription ID. :param customer_subscription_update: @@ -658,8 +656,6 @@ async def update_async( Update a subscription of the authenticated customer. - **Scopes**: `customer_portal:write` - :param security: :param id: The subscription ID. :param customer_subscription_update: @@ -775,8 +771,6 @@ def cancel( Cancel a subscription of the authenticated customer. - **Scopes**: `customer_portal:write` - :param security: :param id: The subscription ID. :param retries: Override the default retry configuration for this method @@ -881,8 +875,6 @@ async def cancel_async( Cancel a subscription of the authenticated customer. - **Scopes**: `customer_portal:write` - :param security: :param id: The subscription ID. :param retries: Override the default retry configuration for this method diff --git a/src/polar_sdk/products.py b/src/polar_sdk/products.py index 83854208..1fb310d2 100644 --- a/src/polar_sdk/products.py +++ b/src/polar_sdk/products.py @@ -31,6 +31,7 @@ def list( benefit_id: OptionalNullable[ Union[models.BenefitIDFilter, models.BenefitIDFilterTypedDict] ] = UNSET, + visibility: OptionalNullable[List[models.ProductVisibility]] = UNSET, page: Optional[int] = 1, limit: Optional[int] = 10, sorting: OptionalNullable[List[models.ProductSortProperty]] = UNSET, @@ -57,6 +58,7 @@ def list( :param is_archived: Filter on archived products. :param is_recurring: Filter on recurring products. If `true`, only subscriptions tiers are returned. If `false`, only one-time purchase products are returned. :param benefit_id: Filter products granting specific benefit. + :param visibility: Filter by visibility. :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. @@ -83,6 +85,7 @@ def list( is_archived=is_archived, is_recurring=is_recurring, benefit_id=benefit_id, + visibility=visibility, page=page, limit=limit, sorting=sorting, @@ -151,6 +154,7 @@ def next_func() -> Optional[models.ProductsListResponse]: is_archived=is_archived, is_recurring=is_recurring, benefit_id=benefit_id, + visibility=visibility, page=next_page, limit=limit, sorting=sorting, @@ -199,6 +203,7 @@ async def list_async( benefit_id: OptionalNullable[ Union[models.BenefitIDFilter, models.BenefitIDFilterTypedDict] ] = UNSET, + visibility: OptionalNullable[List[models.ProductVisibility]] = UNSET, page: Optional[int] = 1, limit: Optional[int] = 10, sorting: OptionalNullable[List[models.ProductSortProperty]] = UNSET, @@ -225,6 +230,7 @@ async def list_async( :param is_archived: Filter on archived products. :param is_recurring: Filter on recurring products. If `true`, only subscriptions tiers are returned. If `false`, only one-time purchase products are returned. :param benefit_id: Filter products granting specific benefit. + :param visibility: Filter by visibility. :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. @@ -251,6 +257,7 @@ async def list_async( is_archived=is_archived, is_recurring=is_recurring, benefit_id=benefit_id, + visibility=visibility, page=page, limit=limit, sorting=sorting, @@ -319,6 +326,7 @@ def next_func() -> Optional[models.ProductsListResponse]: is_archived=is_archived, is_recurring=is_recurring, benefit_id=benefit_id, + visibility=visibility, page=next_page, limit=limit, sorting=sorting, diff --git a/src/polar_sdk/refunds.py b/src/polar_sdk/refunds.py index db08691d..4e5530b4 100644 --- a/src/polar_sdk/refunds.py +++ b/src/polar_sdk/refunds.py @@ -362,7 +362,7 @@ def create( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> Optional[models.Refund]: + ) -> models.Refund: r"""Create Refund Create a refund. @@ -430,10 +430,8 @@ def create( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): + if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.Refund, http_res) - if utils.match_response(http_res, "201", "*"): - return None if utils.match_response(http_res, "403", "application/json"): response_data = unmarshal_json_response( models.RefundedAlreadyData, http_res @@ -461,7 +459,7 @@ async def create_async( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> Optional[models.Refund]: + ) -> models.Refund: r"""Create Refund Create a refund. @@ -529,10 +527,8 @@ async def create_async( ) response_data: Any = None - if utils.match_response(http_res, "200", "application/json"): + if utils.match_response(http_res, "201", "application/json"): return unmarshal_json_response(models.Refund, http_res) - if utils.match_response(http_res, "201", "*"): - return None if utils.match_response(http_res, "403", "application/json"): response_data = unmarshal_json_response( models.RefundedAlreadyData, http_res