diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 23169a79..325b3bdf 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: fca0ac3a-5f4e-452c-bbc7-2311afa8da40 management: - docChecksum: af5b75d3af3da5db2c520dd99ce3058d - docVersion: 10.23.10 + docChecksum: 4589e182c13d69632ab4c74f19dae07e + docVersion: 10.23.11 speakeasyVersion: 1.656.1 generationVersion: 2.753.1 - releaseVersion: 0.30.0 - configChecksum: db86ebe1bb281d550390e9b1140c1b46 + releaseVersion: 0.30.1 + configChecksum: 1da238dfe65896c36f0f39a056ef6951 repoURL: https://github.com/apideck-libraries/sdk-python.git installationURL: https://github.com/apideck-libraries/sdk-python.git published: true @@ -11614,7 +11614,7 @@ examples: query: raw: false limit: 20 - filter: {"email": "elon@musk.com", "phone_number": "111-111-1111"} + filter: {"email": "elon@musk.com", "phone_number": "111-111-1111", "customer_ids": ["12345", "67890"]} pass_through: {"search": "San Francisco"} fields: "id,updated_at" header: @@ -18498,6 +18498,9 @@ examples: application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} examplesVersion: 1.0.2 generatedTests: {} +releaseNotes: | + ## Python SDK Changes Detected: + * `apideck.ecommerce.customers.list()`: `request.filter` **Changed** trackedFiles: .devcontainer/README.md: last_write_checksum: sha1:07adb0c0c051a9be4d479ea06461f3a9b3bbeb2f @@ -20342,11 +20345,11 @@ trackedFiles: docs/models/ecommercecustomersallglobals.md: last_write_checksum: sha1:da35b96d4c663055097d09f0079d7e260e2d1b58 docs/models/ecommercecustomersallrequest.md: - last_write_checksum: sha1:2e0bcf72dec57837ff0f163914a9d47193ae686a + last_write_checksum: sha1:1ecdc6eecf1981fc3c9e1a60e0b78b1af75c0b45 docs/models/ecommercecustomersallresponse.md: last_write_checksum: sha1:ab2abd6aa8fdf19994e06c102e1a658eeecb851d docs/models/ecommercecustomersfilter.md: - last_write_checksum: sha1:bae019a24c644228f8c0e062fc7bdf5604968514 + last_write_checksum: sha1:1fcb374c3ee43a5b0ef6a1a0c45c7af4cff6dc9d docs/models/ecommercecustomersoneglobals.md: last_write_checksum: sha1:06bc86b000df23a58466263e1cad2a5284cb8f6c docs/models/ecommercecustomersonerequest.md: @@ -22172,7 +22175,7 @@ trackedFiles: docs/sdks/apideckcompanies/README.md: last_write_checksum: sha1:95db1bd89275bf430df2ab0ce0a077bdb3a87e16 docs/sdks/apideckcustomers/README.md: - last_write_checksum: sha1:bfbf3af1548503dca47af51edcbafab40c71fe1d + last_write_checksum: sha1:871fa56324790c24852d7667fb63575edb84d5aa docs/sdks/apideckdepartments/README.md: last_write_checksum: sha1:f9b2d7e94ad6332c1477b3d4e8e8a3b08a413b72 docs/sdks/apiresourcecoveragesdk/README.md: @@ -22342,7 +22345,7 @@ trackedFiles: pylintrc: last_write_checksum: sha1:7b1b40297729ca6f879ec366a3bc9fd867194306 pyproject.toml: - last_write_checksum: sha1:e25f85f730bfa5c14e98ace1521c8e0d70634739 + last_write_checksum: sha1:e85c5ca22b26b126128451ddaf1a0f229c3c01d2 scripts/prepare_readme.py: last_write_checksum: sha1:798a05bafe4fbbfff5b67037866fa25efc52f11a scripts/publish.sh: @@ -22356,7 +22359,7 @@ trackedFiles: src/apideck_unify/_hooks/types.py: last_write_checksum: sha1:4b923d3d84d979af6169a9db6b81bfc373079a25 src/apideck_unify/_version.py: - last_write_checksum: sha1:f0fb89ff5201c92e9dc52a75edde60010611f88a + last_write_checksum: sha1:66cb9a0c1091fa583ee50f94598bfcfd7097d2c0 src/apideck_unify/accounting.py: last_write_checksum: sha1:bd5b63b1d179c5a3b6b70c782cc3ca47fd46f0a4 src/apideck_unify/activities.py: @@ -23350,7 +23353,7 @@ trackedFiles: src/apideck_unify/models/ecommercecustomer.py: last_write_checksum: sha1:76e1505f22a6bf74252b7d89c9e8ec2c738e0a83 src/apideck_unify/models/ecommercecustomersfilter.py: - last_write_checksum: sha1:4ae8996d84b8c29453b9eff4cc59f9f39173457a + last_write_checksum: sha1:c3988d1b047b48782b2567cf8138eb0642f102a6 src/apideck_unify/models/ecommercediscount.py: last_write_checksum: sha1:cb2dce214bf41c14eee65a500cb1515586c333d3 src/apideck_unify/models/ecommerceorder.py: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 3803c378..c04beff7 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -30,7 +30,7 @@ generation: skipResponseBodyAssertions: false persistentEdits: {} python: - version: 0.30.0 + version: 0.30.1 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 8ed23b28..e711cbee 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,20 +2,20 @@ speakeasyVersion: 1.656.1 sources: Apideck: sourceNamespace: apideck - sourceRevisionDigest: sha256:74c0bfebd358e63d9e0a4070b5afc71208c5982cdeb9273803fef34aa94050e5 - sourceBlobDigest: sha256:f3d9b649c16965b20c9b89b0527d0e7b60a566e921276c5a3e2ba299825bfac0 + sourceRevisionDigest: sha256:077c4579307e69ad35432885ec1495b89997c7cd6debe8d280362366c555309a + sourceBlobDigest: sha256:e17da2c939ff5ea9146ba317658b2b165dd13383ea397d8ce7bd39d438aa5d9c tags: - latest - - speakeasy-sdk-regen-1769019593 - - 10.23.10 + - speakeasy-sdk-regen-1769086996 + - 10.23.11 targets: apideck: source: Apideck sourceNamespace: apideck - sourceRevisionDigest: sha256:74c0bfebd358e63d9e0a4070b5afc71208c5982cdeb9273803fef34aa94050e5 - sourceBlobDigest: sha256:f3d9b649c16965b20c9b89b0527d0e7b60a566e921276c5a3e2ba299825bfac0 + sourceRevisionDigest: sha256:077c4579307e69ad35432885ec1495b89997c7cd6debe8d280362366c555309a + sourceBlobDigest: sha256:e17da2c939ff5ea9146ba317658b2b165dd13383ea397d8ce7bd39d438aa5d9c codeSamplesNamespace: apideck-python-code-samples - codeSamplesRevisionDigest: sha256:20332cbdab3331027a0016454bbc2b8fb327bda24d4be78a844e4fd6a747e0d6 + codeSamplesRevisionDigest: sha256:3d3bf26836014402ebafdcbfcacf347c31e52cd2275cfea55397e6b900afc4d9 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index b06a0f78..bfb24a34 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1028,4 +1028,14 @@ Based on: ### Generated - [python v0.30.0] . ### Releases -- [PyPI v0.30.0] https://pypi.org/project/apideck-unify/0.30.0 - . \ No newline at end of file +- [PyPI v0.30.0] https://pypi.org/project/apideck-unify/0.30.0 - . + +## 2026-01-25 00:24:05 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.656.1 (2.753.1) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.30.1] . +### Releases +- [PyPI v0.30.1] https://pypi.org/project/apideck-unify/0.30.1 - . \ No newline at end of file diff --git a/docs/models/ecommercecustomersallrequest.md b/docs/models/ecommercecustomersallrequest.md index b530db5a..1b4076de 100644 --- a/docs/models/ecommercecustomersallrequest.md +++ b/docs/models/ecommercecustomersallrequest.md @@ -11,6 +11,6 @@ | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `cursor` | *OptionalNullable[str]* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | | `limit` | *Optional[int]* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | -| `filter_` | [Optional[models.EcommerceCustomersFilter]](../models/ecommercecustomersfilter.md) | :heavy_minus_sign: | Apply filters | {
"email": "elon@musk.com",
"phone_number": "111-111-1111"
} | +| `filter_` | [Optional[models.EcommerceCustomersFilter]](../models/ecommercecustomersfilter.md) | :heavy_minus_sign: | Apply filters | {
"email": "elon@musk.com",
"phone_number": "111-111-1111",
"customer_ids": [
"12345",
"67890"
]
} | | `pass_through` | Dict[str, *Any*] | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | | `fields` | *OptionalNullable[str]* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | \ No newline at end of file diff --git a/docs/models/ecommercecustomersfilter.md b/docs/models/ecommercecustomersfilter.md index e9395cfe..b7a44c94 100644 --- a/docs/models/ecommercecustomersfilter.md +++ b/docs/models/ecommercecustomersfilter.md @@ -6,4 +6,5 @@ | Field | Type | Required | Description | Example | | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | | `email` | *Optional[str]* | :heavy_minus_sign: | Customer email address to filter on | elon@musk.com | -| `phone_number` | *Optional[str]* | :heavy_minus_sign: | Customer phone number to filter on | 111-111-1111 | \ No newline at end of file +| `phone_number` | *Optional[str]* | :heavy_minus_sign: | Customer phone number to filter on | 111-111-1111 | +| `customer_ids` | List[*str*] | :heavy_minus_sign: | Filter by customer IDs | [
"12345",
"67890"
] | \ No newline at end of file diff --git a/docs/sdks/apideckcustomers/README.md b/docs/sdks/apideckcustomers/README.md index 8548e7a7..177583f9 100644 --- a/docs/sdks/apideckcustomers/README.md +++ b/docs/sdks/apideckcustomers/README.md @@ -50,7 +50,7 @@ with Apideck( | `service_id` | *Optional[str]* | :heavy_minus_sign: | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. | salesforce | | `cursor` | *OptionalNullable[str]* | :heavy_minus_sign: | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. | | | `limit` | *Optional[int]* | :heavy_minus_sign: | Number of results to return. Minimum 1, Maximum 200, Default 20 | | -| `filter_` | [Optional[models.EcommerceCustomersFilter]](../../models/ecommercecustomersfilter.md) | :heavy_minus_sign: | Apply filters | {
"email": "elon@musk.com",
"phone_number": "111-111-1111"
} | +| `filter_` | [Optional[models.EcommerceCustomersFilter]](../../models/ecommercecustomersfilter.md) | :heavy_minus_sign: | Apply filters | {
"email": "elon@musk.com",
"phone_number": "111-111-1111",
"customer_ids": [
"12345",
"67890"
]
} | | `pass_through` | Dict[str, *Any*] | :heavy_minus_sign: | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads | {
"search": "San Francisco"
} | | `fields` | *OptionalNullable[str]* | :heavy_minus_sign: | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation.

Example: `fields=name,email,addresses.city`

In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. | id,updated_at | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | diff --git a/pyproject.toml b/pyproject.toml index d4a25a7d..d8d8d960 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "apideck-unify" -version = "0.30.0" +version = "0.30.1" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/src/apideck_unify/_version.py b/src/apideck_unify/_version.py index e952683c..dfee4142 100644 --- a/src/apideck_unify/_version.py +++ b/src/apideck_unify/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "apideck-unify" -__version__: str = "0.30.0" -__openapi_doc_version__: str = "10.23.10" +__version__: str = "0.30.1" +__openapi_doc_version__: str = "10.23.11" __gen_version__: str = "2.753.1" -__user_agent__: str = "speakeasy-sdk/python 0.30.0 2.753.1 10.23.10 apideck-unify" +__user_agent__: str = "speakeasy-sdk/python 0.30.1 2.753.1 10.23.11 apideck-unify" try: if __package__ is not None: diff --git a/src/apideck_unify/models/ecommercecustomersfilter.py b/src/apideck_unify/models/ecommercecustomersfilter.py index 23b4fb26..b88f1122 100644 --- a/src/apideck_unify/models/ecommercecustomersfilter.py +++ b/src/apideck_unify/models/ecommercecustomersfilter.py @@ -3,7 +3,7 @@ from __future__ import annotations from apideck_unify.types import BaseModel from apideck_unify.utils import FieldMetadata -from typing import Optional +from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict @@ -12,6 +12,8 @@ class EcommerceCustomersFilterTypedDict(TypedDict): r"""Customer email address to filter on""" phone_number: NotRequired[str] r"""Customer phone number to filter on""" + customer_ids: NotRequired[List[str]] + r"""Filter by customer IDs""" class EcommerceCustomersFilter(BaseModel): @@ -20,3 +22,6 @@ class EcommerceCustomersFilter(BaseModel): phone_number: Annotated[Optional[str], FieldMetadata(query=True)] = None r"""Customer phone number to filter on""" + + customer_ids: Annotated[Optional[List[str]], FieldMetadata(query=True)] = None + r"""Filter by customer IDs"""