Skip to content

Releases: polarsource/polar-python

python - v0.31.3 - 2026-04-10 09:42:08

10 Apr 09:42
35627bf

Choose a tag to compare

Generated by Speakeasy CLI

polar-sdk 0.31.3

Python SDK Changes Detected:

  • polar._endpointcheckout_created_post():
    • request.data.products.[].prices.[].[product_price].[seat_based].meter Changed Breaking ⚠️
  • polar._endpointcheckout_updated_post():
    • request.data.products.[].prices.[].[product_price].[seat_based].meter Changed Breaking ⚠️
  • polar._endpointcheckout_expired_post():
    • request.data.products.[].prices.[].[product_price].[seat_based].meter Changed Breaking ⚠️
  • polar._endpointsubscription_created_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_updated_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_active_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_canceled_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_uncanceled_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_revoked_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_past_due_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointproduct_created_post():
    • request.data.prices.[].[product_price].[seat_based].meter Changed Breaking ⚠️
  • polar._endpointproduct_updated_post():
    • request.data.prices.[].[product_price].[seat_based].meter Changed Breaking ⚠️
  • polar._endpointorganization_updated_post():
    • request.data Changed Breaking ⚠️
  • polar.metrics.export(): Added
  • polar.members.get_member_by_external_id(): Added
  • polar.members.update_member_by_external_id(): Added
  • polar.members.delete_member_by_external_id(): Added
  • polar.organizations.list(): response.items.[] Changed
  • polar.organizations.create(): response Changed
  • polar.organizations.get(): response Changed
  • polar.organizations.update(): response Changed
  • polar.subscriptions.list(): response.items.[] Changed
  • polar.subscriptions.create(): response Changed
  • polar.subscriptions.get(): response Changed
  • polar.subscriptions.revoke(): response Changed
  • polar.subscriptions.update(): response Changed
  • polar.products.list(): response.items.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.products.create(): response.prices.[].[product_price].[seat_based].meter Changed
  • polar.products.get(): response.prices.[].[product_price].[seat_based].meter Changed
  • polar.products.update(): response.prices.[].[product_price].[seat_based].meter Changed
  • polar.products.update_benefits(): response.prices.[].[product_price].[seat_based].meter Changed
  • polar.orders.list(): request.subscription_id Added
  • polar.checkouts.list(): response.items.[].products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkouts.create(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkouts.get(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkouts.update(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkouts.client_get(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkouts.client_update(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkouts.client_confirm(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkout-links.list(): response.items.[].products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkout-links.create(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkout-links.get(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.checkout-links.update(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.customer_portal.seats.list_claimed_subscriptions(): response.items.[].product.prices.[].[product_price].[seat_based].meter Changed
  • polar.customer_portal.orders.list(): response.items.[].product.prices.[].[product_price].[seat_based].meter Changed
  • polar.customer_portal.orders.get(): response.product.prices.[].[product_price].[seat_based].meter Changed
  • polar.customer_portal.orders.update(): response.product.prices.[].[product_price].[seat_based].meter Changed
  • polar.customer_portal.orders.confirm_retry_payment(): error.status[429] Added
  • polar.customer_portal.organizations.get(): response.products.[].prices.[].[product_price].[seat_based].meter Changed
  • polar.customer_portal.subscriptions.list(): response.items.[].product.prices.[].[product_price].[seat_based].meter Changed
  • polar.customer_portal.subscriptions.get(): response.product.prices.[].[product_price].[seat_based].meter Changed
  • polar.customer_portal.subscriptions.cancel(): response.product.prices.[].[product_price].[seat_based].meter Changed
  • polar.customer_portal.subscriptions.update(): response.product.prices.[].[product_price].[seat_based].meter Changed
  • polar.meters.list(): response.items.[] Changed
  • polar.meters.create():
    • request Changed
    • response Changed
  • polar.meters.get(): response Changed
  • polar.meters.update():
    • request.meter_update Changed
    • response Changed
  • polar.customer_meters.list(): response.items.[].meter Changed
  • polar.customer_meters.get(): response.meter Changed

Generated with Speakeasy CLI 1.648.0

Publishing Completed

python - v0.31.2 - 2026-04-03 08:37:25

03 Apr 08:37

Choose a tag to compare

Generated by Speakeasy CLI

polar-sdk 0.31.2

Python SDK Changes Detected:

  • polar._endpointorganization_updated_post():
    • request.data.feature_settings.reset_proration_behavior_enabled Added
  • polar.organizations.list(): response.items.[].feature_settings.reset_proration_behavior_enabled Added
  • polar.organizations.create():
    • request.feature_settings.reset_proration_behavior_enabled Added
    • response.feature_settings.reset_proration_behavior_enabled Added
  • polar.organizations.get(): response.feature_settings.reset_proration_behavior_enabled Added
  • polar.organizations.update():
    • request.organization_update.feature_settings.reset_proration_behavior_enabled Added
    • response.feature_settings.reset_proration_behavior_enabled Added

Generated with Speakeasy CLI 1.648.0

Publishing Completed

python - v0.31.1 - 2026-04-03 06:28:19

03 Apr 06:28

Choose a tag to compare

Generated by Speakeasy CLI

polar-sdk 0.31.1

Python SDK Changes Detected:

  • polar.events.list(): response.[list_resource_event_].items.[].[system_event] Changed Breaking ⚠️
  • polar.events.get(): response.[system_event] Changed Breaking ⚠️
  • polar.metrics.list_dashboards(): Added
  • polar.metrics.create_dashboard(): Added
  • polar.metrics.get_dashboard(): Added
  • polar.metrics.update_dashboard(): Added
  • polar.metrics.delete_dashboard(): Added
  • polar.subscriptions.list(): request Changed
  • polar.payments.list(): response.items.[] Changed

Generated with Speakeasy CLI 1.648.0

Publishing Completed

python - v0.31.0 - 2026-03-27 09:23:19

27 Mar 09:23
3edf963

Choose a tag to compare

polar-sdk 0.31.0 — Breaking Changes

Customer Type Discrimination

Customer, CustomerCreate, and CustomerState are now discriminated unions based on a type field ("individual" or "team"), instead of single flat models.

Migration Guide

Model replacements

Before After
Customer(...) CustomerIndividual(...) or CustomerTeam(...)
CustomerCreate(...) CustomerIndividualCreate(...) or CustomerTeamCreate(...)
CustomerState(...) CustomerStateIndividual(...) or CustomerStateTeam(...)

Type checking

isinstance(x, Customer) no longer works — Customer is now a Union type alias, not a class. Use the type field to discriminate:

# Before
if isinstance(customer, Customer):
    ...

# After
if customer.type == "individual":
    # customer is CustomerIndividual
    ...
elif customer.type == "team":
    # customer is CustomerTeam
    ...

Field changes

  • email is now optional/nullable on OrderCustomer, SubscriptionCustomer, LicenseKeyCustomer, CustomerPortalCustomer
  • type is now required on OrderCustomer, SubscriptionCustomer, LicenseKeyCustomer

Removed exports (replaced by individual/team variants)

Removed Replaced by
OwnerCreate MemberOwnerCreate
CustomerTaxID CustomerIndividualTaxID / CustomerTeamTaxID
CustomerStateTaxID CustomerStateIndividualTaxID / CustomerStateTeamTaxID
CustomerCreateMetadata CustomerIndividualCreateMetadata / CustomerTeamCreateMetadata
ListResourceCustomer Inline union type

Webhook payloads affected

All customer-related webhook events (customer_created, customer_updated, customer_deleted, customer_state_changed) and any webhook carrying a customer field (orders, subscriptions, benefit grants) now use the discriminated union types.

python - v0.30.2 - 2026-03-26 08:30:46

26 Mar 08:30

Choose a tag to compare

Generated by Speakeasy CLI

polar-sdk 0.30.2

Python SDK Changes Detected:

  • polar._endpointcheckout_created_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointcheckout_updated_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointcheckout_expired_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_created_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_updated_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_active_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_canceled_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_uncanceled_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_revoked_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_past_due_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointproduct_created_post():
    • request.data.prices.[] Changed Breaking ⚠️
  • polar._endpointproduct_updated_post():
    • request.data.prices.[] Changed Breaking ⚠️
  • polar._endpointorganization_updated_post():
    • request.data Changed Breaking ⚠️
  • polar.checkouts.client_confirm(): response Changed Breaking ⚠️
  • polar.organizations.create():
    • request Changed Breaking ⚠️
    • response Changed
  • polar.checkouts.client_update(): response Changed Breaking ⚠️
  • polar.organizations.update():
    • request.organization_update Changed Breaking ⚠️
    • response Changed
  • polar.checkouts.client_get(): response Changed Breaking ⚠️
  • polar.checkouts.update(): response Changed Breaking ⚠️
  • polar.checkouts.get(): response Changed Breaking ⚠️
  • polar.checkouts.create():
    • request.prices.{}.[] Changed
    • response Changed Breaking ⚠️
  • polar.checkouts.list(): response.items.[] Changed Breaking ⚠️
  • polar.products.get(): response.prices.[] Changed
  • polar.checkout-links.create(): response.products.[].prices.[] Changed
  • polar.products.list(): response.items.[].prices.[] Changed
  • polar.products.update():
    • request.product_update.prices.[].[2] Changed
    • response.prices.[] Changed
  • polar.products.update_benefits(): response.prices.[] Changed
  • polar.subscriptions.update():
    • response Changed
    • error.status[402] Added
  • polar.subscriptions.revoke(): response Changed
  • polar.subscriptions.get(): response Changed
  • polar.subscriptions.create(): response Changed
  • polar.subscriptions.list(): response.items.[] Changed
  • polar.organizations.get(): response Changed
  • polar.organizations.list(): response.items.[] Changed
  • polar.checkout-links.list(): response.items.[].products.[].prices.[] Changed
  • polar.products.create():
    • request.[product_create_recurring].prices.[] Changed
    • response.prices.[] Changed
  • polar.checkout-links.get(): response.products.[].prices.[] Changed
  • polar.checkout-links.update(): response.products.[].prices.[] Changed
  • polar.members.list_members(): request.role Added
  • polar.customer_portal.seats.list_claimed_subscriptions(): response.items.[] Changed
  • polar.customer_portal.orders.list(): response.items.[].product.prices.[] Changed
  • polar.customer_portal.orders.get(): response.product.prices.[] Changed
  • polar.customer_portal.orders.update(): response.product.prices.[] Changed
  • polar.customer_portal.organizations.get(): response.products.[].prices.[] Changed
  • polar.customer_portal.subscriptions.list(): response.items.[] Changed
  • polar.customer_portal.subscriptions.get(): response Changed
  • polar.customer_portal.subscriptions.cancel(): response Changed
  • polar.customer_portal.subscriptions.update():
    • response Changed
    • error.status[402] Added

Generated with Speakeasy CLI 1.648.0

Publishing Completed

python - v0.30.1 - 2026-03-11 09:09:37

11 Mar 09:09
405c853

Choose a tag to compare

Generated by Speakeasy CLI

polar-sdk 0.30.1

Python SDK Changes Detected:

  • polar._endpointcheckout_created_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointcheckout_updated_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointcheckout_expired_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointorder_created_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointorder_updated_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointorder_paid_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointorder_refunded_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointsubscription_created_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointsubscription_updated_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointsubscription_active_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointsubscription_canceled_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointsubscription_uncanceled_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointsubscription_revoked_post():
    • request.data.discount Changed Breaking ⚠️
  • polar._endpointsubscription_past_due_post():
    • request.data.discount Changed Breaking ⚠️
  • polar.events.get(): response.[system_event] Changed Breaking ⚠️
  • polar.events.list(): response.[list_resource_event_].items.[].[system_event] Changed Breaking ⚠️
  • polar.customers.update_external():
    • request.customer_update_external_id.tax_id Changed Breaking ⚠️
  • polar.customers.update():
    • request.customer_update.tax_id Changed Breaking ⚠️
  • polar.customers.create():
    • request.tax_id Changed Breaking ⚠️
  • polar.oauth2.token(): response Changed Breaking ⚠️
  • polar.orders.list(): response.items.[].discount Changed
  • polar.checkout-links.create(): response.discount Changed
  • polar.orders.update(): response.discount Changed
  • polar.checkouts.list(): response.items.[].discount Changed
  • polar.checkouts.create(): response.discount Changed
  • polar.checkouts.get(): response.discount Changed
  • polar.checkouts.update(): response.discount Changed
  • polar.checkouts.client_get(): response.discount Changed
  • polar.checkouts.client_update(): response.discount Changed
  • polar.checkouts.client_confirm(): response.discount Changed
  • polar.checkout-links.list(): response.items.[].discount Changed
  • polar.orders.get(): response.discount Changed
  • polar.checkout-links.get(): response.discount Changed
  • polar.checkout-links.update(): response.discount Changed
  • polar.discounts.list():
    • request.sorting Changed
    • response.items.[] Changed
  • polar.discounts.create():
    • request Changed
    • response Changed
  • polar.discounts.get(): response Changed
  • polar.discounts.update():
    • request.discount_update.amounts Added
    • response Changed
  • polar.subscriptions.update(): response.discount Changed
  • polar.subscriptions.revoke(): response.discount Changed
  • polar.subscriptions.get(): response.discount Changed
  • polar.subscriptions.create(): response.discount Changed
  • polar.subscriptions.list(): response.items.[].discount Changed

Generated with Speakeasy CLI 1.648.0

Publishing Completed

python - v0.30.0 - 2026-03-05 08:41:30

05 Mar 08:41
924d5f0

Choose a tag to compare

Generated by Speakeasy CLI

polar-sdk 0.30.0

Python SDK Changes Detected:

  • polar.customers.update(): response Changed Breaking ⚠️
  • polar.customers.update_external(): response Changed Breaking ⚠️
  • polar._endpointcheckout_updated_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointcheckout_expired_post():
    • request.data Changed Breaking ⚠️
  • polar.customer_portal.subscriptions.update(): response.current_period_end Changed Breaking ⚠️
  • polar.customer_portal.subscriptions.cancel(): response.current_period_end Changed Breaking ⚠️
  • polar.customer_portal.subscriptions.get(): response.current_period_end Changed Breaking ⚠️
  • polar._endpointcustomer_state_changed_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointorder_created_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointorder_updated_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointorder_paid_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointorder_refunded_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_created_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_updated_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_active_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_canceled_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_uncanceled_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_revoked_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointsubscription_past_due_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointproduct_created_post():
    • request.data.benefits.[] Changed Breaking ⚠️
  • polar._endpointproduct_updated_post():
    • request.data.benefits.[] Changed Breaking ⚠️
  • polar._endpointorganization_updated_post():
    • request.data.feature_settings Changed Breaking ⚠️
  • polar._endpointbenefit_created_post():
    • request.data Changed Breaking ⚠️
  • polar._endpointbenefit_updated_post():
    • request.data Changed Breaking ⚠️
  • polar.customer_portal.subscriptions.list(): response.items.[].current_period_end Changed Breaking ⚠️
  • polar.customer_portal.orders.update(): response.subscription.current_period_end Changed Breaking ⚠️
  • polar.customer_portal.orders.get(): response.subscription.current_period_end Changed Breaking ⚠️
  • polar.customer_portal.orders.list(): response.items.[].subscription.current_period_end Changed Breaking ⚠️
  • polar.organizations.list(): response.items.[].feature_settings Changed Breaking ⚠️
  • polar.organizations.create():
    • request.feature_settings Changed Breaking ⚠️
    • response.feature_settings Changed Breaking ⚠️
  • polar.organizations.get(): response.feature_settings Changed Breaking ⚠️
  • polar.organizations.update():
    • request.organization_update.feature_settings Changed Breaking ⚠️
    • response.feature_settings Changed Breaking ⚠️
  • polar.subscriptions.list(): response.items.[] Changed Breaking ⚠️
  • polar.subscriptions.create(): response Changed Breaking ⚠️
  • polar.subscriptions.get(): response Changed Breaking ⚠️
  • polar.subscriptions.revoke(): response Changed Breaking ⚠️
  • polar.subscriptions.update(): response Changed Breaking ⚠️
  • polar.benefits.list():
    • request.type_filter Changed
    • response.items.[] Changed Breaking ⚠️
  • polar.benefits.create():
    • request Changed Breaking ⚠️
    • response Changed Breaking ⚠️
  • polar.benefits.get(): response Changed Breaking ⚠️
  • polar.benefits.update():
    • request_body.[benefit_feature_flag_update] Added
    • response Changed Breaking ⚠️
  • polar.benefits.grants(): response.items.[] Changed Breaking ⚠️
  • polar.benefit-grants.list(): response.items.[] Changed Breaking ⚠️
  • polar.products.create(): response.benefits.[] Changed Breaking ⚠️
  • polar.customer_portal.seats.list_claimed_subscriptions(): response.items.[].current_period_end Changed Breaking ⚠️
  • polar.customers.get_state_external(): response Changed Breaking ⚠️
  • polar.customers.get_state(): response Changed Breaking ⚠️
  • polar.products.get(): response.benefits.[] Changed Breaking ⚠️
  • polar._endpointcheckout_created_post():
    • request.data Changed Breaking ⚠️
  • polar.customers.get_external(): response Changed Breaking ⚠️
  • polar.products.list(): response.items.[].benefits.[] Changed Breaking ⚠️
  • polar.products.update(): response.benefits.[] Changed Breaking ⚠️
  • polar.products.update_benefits(): response.benefits.[] Changed Breaking ⚠️
  • polar.orders.list(): response.items.[] Changed Breaking ⚠️
  • polar.orders.get(): response Changed Breaking ⚠️
  • polar.orders.update(): response Changed Breaking ⚠️
  • polar.customers.get(): response Changed Breaking ⚠️
  • polar.customers.create(): response Changed Breaking ⚠️
  • polar.customers.list(): response.items.[] Changed Breaking ⚠️
  • polar.checkouts.client_confirm():
    • request.checkout_confirm_stripe.product_price_id Added
    • response Changed Breaking ⚠️
  • polar.customer_portal.benefit-grants.get(): response.[customer_benefit_grant_feature_flag] Added
  • polar.license_keys.activate(): response.license_key.customer.external_id Changed
  • polar.checkouts.update():
    • request.checkout_update.product_price_id Added
    • response Changed
  • polar.license_keys.list(): response.items.[].customer.external_id Changed
  • polar.license_keys.get(): response.customer.external_id Changed
  • polar.webhooks.create_webhook_endpoint():
    • request.name Added
    • response.name Added
  • polar.license_keys.get_activation(): response.license_key.customer.external_id Changed
  • polar.license_keys.validate(): response.customer.external_id Changed
  • polar.customer_portal.benefit-grants.update():
    • request.customer_benefit_grant_update.[feature_flag] Added
    • response.[customer_benefit_grant_feature_flag] Added
  • polar.checkouts.get(): response Changed
  • polar.checkouts.create():
    • request Changed
    • response Changed
  • polar.checkouts.list(): response.items.[] Changed
  • polar.member-sessions.create(): Deleted Breaking ⚠️
  • polar.customer_portal.license_keys.list(): response.items.[].customer.external_id Changed
  • polar.webhooks.reset_webhook_endpoint_secret(): response.name Added
  • polar.webhooks.update_webhook_endpoint():
    • request.webhook_endpoint_update.name Added
    • response.name Added
  • polar.webhooks.get_webhook_endpoint(): response.name Added
  • polar.checkouts.client_get(): response Changed
  • polar.checkouts.client_update():
    • request.checkout_update_public.product_price_id Added
    • response Changed
  • polar.customer_portal.benefit-grants.list():
    • request.type_filter Changed
    • response.items.[].[customer_benefit_grant_feature_flag] Added
  • polar.license_keys.update(): response.customer.external_id Changed
  • polar.webhooks.list_webhook_endpoints(): response.items.[].name Added
  • polar.customer_portal.license_keys.get(): response.customer.external_id Changed
  • polar.customer_portal.license_keys.validate(): response.customer.external_id Changed
  • polar.customer_portal.license_keys.activate(): response.license_key.customer.external_id Changed
  • polar._endpointbenefit_grant_revoked_post():
    • request.data Changed
  • polar._endpointbenefit_grant_cycled_post():
    • request.data Changed
  • polar._endpointbenefit_grant_updated_post():
    • request.data Changed
  • polar._endpointbenefit_grant_created_post():
    • request.data Changed
  • polar._endpointcustomer_deleted_post():
    • request.data.external_id Changed
  • polar._endpointcustomer_updated_post():
    • request.data.external_id Changed
  • polar._endpointcustomer_created_post():
    • request.data.external_id Changed
  • polar.customer-sessions.create():
    • request Changed
    • response.customer.external_id Changed
  • polar.events.list(): response.[list_resource_with_cursor_pagination_event_].items.[].[system_event].[balance.dispute].customer.external_id Changed
  • polar.events.get(): response.[system_event].[benefit.granted].customer.external_id Changed
  • polar.customer_meters.list(): response.items.[].customer.external_id Changed
  • polar.customer_meters.get(): response.customer.external_id Changed

Generated with Speakeasy CLI 1.648.0

Publishing Completed

python - v0.29.0 - 2026-02-25 07:51:51

25 Feb 07:51

Choose a tag to compare

Generated by Speakeasy CLI

polar-sdk 0.29.0

Python SDK Changes Detected:

  • polar.webhooks.create_webhook_endpoint():
    • request.secret Removed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointcheckout_updated_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointorder_created_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointorder_updated_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointorder_paid_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.customer_portal.subscriptions.update():
    • response.product Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.customer_portal.subscriptions.cancel():
    • response.product Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.customer_portal.subscriptions.get():
    • response.product Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.customer_portal.subscriptions.list():
    • response.items.[].product Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.customer_portal.organizations.get():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.customer_portal.orders.update():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.customer_portal.orders.get():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.customer_portal.orders.list():
    • response.items.[] Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.customer_portal.seats.list_claimed_subscriptions():
    • request Changed
    • response Changed Breaking ⚠️
    • error.status[422] Added
  • polar.discounts.update():
    • request.discount_update.currency Changed Breaking ⚠️
    • response.[discount_fixed_once_forever_duration].products.[].visibility Added
    • error.detail.[] Changed
  • polar.discounts.create():
    • request Changed Breaking ⚠️
    • response.[discount_fixed_once_forever_duration].products.[].visibility Added
    • error.detail.[] Changed
  • polar.checkout-links.update():
    • request.checkout_link_update.return_url Added
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointorder_refunded_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointsubscription_created_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointsubscription_updated_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointsubscription_active_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointsubscription_canceled_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointsubscription_uncanceled_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointsubscription_revoked_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointsubscription_past_due_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.checkout-links.get():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.checkout-links.create():
    • request Changed
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.checkout-links.list():
    • response.items.[] Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointcheckout_created_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.checkouts.client_confirm():
    • request.checkout_confirm_stripe Changed Breaking ⚠️
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointproduct_created_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointproduct_updated_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointorganization_updated_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointbenefit_created_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar._endpointbenefit_updated_post():
    • request.data Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.checkouts.client_update():
    • request.checkout_update_public Changed Breaking ⚠️
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.checkouts.client_get():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.checkouts.update():
    • request.checkout_update Changed Breaking ⚠️
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.checkouts.get():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.checkouts.create():
    • request Changed Breaking ⚠️
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.organizations.create():
    • request Changed Breaking ⚠️
    • response Changed
    • error.detail.[] Changed
  • polar.checkouts.list():
    • response.items.[] Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.organizations.update():
    • request.organization_update Changed Breaking ⚠️
    • response Changed
    • error.detail.[] Changed
  • polar.subscriptions.list():
    • response.items.[] Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.subscriptions.create():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.refunds.create():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.subscriptions.get():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.subscriptions.revoke():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.subscriptions.update():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.orders.update():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.orders.get():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.orders.list():
    • response.items.[] Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.products.update_benefits():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.products.update():
    • request.product_update Changed Breaking ⚠️
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.products.get():
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.products.create():
    • request Changed Breaking ⚠️
    • response Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.products.list():
    • request.visibility Added
    • response.items.[] Changed Breaking ⚠️
    • error.detail.[] Changed
  • polar.webhooks.update_webhook_endpoint():
    • request.webhook_endpoint_update.secret Removed Breaking ⚠️
    • error.detail.[] Changed
  • polar.license_keys.get():
    • response.customer Changed
    • error.detail.[] Changed
  • polar.customers.get_state_external():
    • response Changed
    • error.detail.[] Changed
  • polar.webhooks.list_webhook_endpoints(): error.detail.[] Changed
  • polar.benefits.grants():
    • response.items.[] Changed
    • error.detail.[] Changed
  • polar.webhooks.get_webhook_endpoint(): error.detail.[] Changed
  • polar.webhooks.delete_webhook_endpoint(): error.detail.[] Changed
  • polar.benefits.update():
    • response Changed
    • error.detail.[] Changed
  • polar.webhooks.reset_webhook_endpoint_secret(): error.detail.[] Changed
  • polar.webhooks.list_webhook_deliveries():
    • request.event_type Changed
    • error.detail.[] Changed
  • polar.webhooks.redeliver_webhook_event(): error.detail.[] Changed
  • polar.benefits.delete(): error.detail.[] Changed
  • polar.benefits.get():
    • response Changed
    • error.detail.[] Changed
  • polar.benefits.create():
    • response Changed
    • error.detail.[] Changed
  • polar.benefits.list():
    • response.items.[] Changed
    • error.detail.[] Changed
  • polar.oauth2.clients.delete(): error.detail.[] Changed
  • polar.oauth2.clients.update(): error.detail.[] Changed
  • polar.orders.export():
    • response.status[200].content[text/csv Added
    • error.detail.[] Changed
  • polar.oauth2.clients.get(): error.detail.[] Changed
  • `polar.oauth2.clients.c...
Read more

python - v0.28.4 - 2026-01-26 15:44:27

26 Jan 15:44
f6a3759

Choose a tag to compare

Generated by Speakeasy CLI

polar-sdk 0.28.4

Python SDK Changes Detected:

  • polar.events.list(): response.[list_resource_event_].items.[].[system_event] Changed Breaking ⚠️
  • polar.events.get(): response.[system_event] Changed Breaking ⚠️
  • 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

Generated with Speakeasy CLI 1.648.0

Publishing Completed

python - v0.28.3 - 2026-01-20 16:21:38

20 Jan 16:21
8e33505

Choose a tag to compare

Generated by Speakeasy CLI

polar-sdk 0.28.3

Python SDK Changes Detected:

  • polar.checkout-links.create(): response.products.[].prices.[] Changed Breaking ⚠️
  • polar.subscriptions.get(): response.product.prices.[] Changed Breaking ⚠️
  • polar.customer_portal.subscriptions.update():
    • request.security Changed
    • response.product.prices.[] Changed Breaking ⚠️
  • polar.customer_portal.subscriptions.cancel():
    • request.security Changed
    • response.product.prices.[] Changed Breaking ⚠️
  • polar._endpointcheckout_created_post():
    • request.data.products.[].prices.[] Changed Breaking ⚠️
  • polar._endpointcheckout_updated_post():
    • request.data.products.[].prices.[] Changed Breaking ⚠️
  • polar._endpointsubscription_created_post():
    • request.data.product.prices.[] Changed Breaking ⚠️
  • polar._endpointsubscription_updated_post():
    • request.data.product.prices.[] Changed Breaking ⚠️
  • polar._endpointsubscription_active_post():
    • request.data.product.prices.[] Changed Breaking ⚠️
  • polar._endpointsubscription_canceled_post():
    • request.data.product.prices.[] Changed Breaking ⚠️
  • polar._endpointsubscription_uncanceled_post():
    • request.data.product.prices.[] Changed Breaking ⚠️
  • polar._endpointsubscription_revoked_post():
    • request.data.product.prices.[] Changed Breaking ⚠️
  • polar._endpointsubscription_past_due_post():
    • request.data.product.prices.[] Changed Breaking ⚠️
  • polar._endpointproduct_created_post():
    • request.data.prices.[] Changed Breaking ⚠️
  • polar._endpointproduct_updated_post():
    • request.data.prices.[] Changed Breaking ⚠️
  • polar.customer_portal.subscriptions.get():
    • request.security Changed
    • response.product.prices.[] Changed Breaking ⚠️
  • polar.customer_portal.subscriptions.list():
    • request.security Changed
    • response.items.[].product.prices.[] Changed Breaking ⚠️
  • polar.customer_portal.organizations.get(): response.products.[].prices.[] Changed Breaking ⚠️
  • polar.customer_portal.orders.update():
    • request Changed
    • response.product.prices.[] Changed Breaking ⚠️
  • polar.subscriptions.list(): response.items.[].product.prices.[] Changed Breaking ⚠️
  • polar.subscriptions.create(): response.product.prices.[] Changed Breaking ⚠️
  • polar.checkout-links.update(): response.products.[].prices.[] Changed Breaking ⚠️
  • polar.subscriptions.revoke(): response.product.prices.[] Changed Breaking ⚠️
  • polar.subscriptions.update(): response.product.prices.[] Changed Breaking ⚠️
  • polar.products.list(): response.items.[].prices.[] Changed Breaking ⚠️
  • polar.products.create():
    • request.[product_create_recurring].prices.[].[fixed].minimum_amount Changed Breaking ⚠️
    • response.prices.[] Changed Breaking ⚠️
  • polar.products.get(): response.prices.[] Changed Breaking ⚠️
  • polar.products.update():
    • request.product_update.prices.[].[2].[fixed].minimum_amount Changed Breaking ⚠️
    • response.prices.[] Changed Breaking ⚠️
  • polar.products.update_benefits(): response.prices.[] Changed Breaking ⚠️
  • polar.customer_portal.orders.get():
    • request.security Changed
    • response.product.prices.[] Changed Breaking ⚠️
  • polar.checkouts.list(): response.items.[].products.[].prices.[] Changed Breaking ⚠️
  • polar.checkout-links.get(): response.products.[].prices.[] Changed Breaking ⚠️
  • polar.checkouts.get(): response.products.[].prices.[] Changed Breaking ⚠️
  • polar.checkouts.update(): response.products.[].prices.[] Changed Breaking ⚠️
  • polar.checkouts.client_get(): response.products.[].prices.[] Changed Breaking ⚠️
  • polar.checkouts.client_update(): response.products.[].prices.[] Changed Breaking ⚠️
  • polar.checkouts.client_confirm(): response.products.[].prices.[] Changed Breaking ⚠️
  • polar.checkout-links.list(): response.items.[].products.[].prices.[] Changed Breaking ⚠️
  • polar.customer_portal.orders.list():
    • request.security Changed
    • response.items.[].product.prices.[] Changed Breaking ⚠️
  • polar.checkouts.create():
    • request.prices.{}.[].[fixed].minimum_amount Changed Breaking ⚠️
    • response.products.[].prices.[] Changed Breaking ⚠️
  • polar.customer_portal.seats.list_claimed_subscriptions():
    • request.security Changed
    • response.[].product.prices.[] Changed Breaking ⚠️
  • polar.members.update_member(): Added
  • polar.customer_portal.benefit-grants.get(): request.security Changed
  • polar.customer_portal.benefit-grants.update(): request.security Changed
  • polar.customer_portal.customers.get(): request.security Changed
  • polar.customer_portal.benefit-grants.list(): request.security Changed
  • polar.customer_portal.customers.list_payment_methods(): request.security Changed
  • polar.customer_portal.customers.add_payment_method(): request.security Changed
  • polar.customer_portal.customers.confirm_payment_method(): request.security Changed
  • polar.customer_portal.customers.delete_payment_method(): request.security Changed
  • polar.customer_portal.customer_meters.list(): request.security Changed
  • polar.customer_portal.customer_meters.get(): request.security Changed
  • polar.customer_portal.seats.list_seats(): request.security Changed
  • polar.customer_portal.seats.assign_seat(): request.security Changed
  • polar.customer_portal.seats.revoke_seat(): request.security Changed
  • polar.customer_portal.seats.resend_invitation(): request.security Changed
  • polar.customer_portal.customers.update(): request.security Changed
  • polar.customer_portal.customer-session.introspect(): request.security Changed
  • polar.customer_portal.downloadables.list(): request.security Changed
  • polar.customer_portal.license_keys.list(): request.security Changed
  • polar.customer_portal.license_keys.get(): request.security Changed
  • polar.members.get_member(): Added
  • polar.orders.update(): request.order_update Changed
  • polar._endpointbenefit_grant_revoked_post():
    • request.data Changed
  • polar.customer_portal.orders.invoice(): request.security Changed
  • polar.customer_portal.orders.generate_invoice(): request.security Changed
  • polar.customer_portal.orders.get_payment_status(): request.security Changed
  • polar.customer_portal.orders.confirm_retry_payment(): request.security Changed
  • polar._endpointbenefit_grant_cycled_post():
    • request.data Changed
  • polar._endpointbenefit_grant_updated_post():
    • request.data Changed
  • polar._endpointbenefit_grant_created_post():
    • request.data Changed
  • polar.member-sessions.create(): Added
  • polar.customer_portal.customer-session.get_authenticated_user(): Added
  • polar.customer_portal.wallets.list(): request.security Changed
  • polar.customer_portal.wallets.get(): request.security Changed
  • polar.events.list(): response.[list_resource_event_].items.[].[system_event].[balance.order].metadata.member_id Added
  • polar.events.get(): response.[system_event].[balance.order].metadata.member_id Added

Generated with Speakeasy CLI 1.648.0

Publishing Completed