diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 261c778b..a9e14f9b 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: d678c96d4b4e8f986c043e1681311adf docVersion: 0.1.0 speakeasyVersion: 1.648.0 generationVersion: 2.737.0 - releaseVersion: 0.28.4 - configChecksum: bdab84a69d2bc20c9ee89012bd332685 + releaseVersion: 0.28.5 + configChecksum: 0d6268a3c81ba699fd1dcebb863eb3c9 repoURL: https://github.com/polarsource/polar-python.git installationURL: https://github.com/polarsource/polar-python.git published: true @@ -336,6 +336,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 +380,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 +477,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 +959,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 +1094,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 +1110,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 +1171,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 +1386,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 +1453,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 +1462,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 +1498,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 +1797,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 +1887,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 +1903,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 +1939,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 +1975,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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +1984,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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +1993,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 +2002,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 +2011,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 +2020,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 +2029,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 +2038,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 +2047,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 +2056,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 +2065,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": "usd", "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": "usd", "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": "usd", "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 +2074,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": "usd", "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 +2083,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": "usd", "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": "usd", "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": "usd", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": []}} responses: "200": application/json: "" @@ -2066,7 +2092,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": "usd", "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": "usd", "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": "usd", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "meters": []}} responses: "200": application/json: "" @@ -2075,7 +2101,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": "usd", "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": "usd", "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 +2110,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 +2137,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": "usd", "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": "usd", "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": "usd", "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 +2146,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": "usd", "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": "usd", "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": "usd", "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 +2155,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": "usd", "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}, "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 +2232,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": "usd", "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}, "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 +2242,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": "usd", "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}, "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 +2256,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": "usd", "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}, "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 +2272,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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +2292,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": "usd", "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": "usd", "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 +2306,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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +2322,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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +2376,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 +2398,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 +2506,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": "usd", "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": "usd", "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": "usd", "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 +2516,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": "usd", "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": "usd", "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": "usd", "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 +2530,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": "usd", "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 +2546,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": "usd", "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 +2562,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 +2572,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": @@ -2597,7 +2623,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2025-12-02T21:32:42.156Z", "payment_processor": "stripe", "status": "succeeded", "client_secret": "", "url": "https://punctual-guacamole.org", "expires_at": "2023-08-19T15:22:33.462Z", "success_url": "https://biodegradable-coal.com", "return_url": "https://definite-finer.org/", "embed_origin": "", "amount": 780504, "discount_amount": 766358, "net_amount": 630886, "tax_amount": 936353, "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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: @@ -2606,7 +2632,7 @@ examples: application/json: {"allow_discount_codes": true, "require_billing_address": false, "allow_trial": true, "is_business_customer": false, "customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +2642,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": "usd", "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": "usd", "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": "usd", "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": @@ -2630,7 +2656,7 @@ examples: application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}} 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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +2670,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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": @@ -2660,7 +2686,7 @@ examples: application/json: {"customer_name": "John Doe", "customer_billing_address": null, "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": @@ -2678,7 +2704,7 @@ examples: application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +2822,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 +2838,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 +2853,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 +2869,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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +2888,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 +2902,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": "usd", "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": "usd", "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 +3002,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 +3016,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 +3050,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"], "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 +3065,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 +3078,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"], "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 +3107,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": @@ -3097,7 +3123,7 @@ examples: application/json: {"email": "customer@example.com", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"]} 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 +3147,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 +3159,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 +3208,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 +3318,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 +3329,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 +3340,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 +3365,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 +3375,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": "usd", "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": "usd", "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 +3399,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": "usd", "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": "usd", "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": "usd", "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 +3413,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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +3423,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": "usd", "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": "usd", "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": "usd", "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 +3437,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": "usd", "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": "usd", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": []} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -3425,7 +3451,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": "usd", "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": "usd", "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": "usd", "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": "usd", "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 +3464,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 +3568,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 +3595,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 +3633,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 +3659,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": "usd", "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 +3799,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 +3810,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 +3915,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 +3925,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 +3935,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": "usd", "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 +3964,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 +3981,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 +3991,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 +4010,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 +4025,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 +4034,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 +4046,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": "usd", "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 +4198,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 +4241,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 +4285,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: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: {} + customer_portal:members:remove_member: + speakeasy-default-customer-portal:members:remove-member: + parameters: + path: + id: "b61c5e87-cda5-4b14-93ee-71a695f42d9d" + responses: + "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": "usd", "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": "usd", "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.checkouts.client_update()`: `response.products.[]` **Changed** **Breaking** :warning:\n* `polar.products.list()`: \n * `request.visibility` **Added**\n * `response.items.[]` **Changed** **Breaking** :warning:\n* `polar._endpointorder_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointorder_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointorder_paid_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointcheckout_created_post()`: \n * `request.data.products.[]` **Changed** **Breaking** :warning:\n* `polar.customer_portal.subscriptions.update()`: `response.product` **Changed** **Breaking** :warning:\n* `polar.customer_portal.subscriptions.cancel()`: `response.product` **Changed** **Breaking** :warning:\n* `polar.customer_portal.subscriptions.get()`: `response.product` **Changed** **Breaking** :warning:\n* `polar.customer_portal.subscriptions.list()`: `response.items.[].product` **Changed** **Breaking** :warning:\n* `polar.customer_portal.organizations.get()`: `response` **Changed** **Breaking** :warning:\n* `polar.customer_portal.orders.update()`: `response.product` **Changed** **Breaking** :warning:\n* `polar.customer_portal.orders.get()`: `response.product` **Changed** **Breaking** :warning:\n* `polar.checkouts.client_get()`: `response.products.[]` **Changed** **Breaking** :warning:\n* `polar.customer_portal.orders.list()`: `response.items.[].product` **Changed** **Breaking** :warning:\n* `polar.customer_portal.seats.list_claimed_subscriptions()`: `response.[].product` **Changed** **Breaking** :warning:\n* `polar.checkout-links.update()`: `response.products.[]` **Changed** **Breaking** :warning:\n* `polar._endpointorder_refunded_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_active_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_canceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_uncanceled_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_revoked_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_past_due_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointproduct_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointproduct_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointorganization_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar.checkout-links.get()`: `response.products.[]` **Changed** **Breaking** :warning:\n* `polar.checkout-links.create()`: `response.products.[]` **Changed** **Breaking** :warning:\n* `polar.checkout-links.list()`: `response.items.[].products.[]` **Changed** **Breaking** :warning:\n* `polar.checkouts.client_confirm()`: `response.products.[]` **Changed** **Breaking** :warning:\n* `polar._endpointcheckout_updated_post()`: \n * `request.data.products.[]` **Changed** **Breaking** :warning:\n* `polar.checkouts.create()`: \n * `request.prices.{}.[]` **Changed** **Breaking** :warning:\n * `response.products.[]` **Changed** **Breaking** :warning:\n* `polar.checkouts.get()`: `response.products.[]` **Changed** **Breaking** :warning:\n* `polar.checkouts.update()`: `response.products.[]` **Changed** **Breaking** :warning:\n* `polar.checkouts.list()`: `response.items.[].products.[]` **Changed** **Breaking** :warning:\n* `polar.products.update_benefits()`: `response` **Changed** **Breaking** :warning:\n* `polar.products.update()`: \n * `request.product_update` **Changed** **Breaking** :warning:\n * `response` **Changed** **Breaking** :warning:\n* `polar.subscriptions.list()`: `response.items.[]` **Changed** **Breaking** :warning:\n* `polar.subscriptions.create()`: `response` **Changed** **Breaking** :warning:\n* `polar.subscriptions.get()`: `response` **Changed** **Breaking** :warning:\n* `polar.subscriptions.revoke()`: `response` **Changed** **Breaking** :warning:\n* `polar.subscriptions.update()`: `response` **Changed** **Breaking** :warning:\n* `polar.products.get()`: `response` **Changed** **Breaking** :warning:\n* `polar.products.create()`: \n * `request` **Changed** **Breaking** :warning:\n * `response` **Changed** **Breaking** :warning:\n* `polar._endpointcustomer_created_post()`: \n * `request.data.type` **Added**\n* `polar.customers.get_state_external()`: `response` **Changed**\n* `polar.benefit-grants.list()`: `response.items.[]` **Changed**\n* `polar.benefits.grants()`: `response.items.[]` **Changed**\n* `polar.organizations.update()`: \n * `request.organization_update` **Changed**\n * `response` **Changed**\n* `polar.organizations.get()`: `response` **Changed**\n* `polar.orders.list()`: `response.items.[]` **Changed**\n* `polar.orders.get()`: `response` **Changed**\n* `polar.orders.update()`: `response` **Changed**\n* `polar.organizations.create()`: \n * `request` **Changed**\n * `response` **Changed**\n* `polar.organizations.list()`: `response.items.[]` **Changed**\n* `polar._endpointbenefit_grant_revoked_post()`: \n * `request.data` **Changed**\n* `polar._endpointbenefit_grant_cycled_post()`: \n * `request.data` **Changed**\n* `polar._endpointbenefit_grant_updated_post()`: \n * `request.data` **Changed**\n* `polar.customer-sessions.create()`: `response.customer.type` **Added**\n* `polar._endpointbenefit_grant_created_post()`: \n * `request.data` **Changed**\n* `polar.license_keys.list()`: `response.items.[].customer.type` **Added**\n* `polar.license_keys.get()`: `response.customer.type` **Added**\n* `polar.license_keys.update()`: `response.customer.type` **Added**\n* `polar.license_keys.get_activation()`: `response.license_key.customer.type` **Added**\n* `polar.license_keys.validate()`: `response.customer.type` **Added**\n* `polar.license_keys.activate()`: `response.license_key.customer.type` **Added**\n* `polar._endpointcustomer_seat_revoked_post()`: \n * `request.data.member` **Added**\n* `polar._endpointcustomer_seat_claimed_post()`: \n * `request.data.member` **Added**\n* `polar._endpointcustomer_seat_assigned_post()`: \n * `request.data.member` **Added**\n* `polar._endpointcustomer_state_changed_post()`: \n * `request.data` **Changed**\n* `polar.discounts.list()`: `response.items.[].[discount_fixed_once_forever_duration].products.[].visibility` **Added**\n* `polar.discounts.create()`: `response.[discount_fixed_once_forever_duration].products.[].visibility` **Added**\n* `polar.discounts.get()`: `response.[discount_percentage_once_forever_duration].products.[].visibility` **Added**\n* `polar.discounts.update()`: `response.[discount_fixed_once_forever_duration].products.[].visibility` **Added**\n* `polar.customers.list()`: `response.items.[].type` **Added**\n* `polar.customers.create()`: \n * `request.type` **Added**\n * `response.type` **Added**\n* `polar.customers.get()`: `response.type` **Added**\n* `polar.customers.update()`: \n * `request.customer_update.type` **Added**\n * `response.type` **Added**\n* `polar.customers.get_external()`: `response.type` **Added**\n* `polar.customers.update_external()`: `response.type` **Added**\n* `polar.customers.get_state()`: `response` **Changed**\n* `polar.webhooks.list_webhook_deliveries()`: `request.event_type` **Changed**\n* `polar.customer_portal.benefit-grants.list()`: \n * `request.query` **Added**\n * `response.items.[]` **Changed**\n* `polar.customer_portal.benefit-grants.get()`: `response` **Changed**\n* `polar.customer_portal.benefit-grants.update()`: `response` **Changed**\n* `polar.customer_portal.customers.get()`: `response.type` **Added**\n* `polar.customer_portal.customers.update()`: `response.type` **Added**\n* `polar.customer_portal.seats.list_seats()`: `response.seats.[].member` **Added**\n* `polar.customer_portal.seats.assign_seat()`: \n * `request` **Changed**\n * `response.member` **Added**\n* `polar.customer_portal.seats.revoke_seat()`: `response.member` **Added**\n* `polar.customer_portal.seats.resend_invitation()`: `response.member` **Added**\n* `polar._endpointcustomer_deleted_post()`: \n * `request.data.type` **Added**\n* `polar.customer_portal.customer-session.get_authenticated_user()`: `response.member_id` **Added**\n* `polar.customer_portal.license_keys.list()`: `response.items.[].customer.type` **Added**\n* `polar.customer_portal.license_keys.get()`: `response.customer.type` **Added**\n* `polar.customer_portal.license_keys.validate()`: `response.customer.type` **Added**\n* `polar.customer_portal.license_keys.activate()`: `response.license_key.customer.type` **Added**\n* `polar._endpointcustomer_updated_post()`: \n * `request.data.type` **Added**\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.customer_portal.members.list_members()`: **Added**\n* `polar._endpointmember_deleted_post()`: **Added**\n* `polar._endpointmember_updated_post()`: **Added**\n* `polar._endpointmember_created_post()`: **Added**\n* `polar.customer-seats.list_seats()`: `response.seats.[].member` **Added**\n* `polar.customer-seats.assign_seat()`: \n * `request` **Changed**\n * `response.member` **Added**\n* `polar.customer-seats.revoke_seat()`: `response.member` **Added**\n* `polar.customer-seats.resend_invitation()`: `response.member` **Added**\n* `polar.customer-seats.claim_seat()`: `response.seat.member` **Added**\n* `polar._endpointcheckout_expired_post()`: **Added**\n* `polar.member-sessions.create()`: `response.customer.type` **Added**\n* `polar.events.list()`: `response.[list_resource_event_].items.[]` **Changed**\n* `polar.events.get()`: `response` **Changed**\n* `polar.events.ingest()`: \n * `request.events.[]` **Changed**\n* `polar.meters.quantities()`: `request.timezone` **Added**\n* `polar.customer_meters.list()`: `response.items.[].customer.type` **Added**\n* `polar.customer_meters.get()`: `response.customer.type` **Added**\n" trackedFiles: .devcontainer/README.md: last_write_checksum: sha1:e2a191a1fa8ceb27387eb32eabf36f7ad16a532c @@ -4294,11 +4376,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,31 +4406,31 @@ 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 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:906853ecaff8e2d76ce92cfa4725eb42480a74da docs/models/balancerefundevent.md: - last_write_checksum: sha1:f206a1ce6a834560fc76a1b9ab9eee54e5ff482e + last_write_checksum: sha1:43e463eda721d22433872d7cf3850e9695646059 docs/models/balancerefundmetadata.md: last_write_checksum: sha1:c490a39ba4b11bfd8d81fe8ee7f1fbaf91de8a52 docs/models/balancerefundreversalevent.md: - last_write_checksum: sha1:8d5dc8da15e12df826beb9745a02dbae5b60d581 + last_write_checksum: sha1:ac217e04576ef35fd7f38f4346171160e2f65a43 docs/models/benefit.md: last_write_checksum: sha1:238607ced01aeb17fe69b91f04ee98cf32eac883 docs/models/benefitcreate.md: @@ -4372,7 +4454,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 +4512,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 +4526,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 +4536,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 +4604,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 +4630,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,7 +4654,7 @@ 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: @@ -4590,7 +4672,7 @@ trackedFiles: 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 +4714,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,7 +4742,7 @@ 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: @@ -4760,35 +4842,35 @@ trackedFiles: docs/models/cursorpagination.md: last_write_checksum: sha1:fa2063f2776d648ede7081386c040aa2fece5cad docs/models/customer.md: - last_write_checksum: sha1:fac8f25554e0ad7fd5fb3175aa88bbf1152fe172 + last_write_checksum: sha1:4a1113293fa9ae2accf2242ce1ed9f7d7ca90fc2 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 +4880,9 @@ trackedFiles: docs/models/customercancellationreason.md: last_write_checksum: sha1:dce3caa4e9c3ba6f34cec860553f6b43153a23a0 docs/models/customercreate.md: - last_write_checksum: sha1:7ad8ce46b9309f98b35c07b5846948aff88c3f9c + last_write_checksum: sha1:65155886035a48fa700f70d1cedc51890cc82a2f 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 +4898,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 +4936,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 +4946,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 +4972,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 +4982,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 +5037,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 +5140,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 +5148,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 +5188,7 @@ trackedFiles: docs/models/customersortproperty.md: last_write_checksum: sha1:2672b02c99477c6fc00f52ae9fa4065eb74e03df docs/models/customerstate.md: - last_write_checksum: sha1:684e3703ba5408c4c218436488e14caccf21f497 + last_write_checksum: sha1:b1488f71ffcbf72968b1bb5faade0cd232fea327 docs/models/customerstatebenefitgrant.md: last_write_checksum: sha1:5cf765aa45669dbae8ca5456efc6d03c1f8ca7ec docs/models/customerstatebenefitgrantproperties.md: @@ -5102,7 +5196,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 +5214,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 +5231,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:4752b0f2402c7a216dfe819d6705c2908b6da003 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 +5244,7 @@ trackedFiles: docs/models/customerupdatedmetadata.md: last_write_checksum: sha1:83744c6a651b2fcc9b794f2772b988789d2ef5df docs/models/customerupdateexternalid.md: - last_write_checksum: sha1:7125e1fc964711884009cf5d73f853cafa81b7d6 + last_write_checksum: sha1:a2222d42e60d4fff14e918aa8e67d3ea4707138a docs/models/customerupdateexternalidmetadata.md: last_write_checksum: sha1:225fc57279cb71b029f06bdb4a5cbe928810612a docs/models/customerupdateexternalidtaxid.md: @@ -5162,7 +5258,7 @@ trackedFiles: docs/models/customerwalletsortproperty.md: last_write_checksum: sha1:2bffc9516e29a1c719e0ad7c9cc0b98cb7a2ef98 docs/models/customerwithmembers.md: - last_write_checksum: sha1:f15cb8fc6755b208a3ca77d06340fa33565e89ae + last_write_checksum: sha1:c46ac9470201c4ce51eaa47e6a1fb3eccc609445 docs/models/customerwithmemberstaxid.md: last_write_checksum: sha1:84ca2f92d4ffe8ea194be5e82f6b2f876899ba23 docs/models/customfield.md: @@ -5294,7 +5390,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 +5436,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 +5572,11 @@ trackedFiles: docs/models/legacyrecurringproductprice.md: last_write_checksum: sha1:9d82f03d36e6bfbc8d648c7f92cadd6204230bc5 docs/models/legacyrecurringproductpricecustom.md: - last_write_checksum: sha1:1d65e88778c5b42ac0f51f045457b2ef67ff62e8 + last_write_checksum: sha1:2a756167cccfdce5722f34a4167aa271a48a51ed docs/models/legacyrecurringproductpricefixed.md: - last_write_checksum: sha1:8beac730d244e1318275c2eed403ff5bde4b7ac5 + last_write_checksum: sha1:7cd952b938f01b6dc75ed7fefc61753f70f8613a docs/models/legacyrecurringproductpricefree.md: - last_write_checksum: sha1:04c514c578fe237a204d6f64892107404f80bf5c + last_write_checksum: sha1:d556fcdedcb138a7658a09eaf4c8e788e171124d docs/models/licensekeyactivate.md: last_write_checksum: sha1:3e8a8683daaaf9323b5907ae0c4596d806643f62 docs/models/licensekeyactivateconditions.md: @@ -5494,7 +5590,7 @@ trackedFiles: docs/models/licensekeyactivationreadmeta.md: last_write_checksum: sha1:04c6c266c45dba0b3d18e64b4a7202fbbfc5533e docs/models/licensekeycustomer.md: - last_write_checksum: sha1:b1d1c4a5d205a1b46f132baae1c4e5b33b1f3686 + last_write_checksum: sha1:063ba36186843b4f4c4e4e9b0cd043ed11841b3c docs/models/licensekeycustomertaxid.md: last_write_checksum: sha1:17f958a0d1a86b1370561ba966159f1fb2dc2f77 docs/models/licensekeydeactivate.md: @@ -5640,7 +5736,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 +5744,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 +5762,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 +5940,7 @@ trackedFiles: docs/models/orderbillingreason.md: last_write_checksum: sha1:b75aab93cd92ad6ac1b7b59f4775bc01dbac93ca docs/models/ordercustomer.md: - last_write_checksum: sha1:8023cdcfadc4b6c612b6ce51d73853148f3745e6 + last_write_checksum: sha1:6179011071e95a84bf88c51ceb78de71aa69bd71 docs/models/ordercustomertaxid.md: last_write_checksum: sha1:2b00fc78c61f7408167a1d75173b7882d6adad2e docs/models/ordercustomfielddata.md: @@ -5860,13 +5956,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 +6004,7 @@ trackedFiles: docs/models/orderupdate.md: last_write_checksum: sha1:9933b2328bea2295842086aaea9aebf2909be782 docs/models/organization.md: - last_write_checksum: sha1:44c19e03006afff14e9247b5299db34a71c51217 + last_write_checksum: sha1:939e36d75565ae8659a35af83763b5288a5e0ca6 docs/models/organizationaccesstoken.md: last_write_checksum: sha1:9904324b19b1ebfd3118b57e94ef7f0137be3139 docs/models/organizationaccesstokencreate.md: @@ -5934,7 +6030,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 +6038,7 @@ trackedFiles: docs/models/organizationdetails.md: last_write_checksum: sha1:4035786e9b89cd7ebdd8fa44feec92c38005738d docs/models/organizationfeaturesettings.md: - last_write_checksum: sha1:782bb43405ddc45c47c58978b22a89e02ee7121d + last_write_checksum: sha1:dd366b04f167cb6b23f1dc87b7520d72a0558dbc docs/models/organizationid.md: last_write_checksum: sha1:5adf4fb1a723f361ac66da12542fedbe34fd9e5d docs/models/organizationidfilter.md: @@ -5968,7 +6064,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 +6108,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:0e64eb91317cb9764cacb8222fe2f7c94c7ed2b4 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 +6124,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 +6144,27 @@ trackedFiles: docs/models/productprice.md: last_write_checksum: sha1:54252dc04b8dce358f89a2a3bf8ec394d4d5499d docs/models/productpricecustom.md: - last_write_checksum: sha1:1e6db2e620a684112665f9cea3cdc838b88512e8 + last_write_checksum: sha1:64cd58880a2aa98c2e49884c27e3ca6df399360c 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:d3b74448d18984e2cc83bec6f2c41bed3aa06e50 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:78349d7bfdca58fb773b3ab4c07e7c7f21bbaf23 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:1a5c70da44520445fd2d5e33e0c54240c676fd76 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:43a2015a078367946e1a7f06696f8c8b9877ad6a 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 +6180,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 +6190,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 +6292,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 +6314,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 +6334,9 @@ trackedFiles: docs/models/subscriptioncreateexternalcustomermetadata.md: last_write_checksum: sha1:85e1b41fa20c903f06f408a26e86b33224ddf631 docs/models/subscriptioncustomer.md: - last_write_checksum: sha1:a3d8fa3b2141d33770389da34878502d268093b6 + last_write_checksum: sha1:2f1a6321651662468a6ee83e83357f7b447fcb19 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 +6350,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 +6360,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 +6386,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 +6438,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: @@ -6367,6 +6465,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 +6494,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: @@ -6464,7 +6570,7 @@ trackedFiles: docs/sdks/customermeters/README.md: last_write_checksum: sha1:b90c86939a9133539681534059241026b501c783 docs/sdks/customers/README.md: - last_write_checksum: sha1:1c767c3657ee33ce7a1fdc27b7fb6f53ce0bf65c + last_write_checksum: sha1:4a449aa2b2dd5051302dd1b04d80d26a1a441081 docs/sdks/customerseats/README.md: last_write_checksum: sha1:9511d6a050ff7b4b46b039240ad997ed8b290d5f docs/sdks/customersessions/README.md: @@ -6492,7 +6598,7 @@ trackedFiles: 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: @@ -6506,21 +6612,23 @@ trackedFiles: 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:4b2f477267ea65fbc74a2e8e2a4a81eb2ed1a3d3 docs/sdks/polarorders/README.md: last_write_checksum: sha1:cdfc3a1fc0d7dddd238014b0bcda583930fc31dc docs/sdks/polarorganizations/README.md: last_write_checksum: sha1:a66f3e70e90bcafd1d61bed65d5dd4e98750fc3d docs/sdks/polarsubscriptions/README.md: - last_write_checksum: sha1:fc28dd3376a8bcf7c3bf65aa18c5a985e7fd01a7 + last_write_checksum: sha1:bec8718f34daa8b85de69c2417ff81b2df3de273 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 docs/sdks/seats/README.md: @@ -6536,9 +6644,9 @@ trackedFiles: 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,7 +6660,7 @@ 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:3b4193579e3beafde690cbc1c3f1cec0bfdbc33d src/polar_sdk/basesdk.py: last_write_checksum: sha1:3c3d1fd3866d63b09412c7ada0ed05b82b7513b2 src/polar_sdk/benefit_grants.py: @@ -6570,7 +6678,7 @@ trackedFiles: 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 src/polar_sdk/customer_session_sdk.py: @@ -6600,11 +6708,11 @@ trackedFiles: src/polar_sdk/members.py: last_write_checksum: sha1:9f9ec0bd8e71d92a34bbfbdf6829017084b154a5 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:fb1853092baeab5728053056f67774109911b520 src/polar_sdk/models/address.py: last_write_checksum: sha1:3373863e2888cd8a04df391b499ca249230ae91e src/polar_sdk/models/addressdict.py: @@ -6632,27 +6740,27 @@ trackedFiles: 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:323451d1678a72581169acc7d1a041f1f19074c6 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:e04df8669491624b5635707fb9ae0f71b43bbca8 src/polar_sdk/models/balancedisputemetadata.py: last_write_checksum: sha1:52894d6eacdee69091d0a35e4a1804ca5ec7df8f src/polar_sdk/models/balancedisputereversalevent.py: - last_write_checksum: sha1:188490fa196bbadf7b22f1d460b9fcefcca1d05d + last_write_checksum: sha1:e22a3a5cd420dabba767fe82a10e5709aa5f8f5f src/polar_sdk/models/balanceorderevent.py: - last_write_checksum: sha1:fe6a7207a967fe25ad29b864b22e9d7434ff5af9 + last_write_checksum: sha1:df0aa9ced4b7487841964c3a306c1d648616b878 src/polar_sdk/models/balanceordermetadata.py: - last_write_checksum: sha1:3c776be2f88f6215108353d32702f1fd4b673419 + last_write_checksum: sha1:ed095af35806d96a608b44fa650e2522d5d162a4 src/polar_sdk/models/balancerefundevent.py: - last_write_checksum: sha1:62be2618d5f93ebcdc9e7d9e67b00e4b93c86d1d + last_write_checksum: sha1:47dc9055a00c8d4b3ee937f9c3c3c324d2591aeb src/polar_sdk/models/balancerefundmetadata.py: last_write_checksum: sha1:dbb7bbd90c76df1756f23d31c41b26d2a4a76644 src/polar_sdk/models/balancerefundreversalevent.py: - last_write_checksum: sha1:b6a743dd11a7b45914612a91c0934669d10ced35 + last_write_checksum: sha1:fd53f8d0d7fc2ade5bc894de1ac4f1ef7db6c482 src/polar_sdk/models/benefit.py: last_write_checksum: sha1:09ff85dfdc946b035f96060cb70bee2f7d28c15f src/polar_sdk/models/benefit_grants_listop.py: @@ -6674,7 +6782,7 @@ trackedFiles: src/polar_sdk/models/benefitcustomupdate.py: last_write_checksum: sha1:8b12bc2b280954419e60e01a808ef3b31e12f351 src/polar_sdk/models/benefitcycledevent.py: - last_write_checksum: sha1:61617790b9b22147121056ddd249f0be777053a8 + last_write_checksum: sha1:dbffe8020235afa2c1b0b288a9ad3146eb66f57e src/polar_sdk/models/benefitdiscord.py: last_write_checksum: sha1:00dd24f7f0a04998b3c91f918e8e4b90d2d388ee src/polar_sdk/models/benefitdiscordcreate.py: @@ -6718,7 +6826,7 @@ trackedFiles: src/polar_sdk/models/benefitgithubrepositoryupdate.py: last_write_checksum: sha1:c66627085c89aaedb5ca9cb8351aadee55095983 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 +6840,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:4fb77cbcc5860019570a56d24be12956532edd25 src/polar_sdk/models/benefitgranterror.py: last_write_checksum: sha1:2e34733f98d3fd4ac076bd4ae95caf9172adcd5a src/polar_sdk/models/benefitgrantgithubrepositoryproperties.py: @@ -6740,7 +6848,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: @@ -6790,7 +6898,7 @@ trackedFiles: 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:84d3302328219a826c043838980b34bc1b6c6cc0 src/polar_sdk/models/benefits_deleteop.py: last_write_checksum: sha1:534af1aec48c7c344b132a1d0c1de6b08438e7db src/polar_sdk/models/benefits_getop.py: @@ -6806,7 +6914,7 @@ 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:490d84a82365d67ceb7220595eca7ec24d5f75d4 src/polar_sdk/models/billingaddressfieldmode.py: last_write_checksum: sha1:9cf3221bdf95c98300c69a39ab39393a69447613 src/polar_sdk/models/cardpayment.py: @@ -6830,7 +6938,7 @@ trackedFiles: src/polar_sdk/models/checkoutcreate.py: last_write_checksum: sha1:4d021e6e423b9946e265db39b255814c435edb2c src/polar_sdk/models/checkoutcreatedevent.py: - last_write_checksum: sha1:c6c11eae840c2f671972b18338e11fdd19de08d9 + last_write_checksum: sha1:c466eb45435a7be0ca012cadd01f215846cc5f46 src/polar_sdk/models/checkoutcreatedmetadata.py: last_write_checksum: sha1:949abbbac272a6a5c3f76283193a1908dc6b6c54 src/polar_sdk/models/checkoutdiscountfixedonceforeverduration.py: @@ -6854,7 +6962,7 @@ trackedFiles: src/polar_sdk/models/checkoutlinkcreateproducts.py: last_write_checksum: sha1:9d0768d0479cf254143d35e1883eebfd3eb4fcb6 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,7 +6970,7 @@ 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 src/polar_sdk/models/checkoutpublicconfirmed.py: @@ -6904,7 +7012,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:85966f51bc761a979a464e257d5bc91c69325db1 src/polar_sdk/models/customer_meters_getop.py: last_write_checksum: sha1:cf9ea34cba6706991da057ed07cfd3298616e06b src/polar_sdk/models/customer_meters_listop.py: @@ -6912,7 +7020,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 +7049,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,31 +7104,31 @@ 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 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 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 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 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 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 src/polar_sdk/models/customerbenefitgrantsortproperty.py: @@ -7026,9 +7138,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:e30febb4b819d877e05a384b115214b5dcb4bd53 src/polar_sdk/models/customercreatedevent.py: - last_write_checksum: sha1:e837512b9056caea350c785157bbfb0cf2dc0697 + last_write_checksum: sha1:ac554592a5603a0a045220fd47347ce02313605d src/polar_sdk/models/customercreatedmetadata.py: last_write_checksum: sha1:e93bf92251aaaf555e17db7e1ffa6c76daf3216d src/polar_sdk/models/customercustomermeter.py: @@ -7040,7 +7152,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:e52873eb401a941ef3533389bc82bf4a754ef860 src/polar_sdk/models/customerdeletedmetadata.py: last_write_checksum: sha1:924bccc9e5bf2d2b2fa6a319da591cb381b6cf1b src/polar_sdk/models/customermeter.py: @@ -7060,7 +7172,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 +7180,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: @@ -7084,9 +7198,15 @@ trackedFiles: src/polar_sdk/models/customerpaymentmethodcreatesucceededresponse.py: last_write_checksum: sha1:2c4594c37a60c54ebee98ea2a8926c60d338534f 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 +7214,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 +7234,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 +7246,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:db66023485d7466e24efa80acafb017287defcef src/polar_sdk/models/customerstatebenefitgrant.py: last_write_checksum: sha1:a73cc06a57b140e01b282422b9af5b672c44e61f src/polar_sdk/models/customerstatemeter.py: @@ -7144,7 +7264,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,10 +7273,12 @@ 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:73e063100a69414cbbbfa22f441dd9a9215da151 src/polar_sdk/models/customerupdatedevent.py: - last_write_checksum: sha1:19fca5681bb135ff6ecc61a77f9047586ae215e5 + last_write_checksum: sha1:2f27911e0231d1f8d757b29017675dc3ff71a6c7 src/polar_sdk/models/customerupdatedfields.py: last_write_checksum: sha1:0f178705b7d59897afe5beec3e24e0e3eeb34498 src/polar_sdk/models/customerupdatedmetadata.py: @@ -7168,7 +7290,7 @@ trackedFiles: 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:ac230ec2754f3b58cc95a067420bad935db5da3a src/polar_sdk/models/customfield.py: last_write_checksum: sha1:4c750256f47fa30b491962c19b9b8029c7375942 src/polar_sdk/models/customfieldcheckbox.py: @@ -7252,7 +7374,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: @@ -7290,9 +7412,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 +7486,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:6c03b8315dce5fc641f0c02fee3539fb5fb2e4ca src/polar_sdk/models/legacyrecurringproductpricefixed.py: - last_write_checksum: sha1:a27da4db5af8473a5fe07cfd050ed2180b74e389 + last_write_checksum: sha1:f855d1beb37dbb5655dcd73105ae4b71054d92dc src/polar_sdk/models/legacyrecurringproductpricefree.py: - last_write_checksum: sha1:791781b3385f5c81d38de05cba93c0d05936cc95 + last_write_checksum: sha1:a0125d6106106b87585031cd4f758ab49a91ed5e src/polar_sdk/models/license_keys_get_activationop.py: last_write_checksum: sha1:4421b41d10d32d4a1cdafc69e2aa11c2c068b03d src/polar_sdk/models/license_keys_getop.py: @@ -7384,7 +7506,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:6b0a8ab4f5e9b562b527086e411bafd048e53eb2 src/polar_sdk/models/licensekeydeactivate.py: last_write_checksum: sha1:11c04cc65dbaeff84247ac2c3eeae27ec69a200d src/polar_sdk/models/licensekeyread.py: @@ -7496,13 +7618,13 @@ trackedFiles: 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:92f83fce546f4974504ba4f02dc9517de08522db 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:eea3feafa661a75db4ee2cdbc3d11d2d19b1892b src/polar_sdk/models/meterresetmetadata.py: last_write_checksum: sha1:0085862af19874c71ea05f61842cc98822781d0f src/polar_sdk/models/meters_getop.py: @@ -7544,9 +7666,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 +7688,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:9edcf0409392f7d3d68a4af84fed6c688e662e79 src/polar_sdk/models/orderinvoice.py: last_write_checksum: sha1:21020a291e1d6153cf8efa40bdff3f50f7def599 src/polar_sdk/models/orderitemschema.py: @@ -7574,13 +7696,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:99d75fd8fa1bd142396b6bd38c63f3f8b776e145 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:a39fcaca8f1e849280b230b1abbd32a67e9b8547 src/polar_sdk/models/orderrefundedmetadata.py: last_write_checksum: sha1:3ce8e61cc2ef8c8368ee802783a7783e2c4b9660 src/polar_sdk/models/orders_exportop.py: @@ -7602,7 +7724,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:11096061b6c625b7793fd4a5bd63f067eed6623a src/polar_sdk/models/organization_access_tokens_deleteop.py: last_write_checksum: sha1:d1a2e56defb6bb2b7036b7311b28a99174880b1d src/polar_sdk/models/organization_access_tokens_listop.py: @@ -7624,7 +7746,7 @@ trackedFiles: src/polar_sdk/models/organizationavatarfileread.py: last_write_checksum: sha1:80783d65b0e521a7f8e52b6a7ddc7c2a2617a3cd 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 +7754,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:c70cfa3c2e3c0530e8aff921b939230893e81272 src/polar_sdk/models/organizationnotificationsettings.py: last_write_checksum: sha1:d56d2a800ac2800e155ca918ff4e6765797ee3ed src/polar_sdk/models/organizations_getop.py: @@ -7652,7 +7774,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: @@ -7686,11 +7808,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:34bfccba015c46fc9064ec64adff0c0bc987a16d 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,9 +7820,9 @@ 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 src/polar_sdk/models/productmediafileread.py: @@ -7708,27 +7830,27 @@ trackedFiles: 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:53d7cc390648294640e391b3eb32584c5672cecc src/polar_sdk/models/productpricecustomcreate.py: - last_write_checksum: sha1:d72776382642804196cce43aa8ba290b20470d6f + last_write_checksum: sha1:039ddeef44eeb7a857252f21d8c55234d14c91aa src/polar_sdk/models/productpricefixed.py: - last_write_checksum: sha1:db502819c0cdbbabbbd1ffbc9c78b11dea73425d + last_write_checksum: sha1:0bc19aed1a496a3fc37425533611ff728a81c9ef src/polar_sdk/models/productpricefixedcreate.py: - last_write_checksum: sha1:587c9f66f152a87d5c6996cd44b1941cd1052169 + last_write_checksum: sha1:a76af2a613c76d841b7df8f9936e5baf14344ea5 src/polar_sdk/models/productpricefree.py: - last_write_checksum: sha1:c5b7f8744f0d740669614bf0113fb66c363a9c95 + last_write_checksum: sha1:458ac67983d640571116dbcd27a37e0dd7276a82 src/polar_sdk/models/productpricefreecreate.py: - last_write_checksum: sha1:8a3660cfcb1f12408246fa74bf37cdb2b994e054 + last_write_checksum: sha1:3e8d9b38b27f84ee70db7508dfe736726b5ecbd8 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:41e823ff0d42ba392e65ba86f2d5e2b2246a1f9e src/polar_sdk/models/productpricemeteredunitcreate.py: - last_write_checksum: sha1:d90d433852fa33bdfd7927bbeab5225e5892c4ed + last_write_checksum: sha1:4b5a32a857577a366ea048a6861eaa6ef785968c src/polar_sdk/models/productpriceseatbased.py: - last_write_checksum: sha1:ea1d1f077e647a6bd7762b40e6df847462c1f0c4 + last_write_checksum: sha1:f65651185d5716b5157a21f1f55a3acd33e83963 src/polar_sdk/models/productpriceseatbasedcreate.py: - last_write_checksum: sha1:68d4efa4185056389e1b192afbe40a9ffb014e4a + last_write_checksum: sha1:a31bd7b2a5053d4c6bf45847a8302d1f25107b2b src/polar_sdk/models/productpriceseattier.py: last_write_checksum: sha1:cb3b52b4917ff750d3bd3920635523b40d81cef5 src/polar_sdk/models/productpriceseattiers_input.py: @@ -7748,7 +7870,9 @@ 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: @@ -7790,11 +7914,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 +7932,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:12cddf10dd924bd8c0792e6911d6e4157e4dd3f6 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:3a59756904085883a82ef4b6e3222c6673093fe8 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:beb94a527e059e6343802707dc34958ef0d65ff9 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:31b6e1fcc6a41cc90d45df3f0d08b4d900eb5a8f src/polar_sdk/models/subscriptioncycledevent.py: - last_write_checksum: sha1:e723b8c873d8d2f56e309b9a820588b49dfb9ba6 + last_write_checksum: sha1:46712ddff09a50ca8a92390236d554b0dd7fdc1a src/polar_sdk/models/subscriptioncycledmetadata.py: last_write_checksum: sha1:0fb22b1d85be5c17e700e9103a5e148a038eb8d8 src/polar_sdk/models/subscriptionlocked.py: @@ -7836,7 +7960,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:019ff7e2677e82d2cd240a77f0812ae17a2ef303 src/polar_sdk/models/subscriptionproductupdatedmetadata.py: last_write_checksum: sha1:30d2e991818d04c91325383c3389481f400fe4fc src/polar_sdk/models/subscriptionprorationbehavior.py: @@ -7846,7 +7970,7 @@ trackedFiles: src/polar_sdk/models/subscriptionrevoke.py: last_write_checksum: sha1:135c7b0e182e7c38830247eb142559c95709fc08 src/polar_sdk/models/subscriptionrevokedevent.py: - last_write_checksum: sha1:c29fe8313bb3e317f779a2f7e455e206b122adc3 + last_write_checksum: sha1:2a033e404ba4ffb358f3bfd40d91b86285acb39d src/polar_sdk/models/subscriptionrevokedmetadata.py: last_write_checksum: sha1:ae2224d2e5c0e3f673ddfa0c16707de974b69082 src/polar_sdk/models/subscriptions_createop.py: @@ -7856,13 +7980,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:1b6b8effd5b6839f247a9eb373a21a8184a0fadc src/polar_sdk/models/subscriptionseatsupdatedmetadata.py: last_write_checksum: sha1:7c8fc6e1f8e184e4d6da398479992ef12c7ca389 src/polar_sdk/models/subscriptionsortproperty.py: @@ -7870,7 +7994,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:e04c838f27729ebbbf4a08ca4e07363f77ab44f8 src/polar_sdk/models/subscriptionuncanceledmetadata.py: last_write_checksum: sha1:38c5b07977c26b3140e50180fcc4c54886111cea src/polar_sdk/models/subscriptionupdate.py: @@ -7904,7 +8028,7 @@ trackedFiles: src/polar_sdk/models/uniqueaggregation.py: last_write_checksum: sha1:d7e954481074c5f147b40ec64ab7b0e69cd17cd7 src/polar_sdk/models/userevent.py: - last_write_checksum: sha1:e2c9ed44d3e363f25b0335783fdfb3a65815124e + last_write_checksum: sha1:eda136931629e6ac81549eb5ac2abb2dba1d1c37 src/polar_sdk/models/userinfoorganization.py: last_write_checksum: sha1:d115471bccae08f72dcd85b02863245bbe10d32e src/polar_sdk/models/userinfouser.py: @@ -7927,6 +8051,8 @@ trackedFiles: last_write_checksum: sha1:7dd75ba490172c64108dc17d4326e2641aafddbc src/polar_sdk/models/webhookcheckoutcreatedpayload.py: last_write_checksum: sha1:1850481e0e72ba036adf9b1bd902e38b35ce4a6e + src/polar_sdk/models/webhookcheckoutexpiredpayload.py: + last_write_checksum: sha1:f3f9a1e0a49832f2504bdcc33eca0eff38c6cc04 src/polar_sdk/models/webhookcheckoutupdatedpayload.py: last_write_checksum: sha1:52904650a72a482dbaefcbff33d798a6888c1ee4 src/polar_sdk/models/webhookcustomercreatedpayload.py: @@ -7954,9 +8080,15 @@ trackedFiles: 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:58fadc19b09b22e9ef6fc926cd4f96a267450748 + src/polar_sdk/models/webhookmemberdeletedpayload.py: + last_write_checksum: sha1:7a04cfbd39a0fbe11bd98be8a66325609097fa96 + src/polar_sdk/models/webhookmemberupdatedpayload.py: + last_write_checksum: sha1:02cdd1bed3ed97c2116ed95d4fe3caa54ea6ceb9 src/polar_sdk/models/webhookordercreatedpayload.py: last_write_checksum: sha1:b1e1700e7d1a889e1d414792c5133bc991574cad src/polar_sdk/models/webhookorderpaidpayload.py: @@ -8016,21 +8148,23 @@ trackedFiles: 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:f658a581cf86e5de89cdd9904f31dea7760146cb src/polar_sdk/polar_orders.py: last_write_checksum: sha1:49366836737812d042bb2db66b51842ca0565e63 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:0805fc711ece075e5188a2b9c91d6e19621afac3 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: @@ -8048,7 +8182,7 @@ trackedFiles: 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:a1f6ae620fb6a3ccc30e99b427e49a0c8be463af src/polar_sdk/utils/annotations.py: last_write_checksum: sha1:a4824ad65f730303e4e1e3ec1febf87b4eb46dbc src/polar_sdk/utils/datetimes.py: @@ -8056,7 +8190,7 @@ trackedFiles: 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: @@ -8072,7 +8206,7 @@ trackedFiles: src/polar_sdk/utils/retries.py: last_write_checksum: sha1:5b97ac4f59357d70c2529975d50364c88bcad607 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: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 9b409528..03a17f41 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,7 @@ python: flattenGlobalSecurity: true flattenRequests: false flatteningOrder: parameters-first + forwardCompatibleEnumsByDefault: false imports: option: openapi paths: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 005bd50c..49103020 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:756562c25fdcb364bd996927ac356c3fc30a97c316a4b06214a98e5351e550af + sourceBlobDigest: sha256:7f7aee8720d904e5592b7d40cbf9356c487c9044c78262b3cd5fb8bcbfd30eb6 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:756562c25fdcb364bd996927ac356c3fc30a97c316a4b06214a98e5351e550af + sourceBlobDigest: sha256:7f7aee8720d904e5592b7d40cbf9356c487c9044c78262b3cd5fb8bcbfd30eb6 codeSamplesNamespace: polar-oas-py-code-samples - codeSamplesRevisionDigest: sha256:6e5cc55e4e6ae0fee0a867f69aa42cda7100e4804535659ad9cdbf6730b9a8ac + codeSamplesRevisionDigest: sha256:a8a5a1c01a865f6b72224f3ad66c82935dbbdcca31ecda58478dc858880d13da 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..c96f8def 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-09 00:20:35 +### 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..a216acfd 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -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 \"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": @@ -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 \"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": @@ -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": @@ -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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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\": polar_sdk.PresentmentCurrency.USD,\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\": polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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.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 price_currency=polar_sdk.PresentmentCurrency.USD,\n is_archived=True,\n product_id=\"\",\n recurring_interval=polar_sdk.SubscriptionRecurringInterval.WEEK,\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)" - 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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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=polar_sdk.PresentmentCurrency.USD,\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/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..5bec859c 100644 --- a/docs/models/balanceordermetadata.md +++ b/docs/models/balanceordermetadata.md @@ -10,6 +10,7 @@ | `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 | 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/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/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/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/customer.md b/docs/models/customer.md index b9670908..562868b3 100644 --- a/docs/models/customer.md +++ b/docs/models/customer.md @@ -5,18 +5,19 @@ 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"
] | +| `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..210472ed 100644 --- a/docs/models/customercreate.md +++ b/docs/models/customercreate.md @@ -11,5 +11,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.CustomerCreateTaxID]](../models/customercreatetaxid.md)] | :heavy_minus_sign: | N/A | [
"911144442",
"us_ein"
] | +| `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..754a0c6c 100644 --- a/docs/models/customerstate.md +++ b/docs/models/customerstate.md @@ -9,21 +9,22 @@ 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"
] | +| `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..eecaf84a 100644 --- a/docs/models/customerupdate.md +++ b/docs/models/customerupdate.md @@ -10,4 +10,5 @@ | `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 +| `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/customerwithmembers.md b/docs/models/customerwithmembers.md index 1a634798..92be6ac5 100644 --- a/docs/models/customerwithmembers.md +++ b/docs/models/customerwithmembers.md @@ -5,19 +5,20 @@ 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"
] | +| `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..251bb901 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` | [models.PresentmentCurrency](../models/presentmentcurrency.md) | :heavy_check_mark: | N/A | | `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..8262cca7 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` | [models.PresentmentCurrency](../models/presentmentcurrency.md) | :heavy_check_mark: | N/A | | `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..eef47ddb 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` | [models.PresentmentCurrency](../models/presentmentcurrency.md) | :heavy_check_mark: | N/A | | `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..88061ddb 100644 --- a/docs/models/licensekeycustomer.md +++ b/docs/models/licensekeycustomer.md @@ -3,18 +3,19 @@ ## 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"
] | +| `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..47fca52e 100644 --- a/docs/models/ordercustomer.md +++ b/docs/models/ordercustomer.md @@ -3,18 +3,19 @@ ## 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"
] | +| `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..caa2c587 100644 --- a/docs/models/organization.md +++ b/docs/models/organization.md @@ -18,6 +18,7 @@ | `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` | [models.PresentmentCurrency](../models/presentmentcurrency.md) | :heavy_check_mark: | N/A | | `feature_settings` | [Nullable[models.OrganizationFeatureSettings]](../models/organizationfeaturesettings.md) | :heavy_check_mark: | Organization feature settings | | `subscription_settings` | [models.OrganizationSubscriptionSettings](../models/organizationsubscriptionsettings.md) | :heavy_check_mark: | N/A | | `notification_settings` | [models.OrganizationNotificationSettings](../models/organizationnotificationsettings.md) | :heavy_check_mark: | N/A | 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..3bc8d9cf 100644 --- a/docs/models/organizationfeaturesettings.md +++ b/docs/models/organizationfeaturesettings.md @@ -3,10 +3,12 @@ ## 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 | \ 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..811ba607 100644 --- a/docs/models/presentmentcurrency.md +++ b/docs/models/presentmentcurrency.md @@ -5,11 +5,4 @@ | Name | Value | | ----- | ----- | -| `USD` | usd | -| `EUR` | eur | -| `GBP` | gbp | -| `CAD` | cad | -| `AUD` | aud | -| `JPY` | jpy | -| `CHF` | chf | -| `SEK` | sek | \ No newline at end of file +| `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..5466409d 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` | [models.PresentmentCurrency](../models/presentmentcurrency.md) | :heavy_check_mark: | N/A | | `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..ff07c82c 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` | [models.PresentmentCurrency](../models/presentmentcurrency.md) | :heavy_check_mark: | N/A | | `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..58ace8c6 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` | [models.PresentmentCurrency](../models/presentmentcurrency.md) | :heavy_check_mark: | N/A | | `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..18f39edf 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` | [models.PresentmentCurrency](../models/presentmentcurrency.md) | :heavy_check_mark: | N/A | | `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..1f9f8200 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` | [models.PresentmentCurrency](../models/presentmentcurrency.md) | :heavy_check_mark: | N/A | | `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..51700289 100644 --- a/docs/models/subscriptioncustomer.md +++ b/docs/models/subscriptioncustomer.md @@ -3,18 +3,19 @@ ## 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"
] | +| `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/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/customers/README.md b/docs/sdks/customers/README.md index a9ae30a8..c416f21b 100644 --- a/docs/sdks/customers/README.md +++ b/docs/sdks/customers/README.md @@ -96,6 +96,7 @@ with Polar( "911144442", "us_ein", ], + "type": polar_sdk.CustomerType.INDIVIDUAL, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "owner": { "email": "member@example.com", @@ -241,6 +242,7 @@ with Polar( "us_ein", ], "external_id": "usr_1337", + "type": polar_sdk.CustomerType.INDIVIDUAL, }) # 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/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..72dbb21c 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, @@ -2684,6 +2710,10 @@ WebhookCheckoutCreatedPayload, WebhookCheckoutCreatedPayloadTypedDict, ) + from .webhookcheckoutexpiredpayload import ( + WebhookCheckoutExpiredPayload, + WebhookCheckoutExpiredPayloadTypedDict, + ) from .webhookcheckoutupdatedpayload import ( WebhookCheckoutUpdatedPayload, WebhookCheckoutUpdatedPayloadTypedDict, @@ -2729,6 +2759,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, @@ -3485,6 +3527,8 @@ "CustomerOrganization", "CustomerOrganizationData", "CustomerOrganizationDataTypedDict", + "CustomerOrganizationFeatureSettings", + "CustomerOrganizationFeatureSettingsTypedDict", "CustomerOrganizationTypedDict", "CustomerPaymentMethod", "CustomerPaymentMethodConfirm", @@ -3572,6 +3616,16 @@ "CustomerPortalLicenseKeysListResponseTypedDict", "CustomerPortalLicenseKeysListSecurity", "CustomerPortalLicenseKeysListSecurityTypedDict", + "CustomerPortalMember", + "CustomerPortalMemberCreate", + "CustomerPortalMemberCreateTypedDict", + "CustomerPortalMemberTypedDict", + "CustomerPortalMemberUpdate", + "CustomerPortalMemberUpdateTypedDict", + "CustomerPortalMembersRemoveMemberRequest", + "CustomerPortalMembersRemoveMemberRequestTypedDict", + "CustomerPortalMembersUpdateMemberRequest", + "CustomerPortalMembersUpdateMemberRequestTypedDict", "CustomerPortalOAuthAccount", "CustomerPortalOAuthAccountTypedDict", "CustomerPortalOrdersConfirmRetryPaymentRequest", @@ -3728,6 +3782,7 @@ "CustomerSubscriptionUpdateTypedDict", "CustomerTaxID", "CustomerTaxIDTypedDict", + "CustomerType", "CustomerTypedDict", "CustomerUpdate", "CustomerUpdateExternalID", @@ -4579,6 +4634,7 @@ "ProductUpdatePrices", "ProductUpdatePricesTypedDict", "ProductUpdateTypedDict", + "ProductVisibility", "ProductsGetRequest", "ProductsGetRequestTypedDict", "ProductsListQueryParamOrganizationIDFilter", @@ -4843,6 +4899,8 @@ "WebhookBenefitUpdatedPayloadTypedDict", "WebhookCheckoutCreatedPayload", "WebhookCheckoutCreatedPayloadTypedDict", + "WebhookCheckoutExpiredPayload", + "WebhookCheckoutExpiredPayloadTypedDict", "WebhookCheckoutUpdatedPayload", "WebhookCheckoutUpdatedPayloadTypedDict", "WebhookCustomerCreatedPayload", @@ -4871,6 +4929,12 @@ "WebhookEventType", "WebhookEventTypedDict", "WebhookFormat", + "WebhookMemberCreatedPayload", + "WebhookMemberCreatedPayloadTypedDict", + "WebhookMemberDeletedPayload", + "WebhookMemberDeletedPayloadTypedDict", + "WebhookMemberUpdatedPayload", + "WebhookMemberUpdatedPayloadTypedDict", "WebhookOrderCreatedPayload", "WebhookOrderCreatedPayloadTypedDict", "WebhookOrderPaidPayload", @@ -5441,6 +5505,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 +5688,8 @@ "CustomerOrganizationTypedDict": ".customerorganization", "CustomerOrganizationData": ".customerorganizationdata", "CustomerOrganizationDataTypedDict": ".customerorganizationdata", + "CustomerOrganizationFeatureSettings": ".customerorganizationfeaturesettings", + "CustomerOrganizationFeatureSettingsTypedDict": ".customerorganizationfeaturesettings", "CustomerPaymentMethod": ".customerpaymentmethod", "CustomerPaymentMethodTypedDict": ".customerpaymentmethod", "CustomerPaymentMethodConfirm": ".customerpaymentmethodconfirm", @@ -5638,6 +5708,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 +5793,7 @@ "CustomerSubscriptionUpdateProductTypedDict": ".customersubscriptionupdateproduct", "CustomerSubscriptionUpdateSeats": ".customersubscriptionupdateseats", "CustomerSubscriptionUpdateSeatsTypedDict": ".customersubscriptionupdateseats", + "CustomerType": ".customertype", "CustomerUpdate": ".customerupdate", "CustomerUpdateMetadata": ".customerupdate", "CustomerUpdateMetadataTypedDict": ".customerupdate", @@ -6628,6 +6705,7 @@ "ProductUpdateTypedDict": ".productupdate", "Two": ".productupdate", "TwoTypedDict": ".productupdate", + "ProductVisibility": ".productvisibility", "Func": ".propertyaggregation", "PropertyAggregation": ".propertyaggregation", "PropertyAggregationTypedDict": ".propertyaggregation", @@ -6911,6 +6989,8 @@ "WebhookBenefitUpdatedPayloadTypedDict": ".webhookbenefitupdatedpayload", "WebhookCheckoutCreatedPayload": ".webhookcheckoutcreatedpayload", "WebhookCheckoutCreatedPayloadTypedDict": ".webhookcheckoutcreatedpayload", + "WebhookCheckoutExpiredPayload": ".webhookcheckoutexpiredpayload", + "WebhookCheckoutExpiredPayloadTypedDict": ".webhookcheckoutexpiredpayload", "WebhookCheckoutUpdatedPayload": ".webhookcheckoutupdatedpayload", "WebhookCheckoutUpdatedPayloadTypedDict": ".webhookcheckoutupdatedpayload", "WebhookCustomerCreatedPayload": ".webhookcustomercreatedpayload", @@ -6939,6 +7019,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/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..6f16f68c 100644 --- a/src/polar_sdk/models/balanceordermetadata.py +++ b/src/polar_sdk/models/balanceordermetadata.py @@ -18,6 +18,7 @@ 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]] @@ -43,13 +44,21 @@ class BalanceOrderMetadata(BaseModel): subscription_id: Optional[str] = None + net_amount: Optional[int] = None + tax_state: OptionalNullable[str] = UNSET tax_country: OptionalNullable[str] = UNSET @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", + ] 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/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/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/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/customer.py b/src/polar_sdk/models/customer.py index 4c21b652..30921783 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,8 @@ 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'.""" class Customer(BaseModel): @@ -84,12 +87,16 @@ 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'.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", 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..95d556f0 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,8 @@ class CustomerCreateTypedDict(TypedDict): name: NotRequired[Nullable[str]] billing_address: NotRequired[Nullable[AddressInputTypedDict]] tax_id: NotRequired[Nullable[List[Nullable[CustomerCreateTaxIDTypedDict]]]] + 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 +85,9 @@ class CustomerCreate(BaseModel): tax_id: OptionalNullable[List[Nullable[CustomerCreateTaxID]]] = 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 +102,7 @@ def serialize_model(self, handler): "name", "billing_address", "tax_id", + "type", "organization_id", "owner", ] @@ -104,6 +111,7 @@ def serialize_model(self, handler): "name", "billing_address", "tax_id", + "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..666db05c 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,8 @@ 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'.""" class CustomerState(BaseModel): @@ -118,12 +121,16 @@ 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'.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", 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..e1c7643a 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 @@ -48,6 +49,8 @@ class CustomerUpdateTypedDict(TypedDict): tax_id: NotRequired[Nullable[List[Nullable[CustomerUpdateTaxIDTypedDict]]]] 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): @@ -77,6 +80,9 @@ class CustomerUpdate(BaseModel): 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 = [ @@ -86,8 +92,16 @@ def serialize_model(self, handler): "billing_address", "tax_id", "external_id", + "type", + ] + nullable_fields = [ + "email", + "name", + "billing_address", + "tax_id", + "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/customerwithmembers.py b/src/polar_sdk/models/customerwithmembers.py index e1293de7..01c1dc89 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,8 @@ 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'.""" members: NotRequired[List[MemberTypedDict]] r"""List of members belonging to this customer.""" @@ -89,15 +92,19 @@ 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'.""" + 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", "members"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", 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..1736b874 100644 --- a/src/polar_sdk/models/legacyrecurringproductpricecustom.py +++ b/src/polar_sdk/models/legacyrecurringproductpricecustom.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from .productpricesource import ProductPriceSource from .subscriptionrecurringinterval import SubscriptionRecurringInterval from datetime import datetime @@ -26,13 +27,12 @@ class LegacyRecurringProductPriceCustomTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: PresentmentCurrency 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,8 @@ class LegacyRecurringProductPriceCustom(BaseModel): source: ProductPriceSource + price_currency: PresentmentCurrency + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -70,9 +72,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..9748cade 100644 --- a/src/polar_sdk/models/legacyrecurringproductpricefixed.py +++ b/src/polar_sdk/models/legacyrecurringproductpricefixed.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from .productpricesource import ProductPriceSource from .subscriptionrecurringinterval import SubscriptionRecurringInterval from datetime import datetime @@ -26,13 +27,12 @@ class LegacyRecurringProductPriceFixedTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: PresentmentCurrency 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,8 @@ class LegacyRecurringProductPriceFixed(BaseModel): source: ProductPriceSource + price_currency: PresentmentCurrency + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -66,9 +68,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..13b7fc62 100644 --- a/src/polar_sdk/models/legacyrecurringproductpricefree.py +++ b/src/polar_sdk/models/legacyrecurringproductpricefree.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from .productpricesource import ProductPriceSource from .subscriptionrecurringinterval import SubscriptionRecurringInterval from datetime import datetime @@ -26,6 +27,7 @@ class LegacyRecurringProductPriceFreeTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: PresentmentCurrency is_archived: bool r"""Whether the price is archived and no longer available.""" product_id: str @@ -54,6 +56,8 @@ class LegacyRecurringProductPriceFree(BaseModel): source: ProductPriceSource + price_currency: PresentmentCurrency + 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..ec7f27f5 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,8 @@ 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'.""" class LicenseKeyCustomer(BaseModel): @@ -82,12 +85,16 @@ 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'.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", 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..67e278f7 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,8 @@ 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'.""" class OrderCustomer(BaseModel): @@ -80,12 +83,16 @@ 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'.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", 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..1dcb31c5 100644 --- a/src/polar_sdk/models/organization.py +++ b/src/polar_sdk/models/organization.py @@ -26,6 +26,7 @@ OrganizationSubscriptionSettings, OrganizationSubscriptionSettingsTypedDict, ) +from .presentmentcurrency import PresentmentCurrency from .subscriptionprorationbehavior import SubscriptionProrationBehavior from datetime import datetime from polar_sdk.types import BaseModel, Nullable, UNSET_SENTINEL @@ -59,6 +60,7 @@ class OrganizationTypedDict(TypedDict): status: OrganizationStatus details_submitted_at: Nullable[datetime] r"""When the business details were submitted.""" + default_presentment_currency: PresentmentCurrency feature_settings: Nullable[OrganizationFeatureSettingsTypedDict] r"""Organization feature settings""" subscription_settings: OrganizationSubscriptionSettingsTypedDict @@ -105,6 +107,8 @@ class Organization(BaseModel): details_submitted_at: Nullable[datetime] r"""When the business details were submitted.""" + default_presentment_currency: PresentmentCurrency + 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..67508500 100644 --- a/src/polar_sdk/models/organizationfeaturesettings.py +++ b/src/polar_sdk/models/organizationfeaturesettings.py @@ -17,6 +17,10 @@ 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""" class OrganizationFeatureSettings(BaseModel): @@ -34,3 +38,9 @@ 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""" 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..0737313c 100644 --- a/src/polar_sdk/models/presentmentcurrency.py +++ b/src/polar_sdk/models/presentmentcurrency.py @@ -6,10 +6,3 @@ class PresentmentCurrency(str, Enum): USD = "usd" - EUR = "eur" - GBP = "gbp" - CAD = "cad" - AUD = "aud" - JPY = "jpy" - CHF = "chf" - SEK = "sek" 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..7dea160a 100644 --- a/src/polar_sdk/models/productpricecustom.py +++ b/src/polar_sdk/models/productpricecustom.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from .productpricesource import ProductPriceSource from .productpricetype import ProductPriceType from .subscriptionrecurringinterval import SubscriptionRecurringInterval @@ -24,14 +25,13 @@ class ProductPriceCustomTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: PresentmentCurrency 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,8 @@ class ProductPriceCustom(BaseModel): source: ProductPriceSource + price_currency: PresentmentCurrency + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -70,9 +72,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..c41fb522 100644 --- a/src/polar_sdk/models/productpricefixed.py +++ b/src/polar_sdk/models/productpricefixed.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from .productpricesource import ProductPriceSource from .productpricetype import ProductPriceType from .subscriptionrecurringinterval import SubscriptionRecurringInterval @@ -24,14 +25,13 @@ class ProductPriceFixedTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: PresentmentCurrency 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,8 @@ class ProductPriceFixed(BaseModel): source: ProductPriceSource + price_currency: PresentmentCurrency + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -66,9 +68,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..de034948 100644 --- a/src/polar_sdk/models/productpricefree.py +++ b/src/polar_sdk/models/productpricefree.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from .productpricesource import ProductPriceSource from .productpricetype import ProductPriceType from .subscriptionrecurringinterval import SubscriptionRecurringInterval @@ -24,6 +25,7 @@ class ProductPriceFreeTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: PresentmentCurrency is_archived: bool r"""Whether the price is archived and no longer available.""" product_id: str @@ -47,6 +49,8 @@ class ProductPriceFree(BaseModel): source: ProductPriceSource + price_currency: PresentmentCurrency + 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..e9974825 100644 --- a/src/polar_sdk/models/productpricemeteredunit.py +++ b/src/polar_sdk/models/productpricemeteredunit.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .presentmentcurrency import PresentmentCurrency from .productpricemeter import ProductPriceMeter, ProductPriceMeterTypedDict from .productpricesource import ProductPriceSource from .productpricetype import ProductPriceType @@ -25,14 +26,13 @@ class ProductPriceMeteredUnitTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: PresentmentCurrency 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,8 @@ class ProductPriceMeteredUnit(BaseModel): source: ProductPriceSource + price_currency: PresentmentCurrency + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -73,9 +75,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..b114f498 100644 --- a/src/polar_sdk/models/productpriceseatbased.py +++ b/src/polar_sdk/models/productpriceseatbased.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_output import ( ProductPriceSeatTiersOutput, ProductPriceSeatTiersOutputTypedDict, @@ -28,14 +29,13 @@ class ProductPriceSeatBasedTypedDict(TypedDict): id: str r"""The ID of the price.""" source: ProductPriceSource + price_currency: PresentmentCurrency 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,8 @@ class ProductPriceSeatBased(BaseModel): source: ProductPriceSource + price_currency: PresentmentCurrency + is_archived: bool r"""Whether the price is archived and no longer available.""" @@ -75,9 +77,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..b494bc03 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,8 @@ 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'.""" class SubscriptionCustomer(BaseModel): @@ -78,12 +81,16 @@ 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'.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = [] + optional_fields = ["type"] nullable_fields = [ "modified_at", "external_id", + "type", "name", "billing_address", "tax_id", 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/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,