From 5a6216fd80a95a0028586bf37cfae12df10ee231 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Sat, 6 Jun 2026 00:55:28 +0000 Subject: [PATCH 1/2] ## Python SDK Changes Detected: * `apideck.crm.notes.list()`: `request.filter` **Added** * `apideck.crm.users.list()`: * `request.filter` **Added** * `response.data.[].name` **Added** * `apideck.crm.users.create()`: `request.name` **Added** * `apideck.crm.users.get()`: `response.data.name` **Added** * `apideck.crm.users.update()`: `request.name` **Added** --- .speakeasy/gen.lock | 57 ++++++++++++++-------- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 +++--- RELEASES.md | 12 ++++- docs/models/crmnotesallrequest.md | 1 + docs/models/crmusersallrequest.md | 1 + docs/models/notesfilter.md | 11 +++++ docs/models/user.md | 1 + docs/models/userinput.md | 1 + docs/models/usersfilter.md | 9 ++++ docs/sdks/notes/README.md | 5 +- docs/sdks/users/README.md | 11 +++-- pyproject.toml | 2 +- src/apideck_unify/_version.py | 6 +-- src/apideck_unify/models/__init__.py | 10 ++++ src/apideck_unify/models/crm_notesallop.py | 11 +++++ src/apideck_unify/models/crm_usersallop.py | 11 +++++ src/apideck_unify/models/notesfilter.py | 29 +++++++++++ src/apideck_unify/models/user.py | 7 +++ src/apideck_unify/models/user_input.py | 7 +++ src/apideck_unify/models/usersfilter.py | 22 +++++++++ src/apideck_unify/notes.py | 12 +++++ src/apideck_unify/users.py | 24 +++++++++ 23 files changed, 228 insertions(+), 38 deletions(-) create mode 100644 docs/models/notesfilter.md create mode 100644 docs/models/usersfilter.md create mode 100644 src/apideck_unify/models/notesfilter.py create mode 100644 src/apideck_unify/models/usersfilter.py diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 4ded022d..23dd40f4 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: 9c0defffd49e92a344992db1f7bff0b1 - docVersion: 10.24.39 + docChecksum: 0b751af49a20956c0cb7e4baa53246b1 + docVersion: 10.24.40 speakeasyVersion: 1.656.1 generationVersion: 2.753.1 - releaseVersion: 0.31.18 - configChecksum: 537a7c6cb6b6a7911482fa5048926e22 + releaseVersion: 0.31.19 + configChecksum: 8b7e87669f4d31bafde68f64508cf937 repoURL: https://github.com/apideck-libraries/sdk-python.git installationURL: https://github.com/apideck-libraries/sdk-python.git published: true @@ -1645,6 +1645,7 @@ generatedFiles: - docs/models/mode.md - docs/models/note.md - docs/models/noteinput.md + - docs/models/notesfilter.md - docs/models/notesmodel.md - docs/models/notfoundresponse.md - docs/models/notfoundresponsedetail.md @@ -1940,6 +1941,7 @@ generatedFiles: - docs/models/uploadsession.md - docs/models/user.md - docs/models/userinput.md + - docs/models/usersfilter.md - docs/models/utils/retryconfig.md - docs/models/validateconnectionstateresponse.md - docs/models/validateconnectionstateresponsedata.md @@ -3016,6 +3018,7 @@ generatedFiles: - src/apideck_unify/models/no_response_error.py - src/apideck_unify/models/note.py - src/apideck_unify/models/note_input.py + - src/apideck_unify/models/notesfilter.py - src/apideck_unify/models/notfoundresponse.py - src/apideck_unify/models/oauthgranttype.py - src/apideck_unify/models/opportunitiesfilter.py @@ -3177,6 +3180,7 @@ generatedFiles: - src/apideck_unify/models/uploadsession.py - src/apideck_unify/models/user.py - src/apideck_unify/models/user_input.py + - src/apideck_unify/models/usersfilter.py - src/apideck_unify/models/validateconnectionstateresponse.py - src/apideck_unify/models/vault_connectionconsentsallop.py - src/apideck_unify/models/vault_connectionconsentupdateop.py @@ -10946,6 +10950,7 @@ examples: limit: 20 pass_through: {"search": "San Francisco"} fields: "id,updated_at" + filter: {"title": "Follow up call"} header: x-apideck-consumer-id: "test-consumer" x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" @@ -11209,6 +11214,7 @@ examples: limit: 20 pass_through: {"search": "San Francisco"} fields: "id,updated_at" + filter: {"email": "elon@apideck.com"} header: x-apideck-consumer-id: "test-consumer" x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" @@ -11263,7 +11269,7 @@ examples: x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" x-apideck-service-id: "salesforce" requestBody: - application/json: {"parent_id": "54321", "username": "masterofcoin", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "password": "supersecretpassword", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + application/json: {"parent_id": "54321", "username": "masterofcoin", "name": "Acme Inc.", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "password": "supersecretpassword", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [{"id": "123", "email": "elon@musk.com", "type": "primary"}], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} responses: "201": application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "users", "operation": "add", "data": {"id": "12345"}} @@ -11319,7 +11325,7 @@ examples: x-apideck-service-id: "salesforce" responses: "200": - application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "one", "data": {"id": "12345", "parent_id": "54321", "username": "masterofcoin", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} + application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "one", "data": {"id": "12345", "parent_id": "54321", "username": "masterofcoin", "name": "Acme Inc.", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "updated_at": "2017-08-12T20:43:21.291Z", "created_at": "2017-08-12T20:43:21.291Z", "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]}} "400": application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestValidationError", "message": "Invalid Params", "detail": "Missing property foobar", "ref": "https://developers.apideck.com/errors#requestvalidationerror", "downstream_errors": [{"message": "Account code '100' has been archived or deleted", "detail": "Each line item must reference a valid account", "code": "VALIDATION_ERROR"}]} "401": @@ -11371,7 +11377,7 @@ examples: x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" x-apideck-service-id: "salesforce" requestBody: - application/json: {"parent_id": "54321", "username": "masterofcoin", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "password": "supersecretpassword", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} + application/json: {"parent_id": "54321", "username": "masterofcoin", "name": "Acme Inc.", "first_name": "Elon", "last_name": "Musk", "title": "CEO", "division": "Europe", "company_name": "SpaceX", "employee_number": "123456-AB", "description": "A description", "image": "https://logo.clearbit.com/spacex.com?s=128", "language": "EN", "status": "active", "password": "supersecretpassword", "addresses": [{"id": "123", "type": "primary", "string": "25 Spring Street, Blackburn, VIC 3130", "name": "HQ US", "line1": "Main street", "line2": "apt #", "line3": "Suite #", "line4": "delivery instructions", "street_number": "25", "city": "San Francisco", "state": "CA", "postal_code": "94104", "country": "US", "latitude": "40.759211", "longitude": "-73.984638", "county": "Santa Clara", "contact_name": "Elon Musk", "salutation": "Mr", "phone_number": "111-111-1111", "fax": "122-111-1111", "email": "elon@musk.com", "website": "https://elonmusk.com", "notes": "Address notes or delivery instructions.", "row_version": "1-12345"}], "phone_numbers": [{"id": "12345", "country_code": "1", "area_code": "323", "number": "111-111-1111", "extension": "105", "type": "primary"}], "emails": [], "pass_through": [{"service_id": "", "extend_paths": [{"path": "$.nested.property", "value": {"TaxClassificationRef": {"value": "EUC-99990201-V1-00020000"}}}]}]} responses: "200": application/json: {"status_code": 200, "status": "OK", "service": "zoho-crm", "resource": "companies", "operation": "update", "data": {"id": "12345"}} @@ -19655,6 +19661,7 @@ 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.crm.notes.list()`: `request.filter` **Added**\n* `apideck.crm.users.list()`: \n * `request.filter` **Added**\n * `response.data.[].name` **Added**\n* `apideck.crm.users.create()`: `request.name` **Added**\n* `apideck.crm.users.get()`: `response.data.name` **Added**\n* `apideck.crm.users.update()`: `request.name` **Added**\n" trackedFiles: .devcontainer/README.md: last_write_checksum: sha1:07adb0c0c051a9be4d479ea06461f3a9b3bbeb2f @@ -21353,7 +21360,7 @@ trackedFiles: docs/models/crmnotesallglobals.md: last_write_checksum: sha1:9822cc24a307c9c21bbe133016b167677f9bff81 docs/models/crmnotesallrequest.md: - last_write_checksum: sha1:770f671550f2c6cc8a5ed9c2f36d142b72d259c0 + last_write_checksum: sha1:cde1bd0be4e32ffaf1a4827d052b23e8694bf294 docs/models/crmnotesallresponse.md: last_write_checksum: sha1:9962ac27c0f12ba2bb78dffb357fb800982a8e62 docs/models/crmnotesdeleteglobals.md: @@ -21443,7 +21450,7 @@ trackedFiles: docs/models/crmusersallglobals.md: last_write_checksum: sha1:e8fc705795e57456a3bc3156c7c8034a163a4a1b docs/models/crmusersallrequest.md: - last_write_checksum: sha1:c58ec64cac29f48c5dabbc08ab24cd82f95789c8 + last_write_checksum: sha1:2d5138c148ac2b9753bae2db77920b7433cead14 docs/models/crmusersallresponse.md: last_write_checksum: sha1:95cae3ae16cf2ead06973715c6aa4e27d5ed6d71 docs/models/crmusersdeleteglobals.md: @@ -22852,6 +22859,8 @@ trackedFiles: last_write_checksum: sha1:20f2052c5a7c057a750aa49e538524caf930f844 docs/models/noteinput.md: last_write_checksum: sha1:9316048e335fb1cd5406658a5a7a0d64d73ce736 + docs/models/notesfilter.md: + last_write_checksum: sha1:68957689cd77b13170a0673456ae4aee2f80114d docs/models/notesmodel.md: last_write_checksum: sha1:088f1a6dba54ce44f94d23fa45fb6831180351a4 docs/models/notfoundresponse.md: @@ -23439,9 +23448,11 @@ trackedFiles: docs/models/uploadsession.md: last_write_checksum: sha1:66587dc1354a73ad3a29cda79bf5471d35555be8 docs/models/user.md: - last_write_checksum: sha1:16ae82c678f65794b23d31ceab913143c4aa6feb + last_write_checksum: sha1:86635f3d87cb69000aee6d504b15545e254ccc96 docs/models/userinput.md: - last_write_checksum: sha1:117fbed81248ae146705c66a0f889a8753441512 + last_write_checksum: sha1:bfdaa87921a514acef14f750d421d09e719bb825 + docs/models/usersfilter.md: + last_write_checksum: sha1:b446c4280b6eb7203387ca88494bd410fb42e922 docs/models/utils/retryconfig.md: last_write_checksum: sha1:562c0f21e308ad10c27f85f75704c15592c6929d docs/models/validateconnectionstateresponse.md: @@ -23797,7 +23808,7 @@ trackedFiles: docs/sdks/messages/README.md: last_write_checksum: sha1:8750f2c90b2b1a0a87c1bc9a91cae70557f28299 docs/sdks/notes/README.md: - last_write_checksum: sha1:5bc0ba8c3a4015b8edb9c6b93e899e3ace7872ec + last_write_checksum: sha1:e8cad99d8dbc8870c5409271c29b9097bb228b24 docs/sdks/opportunities/README.md: last_write_checksum: sha1:d90f239920b2833dc8dc548aa9c88c3efc5f4f67 docs/sdks/orders/README.md: @@ -23841,7 +23852,7 @@ trackedFiles: docs/sdks/uploadsessions/README.md: last_write_checksum: sha1:839054e372ec33daebf92dd49ee1aee9ffc4c049 docs/sdks/users/README.md: - last_write_checksum: sha1:83111447f84ef0986b18be99e3b90778789a0f80 + last_write_checksum: sha1:e9a893fa1d34355f7001a76687f27d9da35c5e0c docs/sdks/validateconnection/README.md: last_write_checksum: sha1:405a41f7d2473f616e8a4b75b10b5563880c0074 docs/sdks/webhooks/README.md: @@ -23867,7 +23878,7 @@ trackedFiles: src/apideck_unify/_hooks/types.py: last_write_checksum: sha1:4b923d3d84d979af6169a9db6b81bfc373079a25 src/apideck_unify/_version.py: - last_write_checksum: sha1:996ead9f26fd3fc9117135ff44dafd1505767745 + last_write_checksum: sha1:be6ae553b3103cd4961604d2a39332c7a0038e23 src/apideck_unify/accounting.py: last_write_checksum: sha1:afb8958c0092d6bbc935597b72e8a96d2b82b4aa src/apideck_unify/activities.py: @@ -24023,7 +24034,7 @@ trackedFiles: src/apideck_unify/messages.py: last_write_checksum: sha1:158b4c1fb137ee3ac806cc6a59c8d906b01233d6 src/apideck_unify/models/__init__.py: - last_write_checksum: sha1:6025a6af092e96088f7d44f3af5bc65a92c47d46 + last_write_checksum: sha1:3b454e577c6f1b192756fc68fc872071e75659a9 src/apideck_unify/models/accounting_agedcreditorsoneop.py: last_write_checksum: sha1:7346d1ab1c21db21995aae34c5ba01549c2786c2 src/apideck_unify/models/accounting_ageddebtorsoneop.py: @@ -24733,7 +24744,7 @@ trackedFiles: src/apideck_unify/models/crm_notesaddop.py: last_write_checksum: sha1:5e8af99642f3dcafd36442b125d03996c6550357 src/apideck_unify/models/crm_notesallop.py: - last_write_checksum: sha1:5c1ba1a444d7e65e6cce6b9edee4a4ff80612e42 + last_write_checksum: sha1:8b5d403672ef0ca9206e17a8662ffc7c180ba4e4 src/apideck_unify/models/crm_notesdeleteop.py: last_write_checksum: sha1:487cef7485dcd5f13fec6106ccecaaf799cad6a0 src/apideck_unify/models/crm_notesoneop.py: @@ -24763,7 +24774,7 @@ trackedFiles: src/apideck_unify/models/crm_usersaddop.py: last_write_checksum: sha1:a2e549c59ad58d29f8fa015d1eddd7044b7bf838 src/apideck_unify/models/crm_usersallop.py: - last_write_checksum: sha1:33a1c5d207282f3440978d9c48dde149d5b799d3 + last_write_checksum: sha1:cfa8ee868f3415b6d888dd82e3d5ae4454fa0783 src/apideck_unify/models/crm_usersdeleteop.py: last_write_checksum: sha1:ea205132be464422e3caefe1b11583338a85ee18 src/apideck_unify/models/crm_usersoneop.py: @@ -25594,6 +25605,8 @@ trackedFiles: last_write_checksum: sha1:9857f77bebab3b93530d1c968c59523075be2610 src/apideck_unify/models/note_input.py: last_write_checksum: sha1:f4402b1c9dbc0c9c2d4acb966d2145ca883c21e9 + src/apideck_unify/models/notesfilter.py: + last_write_checksum: sha1:3aeb577a1016ef7ac50ab05d762cab733a14f206 src/apideck_unify/models/notfoundresponse.py: last_write_checksum: sha1:52ed4f8aa3a73fb1218847916a67bdabd29568be src/apideck_unify/models/oauthgranttype.py: @@ -25913,9 +25926,11 @@ trackedFiles: src/apideck_unify/models/uploadsession.py: last_write_checksum: sha1:8aeb02472908094d2288f571f69ee16907d8d181 src/apideck_unify/models/user.py: - last_write_checksum: sha1:c5b24762f95cdfac03c0fba394f327b57ef3732f + last_write_checksum: sha1:239ea25c5180b82a8a95418b7e990905f7a4208f src/apideck_unify/models/user_input.py: - last_write_checksum: sha1:e8c6559ac3bdeb8ad6ea5e03de1b1e727a5cd03f + last_write_checksum: sha1:764c2fc72c3c5f757fac5cc88642bf302925fa14 + src/apideck_unify/models/usersfilter.py: + last_write_checksum: sha1:82c1f67728c6000aa498968d5bb3d288e9d73e28 src/apideck_unify/models/validateconnectionstateresponse.py: last_write_checksum: sha1:362fb00104b815654f0a87e7c11fe61a65bf46e6 src/apideck_unify/models/vault_connectionconsentsallop.py: @@ -25991,7 +26006,7 @@ trackedFiles: src/apideck_unify/models/website.py: last_write_checksum: sha1:deb21698b9dec32eca6c3c22114c0c678a3c7ef8 src/apideck_unify/notes.py: - last_write_checksum: sha1:703d0517c3ce4025fce8b7d825b961f70947e36b + last_write_checksum: sha1:02868bd9687ec4dd8d3c79bce114209ecce31a61 src/apideck_unify/opportunities.py: last_write_checksum: sha1:401b8873c3d3cd9477e16a02b73cf55a1f0709cb src/apideck_unify/orders.py: @@ -26049,7 +26064,7 @@ trackedFiles: src/apideck_unify/uploadsessions.py: last_write_checksum: sha1:da54654d7ec7decd3c74b6ecc5d1b301e9d95b0e src/apideck_unify/users.py: - last_write_checksum: sha1:dc9ffcd38dbc6541c19575bb4003aefa71d0d7fd + last_write_checksum: sha1:802803bee29fac0be6fcc2423d2a1d7d62aa54cd src/apideck_unify/utils/__init__.py: last_write_checksum: sha1:0f93d821f9cb3e061ea125d881bb6f61166738dd src/apideck_unify/utils/annotations.py: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 814d08bd..83b23895 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: persistentEdits: {} versioningStrategy: automatic python: - version: 0.31.18 + version: 0.31.19 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 3cc2b647..6b976403 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,20 +2,20 @@ speakeasyVersion: 1.656.1 sources: Apideck: sourceNamespace: apideck - sourceRevisionDigest: sha256:322190b067d37418eadd9842f02e42f648321bc4e026e25d51e6bc16b7a640f6 - sourceBlobDigest: sha256:1811cdbdd3ca0cf729a3e682b5124df929dd4ec8a89db97ed7be963fd3def52e + sourceRevisionDigest: sha256:6dba88913734e0f668fc4a3f5d5e08056a1c2a262c63671cf33987880d732fc6 + sourceBlobDigest: sha256:20cec00e0883a655242b06dd7ae001907270ad4cfc5c2d4986a9256e99522206 tags: - latest - - speakeasy-sdk-regen-1780503233 - - 10.24.39 + - speakeasy-sdk-regen-1780664707 + - 10.24.40 targets: apideck: source: Apideck sourceNamespace: apideck - sourceRevisionDigest: sha256:322190b067d37418eadd9842f02e42f648321bc4e026e25d51e6bc16b7a640f6 - sourceBlobDigest: sha256:1811cdbdd3ca0cf729a3e682b5124df929dd4ec8a89db97ed7be963fd3def52e + sourceRevisionDigest: sha256:6dba88913734e0f668fc4a3f5d5e08056a1c2a262c63671cf33987880d732fc6 + sourceBlobDigest: sha256:20cec00e0883a655242b06dd7ae001907270ad4cfc5c2d4986a9256e99522206 codeSamplesNamespace: apideck-python-code-samples - codeSamplesRevisionDigest: sha256:0362f2c313132bd983982c46218513babdb3a325f7131e6772d6346a855d9cac + codeSamplesRevisionDigest: sha256:b4c5ae4325307a7a8c2133cf42481eaeff43d8100c1ed0deb49e0e052628cc55 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 961fdcf9..18757158 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1248,4 +1248,14 @@ Based on: ### Generated - [python v0.31.18] . ### Releases -- [PyPI v0.31.18] https://pypi.org/project/apideck-unify/0.31.18 - . \ No newline at end of file +- [PyPI v0.31.18] https://pypi.org/project/apideck-unify/0.31.18 - . + +## 2026-06-06 00:48:16 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.656.1 (2.753.1) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.31.19] . +### Releases +- [PyPI v0.31.19] https://pypi.org/project/apideck-unify/0.31.19 - . \ No newline at end of file diff --git a/docs/models/crmnotesallrequest.md b/docs/models/crmnotesallrequest.md index 2eaf2772..689db309 100644 --- a/docs/models/crmnotesallrequest.md +++ b/docs/models/crmnotesallrequest.md @@ -11,5 +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.NotesFilter]](../models/notesfilter.md) | :heavy_minus_sign: | Apply filters | {
"title": "Follow up call"
} | | `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/crmusersallrequest.md b/docs/models/crmusersallrequest.md index a2df8759..8441a5f5 100644 --- a/docs/models/crmusersallrequest.md +++ b/docs/models/crmusersallrequest.md @@ -11,5 +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.UsersFilter]](../models/usersfilter.md) | :heavy_minus_sign: | Apply filters | {
"email": "elon@apideck.com"
} | | `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/notesfilter.md b/docs/models/notesfilter.md new file mode 100644 index 00000000..46f6f856 --- /dev/null +++ b/docs/models/notesfilter.md @@ -0,0 +1,11 @@ +# NotesFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `title` | *Optional[str]* | :heavy_minus_sign: | Title of the note to filter on | Follow up call | +| `owner_id` | *Optional[str]* | :heavy_minus_sign: | Owner ID to filter on | 1234 | +| `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 | \ No newline at end of file diff --git a/docs/models/user.md b/docs/models/user.md index bdb0ce23..8fff41d3 100644 --- a/docs/models/user.md +++ b/docs/models/user.md @@ -8,6 +8,7 @@ | `id` | *Optional[str]* | :heavy_minus_sign: | The unique identifier for the user | 12345 | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The parent user id | 54321 | | `username` | *OptionalNullable[str]* | :heavy_minus_sign: | The username of the user | masterofcoin | +| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the resource. | Acme Inc. | | `first_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The first name of the person. | Elon | | `last_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The last name of the person. | Musk | | `title` | *OptionalNullable[str]* | :heavy_minus_sign: | The job title of the person. | CEO | diff --git a/docs/models/userinput.md b/docs/models/userinput.md index 09c552b8..2a6f8ef9 100644 --- a/docs/models/userinput.md +++ b/docs/models/userinput.md @@ -7,6 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The parent user id | 54321 | | `username` | *OptionalNullable[str]* | :heavy_minus_sign: | The username of the user | masterofcoin | +| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the resource. | Acme Inc. | | `first_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The first name of the person. | Elon | | `last_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The last name of the person. | Musk | | `title` | *OptionalNullable[str]* | :heavy_minus_sign: | The job title of the person. | CEO | diff --git a/docs/models/usersfilter.md b/docs/models/usersfilter.md new file mode 100644 index 00000000..78b98f3b --- /dev/null +++ b/docs/models/usersfilter.md @@ -0,0 +1,9 @@ +# UsersFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `email` | *Optional[str]* | :heavy_minus_sign: | E-mail of the user to filter on | elon@apideck.com | +| `name` | *Optional[str]* | :heavy_minus_sign: | Full name of the user to filter on | Elon Musk | \ No newline at end of file diff --git a/docs/sdks/notes/README.md b/docs/sdks/notes/README.md index 63c0bf3a..414e7a1e 100644 --- a/docs/sdks/notes/README.md +++ b/docs/sdks/notes/README.md @@ -29,7 +29,9 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.crm.notes.list(raw=False, service_id="salesforce", limit=20, pass_through={ + res = apideck.crm.notes.list(raw=False, service_id="salesforce", limit=20, filter_={ + "title": "Follow up call", + }, pass_through={ "search": "San Francisco", }, fields="id,updated_at") @@ -50,6 +52,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.NotesFilter]](../../models/notesfilter.md) | :heavy_minus_sign: | Apply filters | {
"title": "Follow up call"
} | | `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/docs/sdks/users/README.md b/docs/sdks/users/README.md index 42469c7d..f4f7a779 100644 --- a/docs/sdks/users/README.md +++ b/docs/sdks/users/README.md @@ -29,7 +29,9 @@ with Apideck( api_key=os.getenv("APIDECK_API_KEY", ""), ) as apideck: - res = apideck.crm.users.list(raw=False, service_id="salesforce", limit=20, pass_through={ + res = apideck.crm.users.list(raw=False, service_id="salesforce", limit=20, filter_={ + "email": "elon@apideck.com", + }, pass_through={ "search": "San Francisco", }, fields="id,updated_at") @@ -50,6 +52,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.UsersFilter]](../../models/usersfilter.md) | :heavy_minus_sign: | Apply filters | {
"email": "elon@apideck.com"
} | | `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. | | @@ -99,7 +102,7 @@ with Apideck( "email": "elon@musk.com", "type": apideck_unify.EmailType.PRIMARY, }, - ], raw=False, service_id="salesforce", parent_id="54321", username="masterofcoin", first_name="Elon", last_name="Musk", title="CEO", division="Europe", company_name="SpaceX", employee_number="123456-AB", description="A description", image="https://logo.clearbit.com/spacex.com?s=128", language="EN", status="active", password="supersecretpassword", addresses=[ + ], raw=False, service_id="salesforce", parent_id="54321", username="masterofcoin", name="Acme Inc.", first_name="Elon", last_name="Musk", title="CEO", division="Europe", company_name="SpaceX", employee_number="123456-AB", description="A description", image="https://logo.clearbit.com/spacex.com?s=128", language="EN", status="active", password="supersecretpassword", addresses=[ { "id": "123", "type": apideck_unify.Type.PRIMARY, @@ -255,6 +258,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 | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The parent user id | 54321 | | `username` | *OptionalNullable[str]* | :heavy_minus_sign: | The username of the user | masterofcoin | +| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the resource. | Acme Inc. | | `first_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The first name of the person. | Elon | | `last_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The last name of the person. | Musk | | `title` | *OptionalNullable[str]* | :heavy_minus_sign: | The job title of the person. | CEO | @@ -371,7 +375,7 @@ with Apideck( "email": "elon@musk.com", "type": apideck_unify.EmailType.PRIMARY, }, - ], service_id="salesforce", raw=False, parent_id="54321", username="masterofcoin", first_name="Elon", last_name="Musk", title="CEO", division="Europe", company_name="SpaceX", employee_number="123456-AB", description="A description", image="https://logo.clearbit.com/spacex.com?s=128", language="EN", status="active", password="supersecretpassword", addresses=[ + ], service_id="salesforce", raw=False, parent_id="54321", username="masterofcoin", name="Acme Inc.", first_name="Elon", last_name="Musk", title="CEO", division="Europe", company_name="SpaceX", employee_number="123456-AB", description="A description", image="https://logo.clearbit.com/spacex.com?s=128", language="EN", status="active", password="supersecretpassword", addresses=[ { "id": "123", "type": apideck_unify.Type.PRIMARY, @@ -492,6 +496,7 @@ with Apideck( | `raw` | *Optional[bool]* | :heavy_minus_sign: | Include raw response. Mostly used for debugging purposes | | | `parent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The parent user id | 54321 | | `username` | *OptionalNullable[str]* | :heavy_minus_sign: | The username of the user | masterofcoin | +| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | The name of the resource. | Acme Inc. | | `first_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The first name of the person. | Elon | | `last_name` | *OptionalNullable[str]* | :heavy_minus_sign: | The last name of the person. | Musk | | `title` | *OptionalNullable[str]* | :heavy_minus_sign: | The job title of the person. | CEO | diff --git a/pyproject.toml b/pyproject.toml index 4bbfbe6a..5f08d696 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "apideck-unify" -version = "0.31.18" +version = "0.31.19" 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 28d3fe31..86304418 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.31.18" -__openapi_doc_version__: str = "10.24.39" +__version__: str = "0.31.19" +__openapi_doc_version__: str = "10.24.40" __gen_version__: str = "2.753.1" -__user_agent__: str = "speakeasy-sdk/python 0.31.18 2.753.1 10.24.39 apideck-unify" +__user_agent__: str = "speakeasy-sdk/python 0.31.19 2.753.1 10.24.40 apideck-unify" try: if __package__ is not None: diff --git a/src/apideck_unify/models/__init__.py b/src/apideck_unify/models/__init__.py index a5fcd1ee..38631f28 100644 --- a/src/apideck_unify/models/__init__.py +++ b/src/apideck_unify/models/__init__.py @@ -4062,6 +4062,7 @@ from .no_response_error import NoResponseError from .note import Note, NoteTypedDict from .note_input import NoteInput, NoteInputTypedDict + from .notesfilter import NotesFilter, NotesFilterTypedDict from .notfoundresponse import ( NotFoundResponse, NotFoundResponseData, @@ -4701,6 +4702,7 @@ from .uploadsession import UploadSession, UploadSessionTypedDict from .user import User, UserTypedDict from .user_input import UserInput, UserInputTypedDict + from .usersfilter import UsersFilter, UsersFilterTypedDict from .validateconnectionstateresponse import ( ValidateConnectionStateResponse, ValidateConnectionStateResponseData, @@ -8039,6 +8041,8 @@ "NoteInput", "NoteInputTypedDict", "NoteTypedDict", + "NotesFilter", + "NotesFilterTypedDict", "NotesModel", "NotesModelTypedDict", "OAuthGrantType", @@ -8558,6 +8562,8 @@ "UserInput", "UserInputTypedDict", "UserTypedDict", + "UsersFilter", + "UsersFilterTypedDict", "ValidateConnectionStateResponse", "ValidateConnectionStateResponseData", "ValidateConnectionStateResponseDataTypedDict", @@ -11860,6 +11866,8 @@ "NoteTypedDict": ".note", "NoteInput": ".note_input", "NoteInputTypedDict": ".note_input", + "NotesFilter": ".notesfilter", + "NotesFilterTypedDict": ".notesfilter", "NotFoundResponse": ".notfoundresponse", "NotFoundResponseData": ".notfoundresponse", "NotFoundResponseDetail": ".notfoundresponse", @@ -12358,6 +12366,8 @@ "UserTypedDict": ".user", "UserInput": ".user_input", "UserInputTypedDict": ".user_input", + "UsersFilter": ".usersfilter", + "UsersFilterTypedDict": ".usersfilter", "ValidateConnectionStateResponse": ".validateconnectionstateresponse", "ValidateConnectionStateResponseData": ".validateconnectionstateresponse", "ValidateConnectionStateResponseDataTypedDict": ".validateconnectionstateresponse", diff --git a/src/apideck_unify/models/crm_notesallop.py b/src/apideck_unify/models/crm_notesallop.py index 1cc90fbf..0bb62f28 100644 --- a/src/apideck_unify/models/crm_notesallop.py +++ b/src/apideck_unify/models/crm_notesallop.py @@ -3,6 +3,7 @@ from __future__ import annotations from .getnotesresponse import GetNotesResponse, GetNotesResponseTypedDict from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict +from .notesfilter import NotesFilter, NotesFilterTypedDict from .unexpectederrorresponse import ( UnexpectedErrorResponse, UnexpectedErrorResponseTypedDict, @@ -57,6 +58,8 @@ class CrmNotesAllRequestTypedDict(TypedDict): r"""Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response.""" limit: NotRequired[int] r"""Number of results to return. Minimum 1, Maximum 200, Default 20""" + filter_: NotRequired[NotesFilterTypedDict] + r"""Apply filters""" pass_through: NotRequired[Dict[str, Any]] r"""Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads""" fields: NotRequired[Nullable[str]] @@ -103,6 +106,13 @@ class CrmNotesAllRequest(BaseModel): ] = 20 r"""Number of results to return. Minimum 1, Maximum 200, Default 20""" + filter_: Annotated[ + Optional[NotesFilter], + pydantic.Field(alias="filter"), + FieldMetadata(query=QueryParamMetadata(style="deepObject", explode=True)), + ] = None + r"""Apply filters""" + pass_through: Annotated[ Optional[Dict[str, Any]], FieldMetadata(query=QueryParamMetadata(style="deepObject", explode=True)), @@ -124,6 +134,7 @@ def serialize_model(self, handler): "serviceId", "cursor", "limit", + "filter", "pass_through", "fields", ] diff --git a/src/apideck_unify/models/crm_usersallop.py b/src/apideck_unify/models/crm_usersallop.py index 732ec822..c24de33a 100644 --- a/src/apideck_unify/models/crm_usersallop.py +++ b/src/apideck_unify/models/crm_usersallop.py @@ -7,6 +7,7 @@ UnexpectedErrorResponse, UnexpectedErrorResponseTypedDict, ) +from .usersfilter import UsersFilter, UsersFilterTypedDict from apideck_unify.types import ( BaseModel, Nullable, @@ -57,6 +58,8 @@ class CrmUsersAllRequestTypedDict(TypedDict): r"""Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response.""" limit: NotRequired[int] r"""Number of results to return. Minimum 1, Maximum 200, Default 20""" + filter_: NotRequired[UsersFilterTypedDict] + r"""Apply filters""" pass_through: NotRequired[Dict[str, Any]] r"""Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads""" fields: NotRequired[Nullable[str]] @@ -103,6 +106,13 @@ class CrmUsersAllRequest(BaseModel): ] = 20 r"""Number of results to return. Minimum 1, Maximum 200, Default 20""" + filter_: Annotated[ + Optional[UsersFilter], + pydantic.Field(alias="filter"), + FieldMetadata(query=QueryParamMetadata(style="deepObject", explode=True)), + ] = None + r"""Apply filters""" + pass_through: Annotated[ Optional[Dict[str, Any]], FieldMetadata(query=QueryParamMetadata(style="deepObject", explode=True)), @@ -124,6 +134,7 @@ def serialize_model(self, handler): "serviceId", "cursor", "limit", + "filter", "pass_through", "fields", ] diff --git a/src/apideck_unify/models/notesfilter.py b/src/apideck_unify/models/notesfilter.py new file mode 100644 index 00000000..b63ccefb --- /dev/null +++ b/src/apideck_unify/models/notesfilter.py @@ -0,0 +1,29 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from apideck_unify.types import BaseModel +from apideck_unify.utils import FieldMetadata +from datetime import datetime +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class NotesFilterTypedDict(TypedDict): + title: NotRequired[str] + r"""Title of the note to filter on""" + owner_id: NotRequired[str] + r"""Owner ID to filter on""" + updated_since: NotRequired[datetime] + created_since: NotRequired[datetime] + + +class NotesFilter(BaseModel): + title: Annotated[Optional[str], FieldMetadata(query=True)] = None + r"""Title of the note to filter on""" + + owner_id: Annotated[Optional[str], FieldMetadata(query=True)] = None + r"""Owner ID to filter on""" + + updated_since: Annotated[Optional[datetime], FieldMetadata(query=True)] = None + + created_since: Annotated[Optional[datetime], FieldMetadata(query=True)] = None diff --git a/src/apideck_unify/models/user.py b/src/apideck_unify/models/user.py index 18f35717..120112c3 100644 --- a/src/apideck_unify/models/user.py +++ b/src/apideck_unify/models/user.py @@ -26,6 +26,8 @@ class UserTypedDict(TypedDict): r"""The parent user id""" username: NotRequired[Nullable[str]] r"""The username of the user""" + name: NotRequired[Nullable[str]] + r"""The name of the resource.""" first_name: NotRequired[Nullable[str]] r"""The first name of the person.""" last_name: NotRequired[Nullable[str]] @@ -72,6 +74,9 @@ class User(BaseModel): username: OptionalNullable[str] = UNSET r"""The username of the user""" + name: OptionalNullable[str] = UNSET + r"""The name of the resource.""" + first_name: OptionalNullable[str] = UNSET r"""The first name of the person.""" @@ -132,6 +137,7 @@ def serialize_model(self, handler): "id", "parent_id", "username", + "name", "first_name", "last_name", "title", @@ -153,6 +159,7 @@ def serialize_model(self, handler): nullable_fields = [ "parent_id", "username", + "name", "first_name", "last_name", "title", diff --git a/src/apideck_unify/models/user_input.py b/src/apideck_unify/models/user_input.py index bb32cb97..e1c17389 100644 --- a/src/apideck_unify/models/user_input.py +++ b/src/apideck_unify/models/user_input.py @@ -24,6 +24,8 @@ class UserInputTypedDict(TypedDict): r"""The parent user id""" username: NotRequired[Nullable[str]] r"""The username of the user""" + name: NotRequired[Nullable[str]] + r"""The name of the resource.""" first_name: NotRequired[Nullable[str]] r"""The first name of the person.""" last_name: NotRequired[Nullable[str]] @@ -63,6 +65,9 @@ class UserInput(BaseModel): username: OptionalNullable[str] = UNSET r"""The username of the user""" + name: OptionalNullable[str] = UNSET + r"""The name of the resource.""" + first_name: OptionalNullable[str] = UNSET r"""The first name of the person.""" @@ -116,6 +121,7 @@ def serialize_model(self, handler): optional_fields = [ "parent_id", "username", + "name", "first_name", "last_name", "title", @@ -135,6 +141,7 @@ def serialize_model(self, handler): nullable_fields = [ "parent_id", "username", + "name", "first_name", "last_name", "title", diff --git a/src/apideck_unify/models/usersfilter.py b/src/apideck_unify/models/usersfilter.py new file mode 100644 index 00000000..24cf5e65 --- /dev/null +++ b/src/apideck_unify/models/usersfilter.py @@ -0,0 +1,22 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from apideck_unify.types import BaseModel +from apideck_unify.utils import FieldMetadata +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class UsersFilterTypedDict(TypedDict): + email: NotRequired[str] + r"""E-mail of the user to filter on""" + name: NotRequired[str] + r"""Full name of the user to filter on""" + + +class UsersFilter(BaseModel): + email: Annotated[Optional[str], FieldMetadata(query=True)] = None + r"""E-mail of the user to filter on""" + + name: Annotated[Optional[str], FieldMetadata(query=True)] = None + r"""Full name of the user to filter on""" diff --git a/src/apideck_unify/notes.py b/src/apideck_unify/notes.py index c1f92d06..bb7835b9 100644 --- a/src/apideck_unify/notes.py +++ b/src/apideck_unify/notes.py @@ -20,6 +20,9 @@ def list( service_id: Optional[str] = None, cursor: OptionalNullable[str] = UNSET, limit: Optional[int] = 20, + filter_: Optional[ + Union[models.NotesFilter, models.NotesFilterTypedDict] + ] = None, pass_through: Optional[Dict[str, Any]] = None, fields: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -37,6 +40,7 @@ def list( :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param cursor: Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. :param limit: Number of results to return. Minimum 1, Maximum 200, Default 20 + :param filter_: Apply filters :param pass_through: Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads :param fields: 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. :param retries: Override the default retry configuration for this method @@ -61,6 +65,7 @@ def list( service_id=service_id, cursor=cursor, limit=limit, + filter_=utils.get_pydantic_model(filter_, Optional[models.NotesFilter]), pass_through=pass_through, fields=fields, ) @@ -130,6 +135,7 @@ def next_func() -> Optional[models.CrmNotesAllResponse]: service_id=service_id, cursor=next_cursor, limit=limit, + filter_=filter_, pass_through=pass_through, fields=fields, retries=retries, @@ -195,6 +201,9 @@ async def list_async( service_id: Optional[str] = None, cursor: OptionalNullable[str] = UNSET, limit: Optional[int] = 20, + filter_: Optional[ + Union[models.NotesFilter, models.NotesFilterTypedDict] + ] = None, pass_through: Optional[Dict[str, Any]] = None, fields: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -212,6 +221,7 @@ async def list_async( :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param cursor: Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. :param limit: Number of results to return. Minimum 1, Maximum 200, Default 20 + :param filter_: Apply filters :param pass_through: Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads :param fields: 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. :param retries: Override the default retry configuration for this method @@ -236,6 +246,7 @@ async def list_async( service_id=service_id, cursor=cursor, limit=limit, + filter_=utils.get_pydantic_model(filter_, Optional[models.NotesFilter]), pass_through=pass_through, fields=fields, ) @@ -305,6 +316,7 @@ def next_func() -> Optional[models.CrmNotesAllResponse]: service_id=service_id, cursor=next_cursor, limit=limit, + filter_=filter_, pass_through=pass_through, fields=fields, retries=retries, diff --git a/src/apideck_unify/users.py b/src/apideck_unify/users.py index ba8c08e6..7ac390ab 100644 --- a/src/apideck_unify/users.py +++ b/src/apideck_unify/users.py @@ -20,6 +20,9 @@ def list( service_id: Optional[str] = None, cursor: OptionalNullable[str] = UNSET, limit: Optional[int] = 20, + filter_: Optional[ + Union[models.UsersFilter, models.UsersFilterTypedDict] + ] = None, pass_through: Optional[Dict[str, Any]] = None, fields: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -37,6 +40,7 @@ def list( :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param cursor: Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. :param limit: Number of results to return. Minimum 1, Maximum 200, Default 20 + :param filter_: Apply filters :param pass_through: Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads :param fields: 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. :param retries: Override the default retry configuration for this method @@ -61,6 +65,7 @@ def list( service_id=service_id, cursor=cursor, limit=limit, + filter_=utils.get_pydantic_model(filter_, Optional[models.UsersFilter]), pass_through=pass_through, fields=fields, ) @@ -130,6 +135,7 @@ def next_func() -> Optional[models.CrmUsersAllResponse]: service_id=service_id, cursor=next_cursor, limit=limit, + filter_=filter_, pass_through=pass_through, fields=fields, retries=retries, @@ -195,6 +201,9 @@ async def list_async( service_id: Optional[str] = None, cursor: OptionalNullable[str] = UNSET, limit: Optional[int] = 20, + filter_: Optional[ + Union[models.UsersFilter, models.UsersFilterTypedDict] + ] = None, pass_through: Optional[Dict[str, Any]] = None, fields: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -212,6 +221,7 @@ async def list_async( :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param cursor: Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. :param limit: Number of results to return. Minimum 1, Maximum 200, Default 20 + :param filter_: Apply filters :param pass_through: Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads :param fields: 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. :param retries: Override the default retry configuration for this method @@ -236,6 +246,7 @@ async def list_async( service_id=service_id, cursor=cursor, limit=limit, + filter_=utils.get_pydantic_model(filter_, Optional[models.UsersFilter]), pass_through=pass_through, fields=fields, ) @@ -305,6 +316,7 @@ def next_func() -> Optional[models.CrmUsersAllResponse]: service_id=service_id, cursor=next_cursor, limit=limit, + filter_=filter_, pass_through=pass_through, fields=fields, retries=retries, @@ -371,6 +383,7 @@ def create( service_id: Optional[str] = None, parent_id: OptionalNullable[str] = UNSET, username: OptionalNullable[str] = UNSET, + name: OptionalNullable[str] = UNSET, first_name: OptionalNullable[str] = UNSET, last_name: OptionalNullable[str] = UNSET, title: OptionalNullable[str] = UNSET, @@ -408,6 +421,7 @@ def create( :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param parent_id: The parent user id :param username: The username of the user + :param name: The name of the resource. :param first_name: The first name of the person. :param last_name: The last name of the person. :param title: The job title of the person. @@ -446,6 +460,7 @@ def create( user=models.UserInput( parent_id=parent_id, username=username, + name=name, first_name=first_name, last_name=last_name, title=title, @@ -580,6 +595,7 @@ async def create_async( service_id: Optional[str] = None, parent_id: OptionalNullable[str] = UNSET, username: OptionalNullable[str] = UNSET, + name: OptionalNullable[str] = UNSET, first_name: OptionalNullable[str] = UNSET, last_name: OptionalNullable[str] = UNSET, title: OptionalNullable[str] = UNSET, @@ -617,6 +633,7 @@ async def create_async( :param service_id: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. :param parent_id: The parent user id :param username: The username of the user + :param name: The name of the resource. :param first_name: The first name of the person. :param last_name: The last name of the person. :param title: The job title of the person. @@ -655,6 +672,7 @@ async def create_async( user=models.UserInput( parent_id=parent_id, username=username, + name=name, first_name=first_name, last_name=last_name, title=title, @@ -1078,6 +1096,7 @@ def update( raw: Optional[bool] = False, parent_id: OptionalNullable[str] = UNSET, username: OptionalNullable[str] = UNSET, + name: OptionalNullable[str] = UNSET, first_name: OptionalNullable[str] = UNSET, last_name: OptionalNullable[str] = UNSET, title: OptionalNullable[str] = UNSET, @@ -1116,6 +1135,7 @@ def update( :param raw: Include raw response. Mostly used for debugging purposes :param parent_id: The parent user id :param username: The username of the user + :param name: The name of the resource. :param first_name: The first name of the person. :param last_name: The last name of the person. :param title: The job title of the person. @@ -1155,6 +1175,7 @@ def update( user=models.UserInput( parent_id=parent_id, username=username, + name=name, first_name=first_name, last_name=last_name, title=title, @@ -1290,6 +1311,7 @@ async def update_async( raw: Optional[bool] = False, parent_id: OptionalNullable[str] = UNSET, username: OptionalNullable[str] = UNSET, + name: OptionalNullable[str] = UNSET, first_name: OptionalNullable[str] = UNSET, last_name: OptionalNullable[str] = UNSET, title: OptionalNullable[str] = UNSET, @@ -1328,6 +1350,7 @@ async def update_async( :param raw: Include raw response. Mostly used for debugging purposes :param parent_id: The parent user id :param username: The username of the user + :param name: The name of the resource. :param first_name: The first name of the person. :param last_name: The last name of the person. :param title: The job title of the person. @@ -1367,6 +1390,7 @@ async def update_async( user=models.UserInput( parent_id=parent_id, username=username, + name=name, first_name=first_name, last_name=last_name, title=title, From d9e5632de4d2c6d47f4d7fbad49f5f19b8b57d87 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Sat, 6 Jun 2026 00:55:51 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow