From 8a5dfa7dcb9750607393c2e996bf24f04623ab84 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Tue, 25 Aug 2026 13:16:27 +0000 Subject: [PATCH 1/2] ## Python SDK Changes Detected: * `apideck.accounting.invoices.list()`: `request.filter` **Changed** * `apideck.accounting.credit_notes.list()`: `request.filter` **Changed** * `apideck.accounting.customers.list()`: `request.filter` **Changed** --- .speakeasy/gen.lock | 62 ++++++++++--------- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 ++--- RELEASES.md | 12 +++- .../models/accountingcreditnotesallrequest.md | 2 +- docs/models/accountingcustomersallrequest.md | 2 +- docs/models/accountinginvoicesallrequest.md | 2 +- docs/models/creditnotesfilter.md | 1 + docs/models/customersfilter.md | 1 + docs/models/invoicesfilter.md | 1 + docs/sdks/creditnotes/README.md | 2 +- docs/sdks/customers/README.md | 2 +- docs/sdks/invoices/README.md | 2 +- pyproject.toml | 2 +- src/apideck_unify/_version.py | 6 +- src/apideck_unify/models/creditnotesfilter.py | 5 ++ src/apideck_unify/models/customersfilter.py | 6 ++ src/apideck_unify/models/invoicesfilter.py | 5 ++ 18 files changed, 81 insertions(+), 48 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 1f9ff9f5..80e1491a 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: 37f03733b612e44aca3a0c00e4481d0e - docVersion: 10.44.0 + docChecksum: bafc2d9cd2b83bacd4084e3936462de0 + docVersion: 10.45.0 speakeasyVersion: 1.656.1 generationVersion: 2.753.1 - releaseVersion: 0.37.0 - configChecksum: 6f2507158991e43a9c64d38193effabc + releaseVersion: 0.38.0 + configChecksum: f35c12798947882b0c1c4d911745398e repoURL: https://github.com/apideck-libraries/sdk-python.git installationURL: https://github.com/apideck-libraries/sdk-python.git published: true @@ -3997,7 +3997,7 @@ examples: query: raw: false limit: 20 - filter: {"id_since": "1", "updated_since": "2020-09-30T07:43:32.000Z", "created_since": "2020-09-30T07:43:32.000Z", "number": "OIT00546", "supplier_id": "123", "customer_id": "123abc"} + filter: {"ids": "12345,67890", "id_since": "1", "updated_since": "2020-09-30T07:43:32.000Z", "created_since": "2020-09-30T07:43:32.000Z", "number": "OIT00546", "supplier_id": "123", "customer_id": "123abc"} sort: {"by": "updated_at", "direction": "desc"} pass_through: {"search": "San Francisco"} fields: "id,updated_at" @@ -4811,7 +4811,7 @@ examples: query: raw: false limit: 20 - filter: {"id_since": "1", "updated_since": "2020-09-30T07:43:32.000Z", "created_since": "2020-09-30T07:43:32.000Z", "number": "OIT00546", "customer_id": "123abc"} + filter: {"ids": "12345,67890", "id_since": "1", "updated_since": "2020-09-30T07:43:32.000Z", "created_since": "2020-09-30T07:43:32.000Z", "number": "OIT00546", "customer_id": "123abc"} sort: {"by": "updated_at", "direction": "desc"} pass_through: {"search": "San Francisco"} fields: "id,updated_at" @@ -5081,7 +5081,7 @@ examples: query: raw: false limit: 20 - filter: {"company_name": "SpaceX", "display_name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "status": "active", "updated_since": "2020-09-30T07:43:32.000Z", "supplier_id": "123"} + filter: {"ids": "12345,67890", "company_name": "SpaceX", "display_name": "Elon Musk", "first_name": "Elon", "last_name": "Musk", "email": "elon@musk.com", "status": "active", "updated_since": "2020-09-30T07:43:32.000Z", "supplier_id": "123"} sort: {"by": "updated_at", "direction": "desc"} pass_through: {"search": "San Francisco"} fields: "id,updated_at" @@ -20280,7 +20280,11 @@ 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:\n* `apideck.accounting.sales_receipts.list()`: **Added**\n* `apideck.accounting.sales_receipts.create()`: **Added**\n* `apideck.accounting.sales_receipts.get()`: **Added**\n* `apideck.accounting.sales_receipts.update()`: **Added**\n* `apideck.accounting.sales_receipts.delete()`: **Added**\n* `apideck.accounting.payment_methods.list()`: **Added**\n* `apideck.accounting.payment_methods.create()`: **Added**\n* `apideck.accounting.payment_methods.get()`: **Added**\n* `apideck.accounting.payment_methods.update()`: **Added**\n* `apideck.accounting.payment_methods.delete()`: **Added**\n* `apideck.accounting.tax_rates.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.tax_rates.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.tax_rates.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.tax_rates.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.bills.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.bills.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.bills.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.bills.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.invoices.list()`: `response.data.[].line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.invoices.create()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.invoices.get()`: `response.data.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.invoices.update()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.ledger_accounts.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.ledger_accounts.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.ledger_accounts.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.ledger_accounts.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.credit_notes.list()`: `response.data.[].line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.credit_notes.create()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.credit_notes.get()`: `response.data.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.credit_notes.update()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.customers.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.customers.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.customers.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.customers.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.suppliers.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.suppliers.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.suppliers.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.suppliers.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.payments.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.payments.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.payments.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.payments.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.refunds.list()`: `response.data.[].line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.refunds.create()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.refunds.get()`: `response.data.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.refunds.update()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.company_info.get()`: `response.data.default_sales_tax.custom_fields.[]` **Changed**\n* `apideck.accounting.journal_entries.list()`: \n * `request.filter` **Changed**\n * `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.journal_entries.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.journal_entries.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.journal_entries.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.general_ledger_transactions.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.general_ledger_transactions.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.purchase_orders.list()`: `response.data.[].line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.purchase_orders.create()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.purchase_orders.get()`: `response.data.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.purchase_orders.update()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.attachments.list()`: `response.data.[].file_url` **Added**\n* `apideck.accounting.attachments.get()`: `response.data.file_url` **Added**\n* `apideck.accounting.attachments.download()`: `request.follow_redirects` **Added**\n* `apideck.accounting.bank_accounts.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.bank_accounts.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.bank_accounts.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.bank_accounts.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.bill_payments.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.bill_payments.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.bill_payments.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.bill_payments.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.expenses.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.expenses.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.expenses.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.expenses.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.bank_feed_accounts.list()`: `response.data.[]` **Changed**\n* `apideck.accounting.bank_feed_accounts.create()`: `request` **Changed**\n* `apideck.accounting.bank_feed_accounts.get()`: `response.data` **Changed**\n* `apideck.accounting.bank_feed_accounts.update()`: `request` **Changed**\n* `apideck.accounting.bank_feed_statements.list()`: `response.data.[].transactions.[].merchant_category_code` **Added**\n* `apideck.accounting.bank_feed_statements.create()`: \n * `request.transactions.[].merchant_category_code` **Added**\n* `apideck.accounting.bank_feed_statements.get()`: `response.data.transactions.[].merchant_category_code` **Added**\n* `apideck.accounting.bank_feed_statements.update()`: \n * `request.transactions.[].merchant_category_code` **Added**\n* `apideck.accounting.quotes.list()`: `response.data.[].line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.quotes.create()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.quotes.get()`: `response.data.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.quotes.update()`: \n * `request.line_items.[].custom_fields.[]` **Changed**\n* `apideck.accounting.projects.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.projects.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.projects.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.projects.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.employees.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.employees.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.employees.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.employees.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.expense_reports.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.accounting.expense_reports.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.accounting.expense_reports.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.accounting.expense_reports.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.ats.jobs.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.ats.jobs.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.ats.jobs.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.ats.jobs.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.ats.applicants.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.ats.applicants.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.ats.applicants.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.ats.applicants.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.companies.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.crm.companies.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.companies.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.crm.companies.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.contacts.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.crm.contacts.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.contacts.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.crm.contacts.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.opportunities.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.crm.opportunities.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.opportunities.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.crm.opportunities.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.leads.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.crm.leads.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.leads.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.crm.leads.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.lists.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.crm.lists.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.crm.activities.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.crm.activities.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.crm.activities.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.crm.activities.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.file_storage.files.download()`: `request.follow_redirects` **Added**\n* `apideck.hris.employees.list()`: `response.data.[].custom_fields.[]` **Changed**\n* `apideck.hris.employees.create()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.hris.employees.get()`: `response.data.custom_fields.[]` **Changed**\n* `apideck.hris.employees.update()`: \n * `request.custom_fields.[]` **Changed**\n* `apideck.hris.employee_schedules.list()`: `response.data.employee.custom_fields.[]` **Changed**\n* `apideck.proxy.get()`: `request.follow_redirects` **Added**\n* `apideck.proxy.options()`: `request.follow_redirects` **Added**\n* `apideck.proxy.post()`: `request.follow_redirects` **Added**\n* `apideck.proxy.put()`: `request.follow_redirects` **Added**\n* `apideck.proxy.patch()`: `request.follow_redirects` **Added**\n* `apideck.proxy.delete()`: `request.follow_redirects` **Added**\n" +releaseNotes: | + ## Python SDK Changes Detected: + * `apideck.accounting.invoices.list()`: `request.filter` **Changed** + * `apideck.accounting.credit_notes.list()`: `request.filter` **Changed** + * `apideck.accounting.customers.list()`: `request.filter` **Changed** trackedFiles: .devcontainer/README.md: last_write_checksum: sha1:07adb0c0c051a9be4d479ea06461f3a9b3bbeb2f @@ -20535,7 +20539,7 @@ trackedFiles: docs/models/accountingcreditnotesallglobals.md: last_write_checksum: sha1:6affe934dd7a3832d96d3d60e51ea03a02a31d57 docs/models/accountingcreditnotesallrequest.md: - last_write_checksum: sha1:da239ccc36bda1145b27c188c15958c876e93131 + last_write_checksum: sha1:21783de010b543ff48fcf9e9184b44c399fe6ed1 docs/models/accountingcreditnotesallresponse.md: last_write_checksum: sha1:83e512a7ab79ed3270fc44a04655ade3d47c73f1 docs/models/accountingcreditnotesdeleteglobals.md: @@ -20565,7 +20569,7 @@ trackedFiles: docs/models/accountingcustomersallglobals.md: last_write_checksum: sha1:9775de6dc4b3b5a0217076317d2771fce5454b6b docs/models/accountingcustomersallrequest.md: - last_write_checksum: sha1:329cb5c38ab7e40ff08e44b1cc95b31cd2534a00 + last_write_checksum: sha1:9a242a68b1270d71251ae61289c1fa26046758ba docs/models/accountingcustomersallresponse.md: last_write_checksum: sha1:2186f4a80bab19de553ad5fed01d3153c43ce692 docs/models/accountingcustomersdeleteglobals.md: @@ -20803,7 +20807,7 @@ trackedFiles: docs/models/accountinginvoicesallglobals.md: last_write_checksum: sha1:f6a2622baadf2627d9b04eae13e49533f66e5b0f docs/models/accountinginvoicesallrequest.md: - last_write_checksum: sha1:9e0a928626d9b375ef096897cb855a7c7f03b6c7 + last_write_checksum: sha1:06537dd70d3350ff7ed552ad71338ac5d6e3fb9a docs/models/accountinginvoicesallresponse.md: last_write_checksum: sha1:28be251ab5404d91f259683afee1407dc5bcc6bf docs/models/accountinginvoicesdeleteglobals.md: @@ -21875,7 +21879,7 @@ trackedFiles: docs/models/creditnoteinput.md: last_write_checksum: sha1:5cd185371ea93e9f5d5de02ffc2e5894e0178e09 docs/models/creditnotesfilter.md: - last_write_checksum: sha1:83212348f70448a5089bedb1153a82b20545c24b + last_write_checksum: sha1:d0ffa5a9b5f470422f858a5aa309dfdfa6ea92b5 docs/models/creditnotessort.md: last_write_checksum: sha1:fd155892f6ca3800b5e3b8f6ba93ccee75ba2255 docs/models/creditnotessortby.md: @@ -22213,7 +22217,7 @@ trackedFiles: docs/models/customerinput.md: last_write_checksum: sha1:8184dfe7e9378fca188c30b75fcba8fe72c5ce99 docs/models/customersfilter.md: - last_write_checksum: sha1:b384cc609d09dd6c4fd360243dda59914bdcdcbb + last_write_checksum: sha1:7eb743caf5c4f504ca52abefa01c14fa8b905a8f docs/models/customersfilterstatus.md: last_write_checksum: sha1:51104ca6ea38000fa961da1382d30d453e238940 docs/models/customerssort.md: @@ -23377,7 +23381,7 @@ trackedFiles: docs/models/invoiceresponse.md: last_write_checksum: sha1:bc0577dbf4ceec23ec16db3034fd6199ef550dc7 docs/models/invoicesfilter.md: - last_write_checksum: sha1:5b2e17f84b09cf46880212b0efc18b5ccfdc36ed + last_write_checksum: sha1:0dab81f37a9fefacecb751fbe539c362b0062588 docs/models/invoicessort.md: last_write_checksum: sha1:1eba528d38a368e93a9d28100a5d7c566bad30a1 docs/models/invoicessortby.md: @@ -24571,9 +24575,9 @@ trackedFiles: docs/sdks/createcallback/README.md: last_write_checksum: sha1:fe7ad7d4efe54f8b2daa4b8d623e67f8b0a4dd6c docs/sdks/creditnotes/README.md: - last_write_checksum: sha1:a265c426c4ff7b32d79697672328e54f6e8079a6 + last_write_checksum: sha1:bebfa70e9be9fb9d8b039f4562a052d402d4072a docs/sdks/customers/README.md: - last_write_checksum: sha1:085abafa421ab1c69ad7d503b8fb1768c84c26f6 + last_write_checksum: sha1:d2a3a0451e66fa629e65fbd4c990ea657fc274eb docs/sdks/customfields/README.md: last_write_checksum: sha1:252fc8f3f3e1fa1416362942bd6454885aaf64d9 docs/sdks/custommappings/README.md: @@ -24611,7 +24615,7 @@ trackedFiles: docs/sdks/invoiceitems/README.md: last_write_checksum: sha1:d2426572c3480a9b6d0befefb7256a11051b7d76 docs/sdks/invoices/README.md: - last_write_checksum: sha1:cf2ddb7e323eea33b02704bb2dbd1808c0896345 + last_write_checksum: sha1:959778997a93d77019f23d8d1a99110e2fe6d4f5 docs/sdks/jobs/README.md: last_write_checksum: sha1:27ca05b0e4c859e5e36418df5c1b1463d060a58f docs/sdks/journalentries/README.md: @@ -24691,7 +24695,7 @@ trackedFiles: pylintrc: last_write_checksum: sha1:ec6665a4862060890cf4c6ba61438d11decf5c3c pyproject.toml: - last_write_checksum: sha1:bb13d309654b3239b54edd03be305401946d854a + last_write_checksum: sha1:099a1237b7f710d50518f4af8259c8a9909792d6 scripts/prepare_readme.py: last_write_checksum: sha1:798a05bafe4fbbfff5b67037866fa25efc52f11a scripts/publish.sh: @@ -24705,7 +24709,7 @@ trackedFiles: src/apideck_unify/_hooks/types.py: last_write_checksum: sha1:d57be38e644de01983a9224b9733ae0add898d43 src/apideck_unify/_version.py: - last_write_checksum: sha1:38bed84976d2057ee8c109664246acaf6f10149d + last_write_checksum: sha1:fb7c4837165531c2c801f3cfbaacff5c23722623 src/apideck_unify/accounting.py: last_write_checksum: sha1:b6ffaba7a3af019489bff091acec26c331b2acbc src/apideck_unify/activities.py: @@ -24749,7 +24753,7 @@ trackedFiles: src/apideck_unify/basesdk.py: last_write_checksum: sha1:02f62bd40dfedb9697666050be333be287dd5a5b src/apideck_unify/billpayments.py: - last_write_checksum: sha1:3f58257ea1f77f328edc711beb1f38f69d095f14 + last_write_checksum: sha1:69211c1f7b5bcc8c39e2baf1a98473f209f1220b src/apideck_unify/bills.py: last_write_checksum: sha1:1c693a52738107afbe07e7d91a769cb013e989c7 src/apideck_unify/categories.py: @@ -24795,11 +24799,11 @@ trackedFiles: src/apideck_unify/createcallback.py: last_write_checksum: sha1:fa6cddb89b59b3890fbc0a06c4b7730e91e76f2e src/apideck_unify/creditnotes.py: - last_write_checksum: sha1:1e874248a8aaddecf089293263a371fa48ac580c + last_write_checksum: sha1:14ef99c5771a0fbf98e648bf7c0d3746adfcb27f src/apideck_unify/crm.py: last_write_checksum: sha1:0a3f32ca2265dd9bf40c9b5c0373685dab9e5da6 src/apideck_unify/customers.py: - last_write_checksum: sha1:df6caa95164aee08cf242fc53d3f3df4a9915591 + last_write_checksum: sha1:dc58aeb4e9e5e0c348431653a919c18387c3aa66 src/apideck_unify/customfields.py: last_write_checksum: sha1:7666758135082e5efdc1c4b3f570cb2cc9a5c33c src/apideck_unify/custommappings.py: @@ -24845,7 +24849,7 @@ trackedFiles: src/apideck_unify/invoiceitems.py: last_write_checksum: sha1:65382dd0b2c24ade626c5054bba658079da184e8 src/apideck_unify/invoices.py: - last_write_checksum: sha1:2117cf75f5a54ec3e8f3ed25b7913c8a144bf0dd + last_write_checksum: sha1:854a89ba2bee8f07f88ce3820d8ac0c0246c0c18 src/apideck_unify/issuetracking.py: last_write_checksum: sha1:a18420473c9ae884dcdc562042a52205924643c5 src/apideck_unify/jobs.py: @@ -25545,7 +25549,7 @@ trackedFiles: src/apideck_unify/models/creditnote.py: last_write_checksum: sha1:ba366de9071b72708dce6e538c2f0f4508a83eea src/apideck_unify/models/creditnotesfilter.py: - last_write_checksum: sha1:803a342c080a548d225d86a3704214bd1cd9de43 + last_write_checksum: sha1:691f43c70a03cd70c1e632748a37c29cb3495c25 src/apideck_unify/models/creditnotessort.py: last_write_checksum: sha1:8dfe580975c11a8e44f8e2df6416781f831d0ae6 src/apideck_unify/models/creditordebit.py: @@ -25661,7 +25665,7 @@ trackedFiles: src/apideck_unify/models/customer.py: last_write_checksum: sha1:7f9f162a075befb8fde245373e3ece282be845dd src/apideck_unify/models/customersfilter.py: - last_write_checksum: sha1:a23757bf9a2a26947f535b47a7f25eb24ac2b709 + last_write_checksum: sha1:b5c2a4c1696ea8fab13c70cc71d208bf64a5da64 src/apideck_unify/models/customerssort.py: last_write_checksum: sha1:1ae868c9919cd921fe7a4c953cede4a382bd804e src/apideck_unify/models/customfield.py: @@ -26373,7 +26377,7 @@ trackedFiles: src/apideck_unify/models/invoiceresponse.py: last_write_checksum: sha1:f8f75f00763047726a6e2798859f10a9c8c29850 src/apideck_unify/models/invoicesfilter.py: - last_write_checksum: sha1:715b51f28ee5a0eac9d17c96e3a8720eb046121a + last_write_checksum: sha1:4dad30df656b9dc8efa3fa284736b78cd5eb51b0 src/apideck_unify/models/invoicessort.py: last_write_checksum: sha1:36801ee2f678352f726e270ceb3465ef0fe5390c src/apideck_unify/models/issuesfilter.py: @@ -26939,13 +26943,13 @@ trackedFiles: src/apideck_unify/paymentmethods.py: last_write_checksum: sha1:5ce788c7cb3d54f998604c930d89a179f39fc2b3 src/apideck_unify/payments.py: - last_write_checksum: sha1:a8f75982091644582c43ba4c824d9b8c55bbc405 + last_write_checksum: sha1:29bff4d94ab901c01120a771c249ff1f5973d6de src/apideck_unify/payrolls.py: last_write_checksum: sha1:5ccd0b249a6acb7ec93202cf3e02d445138a66b0 src/apideck_unify/pipelines.py: last_write_checksum: sha1:e190d857987220810e9cb5f2a2ab3bdf3a9225d9 src/apideck_unify/products.py: - last_write_checksum: sha1:516b2bf87267fdf7c8b41b8b6a9f5e96e98ddc00 + last_write_checksum: sha1:8553a62bd610bab4b66f5da25fd6dfad2a29c750 src/apideck_unify/profitandloss_sdk.py: last_write_checksum: sha1:20d3057d32cdb49e710aee22dfd67e0c52242a12 src/apideck_unify/projects.py: @@ -26977,7 +26981,7 @@ trackedFiles: src/apideck_unify/subsidiaries.py: last_write_checksum: sha1:dbcf581c0704e0e7c9016b16b3d5f0feb27a07ad src/apideck_unify/suppliers.py: - last_write_checksum: sha1:d20a92cf310ed231547807a66efad28b435f5239 + last_write_checksum: sha1:731600230cc63ed09fc1948b6e9005e987e30a66 src/apideck_unify/taxrates.py: last_write_checksum: sha1:36374c7b578b7c5d329f6be778f578b02a79e1f1 src/apideck_unify/timeoffrequests.py: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 0f29a613..d4675c01 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: persistentEdits: {} versioningStrategy: automatic python: - version: 0.37.0 + version: 0.38.0 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 3bb52734..d22ab0a9 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,20 +2,20 @@ speakeasyVersion: 1.656.1 sources: Apideck: sourceNamespace: apideck - sourceRevisionDigest: sha256:9ed48178bcd14e938473ab1d3fe4c4c691d85c8fbcd42e35492e9f113a7d6b91 - sourceBlobDigest: sha256:53c4800fd3509d833860f9e8a7767531c37c7515a3d0edf3ab9e457b74874b59 + sourceRevisionDigest: sha256:41326618c089d0d3597e697a4dcefee4365574e4d877ccd380056849642261b3 + sourceBlobDigest: sha256:920df4ea3a21f4ce3ad67a52b2f46a7b1f8a572bb7aa17239b31275584a8d3fc tags: - latest - - speakeasy-sdk-regen-1787215803 - - 10.44.0 + - speakeasy-sdk-regen-1787554452 + - 10.45.0 targets: apideck: source: Apideck sourceNamespace: apideck - sourceRevisionDigest: sha256:9ed48178bcd14e938473ab1d3fe4c4c691d85c8fbcd42e35492e9f113a7d6b91 - sourceBlobDigest: sha256:53c4800fd3509d833860f9e8a7767531c37c7515a3d0edf3ab9e457b74874b59 + sourceRevisionDigest: sha256:41326618c089d0d3597e697a4dcefee4365574e4d877ccd380056849642261b3 + sourceBlobDigest: sha256:920df4ea3a21f4ce3ad67a52b2f46a7b1f8a572bb7aa17239b31275584a8d3fc codeSamplesNamespace: apideck-python-code-samples - codeSamplesRevisionDigest: sha256:ae70d500185e3e449ef31de2142af64e7dc3ccaf9b7b1e5349e7be6b9511625f + codeSamplesRevisionDigest: sha256:d30da371dec8f28f654fd18e99fe5849396a5e8e1a085fa078527783dbf98cce workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 4d0b3b76..36c153db 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1468,4 +1468,14 @@ Based on: ### Generated - [python v0.37.0] . ### Releases -- [PyPI v0.37.0] https://pypi.org/project/apideck-unify/0.37.0 - . \ No newline at end of file +- [PyPI v0.37.0] https://pypi.org/project/apideck-unify/0.37.0 - . + +## 2026-08-25 13:09:20 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.656.1 (2.753.1) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.38.0] . +### Releases +- [PyPI v0.38.0] https://pypi.org/project/apideck-unify/0.38.0 - . \ No newline at end of file diff --git a/docs/models/accountingcreditnotesallrequest.md b/docs/models/accountingcreditnotesallrequest.md index 62702253..21c0cc6f 100644 --- a/docs/models/accountingcreditnotesallrequest.md +++ b/docs/models/accountingcreditnotesallrequest.md @@ -12,7 +12,7 @@ | `company_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | | `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.CreditNotesFilter]](../models/creditnotesfilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z",
"number": "OIT00546",
"customer_id": "123abc",
"id_since": "1"
} | +| `filter_` | [Optional[models.CreditNotesFilter]](../models/creditnotesfilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z",
"number": "OIT00546",
"customer_id": "123abc",
"id_since": "1",
"ids": "12345,67890"
} | | `sort` | [Optional[models.CreditNotesSort]](../models/creditnotessort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | | `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/accountingcustomersallrequest.md b/docs/models/accountingcustomersallrequest.md index d62ad077..fbe9f45e 100644 --- a/docs/models/accountingcustomersallrequest.md +++ b/docs/models/accountingcustomersallrequest.md @@ -12,7 +12,7 @@ | `company_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | | `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.CustomersFilter]](../models/customersfilter.md) | :heavy_minus_sign: | Apply filters | {
"company_name": "SpaceX",
"display_name": "Elon Musk",
"first_name": "Elon",
"last_name": "Musk",
"email": "elon@musk.com",
"status": "active",
"updated_since": "2020-09-30T07:43:32.000Z",
"supplier_id": "123"
} | +| `filter_` | [Optional[models.CustomersFilter]](../models/customersfilter.md) | :heavy_minus_sign: | Apply filters | {
"company_name": "SpaceX",
"display_name": "Elon Musk",
"first_name": "Elon",
"last_name": "Musk",
"email": "elon@musk.com",
"status": "active",
"updated_since": "2020-09-30T07:43:32.000Z",
"supplier_id": "123",
"ids": "12345,67890"
} | | `sort` | [Optional[models.CustomersSort]](../models/customerssort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | | `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/accountinginvoicesallrequest.md b/docs/models/accountinginvoicesallrequest.md index 1c9d635b..a2829eab 100644 --- a/docs/models/accountinginvoicesallrequest.md +++ b/docs/models/accountinginvoicesallrequest.md @@ -12,7 +12,7 @@ | `company_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | | `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.InvoicesFilter]](../models/invoicesfilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z",
"number": "OIT00546",
"supplier_id": "123",
"customer_id": "123abc",
"id_since": "1"
} | +| `filter_` | [Optional[models.InvoicesFilter]](../models/invoicesfilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z",
"number": "OIT00546",
"supplier_id": "123",
"customer_id": "123abc",
"id_since": "1",
"ids": "12345,67890"
} | | `sort` | [Optional[models.InvoicesSort]](../models/invoicessort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | | `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/creditnotesfilter.md b/docs/models/creditnotesfilter.md index c23a5f3c..547478e9 100644 --- a/docs/models/creditnotesfilter.md +++ b/docs/models/creditnotesfilter.md @@ -5,6 +5,7 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `ids` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of credit note IDs to filter by (e.g. `12345,67890`). On some connectors (e.g. DualEntry) the credit note ID is the credit note number. | 12345,67890 | | `id_since` | *Optional[str]* | :heavy_minus_sign: | Return records with a row ID greater than or equal to the given value | 1 | | `updated_since` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | | `created_since` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | diff --git a/docs/models/customersfilter.md b/docs/models/customersfilter.md index aa814164..1899e46d 100644 --- a/docs/models/customersfilter.md +++ b/docs/models/customersfilter.md @@ -5,6 +5,7 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ids` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of customer IDs to filter by (e.g. `12345,67890`). | 12345,67890 | | `company_name` | *Optional[str]* | :heavy_minus_sign: | Company Name of customer to search for | SpaceX | | `display_name` | *Optional[str]* | :heavy_minus_sign: | Display Name of customer to search for | Techno King | | `first_name` | *Optional[str]* | :heavy_minus_sign: | First name of customer to search for | Elon | diff --git a/docs/models/invoicesfilter.md b/docs/models/invoicesfilter.md index c93a0310..ed054a5f 100644 --- a/docs/models/invoicesfilter.md +++ b/docs/models/invoicesfilter.md @@ -5,6 +5,7 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `ids` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of invoice IDs to filter by (e.g. `12345,67890`). On some connectors (e.g. DualEntry) the invoice ID is the invoice number. | 12345,67890 | | `id_since` | *Optional[str]* | :heavy_minus_sign: | Return records with a row ID greater than or equal to the given value | 1 | | `updated_since` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | | `created_since` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | 2020-09-30T07:43:32.000Z | diff --git a/docs/sdks/creditnotes/README.md b/docs/sdks/creditnotes/README.md index d850a2cc..9edf8481 100644 --- a/docs/sdks/creditnotes/README.md +++ b/docs/sdks/creditnotes/README.md @@ -58,7 +58,7 @@ with Apideck( | `company_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | | `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.CreditNotesFilter]](../../models/creditnotesfilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z",
"number": "OIT00546",
"customer_id": "123abc",
"id_since": "1"
} | +| `filter_` | [Optional[models.CreditNotesFilter]](../../models/creditnotesfilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z",
"number": "OIT00546",
"customer_id": "123abc",
"id_since": "1",
"ids": "12345,67890"
} | | `sort` | [Optional[models.CreditNotesSort]](../../models/creditnotessort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | | `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 | diff --git a/docs/sdks/customers/README.md b/docs/sdks/customers/README.md index d8adafce..d2b770d5 100644 --- a/docs/sdks/customers/README.md +++ b/docs/sdks/customers/README.md @@ -65,7 +65,7 @@ with Apideck( | `company_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | | `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.CustomersFilter]](../../models/customersfilter.md) | :heavy_minus_sign: | Apply filters | {
"company_name": "SpaceX",
"display_name": "Elon Musk",
"first_name": "Elon",
"last_name": "Musk",
"email": "elon@musk.com",
"status": "active",
"updated_since": "2020-09-30T07:43:32.000Z",
"supplier_id": "123"
} | +| `filter_` | [Optional[models.CustomersFilter]](../../models/customersfilter.md) | :heavy_minus_sign: | Apply filters | {
"company_name": "SpaceX",
"display_name": "Elon Musk",
"first_name": "Elon",
"last_name": "Musk",
"email": "elon@musk.com",
"status": "active",
"updated_since": "2020-09-30T07:43:32.000Z",
"supplier_id": "123",
"ids": "12345,67890"
} | | `sort` | [Optional[models.CustomersSort]](../../models/customerssort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | | `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 | diff --git a/docs/sdks/invoices/README.md b/docs/sdks/invoices/README.md index f2ba1651..189b3660 100644 --- a/docs/sdks/invoices/README.md +++ b/docs/sdks/invoices/README.md @@ -60,7 +60,7 @@ with Apideck( | `company_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. | 12345 | | `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.InvoicesFilter]](../../models/invoicesfilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z",
"number": "OIT00546",
"supplier_id": "123",
"customer_id": "123abc",
"id_since": "1"
} | +| `filter_` | [Optional[models.InvoicesFilter]](../../models/invoicesfilter.md) | :heavy_minus_sign: | Apply filters | {
"updated_since": "2020-09-30T07:43:32.000Z",
"created_since": "2020-09-30T07:43:32.000Z",
"number": "OIT00546",
"supplier_id": "123",
"customer_id": "123abc",
"id_since": "1",
"ids": "12345,67890"
} | | `sort` | [Optional[models.InvoicesSort]](../../models/invoicessort.md) | :heavy_minus_sign: | Apply sorting | {
"by": "updated_at",
"direction": "desc"
} | | `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 | diff --git a/pyproject.toml b/pyproject.toml index 3250ae55..e03c2069 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "apideck-unify" -version = "0.37.0" +version = "0.38.0" 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 c0898e35..42c40745 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.37.0" -__openapi_doc_version__: str = "10.44.0" +__version__: str = "0.38.0" +__openapi_doc_version__: str = "10.45.0" __gen_version__: str = "2.753.1" -__user_agent__: str = "speakeasy-sdk/python 0.37.0 2.753.1 10.44.0 apideck-unify" +__user_agent__: str = "speakeasy-sdk/python 0.38.0 2.753.1 10.45.0 apideck-unify" try: if __package__ is not None: diff --git a/src/apideck_unify/models/creditnotesfilter.py b/src/apideck_unify/models/creditnotesfilter.py index aab54b5a..9a09d7bf 100644 --- a/src/apideck_unify/models/creditnotesfilter.py +++ b/src/apideck_unify/models/creditnotesfilter.py @@ -9,6 +9,8 @@ class CreditNotesFilterTypedDict(TypedDict): + ids: NotRequired[str] + r"""Comma-separated list of credit note IDs to filter by (e.g. `12345,67890`). On some connectors (e.g. DualEntry) the credit note ID is the credit note number.""" id_since: NotRequired[str] r"""Return records with a row ID greater than or equal to the given value""" updated_since: NotRequired[datetime] @@ -22,6 +24,9 @@ class CreditNotesFilterTypedDict(TypedDict): class CreditNotesFilter(BaseModel): + ids: Annotated[Optional[str], FieldMetadata(query=True)] = None + r"""Comma-separated list of credit note IDs to filter by (e.g. `12345,67890`). On some connectors (e.g. DualEntry) the credit note ID is the credit note number.""" + id_since: Annotated[Optional[str], FieldMetadata(query=True)] = None r"""Return records with a row ID greater than or equal to the given value""" diff --git a/src/apideck_unify/models/customersfilter.py b/src/apideck_unify/models/customersfilter.py index 6134def6..4bc2e69b 100644 --- a/src/apideck_unify/models/customersfilter.py +++ b/src/apideck_unify/models/customersfilter.py @@ -28,6 +28,8 @@ class CustomersFilterStatus(str, Enum, metaclass=utils.OpenEnumMeta): class CustomersFilterTypedDict(TypedDict): + ids: NotRequired[str] + r"""Comma-separated list of customer IDs to filter by (e.g. `12345,67890`).""" company_name: NotRequired[str] r"""Company Name of customer to search for""" display_name: NotRequired[str] @@ -48,6 +50,9 @@ class CustomersFilterTypedDict(TypedDict): class CustomersFilter(BaseModel): + ids: Annotated[Optional[str], FieldMetadata(query=True)] = None + r"""Comma-separated list of customer IDs to filter by (e.g. `12345,67890`).""" + company_name: Annotated[Optional[str], FieldMetadata(query=True)] = None r"""Company Name of customer to search for""" @@ -92,6 +97,7 @@ def serialize_status(self, value): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = [ + "ids", "company_name", "display_name", "first_name", diff --git a/src/apideck_unify/models/invoicesfilter.py b/src/apideck_unify/models/invoicesfilter.py index f5c7766c..96e81ae9 100644 --- a/src/apideck_unify/models/invoicesfilter.py +++ b/src/apideck_unify/models/invoicesfilter.py @@ -9,6 +9,8 @@ class InvoicesFilterTypedDict(TypedDict): + ids: NotRequired[str] + r"""Comma-separated list of invoice IDs to filter by (e.g. `12345,67890`). On some connectors (e.g. DualEntry) the invoice ID is the invoice number.""" id_since: NotRequired[str] r"""Return records with a row ID greater than or equal to the given value""" updated_since: NotRequired[datetime] @@ -24,6 +26,9 @@ class InvoicesFilterTypedDict(TypedDict): class InvoicesFilter(BaseModel): + ids: Annotated[Optional[str], FieldMetadata(query=True)] = None + r"""Comma-separated list of invoice IDs to filter by (e.g. `12345,67890`). On some connectors (e.g. DualEntry) the invoice ID is the invoice number.""" + id_since: Annotated[Optional[str], FieldMetadata(query=True)] = None r"""Return records with a row ID greater than or equal to the given value""" From f4f931b84efc69517a4118d3b77223c7557d6114 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2026 13:16:33 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow