diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index e9bb42f7..d28f56fd 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: 0e452ff6a9bde44daac84b2b42e5b6b8 + docChecksum: 748591ebf07a3831bfae02d747cbf42d docVersion: 0.1.0 speakeasyVersion: 1.648.0 generationVersion: 2.737.0 - releaseVersion: 0.31.0 - configChecksum: 92d0bf112f54af5b2983ed79456c5890 + releaseVersion: 0.31.1 + configChecksum: 3fcf8954029e1de446c6e47cc5f4bc44 repoURL: https://github.com/polarsource/polar-python.git installationURL: https://github.com/polarsource/polar-python.git published: true @@ -319,6 +319,7 @@ generatedFiles: - docs/models/customerbenefitgrantsortproperty.md - docs/models/customerbenefitgrantupdate.md - docs/models/customercancellationreason.md + - docs/models/customercancellationreasonfilter.md - docs/models/customercreate.md - docs/models/customercreatedevent.md - docs/models/customercreatedmetadata.md @@ -4442,7 +4443,9 @@ examples: application/json: {} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Python SDK Changes Detected:\n* `polar._endpointcustomer_created_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointcustomer_updated_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointcustomer_deleted_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointcustomer_state_changed_post()`: \n * `request.data` **Changed** **Breaking** :warning:\n* `polar._endpointorder_created_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointorder_updated_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointorder_paid_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointorder_refunded_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_created_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_updated_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_active_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_canceled_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_uncanceled_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_revoked_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointsubscription_past_due_post()`: \n * `request.data.customer` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_grant_created_post()`: \n * `request.data.[benefit_grant_downloadables_webhook].customer` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_grant_updated_post()`: \n * `request.data.[benefit_grant_discord_webhook].customer` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_grant_cycled_post()`: \n * `request.data.[benefit_grant_git_hub_repository_webhook].customer` **Changed** **Breaking** :warning:\n* `polar._endpointbenefit_grant_revoked_post()`: \n * `request.data.[benefit_grant_downloadables_webhook].customer` **Changed** **Breaking** :warning:\n* `polar.subscriptions.list()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.subscriptions.create()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.subscriptions.get()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.subscriptions.revoke()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.subscriptions.update()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.benefits.grants()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.benefit-grants.list()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.orders.list()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.orders.get()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.orders.update()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.license_keys.list()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.license_keys.get()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.license_keys.update()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.license_keys.get_activation()`: `response.license_key.customer` **Changed** **Breaking** :warning:\n* `polar.license_keys.validate()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.license_keys.activate()`: `response.license_key.customer` **Changed** **Breaking** :warning:\n* `polar.customers.list()`: `response.items.[]` **Changed** **Breaking** :warning:\n* `polar.customers.create()`: \n * `request` **Changed** **Breaking** :warning:\n * `response` **Changed** **Breaking** :warning:\n* `polar.customers.get()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.update()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.get_external()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.update_external()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.get_state()`: `response` **Changed** **Breaking** :warning:\n* `polar.customers.get_state_external()`: `response` **Changed** **Breaking** :warning:\n* `polar.customer_portal.benefit-grants.list()`: `response.items.[].[customer_benefit_grant_feature_flag].customer.email` **Changed** **Breaking** :warning:\n* `polar.customer_portal.benefit-grants.get()`: `response.[customer_benefit_grant_meter_credit].customer.email` **Changed** **Breaking** :warning:\n* `polar.customer_portal.benefit-grants.update()`: `response.[customer_benefit_grant_custom].customer.email` **Changed** **Breaking** :warning:\n* `polar.customer_portal.customers.get()`: `response.email` **Changed** **Breaking** :warning:\n* `polar.customer_portal.customers.update()`: `response.email` **Changed** **Breaking** :warning:\n* `polar.customer_portal.license_keys.list()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.customer_portal.license_keys.get()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.customer_portal.license_keys.validate()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.customer_portal.license_keys.activate()`: `response.license_key.customer` **Changed** **Breaking** :warning:\n* `polar.customer-sessions.create()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.events.list()`: `response.[list_resource_event_].items.[].[system_event]` **Changed** **Breaking** :warning:\n* `polar.events.get()`: `response.[system_event]` **Changed** **Breaking** :warning:\n* `polar.customer_meters.list()`: `response.items.[].customer` **Changed** **Breaking** :warning:\n* `polar.customer_meters.get()`: `response.customer` **Changed** **Breaking** :warning:\n* `polar.payments.list()`: `response.items.[]` **Changed**\n" +releaseNotes: | + ## Python SDK Changes Detected: + * `polar.subscriptions.list()`: `request` **Changed** trackedFiles: .devcontainer/README.md: last_write_checksum: sha1:e2a191a1fa8ceb27387eb32eabf36f7ad16a532c @@ -4998,6 +5001,8 @@ trackedFiles: last_write_checksum: sha1:fd4ad70ec4d8e05412bcb7f151394c5485ec34b4 docs/models/customercancellationreason.md: last_write_checksum: sha1:ebb7063b0228ef4a0969c2b2ca156d2fde1f0c3e + docs/models/customercancellationreasonfilter.md: + last_write_checksum: sha1:9f0c7dc8d4115a978a25519a78da0c7e0474831d docs/models/customercreate.md: last_write_checksum: sha1:d4d11b77c1b51e581945f9ca39e2d87c74e0d55d docs/models/customercreatedevent.md: @@ -6521,7 +6526,7 @@ trackedFiles: docs/models/subscriptionsgetrequest.md: last_write_checksum: sha1:954b9a8e0a36e302350a1aaba6bf4b7f96d3a19f docs/models/subscriptionslistrequest.md: - last_write_checksum: sha1:21bb9ad61f56615bcaa16a61c058d108cc7d38f4 + last_write_checksum: sha1:90cf6159101a88e80cb66c86413fb93ba273e045 docs/models/subscriptionslistresponse.md: last_write_checksum: sha1:2413970956317d71808bdeff11198ac794a9b7cc docs/models/subscriptionsortproperty.md: @@ -6795,7 +6800,7 @@ trackedFiles: docs/sdks/seats/README.md: last_write_checksum: sha1:4fababa9473ca4d33eb666d0a778aaca4d8334c1 docs/sdks/subscriptions/README.md: - last_write_checksum: sha1:193f1bd2d433e9a12f00980b6498d1158e14eb6c + last_write_checksum: sha1:1ff8456888ce4ad6be2c35ffbbf987a6d868c32c docs/sdks/wallets/README.md: last_write_checksum: sha1:f8a655313c213e9c6a2900a2c12b499935f815bf docs/sdks/webhooks/README.md: @@ -6807,7 +6812,7 @@ trackedFiles: pylintrc: last_write_checksum: sha1:f3105517b767e704987821cf08b26c09d5235218 pyproject.toml: - last_write_checksum: sha1:794c428bf52932b495d5c8b6e06975a5b074ddd6 + last_write_checksum: sha1:5b7b644569972c3e39ffcb86e6329f3c8fd2b8e4 scripts/prepare_readme.py: last_write_checksum: sha1:2311639185b318e498a99518d92fa5c847b5c70a scripts/publish.sh: @@ -6821,7 +6826,7 @@ trackedFiles: src/polar_sdk/_hooks/types.py: last_write_checksum: sha1:a218c66f3e2d1f1b9af54f270472b970b0cc1913 src/polar_sdk/_version.py: - last_write_checksum: sha1:a45c54df92495b013fa9a388230489daf2d54669 + last_write_checksum: sha1:e840e390b986c13f1cef9e29cf76dece4846417e src/polar_sdk/basesdk.py: last_write_checksum: sha1:e17a40e5202e6e5974532ed42f39f6caf02a37d1 src/polar_sdk/benefit_grants.py: @@ -6871,7 +6876,7 @@ trackedFiles: src/polar_sdk/metrics_sdk.py: last_write_checksum: sha1:d35cb2e65dcc84d88d36a8f68ccf5a46868aff0f src/polar_sdk/models/__init__.py: - last_write_checksum: sha1:ff9418023bf658878bda29ceafb0c6ad59798b1d + last_write_checksum: sha1:340b156f53aa52286e849d49fd93d70ef538af78 src/polar_sdk/models/address.py: last_write_checksum: sha1:083edb7f045174ac1aea30545e9981c33f07d57d src/polar_sdk/models/addressdict.py: @@ -8177,7 +8182,7 @@ trackedFiles: src/polar_sdk/models/subscriptions_getop.py: last_write_checksum: sha1:74872cc7de547940f4189bbabea5d8d4803837e1 src/polar_sdk/models/subscriptions_listop.py: - last_write_checksum: sha1:72cb199a4b77efa0eaa6980b049b0ae018cb63ed + last_write_checksum: sha1:8703eaa151a73b3bf7b25a9f143aaff4d9568e6d src/polar_sdk/models/subscriptions_revokeop.py: last_write_checksum: sha1:e1ca41a0bf57c37d748d641ca62cea7b71509537 src/polar_sdk/models/subscriptions_updateop.py: @@ -8387,7 +8392,7 @@ trackedFiles: src/polar_sdk/seats.py: last_write_checksum: sha1:4e46dfb2ecc5506e5b0764722986e73768f7f64e src/polar_sdk/subscriptions.py: - last_write_checksum: sha1:c569cfeccddaf6a8621602aba7871291fed12c33 + last_write_checksum: sha1:62e05c020f75e31eee30cf716276b78b92ff141a src/polar_sdk/types/__init__.py: last_write_checksum: sha1:140ebdd01a46f92ffc710c52c958c4eba3cf68ed src/polar_sdk/types/basemodel.py: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 75aa0cd0..fd4fad35 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -31,7 +31,7 @@ generation: persistentEdits: {} versioningStrategy: automatic python: - version: 0.31.0 + version: 0.31.1 additionalDependencies: dev: pydantic-ai-slim: ^0.1.0 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 05927ed6..8a343310 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:f8709a4eb128eae2205cf1850fcb774e6636048b4118f83edf6e319c86e3a552 - sourceBlobDigest: sha256:ee09c80bc23acb7e1dbe17d2e87b0b118445325f0a5138541f39a45f7638fb04 + sourceRevisionDigest: sha256:acf430225829de43d054bc65cf00e4afe201fc397c5d484d690d361331020714 + sourceBlobDigest: sha256:3edd59589f1382816d210c29aca15dbc0971a59e40565931e35cca6188813f4f tags: - latest - - speakeasy-sdk-regen-1774543542 + - speakeasy-sdk-regen-1774657294 - 0.1.0 targets: polar: source: Polar-OAS sourceNamespace: polar-oas - sourceRevisionDigest: sha256:f8709a4eb128eae2205cf1850fcb774e6636048b4118f83edf6e319c86e3a552 - sourceBlobDigest: sha256:ee09c80bc23acb7e1dbe17d2e87b0b118445325f0a5138541f39a45f7638fb04 + sourceRevisionDigest: sha256:acf430225829de43d054bc65cf00e4afe201fc397c5d484d690d361331020714 + sourceBlobDigest: sha256:3edd59589f1382816d210c29aca15dbc0971a59e40565931e35cca6188813f4f codeSamplesNamespace: polar-oas-py-code-samples - codeSamplesRevisionDigest: sha256:14eeea3aef164d3b51fee6ab9ac4850c1a9a4ec82778fb87aacea7e77ab78c7f + codeSamplesRevisionDigest: sha256:4b58440e4a75f4da738fd1b52335f3f4175cc3a8084db1650ee81e3c1c6272d1 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 531244b4..69ac24bb 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1073,4 +1073,14 @@ Based on: ### Generated - [python v0.31.0] . ### Releases -- [PyPI v0.31.0] https://pypi.org/project/polar-sdk/0.31.0 - . \ No newline at end of file +- [PyPI v0.31.0] https://pypi.org/project/polar-sdk/0.31.0 - . + +## 2026-03-29 00:23:30 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.648.0 (2.737.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.31.1] . +### Releases +- [PyPI v0.31.1] https://pypi.org/project/polar-sdk/0.31.1 - . \ No newline at end of file diff --git a/docs/models/customercancellationreasonfilter.md b/docs/models/customercancellationreasonfilter.md new file mode 100644 index 00000000..d7c33ba7 --- /dev/null +++ b/docs/models/customercancellationreasonfilter.md @@ -0,0 +1,19 @@ +# CustomerCancellationReasonFilter + +Filter by customer cancellation reason. + + +## Supported Types + +### `models.CustomerCancellationReason` + +```python +value: models.CustomerCancellationReason = /* values here */ +``` + +### `List[models.CustomerCancellationReason]` + +```python +value: List[models.CustomerCancellationReason] = /* values here */ +``` + diff --git a/docs/models/subscriptionslistrequest.md b/docs/models/subscriptionslistrequest.md index 104c1b99..47e09d43 100644 --- a/docs/models/subscriptionslistrequest.md +++ b/docs/models/subscriptionslistrequest.md @@ -12,6 +12,9 @@ | `discount_id` | [OptionalNullable[models.DiscountIDFilter]](../models/discountidfilter.md) | :heavy_minus_sign: | Filter by discount ID. | | `active` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter by active or inactive subscription. | | `cancel_at_period_end` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter by subscriptions that are set to cancel at period end. | +| `customer_cancellation_reason` | [OptionalNullable[models.CustomerCancellationReasonFilter]](../models/customercancellationreasonfilter.md) | :heavy_minus_sign: | Filter by customer cancellation reason. | +| `canceled_at_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter by cancellation date (after or equal to). | +| `canceled_at_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter by cancellation date (before or equal to). | | `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.SubscriptionSortProperty](../models/subscriptionsortproperty.md)] | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | diff --git a/docs/sdks/subscriptions/README.md b/docs/sdks/subscriptions/README.md index 9fe18765..1b86ce10 100644 --- a/docs/sdks/subscriptions/README.md +++ b/docs/sdks/subscriptions/README.md @@ -49,6 +49,9 @@ with Polar( | `discount_id` | [OptionalNullable[models.DiscountIDFilter]](../../models/discountidfilter.md) | :heavy_minus_sign: | Filter by discount ID. | | `active` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter by active or inactive subscription. | | `cancel_at_period_end` | *OptionalNullable[bool]* | :heavy_minus_sign: | Filter by subscriptions that are set to cancel at period end. | +| `customer_cancellation_reason` | [OptionalNullable[models.CustomerCancellationReasonFilter]](../../models/customercancellationreasonfilter.md) | :heavy_minus_sign: | Filter by customer cancellation reason. | +| `canceled_at_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter by cancellation date (after or equal to). | +| `canceled_at_before` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter by cancellation date (before or equal to). | | `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.SubscriptionSortProperty](../../models/subscriptionsortproperty.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 24106f67..2809d6a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "polar-sdk" -version = "0.31.0" +version = "0.31.1" 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 9a46d9f3..ce97f8c0 100644 --- a/src/polar_sdk/_version.py +++ b/src/polar_sdk/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "polar-sdk" -__version__: str = "0.31.0" +__version__: str = "0.31.1" __openapi_doc_version__: str = "0.1.0" __gen_version__: str = "2.737.0" -__user_agent__: str = "speakeasy-sdk/python 0.31.0 2.737.0 0.1.0 polar-sdk" +__user_agent__: str = "speakeasy-sdk/python 0.31.1 2.737.0 0.1.0 polar-sdk" try: if __package__ is not None: diff --git a/src/polar_sdk/models/__init__.py b/src/polar_sdk/models/__init__.py index 38ebf102..d442e404 100644 --- a/src/polar_sdk/models/__init__.py +++ b/src/polar_sdk/models/__init__.py @@ -2629,6 +2629,8 @@ BenefitsListResponseTypedDict, CheckoutIDFilter, CheckoutIDFilterTypedDict, + CustomerCancellationReasonFilter, + CustomerCancellationReasonFilterTypedDict, CustomerIDFilter, CustomerIDFilterTypedDict, CustomersListQueryParamOrganizationIDFilter, @@ -3616,6 +3618,8 @@ "CustomerBenefitGrantUpdate", "CustomerBenefitGrantUpdateTypedDict", "CustomerCancellationReason", + "CustomerCancellationReasonFilter", + "CustomerCancellationReasonFilterTypedDict", "CustomerCreate", "CustomerCreateTypedDict", "CustomerCreatedEvent", @@ -7100,6 +7104,8 @@ "BenefitsListResponseTypedDict": ".subscriptions_listop", "CheckoutIDFilter": ".subscriptions_listop", "CheckoutIDFilterTypedDict": ".subscriptions_listop", + "CustomerCancellationReasonFilter": ".subscriptions_listop", + "CustomerCancellationReasonFilterTypedDict": ".subscriptions_listop", "CustomerIDFilter": ".subscriptions_listop", "CustomerIDFilterTypedDict": ".subscriptions_listop", "CustomersListQueryParamOrganizationIDFilter": ".subscriptions_listop", diff --git a/src/polar_sdk/models/subscriptions_listop.py b/src/polar_sdk/models/subscriptions_listop.py index baee3500..380c2f09 100644 --- a/src/polar_sdk/models/subscriptions_listop.py +++ b/src/polar_sdk/models/subscriptions_listop.py @@ -4,6 +4,7 @@ from .aggregationfunction import AggregationFunction from .benefitsortproperty import BenefitSortProperty from .benefittype import BenefitType +from .customercancellationreason import CustomerCancellationReason from .customersortproperty import CustomerSortProperty from .eventsortproperty import EventSortProperty from .eventsource import EventSource @@ -89,6 +90,20 @@ r"""Filter by discount ID.""" +CustomerCancellationReasonFilterTypedDict = TypeAliasType( + "CustomerCancellationReasonFilterTypedDict", + Union[CustomerCancellationReason, List[CustomerCancellationReason]], +) +r"""Filter by customer cancellation reason.""" + + +CustomerCancellationReasonFilter = TypeAliasType( + "CustomerCancellationReasonFilter", + Union[CustomerCancellationReason, List[CustomerCancellationReason]], +) +r"""Filter by customer cancellation reason.""" + + MetadataQueryTypedDict = TypeAliasType( "MetadataQueryTypedDict", Union[str, int, bool, List[str], List[int], List[bool]] ) @@ -114,6 +129,14 @@ class SubscriptionsListRequestTypedDict(TypedDict): r"""Filter by active or inactive subscription.""" cancel_at_period_end: NotRequired[Nullable[bool]] r"""Filter by subscriptions that are set to cancel at period end.""" + customer_cancellation_reason: NotRequired[ + Nullable[CustomerCancellationReasonFilterTypedDict] + ] + r"""Filter by customer cancellation reason.""" + canceled_at_after: NotRequired[Nullable[datetime]] + r"""Filter by cancellation date (after or equal to).""" + canceled_at_before: NotRequired[Nullable[datetime]] + r"""Filter by cancellation date (before or equal to).""" page: NotRequired[int] r"""Page number, defaults to 1.""" limit: NotRequired[int] @@ -167,6 +190,24 @@ class SubscriptionsListRequest(BaseModel): ] = UNSET r"""Filter by subscriptions that are set to cancel at period end.""" + customer_cancellation_reason: Annotated[ + OptionalNullable[CustomerCancellationReasonFilter], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""Filter by customer cancellation reason.""" + + canceled_at_after: Annotated[ + OptionalNullable[datetime], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""Filter by cancellation date (after or equal to).""" + + canceled_at_before: Annotated[ + OptionalNullable[datetime], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + r"""Filter by cancellation date (before or equal to).""" + page: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -201,6 +242,9 @@ def serialize_model(self, handler): "discount_id", "active", "cancel_at_period_end", + "customer_cancellation_reason", + "canceled_at_after", + "canceled_at_before", "page", "limit", "sorting", @@ -214,6 +258,9 @@ def serialize_model(self, handler): "discount_id", "active", "cancel_at_period_end", + "customer_cancellation_reason", + "canceled_at_after", + "canceled_at_before", "sorting", "metadata", ] diff --git a/src/polar_sdk/subscriptions.py b/src/polar_sdk/subscriptions.py index a28c13eb..30fe0c62 100644 --- a/src/polar_sdk/subscriptions.py +++ b/src/polar_sdk/subscriptions.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from .basesdk import BaseSDK +from datetime import datetime from enum import Enum from jsonpath import JSONPath from polar_sdk import models, utils @@ -39,6 +40,14 @@ def list( ] = UNSET, active: OptionalNullable[bool] = UNSET, cancel_at_period_end: OptionalNullable[bool] = UNSET, + customer_cancellation_reason: OptionalNullable[ + Union[ + models.CustomerCancellationReasonFilter, + models.CustomerCancellationReasonFilterTypedDict, + ] + ] = UNSET, + canceled_at_after: OptionalNullable[datetime] = UNSET, + canceled_at_before: OptionalNullable[datetime] = UNSET, page: Optional[int] = 1, limit: Optional[int] = 10, sorting: OptionalNullable[List[models.SubscriptionSortProperty]] = UNSET, @@ -66,6 +75,9 @@ def list( :param discount_id: Filter by discount ID. :param active: Filter by active or inactive subscription. :param cancel_at_period_end: Filter by subscriptions that are set to cancel at period end. + :param customer_cancellation_reason: Filter by customer cancellation reason. + :param canceled_at_after: Filter by cancellation date (after or equal to). + :param canceled_at_before: Filter by cancellation date (before or equal to). :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. @@ -93,6 +105,9 @@ def list( discount_id=discount_id, active=active, cancel_at_period_end=cancel_at_period_end, + customer_cancellation_reason=customer_cancellation_reason, + canceled_at_after=canceled_at_after, + canceled_at_before=canceled_at_before, page=page, limit=limit, sorting=sorting, @@ -162,6 +177,9 @@ def next_func() -> Optional[models.SubscriptionsListResponse]: discount_id=discount_id, active=active, cancel_at_period_end=cancel_at_period_end, + customer_cancellation_reason=customer_cancellation_reason, + canceled_at_after=canceled_at_after, + canceled_at_before=canceled_at_before, page=next_page, limit=limit, sorting=sorting, @@ -214,6 +232,14 @@ async def list_async( ] = UNSET, active: OptionalNullable[bool] = UNSET, cancel_at_period_end: OptionalNullable[bool] = UNSET, + customer_cancellation_reason: OptionalNullable[ + Union[ + models.CustomerCancellationReasonFilter, + models.CustomerCancellationReasonFilterTypedDict, + ] + ] = UNSET, + canceled_at_after: OptionalNullable[datetime] = UNSET, + canceled_at_before: OptionalNullable[datetime] = UNSET, page: Optional[int] = 1, limit: Optional[int] = 10, sorting: OptionalNullable[List[models.SubscriptionSortProperty]] = UNSET, @@ -241,6 +267,9 @@ async def list_async( :param discount_id: Filter by discount ID. :param active: Filter by active or inactive subscription. :param cancel_at_period_end: Filter by subscriptions that are set to cancel at period end. + :param customer_cancellation_reason: Filter by customer cancellation reason. + :param canceled_at_after: Filter by cancellation date (after or equal to). + :param canceled_at_before: Filter by cancellation date (before or equal to). :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. @@ -268,6 +297,9 @@ async def list_async( discount_id=discount_id, active=active, cancel_at_period_end=cancel_at_period_end, + customer_cancellation_reason=customer_cancellation_reason, + canceled_at_after=canceled_at_after, + canceled_at_before=canceled_at_before, page=page, limit=limit, sorting=sorting, @@ -337,6 +369,9 @@ def next_func() -> Optional[models.SubscriptionsListResponse]: discount_id=discount_id, active=active, cancel_at_period_end=cancel_at_period_end, + customer_cancellation_reason=customer_cancellation_reason, + canceled_at_after=canceled_at_after, + canceled_at_before=canceled_at_before, page=next_page, limit=limit, sorting=sorting,