From e578f0b07ee330c43032d3ecc1a74ae6084f0724 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Mon, 3 Nov 2025 12:02:22 +0000 Subject: [PATCH 1/2] ## Python SDK Changes Detected: * `apideck.accounting.tax_rates.list()`: `error.detail` **Changed** * `apideck.accounting.tax_rates.create()`: `error.detail` **Changed** * `apideck.accounting.tax_rates.get()`: `error.detail` **Changed** * `apideck.accounting.tax_rates.update()`: `error.detail` **Changed** * `apideck.accounting.tax_rates.delete()`: `error.detail` **Changed** * `apideck.accounting.bills.list()`: `error.detail` **Changed** * `apideck.accounting.bills.create()`: `error.detail` **Changed** * `apideck.accounting.bills.get()`: `error.detail` **Changed** * `apideck.accounting.bills.update()`: `error.detail` **Changed** * `apideck.accounting.bills.delete()`: `error.detail` **Changed** * `apideck.accounting.invoices.list()`: `error.detail` **Changed** * `apideck.accounting.invoices.create()`: `error.detail` **Changed** * `apideck.accounting.invoices.get()`: `error.detail` **Changed** * `apideck.accounting.invoices.update()`: `error.detail` **Changed** * `apideck.accounting.invoices.delete()`: `error.detail` **Changed** * `apideck.accounting.ledger_accounts.list()`: `error.detail` **Changed** * `apideck.accounting.ledger_accounts.create()`: `error.detail` **Changed** * `apideck.accounting.ledger_accounts.get()`: `error.detail` **Changed** * `apideck.accounting.ledger_accounts.update()`: `error.detail` **Changed** * `apideck.accounting.ledger_accounts.delete()`: `error.detail` **Changed** * `apideck.accounting.invoice_items.list()`: `error.detail` **Changed** * `apideck.accounting.invoice_items.create()`: `error.detail` **Changed** * `apideck.accounting.invoice_items.get()`: `error.detail` **Changed** * `apideck.accounting.invoice_items.update()`: `error.detail` **Changed** * `apideck.accounting.invoice_items.delete()`: `error.detail` **Changed** * `apideck.accounting.credit_notes.list()`: `error.detail` **Changed** * `apideck.accounting.credit_notes.create()`: `error.detail` **Changed** * `apideck.accounting.credit_notes.get()`: `error.detail` **Changed** * `apideck.accounting.credit_notes.update()`: `error.detail` **Changed** * `apideck.accounting.credit_notes.delete()`: `error.detail` **Changed** * `apideck.accounting.customers.list()`: `error.detail` **Changed** * `apideck.accounting.customers.create()`: `error.detail` **Changed** * `apideck.accounting.customers.get()`: `error.detail` **Changed** * `apideck.accounting.customers.update()`: `error.detail` **Changed** * `apideck.accounting.customers.delete()`: `error.detail` **Changed** * `apideck.accounting.suppliers.list()`: `error.detail` **Changed** * `apideck.accounting.suppliers.create()`: `error.detail` **Changed** * `apideck.accounting.suppliers.get()`: `error.detail` **Changed** * `apideck.accounting.suppliers.update()`: `error.detail` **Changed** * `apideck.accounting.suppliers.delete()`: `error.detail` **Changed** * `apideck.accounting.payments.list()`: `error.detail` **Changed** * `apideck.accounting.payments.create()`: `error.detail` **Changed** * `apideck.accounting.payments.get()`: `error.detail` **Changed** * `apideck.accounting.payments.update()`: `error.detail` **Changed** * `apideck.accounting.payments.delete()`: `error.detail` **Changed** * `apideck.accounting.company_info.get()`: `error.detail` **Changed** * `apideck.accounting.balance_sheet.get()`: `error.detail` **Changed** * `apideck.accounting.profit_and_loss.get()`: `error.detail` **Changed** * `apideck.accounting.journal_entries.list()`: `error.detail` **Changed** * `apideck.accounting.journal_entries.create()`: `error.detail` **Changed** * `apideck.accounting.journal_entries.get()`: `error.detail` **Changed** * `apideck.accounting.journal_entries.update()`: `error.detail` **Changed** * `apideck.accounting.journal_entries.delete()`: `error.detail` **Changed** * `apideck.accounting.purchase_orders.list()`: `error.detail` **Changed** * `apideck.accounting.purchase_orders.create()`: `error.detail` **Changed** * `apideck.accounting.purchase_orders.get()`: `error.detail` **Changed** * `apideck.accounting.purchase_orders.update()`: `error.detail` **Changed** * `apideck.accounting.purchase_orders.delete()`: `error.detail` **Changed** * `apideck.accounting.subsidiaries.list()`: `error.detail` **Changed** * `apideck.accounting.subsidiaries.create()`: `error.detail` **Changed** * `apideck.accounting.subsidiaries.get()`: `error.detail` **Changed** * `apideck.accounting.subsidiaries.update()`: `error.detail` **Changed** * `apideck.accounting.subsidiaries.delete()`: `error.detail` **Changed** * `apideck.accounting.locations.list()`: `error.detail` **Changed** * `apideck.accounting.locations.create()`: `error.detail` **Changed** * `apideck.accounting.locations.get()`: `error.detail` **Changed** * `apideck.accounting.locations.update()`: `error.detail` **Changed** * `apideck.accounting.locations.delete()`: `error.detail` **Changed** * `apideck.accounting.departments.list()`: `error.detail` **Changed** * `apideck.accounting.departments.create()`: `error.detail` **Changed** * `apideck.accounting.departments.get()`: `error.detail` **Changed** * `apideck.accounting.departments.update()`: `error.detail` **Changed** * `apideck.accounting.departments.delete()`: `error.detail` **Changed** * `apideck.accounting.attachments.list()`: `error.detail` **Changed** * `apideck.accounting.attachments.upload()`: `error.detail` **Changed** * `apideck.accounting.attachments.get()`: `error.detail` **Changed** * `apideck.accounting.attachments.delete()`: `error.detail` **Changed** * `apideck.accounting.attachments.download()`: `error.detail` **Changed** * `apideck.accounting.bank_accounts.list()`: `error.detail` **Changed** * `apideck.accounting.bank_accounts.create()`: `error.detail` **Changed** * `apideck.accounting.bank_accounts.get()`: `error.detail` **Changed** * `apideck.accounting.bank_accounts.update()`: `error.detail` **Changed** * `apideck.accounting.bank_accounts.delete()`: `error.detail` **Changed** * `apideck.accounting.tracking_categories.list()`: `error.detail` **Changed** * `apideck.accounting.tracking_categories.create()`: `error.detail` **Changed** * `apideck.accounting.tracking_categories.get()`: `error.detail` **Changed** * `apideck.accounting.tracking_categories.update()`: `error.detail` **Changed** * `apideck.accounting.tracking_categories.delete()`: `error.detail` **Changed** * `apideck.accounting.bill_payments.list()`: `error.detail` **Changed** * `apideck.accounting.bill_payments.create()`: `error.detail` **Changed** * `apideck.accounting.bill_payments.get()`: `error.detail` **Changed** * `apideck.accounting.bill_payments.update()`: `error.detail` **Changed** * `apideck.accounting.bill_payments.delete()`: `error.detail` **Changed** * `apideck.accounting.expenses.list()`: `error.detail` **Changed** * `apideck.accounting.expenses.create()`: `error.detail` **Changed** * `apideck.accounting.expenses.get()`: `error.detail` **Changed** * `apideck.accounting.expenses.update()`: `error.detail` **Changed** * `apideck.accounting.expenses.delete()`: `error.detail` **Changed** * `apideck.accounting.aged_creditors.get()`: `error.detail` **Changed** * `apideck.accounting.aged_debtors.get()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_accounts.list()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_accounts.create()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_accounts.get()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_accounts.update()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_accounts.delete()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_statements.list()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_statements.create()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_statements.get()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_statements.update()`: `error.detail` **Changed** * `apideck.accounting.bank_feed_statements.delete()`: `error.detail` **Changed** * `apideck.accounting.categories.list()`: `error.detail` **Changed** * `apideck.accounting.categories.get()`: `error.detail` **Changed** * `apideck.accounting.quotes.list()`: `error.detail` **Changed** * `apideck.accounting.quotes.create()`: `error.detail` **Changed** * `apideck.accounting.quotes.get()`: `error.detail` **Changed** * `apideck.accounting.quotes.update()`: `error.detail` **Changed** * `apideck.accounting.quotes.delete()`: `error.detail` **Changed** * `apideck.accounting.projects.list()`: `error.detail` **Changed** * `apideck.accounting.projects.create()`: `error.detail` **Changed** * `apideck.accounting.projects.get()`: `error.detail` **Changed** * `apideck.accounting.projects.update()`: `error.detail` **Changed** * `apideck.accounting.projects.delete()`: `error.detail` **Changed** * `apideck.ats.jobs.list()`: `error.detail` **Changed** * `apideck.ats.jobs.get()`: `error.detail` **Changed** * `apideck.ats.applicants.list()`: `error.detail` **Changed** * `apideck.ats.applicants.create()`: `error.detail` **Changed** * `apideck.ats.applicants.get()`: `error.detail` **Changed** * `apideck.ats.applicants.update()`: `error.detail` **Changed** * `apideck.ats.applicants.delete()`: `error.detail` **Changed** * `apideck.ats.applications.list()`: `error.detail` **Changed** * `apideck.ats.applications.create()`: `error.detail` **Changed** * `apideck.ats.applications.get()`: `error.detail` **Changed** * `apideck.ats.applications.update()`: `error.detail` **Changed** * `apideck.ats.applications.delete()`: `error.detail` **Changed** * `apideck.crm.companies.list()`: `error.detail` **Changed** * `apideck.crm.companies.create()`: `error.detail` **Changed** * `apideck.crm.companies.get()`: `error.detail` **Changed** * `apideck.crm.companies.update()`: `error.detail` **Changed** * `apideck.crm.companies.delete()`: `error.detail` **Changed** * `apideck.crm.contacts.list()`: `error.detail` **Changed** * `apideck.crm.contacts.create()`: `error.detail` **Changed** * `apideck.crm.contacts.get()`: `error.detail` **Changed** * `apideck.crm.contacts.update()`: `error.detail` **Changed** * `apideck.crm.contacts.delete()`: `error.detail` **Changed** * `apideck.crm.opportunities.list()`: `error.detail` **Changed** * `apideck.crm.opportunities.create()`: `error.detail` **Changed** * `apideck.crm.opportunities.get()`: `error.detail` **Changed** * `apideck.crm.opportunities.update()`: `error.detail` **Changed** * `apideck.crm.opportunities.delete()`: `error.detail` **Changed** * `apideck.crm.leads.list()`: `error.detail` **Changed** * `apideck.crm.leads.create()`: `error.detail` **Changed** * `apideck.crm.leads.get()`: `error.detail` **Changed** * `apideck.crm.leads.update()`: `error.detail` **Changed** * `apideck.crm.leads.delete()`: `error.detail` **Changed** * `apideck.crm.pipelines.list()`: `error.detail` **Changed** * `apideck.crm.pipelines.create()`: `error.detail` **Changed** * `apideck.crm.pipelines.get()`: `error.detail` **Changed** * `apideck.crm.pipelines.update()`: `error.detail` **Changed** * `apideck.crm.pipelines.delete()`: `error.detail` **Changed** * `apideck.crm.notes.list()`: `error.detail` **Changed** * `apideck.crm.notes.create()`: `error.detail` **Changed** * `apideck.crm.notes.get()`: `error.detail` **Changed** * `apideck.crm.notes.update()`: `error.detail` **Changed** * `apideck.crm.notes.delete()`: `error.detail` **Changed** * `apideck.crm.users.list()`: `error.detail` **Changed** * `apideck.crm.users.create()`: `error.detail` **Changed** * `apideck.crm.users.get()`: `error.detail` **Changed** * `apideck.crm.users.update()`: `error.detail` **Changed** * `apideck.crm.users.delete()`: `error.detail` **Changed** * `apideck.crm.activities.list()`: `error.detail` **Changed** * `apideck.crm.activities.create()`: `error.detail` **Changed** * `apideck.crm.activities.get()`: `error.detail` **Changed** * `apideck.crm.activities.update()`: `error.detail` **Changed** * `apideck.crm.activities.delete()`: `error.detail` **Changed** * `apideck.crm.custom_object_schemas.list()`: `error.detail` **Changed** * `apideck.crm.custom_object_schemas.create()`: `error.detail` **Changed** * `apideck.crm.custom_object_schemas.get()`: `error.detail` **Changed** * `apideck.crm.custom_object_schemas.update()`: `error.detail` **Changed** * `apideck.crm.custom_object_schemas.delete()`: `error.detail` **Changed** * `apideck.crm.custom_objects.list()`: `error.detail` **Changed** * `apideck.crm.custom_objects.create()`: `error.detail` **Changed** * `apideck.crm.custom_objects.get()`: `error.detail` **Changed** * `apideck.crm.custom_objects.update()`: `error.detail` **Changed** * `apideck.crm.custom_objects.delete()`: `error.detail` **Changed** * `apideck.ecommerce.orders.list()`: `error.detail` **Changed** * `apideck.ecommerce.orders.get()`: `error.detail` **Changed** * `apideck.ecommerce.products.list()`: `error.detail` **Changed** * `apideck.ecommerce.products.get()`: `error.detail` **Changed** * `apideck.ecommerce.customers.list()`: `error.detail` **Changed** * `apideck.ecommerce.customers.get()`: `error.detail` **Changed** * `apideck.ecommerce.stores.get()`: `error.detail` **Changed** * `apideck.file_storage.files.list()`: `error.detail` **Changed** * `apideck.file_storage.files.search()`: `error.detail` **Changed** * `apideck.file_storage.files.get()`: `error.detail` **Changed** * `apideck.file_storage.files.update()`: `error.detail` **Changed** * `apideck.file_storage.files.delete()`: `error.detail` **Changed** * `apideck.file_storage.files.download()`: `error.detail` **Changed** * `apideck.file_storage.files.export()`: `error.detail` **Changed** * `apideck.file_storage.folders.create()`: `error.detail` **Changed** * `apideck.file_storage.folders.get()`: `error.detail` **Changed** * `apideck.file_storage.folders.update()`: `error.detail` **Changed** * `apideck.file_storage.folders.delete()`: `error.detail` **Changed** * `apideck.file_storage.folders.copy()`: `error.detail` **Changed** * `apideck.file_storage.shared_links.list()`: `error.detail` **Changed** * `apideck.file_storage.shared_links.create()`: `error.detail` **Changed** * `apideck.file_storage.shared_links.get()`: `error.detail` **Changed** * `apideck.file_storage.shared_links.update()`: `error.detail` **Changed** * `apideck.file_storage.shared_links.delete()`: `error.detail` **Changed** * `apideck.file_storage.upload_sessions.create()`: `error.detail` **Changed** * `apideck.file_storage.upload_sessions.get()`: `error.detail` **Changed** * `apideck.file_storage.upload_sessions.upload()`: `error.detail` **Changed** * `apideck.file_storage.upload_sessions.delete()`: `error.detail` **Changed** * `apideck.file_storage.upload_sessions.finish()`: `error.detail` **Changed** * `apideck.file_storage.drives.list()`: `error.detail` **Changed** * `apideck.file_storage.drives.create()`: `error.detail` **Changed** * `apideck.file_storage.drives.get()`: `error.detail` **Changed** * `apideck.file_storage.drives.update()`: `error.detail` **Changed** * `apideck.file_storage.drives.delete()`: `error.detail` **Changed** * `apideck.file_storage.drive_groups.list()`: `error.detail` **Changed** * `apideck.file_storage.drive_groups.create()`: `error.detail` **Changed** * `apideck.file_storage.drive_groups.get()`: `error.detail` **Changed** * `apideck.file_storage.drive_groups.update()`: `error.detail` **Changed** * `apideck.file_storage.drive_groups.delete()`: `error.detail` **Changed** * `apideck.hris.employees.list()`: `error.detail` **Changed** * `apideck.hris.employees.create()`: `error.detail` **Changed** * `apideck.hris.employees.get()`: `error.detail` **Changed** * `apideck.hris.employees.update()`: `error.detail` **Changed** * `apideck.hris.employees.delete()`: `error.detail` **Changed** * `apideck.hris.companies.list()`: `error.detail` **Changed** * `apideck.hris.companies.create()`: `error.detail` **Changed** * `apideck.hris.companies.get()`: `error.detail` **Changed** * `apideck.hris.companies.update()`: `error.detail` **Changed** * `apideck.hris.companies.delete()`: `error.detail` **Changed** * `apideck.hris.departments.list()`: `error.detail` **Changed** * `apideck.hris.departments.create()`: `error.detail` **Changed** * `apideck.hris.departments.get()`: `error.detail` **Changed** * `apideck.hris.departments.update()`: `error.detail` **Changed** * `apideck.hris.departments.delete()`: `error.detail` **Changed** * `apideck.hris.payrolls.list()`: `error.detail` **Changed** * `apideck.hris.payrolls.get()`: `error.detail` **Changed** * `apideck.hris.employee_payrolls.list()`: `error.detail` **Changed** * `apideck.hris.employee_payrolls.get()`: `error.detail` **Changed** * `apideck.hris.employee_schedules.list()`: `error.detail` **Changed** * `apideck.hris.time_off_requests.list()`: `error.detail` **Changed** * `apideck.hris.time_off_requests.create()`: `error.detail` **Changed** * `apideck.hris.time_off_requests.get()`: `error.detail` **Changed** * `apideck.hris.time_off_requests.update()`: `error.detail` **Changed** * `apideck.hris.time_off_requests.delete()`: `error.detail` **Changed** * `apideck.sms.messages.list()`: `error.detail` **Changed** * `apideck.sms.messages.create()`: `error.detail` **Changed** * `apideck.sms.messages.get()`: `error.detail` **Changed** * `apideck.sms.messages.update()`: `error.detail` **Changed** * `apideck.sms.messages.delete()`: `error.detail` **Changed** * `apideck.issue_tracking.collections.list()`: `error.detail` **Changed** * `apideck.issue_tracking.collections.get()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_tickets.list()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_tickets.create()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_tickets.get()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_tickets.update()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_tickets.delete()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_ticket_comments.list()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_ticket_comments.create()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_ticket_comments.get()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_ticket_comments.update()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_ticket_comments.delete()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_users.list()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_users.get()`: `error.detail` **Changed** * `apideck.issue_tracking.collection_tags.list()`: `error.detail` **Changed** * `apideck.connector.connectors.list()`: `error.detail` **Changed** * `apideck.connector.connectors.get()`: `error.detail` **Changed** * `apideck.connector.connector_docs.get()`: `error.detail` **Changed** * `apideck.connector.connector_resources.get()`: `error.detail` **Changed** * `apideck.connector.apis.list()`: `error.detail` **Changed** * `apideck.connector.apis.get()`: `error.detail` **Changed** * `apideck.connector.api_resources.get()`: `error.detail` **Changed** * `apideck.connector.api_resource_coverage.get()`: `error.detail` **Changed** * `apideck.vault.consumers.create()`: `error.detail` **Changed** * `apideck.vault.consumers.list()`: `error.detail` **Changed** * `apideck.vault.consumers.get()`: `error.detail` **Changed** * `apideck.vault.consumers.update()`: `error.detail` **Changed** * `apideck.vault.consumers.delete()`: `error.detail` **Changed** * `apideck.vault.consumer_request_counts.list()`: `error.detail` **Changed** * `apideck.vault.connections.list()`: * `response.data.[]` **Changed** * `error.detail` **Changed** * `apideck.vault.connections.get()`: * `response.data` **Changed** * `error.detail` **Changed** * `apideck.vault.connections.update()`: * `response.data` **Changed** * `error.detail` **Changed** * `apideck.vault.connections.delete()`: `error.detail` **Changed** * `apideck.vault.connections.imports()`: * `response.data` **Changed** * `error.detail` **Changed** * `apideck.vault.connections.token()`: * `response.data` **Changed** * `error.detail` **Changed** * `apideck.vault.validate_connection.state()`: `error.detail` **Changed** * `apideck.vault.connection_consents.list()`: `error.detail` **Changed** * `apideck.vault.connection_consent.update()`: `error.detail` **Changed** * `apideck.vault.create_callback.state()`: `error.detail` **Changed** * `apideck.vault.connection_settings.list()`: * `response.data` **Changed** * `error.detail` **Changed** * `apideck.vault.connection_settings.update()`: * `response.data` **Changed** * `error.detail` **Changed** * `apideck.vault.custom_fields.list()`: `error.detail` **Changed** * `apideck.vault.connection_custom_mappings.list()`: `error.detail` **Changed** * `apideck.vault.custom_mappings.list()`: `error.detail` **Changed** * `apideck.vault.sessions.create()`: `error.detail` **Changed** * `apideck.vault.logs.list()`: `error.detail` **Changed** * `apideck.webhook.webhooks.list()`: `error.detail` **Changed** * `apideck.webhook.webhooks.create()`: `error.detail` **Changed** * `apideck.webhook.webhooks.get()`: `error.detail` **Changed** * `apideck.webhook.webhooks.update()`: `error.detail` **Changed** * `apideck.webhook.webhooks.delete()`: `error.detail` **Changed** * `apideck.webhook.event_logs.list()`: `error.detail` **Changed** --- .speakeasy/gen.lock | 53 +++------ .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 +-- RELEASES.md | 12 ++- docs/models/connection.md | 5 +- docs/models/debug.md | 16 +++ docs/models/detail2.md | 11 ++ docs/models/health.md | 13 +++ docs/models/request.md | 9 ++ docs/models/response.md | 9 ++ docs/models/unauthorizedresponsedetail.md | 4 +- pyproject.toml | 2 +- src/apideck_unify/_version.py | 6 +- src/apideck_unify/models/__init__.py | 27 +++++ src/apideck_unify/models/connection.py | 35 +++++- .../models/unauthorizedresponse.py | 101 +++++++++++++++++- 16 files changed, 260 insertions(+), 59 deletions(-) create mode 100644 docs/models/debug.md create mode 100644 docs/models/detail2.md create mode 100644 docs/models/health.md create mode 100644 docs/models/request.md create mode 100644 docs/models/response.md diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 93b9e358..76942cdb 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: 0f03766a03d356ffdfe72dd9ea857df6 - docVersion: 10.21.10 + docChecksum: 5d121bc204da40b183d77bf1375fdfa9 + docVersion: 10.21.11 speakeasyVersion: 1.645.2 generationVersion: 2.735.1 - releaseVersion: 0.26.0 - configChecksum: f6db6e6104f22678e2608e80da49638b + releaseVersion: 0.27.0 + configChecksum: 8759c3786b68ec6dc4ba62d99f496098 repoURL: https://github.com/apideck-libraries/sdk-python.git installationURL: https://github.com/apideck-libraries/sdk-python.git published: true @@ -14,6 +14,7 @@ features: python: acceptHeaders: 3.0.0 additionalDependencies: 1.0.0 + additionalProperties: 1.0.1 constsAndDefaults: 1.0.5 core: 5.23.2 deepObjectParams: 0.1.0 @@ -886,6 +887,7 @@ generatedFiles: - docs/models/datascopesresources.md - docs/models/datascopesresources1.md - docs/models/datascopesresources2.md + - docs/models/debug.md - docs/models/deduction.md - docs/models/defaults.md - docs/models/deleteaccountingdepartmentresponse.md @@ -945,6 +947,7 @@ generatedFiles: - docs/models/deprecatedlinkedsupplierinput.md - docs/models/deprecatedlinkedtrackingcategory.md - docs/models/detail.md + - docs/models/detail2.md - docs/models/direction.md - docs/models/disabledreason.md - docs/models/drive.md @@ -1292,6 +1295,7 @@ generatedFiles: - docs/models/getwebhookeventlogsresponse.md - docs/models/getwebhookresponse.md - docs/models/getwebhooksresponse.md + - docs/models/health.md - docs/models/hriscompaniesaddglobals.md - docs/models/hriscompaniesaddrequest.md - docs/models/hriscompaniesaddresponse.md @@ -1595,11 +1599,13 @@ generatedFiles: - docs/models/rebilling.md - docs/models/rebillstatus.md - docs/models/reports.md + - docs/models/request.md - docs/models/requestcountallocation.md - docs/models/requestrate.md - docs/models/requesttype.md - docs/models/resources.md - docs/models/resourcestatus.md + - docs/models/response.md - docs/models/salary.md - docs/models/salesdetails.md - docs/models/schedule.md @@ -16524,7 +16530,7 @@ examples: x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" responses: "200": - application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "options": [], "option_type": "group"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "updated_at": 1616662325753}} + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "options": [], "option_type": "group"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "health": "ok", "credentials_expire_at": 1730172800000, "last_refresh_failed_at": 1730000000000, "created_at": 1615563533390, "updated_at": 1616662325753}} "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"} "401": @@ -16575,7 +16581,7 @@ examples: application/json: {"enabled": true, "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "configuration": [{"resource": "leads", "defaults": [{"id": "ProductInterest", "options": [{"label": "General Channel", "option_type": "simple"}], "value": "GC5000 series"}]}], "custom_mappings": [{"value": "$.root.training.first_aid"}], "consent_state": "granted", "latest_consent": {"granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}} responses: "200": - application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "option_type": "simple"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "updated_at": 1616662325753}} + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "option_type": "simple"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "health": "ok", "credentials_expire_at": 1730172800000, "last_refresh_failed_at": 1730000000000, "created_at": 1615563533390, "updated_at": 1616662325753}} "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"} "401": @@ -16669,7 +16675,7 @@ examples: application/json: {"credentials": {"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.cThIIoDvwdueQB468K5xDc5633seEFoqwxjF_xSJyQQ", "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"}, "settings": {"instance_url": "https://eu28.salesforce.com"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}} responses: "200": - application/json: {"status_code": 201, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "option_type": "simple"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "updated_at": 1616662325753}} + application/json: {"status_code": 201, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "option_type": "simple"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "health": "ok", "credentials_expire_at": 1730172800000, "last_refresh_failed_at": 1730000000000, "created_at": 1615563533390, "updated_at": 1616662325753}} "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"} "401": @@ -16716,7 +16722,7 @@ examples: x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" responses: "200": - application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "options": [], "option_type": "group"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "updated_at": 1616662325753}} + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "options": [], "option_type": "group"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "health": "ok", "credentials_expire_at": 1730172800000, "last_refresh_failed_at": 1730000000000, "created_at": 1615563533390, "updated_at": 1616662325753}} "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"} "401": @@ -16863,7 +16869,7 @@ examples: x-apideck-app-id: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX" responses: "200": - application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "options": [], "option_type": "group"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "updated_at": 1616662325753}} + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "options": [], "option_type": "group"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "health": "ok", "credentials_expire_at": 1730172800000, "last_refresh_failed_at": 1730000000000, "created_at": 1615563533390, "updated_at": 1616662325753}} "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"} "401": @@ -16916,7 +16922,7 @@ examples: application/json: {"enabled": true, "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "configuration": [{"resource": "leads", "defaults": [{"id": "ProductInterest", "options": [{"label": "General Channel", "options": [{"label": "General Channel", "value": "general", "option_type": "simple"}], "option_type": "group"}], "value": "GC5000 series"}]}], "custom_mappings": [{"value": "$.root.training.first_aid"}], "consent_state": "granted", "latest_consent": {"granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}} responses: "200": - application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "option_type": "simple"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "created_at": 1615563533390, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "updated_at": 1616662325753}} + application/json: {"status_code": 200, "status": "OK", "data": {"id": "crm+salesforce", "service_id": "salesforce", "name": "Salesforce", "tag_line": "CRM software solutions and enterprise cloud computing from Salesforce, the leader in customer relationship management (CRM) and PaaS. Free 30 day trial.", "unified_api": "crm", "state": "authorized", "integration_state": "configured", "auth_type": "oauth2", "oauth_grant_type": "authorization_code", "enabled": true, "website": "https://www.salesforce.com", "icon": "https://res.cloudinary.com/apideck/image/upload/v1529456047/catalog/salesforce/icon128x128.png", "logo": "https://c1.sfdcstatic.com/content/dam/web/en_us/www/images/home/logo-salesforce-m.svg", "authorize_url": "https://unify.apideck.com/vault/authorize/salesforce/?state=", "revoke_url": "https://unify.apideck.com/vault/revoke/salesforce/?state=", "settings": {"instance_url": "https://eu28.salesforce.com", "api_key": "12345xxxxxx"}, "metadata": {"account": {"name": "My Company", "id": "c01458a5-7276-41ce-bc19-639906b0450a"}, "plan": "enterprise"}, "form_fields": [{"id": "instance_url", "label": "Instance url", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": false}, {"id": "api_key", "label": "API Key", "placeholder": "", "type": "text", "required": true, "custom_field": false, "allow_custom_values": false, "disabled": false, "sensitive": true}], "configuration": [{"resource": "leads", "defaults": [{"target": "custom_fields", "id": "ProductInterest", "options": [{"label": "General Channel", "option_type": "simple"}], "value": "GC5000 series"}]}], "configurable_resources": ["opportunities", "companies", "contacts", "leads"], "resource_schema_support": ["leads"], "resource_settings_support": ["leads"], "settings_required_for_authorization": ["client_id", "client_secret"], "subscriptions": [{"downstream_id": "5f5f5f5f5f5f5f5f5f5f5f5f", "unify_event_types": ["crm.contact.created"], "downstream_event_types": ["contacts.CREATED"], "execute_url": "https://unify.apideck.com/webhook/w/{lookupIdToken}/{serviceId}?e={downstreamEventType}", "created_at": "2020-10-01T12:00:00.000Z"}], "has_guide": true, "custom_mappings": [{"id": "hris+employees+first_aid_training", "label": "First Aid Training", "description": "First Aid Training completed after 2019-01-01", "value": "$.root.training.first_aid", "key": "first_aid_training", "required": false, "custom_field": true, "consumer_id": "test_user_id", "example": "Some value"}], "consent_state": "granted", "consents": [{"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}], "latest_consent": {"id": "con_1234567890", "created_at": "2025-04-15T14:30:00Z", "granted": true, "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "application_data_scopes": {"enabled": true, "updated_at": "2025-04-15T14:30:00Z", "resources": {"hris.employees": {"id": {"read": true, "write": false}, "first_name": {"read": true, "write": true}, "last_name": {"read": true, "write": true}, "email": {"read": true, "write": true}, "addresses[].street": {"read": true, "write": false}, "addresses[].city": {"read": true, "write": false}, "employment.job_title": {"read": true, "write": true}, "custom_fields[].employee_number": {"read": true, "write": false}}, "hris.departments": {"id": {"read": true, "write": false}, "name": {"read": true, "write": true}, "code": {"read": true, "write": false}}}}, "health": "ok", "credentials_expire_at": 1730172800000, "last_refresh_failed_at": 1730000000000, "created_at": 1615563533390, "updated_at": 1616662325753}} "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"} "401": @@ -18481,29 +18487,4 @@ examples: application/json: {"status_code": 400, "error": "Bad Request", "type_name": "RequestHeadersValidationError", "message": "Invalid Params", "detail": "Missing Header: x-apideck-consumer-id", "ref": "https://developers.apideck.com/errors#unauthorizederror"} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: | - ## Python SDK Changes Detected: - * `apideck.accounting.tax_rates.list()`: `response.data.[].display_id` **Added** - * `apideck.accounting.tax_rates.create()`: `request.display_id` **Added** - * `apideck.accounting.tax_rates.get()`: `response.data.display_id` **Added** - * `apideck.accounting.tax_rates.update()`: `request.display_id` **Added** - * `apideck.accounting.bills.list()`: `request.filter` **Changed** - * `apideck.accounting.invoice_items.list()`: `response.data.[].display_id` **Added** - * `apideck.accounting.invoice_items.create()`: `request.display_id` **Added** - * `apideck.accounting.invoice_items.get()`: `response.data.display_id` **Added** - * `apideck.accounting.invoice_items.update()`: `request.display_id` **Added** - * `apideck.accounting.company_info.get()`: `response.data.default_sales_tax.display_id` **Added** - * `apideck.accounting.journal_entries.list()`: `response.data.[].display_id` **Added** - * `apideck.accounting.journal_entries.create()`: `request.display_id` **Added** - * `apideck.accounting.journal_entries.get()`: `response.data.display_id` **Added** - * `apideck.accounting.journal_entries.update()`: `request.display_id` **Added** - * `apideck.accounting.purchase_orders.list()`: `response.data.[].display_id` **Added** - * `apideck.accounting.purchase_orders.create()`: `request.display_id` **Added** - * `apideck.accounting.purchase_orders.get()`: `response.data.display_id` **Added** - * `apideck.accounting.purchase_orders.update()`: `request.display_id` **Added** - * `apideck.accounting.subsidiaries.list()`: `response.data.[].display_id` **Added** - * `apideck.accounting.subsidiaries.create()`: `request.display_id` **Added** - * `apideck.accounting.subsidiaries.get()`: `response.data.display_id` **Added** - * `apideck.accounting.subsidiaries.update()`: `request.display_id` **Added** - * `apideck.accounting.categories.list()`: `response.data.[].display_id` **Added** - * `apideck.accounting.categories.get()`: `response.data.display_id` **Added** +releaseNotes: "## Python SDK Changes Detected:\n* `apideck.accounting.tax_rates.list()`: `error.detail` **Changed**\n* `apideck.accounting.tax_rates.create()`: `error.detail` **Changed**\n* `apideck.accounting.tax_rates.get()`: `error.detail` **Changed**\n* `apideck.accounting.tax_rates.update()`: `error.detail` **Changed**\n* `apideck.accounting.tax_rates.delete()`: `error.detail` **Changed**\n* `apideck.accounting.bills.list()`: `error.detail` **Changed**\n* `apideck.accounting.bills.create()`: `error.detail` **Changed**\n* `apideck.accounting.bills.get()`: `error.detail` **Changed**\n* `apideck.accounting.bills.update()`: `error.detail` **Changed**\n* `apideck.accounting.bills.delete()`: `error.detail` **Changed**\n* `apideck.accounting.invoices.list()`: `error.detail` **Changed**\n* `apideck.accounting.invoices.create()`: `error.detail` **Changed**\n* `apideck.accounting.invoices.get()`: `error.detail` **Changed**\n* `apideck.accounting.invoices.update()`: `error.detail` **Changed**\n* `apideck.accounting.invoices.delete()`: `error.detail` **Changed**\n* `apideck.accounting.ledger_accounts.list()`: `error.detail` **Changed**\n* `apideck.accounting.ledger_accounts.create()`: `error.detail` **Changed**\n* `apideck.accounting.ledger_accounts.get()`: `error.detail` **Changed**\n* `apideck.accounting.ledger_accounts.update()`: `error.detail` **Changed**\n* `apideck.accounting.ledger_accounts.delete()`: `error.detail` **Changed**\n* `apideck.accounting.invoice_items.list()`: `error.detail` **Changed**\n* `apideck.accounting.invoice_items.create()`: `error.detail` **Changed**\n* `apideck.accounting.invoice_items.get()`: `error.detail` **Changed**\n* `apideck.accounting.invoice_items.update()`: `error.detail` **Changed**\n* `apideck.accounting.invoice_items.delete()`: `error.detail` **Changed**\n* `apideck.accounting.credit_notes.list()`: `error.detail` **Changed**\n* `apideck.accounting.credit_notes.create()`: `error.detail` **Changed**\n* `apideck.accounting.credit_notes.get()`: `error.detail` **Changed**\n* `apideck.accounting.credit_notes.update()`: `error.detail` **Changed**\n* `apideck.accounting.credit_notes.delete()`: `error.detail` **Changed**\n* `apideck.accounting.customers.list()`: `error.detail` **Changed**\n* `apideck.accounting.customers.create()`: `error.detail` **Changed**\n* `apideck.accounting.customers.get()`: `error.detail` **Changed**\n* `apideck.accounting.customers.update()`: `error.detail` **Changed**\n* `apideck.accounting.customers.delete()`: `error.detail` **Changed**\n* `apideck.accounting.suppliers.list()`: `error.detail` **Changed**\n* `apideck.accounting.suppliers.create()`: `error.detail` **Changed**\n* `apideck.accounting.suppliers.get()`: `error.detail` **Changed**\n* `apideck.accounting.suppliers.update()`: `error.detail` **Changed**\n* `apideck.accounting.suppliers.delete()`: `error.detail` **Changed**\n* `apideck.accounting.payments.list()`: `error.detail` **Changed**\n* `apideck.accounting.payments.create()`: `error.detail` **Changed**\n* `apideck.accounting.payments.get()`: `error.detail` **Changed**\n* `apideck.accounting.payments.update()`: `error.detail` **Changed**\n* `apideck.accounting.payments.delete()`: `error.detail` **Changed**\n* `apideck.accounting.company_info.get()`: `error.detail` **Changed**\n* `apideck.accounting.balance_sheet.get()`: `error.detail` **Changed**\n* `apideck.accounting.profit_and_loss.get()`: `error.detail` **Changed**\n* `apideck.accounting.journal_entries.list()`: `error.detail` **Changed**\n* `apideck.accounting.journal_entries.create()`: `error.detail` **Changed**\n* `apideck.accounting.journal_entries.get()`: `error.detail` **Changed**\n* `apideck.accounting.journal_entries.update()`: `error.detail` **Changed**\n* `apideck.accounting.journal_entries.delete()`: `error.detail` **Changed**\n* `apideck.accounting.purchase_orders.list()`: `error.detail` **Changed**\n* `apideck.accounting.purchase_orders.create()`: `error.detail` **Changed**\n* `apideck.accounting.purchase_orders.get()`: `error.detail` **Changed**\n* `apideck.accounting.purchase_orders.update()`: `error.detail` **Changed**\n* `apideck.accounting.purchase_orders.delete()`: `error.detail` **Changed**\n* `apideck.accounting.subsidiaries.list()`: `error.detail` **Changed**\n* `apideck.accounting.subsidiaries.create()`: `error.detail` **Changed**\n* `apideck.accounting.subsidiaries.get()`: `error.detail` **Changed**\n* `apideck.accounting.subsidiaries.update()`: `error.detail` **Changed**\n* `apideck.accounting.subsidiaries.delete()`: `error.detail` **Changed**\n* `apideck.accounting.locations.list()`: `error.detail` **Changed**\n* `apideck.accounting.locations.create()`: `error.detail` **Changed**\n* `apideck.accounting.locations.get()`: `error.detail` **Changed**\n* `apideck.accounting.locations.update()`: `error.detail` **Changed**\n* `apideck.accounting.locations.delete()`: `error.detail` **Changed**\n* `apideck.accounting.departments.list()`: `error.detail` **Changed**\n* `apideck.accounting.departments.create()`: `error.detail` **Changed**\n* `apideck.accounting.departments.get()`: `error.detail` **Changed**\n* `apideck.accounting.departments.update()`: `error.detail` **Changed**\n* `apideck.accounting.departments.delete()`: `error.detail` **Changed**\n* `apideck.accounting.attachments.list()`: `error.detail` **Changed**\n* `apideck.accounting.attachments.upload()`: `error.detail` **Changed**\n* `apideck.accounting.attachments.get()`: `error.detail` **Changed**\n* `apideck.accounting.attachments.delete()`: `error.detail` **Changed**\n* `apideck.accounting.attachments.download()`: `error.detail` **Changed**\n* `apideck.accounting.bank_accounts.list()`: `error.detail` **Changed**\n* `apideck.accounting.bank_accounts.create()`: `error.detail` **Changed**\n* `apideck.accounting.bank_accounts.get()`: `error.detail` **Changed**\n* `apideck.accounting.bank_accounts.update()`: `error.detail` **Changed**\n* `apideck.accounting.bank_accounts.delete()`: `error.detail` **Changed**\n* `apideck.accounting.tracking_categories.list()`: `error.detail` **Changed**\n* `apideck.accounting.tracking_categories.create()`: `error.detail` **Changed**\n* `apideck.accounting.tracking_categories.get()`: `error.detail` **Changed**\n* `apideck.accounting.tracking_categories.update()`: `error.detail` **Changed**\n* `apideck.accounting.tracking_categories.delete()`: `error.detail` **Changed**\n* `apideck.accounting.bill_payments.list()`: `error.detail` **Changed**\n* `apideck.accounting.bill_payments.create()`: `error.detail` **Changed**\n* `apideck.accounting.bill_payments.get()`: `error.detail` **Changed**\n* `apideck.accounting.bill_payments.update()`: `error.detail` **Changed**\n* `apideck.accounting.bill_payments.delete()`: `error.detail` **Changed**\n* `apideck.accounting.expenses.list()`: `error.detail` **Changed**\n* `apideck.accounting.expenses.create()`: `error.detail` **Changed**\n* `apideck.accounting.expenses.get()`: `error.detail` **Changed**\n* `apideck.accounting.expenses.update()`: `error.detail` **Changed**\n* `apideck.accounting.expenses.delete()`: `error.detail` **Changed**\n* `apideck.accounting.aged_creditors.get()`: `error.detail` **Changed**\n* `apideck.accounting.aged_debtors.get()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_accounts.list()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_accounts.create()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_accounts.get()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_accounts.update()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_accounts.delete()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_statements.list()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_statements.create()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_statements.get()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_statements.update()`: `error.detail` **Changed**\n* `apideck.accounting.bank_feed_statements.delete()`: `error.detail` **Changed**\n* `apideck.accounting.categories.list()`: `error.detail` **Changed**\n* `apideck.accounting.categories.get()`: `error.detail` **Changed**\n* `apideck.accounting.quotes.list()`: `error.detail` **Changed**\n* `apideck.accounting.quotes.create()`: `error.detail` **Changed**\n* `apideck.accounting.quotes.get()`: `error.detail` **Changed**\n* `apideck.accounting.quotes.update()`: `error.detail` **Changed**\n* `apideck.accounting.quotes.delete()`: `error.detail` **Changed**\n* `apideck.accounting.projects.list()`: `error.detail` **Changed**\n* `apideck.accounting.projects.create()`: `error.detail` **Changed**\n* `apideck.accounting.projects.get()`: `error.detail` **Changed**\n* `apideck.accounting.projects.update()`: `error.detail` **Changed**\n* `apideck.accounting.projects.delete()`: `error.detail` **Changed**\n* `apideck.ats.jobs.list()`: `error.detail` **Changed**\n* `apideck.ats.jobs.get()`: `error.detail` **Changed**\n* `apideck.ats.applicants.list()`: `error.detail` **Changed**\n* `apideck.ats.applicants.create()`: `error.detail` **Changed**\n* `apideck.ats.applicants.get()`: `error.detail` **Changed**\n* `apideck.ats.applicants.update()`: `error.detail` **Changed**\n* `apideck.ats.applicants.delete()`: `error.detail` **Changed**\n* `apideck.ats.applications.list()`: `error.detail` **Changed**\n* `apideck.ats.applications.create()`: `error.detail` **Changed**\n* `apideck.ats.applications.get()`: `error.detail` **Changed**\n* `apideck.ats.applications.update()`: `error.detail` **Changed**\n* `apideck.ats.applications.delete()`: `error.detail` **Changed**\n* `apideck.crm.companies.list()`: `error.detail` **Changed**\n* `apideck.crm.companies.create()`: `error.detail` **Changed**\n* `apideck.crm.companies.get()`: `error.detail` **Changed**\n* `apideck.crm.companies.update()`: `error.detail` **Changed**\n* `apideck.crm.companies.delete()`: `error.detail` **Changed**\n* `apideck.crm.contacts.list()`: `error.detail` **Changed**\n* `apideck.crm.contacts.create()`: `error.detail` **Changed**\n* `apideck.crm.contacts.get()`: `error.detail` **Changed**\n* `apideck.crm.contacts.update()`: `error.detail` **Changed**\n* `apideck.crm.contacts.delete()`: `error.detail` **Changed**\n* `apideck.crm.opportunities.list()`: `error.detail` **Changed**\n* `apideck.crm.opportunities.create()`: `error.detail` **Changed**\n* `apideck.crm.opportunities.get()`: `error.detail` **Changed**\n* `apideck.crm.opportunities.update()`: `error.detail` **Changed**\n* `apideck.crm.opportunities.delete()`: `error.detail` **Changed**\n* `apideck.crm.leads.list()`: `error.detail` **Changed**\n* `apideck.crm.leads.create()`: `error.detail` **Changed**\n* `apideck.crm.leads.get()`: `error.detail` **Changed**\n* `apideck.crm.leads.update()`: `error.detail` **Changed**\n* `apideck.crm.leads.delete()`: `error.detail` **Changed**\n* `apideck.crm.pipelines.list()`: `error.detail` **Changed**\n* `apideck.crm.pipelines.create()`: `error.detail` **Changed**\n* `apideck.crm.pipelines.get()`: `error.detail` **Changed**\n* `apideck.crm.pipelines.update()`: `error.detail` **Changed**\n* `apideck.crm.pipelines.delete()`: `error.detail` **Changed**\n* `apideck.crm.notes.list()`: `error.detail` **Changed**\n* `apideck.crm.notes.create()`: `error.detail` **Changed**\n* `apideck.crm.notes.get()`: `error.detail` **Changed**\n* `apideck.crm.notes.update()`: `error.detail` **Changed**\n* `apideck.crm.notes.delete()`: `error.detail` **Changed**\n* `apideck.crm.users.list()`: `error.detail` **Changed**\n* `apideck.crm.users.create()`: `error.detail` **Changed**\n* `apideck.crm.users.get()`: `error.detail` **Changed**\n* `apideck.crm.users.update()`: `error.detail` **Changed**\n* `apideck.crm.users.delete()`: `error.detail` **Changed**\n* `apideck.crm.activities.list()`: `error.detail` **Changed**\n* `apideck.crm.activities.create()`: `error.detail` **Changed**\n* `apideck.crm.activities.get()`: `error.detail` **Changed**\n* `apideck.crm.activities.update()`: `error.detail` **Changed**\n* `apideck.crm.activities.delete()`: `error.detail` **Changed**\n* `apideck.crm.custom_object_schemas.list()`: `error.detail` **Changed**\n* `apideck.crm.custom_object_schemas.create()`: `error.detail` **Changed**\n* `apideck.crm.custom_object_schemas.get()`: `error.detail` **Changed**\n* `apideck.crm.custom_object_schemas.update()`: `error.detail` **Changed**\n* `apideck.crm.custom_object_schemas.delete()`: `error.detail` **Changed**\n* `apideck.crm.custom_objects.list()`: `error.detail` **Changed**\n* `apideck.crm.custom_objects.create()`: `error.detail` **Changed**\n* `apideck.crm.custom_objects.get()`: `error.detail` **Changed**\n* `apideck.crm.custom_objects.update()`: `error.detail` **Changed**\n* `apideck.crm.custom_objects.delete()`: `error.detail` **Changed**\n* `apideck.ecommerce.orders.list()`: `error.detail` **Changed**\n* `apideck.ecommerce.orders.get()`: `error.detail` **Changed**\n* `apideck.ecommerce.products.list()`: `error.detail` **Changed**\n* `apideck.ecommerce.products.get()`: `error.detail` **Changed**\n* `apideck.ecommerce.customers.list()`: `error.detail` **Changed**\n* `apideck.ecommerce.customers.get()`: `error.detail` **Changed**\n* `apideck.ecommerce.stores.get()`: `error.detail` **Changed**\n* `apideck.file_storage.files.list()`: `error.detail` **Changed**\n* `apideck.file_storage.files.search()`: `error.detail` **Changed**\n* `apideck.file_storage.files.get()`: `error.detail` **Changed**\n* `apideck.file_storage.files.update()`: `error.detail` **Changed**\n* `apideck.file_storage.files.delete()`: `error.detail` **Changed**\n* `apideck.file_storage.files.download()`: `error.detail` **Changed**\n* `apideck.file_storage.files.export()`: `error.detail` **Changed**\n* `apideck.file_storage.folders.create()`: `error.detail` **Changed**\n* `apideck.file_storage.folders.get()`: `error.detail` **Changed**\n* `apideck.file_storage.folders.update()`: `error.detail` **Changed**\n* `apideck.file_storage.folders.delete()`: `error.detail` **Changed**\n* `apideck.file_storage.folders.copy()`: `error.detail` **Changed**\n* `apideck.file_storage.shared_links.list()`: `error.detail` **Changed**\n* `apideck.file_storage.shared_links.create()`: `error.detail` **Changed**\n* `apideck.file_storage.shared_links.get()`: `error.detail` **Changed**\n* `apideck.file_storage.shared_links.update()`: `error.detail` **Changed**\n* `apideck.file_storage.shared_links.delete()`: `error.detail` **Changed**\n* `apideck.file_storage.upload_sessions.create()`: `error.detail` **Changed**\n* `apideck.file_storage.upload_sessions.get()`: `error.detail` **Changed**\n* `apideck.file_storage.upload_sessions.upload()`: `error.detail` **Changed**\n* `apideck.file_storage.upload_sessions.delete()`: `error.detail` **Changed**\n* `apideck.file_storage.upload_sessions.finish()`: `error.detail` **Changed**\n* `apideck.file_storage.drives.list()`: `error.detail` **Changed**\n* `apideck.file_storage.drives.create()`: `error.detail` **Changed**\n* `apideck.file_storage.drives.get()`: `error.detail` **Changed**\n* `apideck.file_storage.drives.update()`: `error.detail` **Changed**\n* `apideck.file_storage.drives.delete()`: `error.detail` **Changed**\n* `apideck.file_storage.drive_groups.list()`: `error.detail` **Changed**\n* `apideck.file_storage.drive_groups.create()`: `error.detail` **Changed**\n* `apideck.file_storage.drive_groups.get()`: `error.detail` **Changed**\n* `apideck.file_storage.drive_groups.update()`: `error.detail` **Changed**\n* `apideck.file_storage.drive_groups.delete()`: `error.detail` **Changed**\n* `apideck.hris.employees.list()`: `error.detail` **Changed**\n* `apideck.hris.employees.create()`: `error.detail` **Changed**\n* `apideck.hris.employees.get()`: `error.detail` **Changed**\n* `apideck.hris.employees.update()`: `error.detail` **Changed**\n* `apideck.hris.employees.delete()`: `error.detail` **Changed**\n* `apideck.hris.companies.list()`: `error.detail` **Changed**\n* `apideck.hris.companies.create()`: `error.detail` **Changed**\n* `apideck.hris.companies.get()`: `error.detail` **Changed**\n* `apideck.hris.companies.update()`: `error.detail` **Changed**\n* `apideck.hris.companies.delete()`: `error.detail` **Changed**\n* `apideck.hris.departments.list()`: `error.detail` **Changed**\n* `apideck.hris.departments.create()`: `error.detail` **Changed**\n* `apideck.hris.departments.get()`: `error.detail` **Changed**\n* `apideck.hris.departments.update()`: `error.detail` **Changed**\n* `apideck.hris.departments.delete()`: `error.detail` **Changed**\n* `apideck.hris.payrolls.list()`: `error.detail` **Changed**\n* `apideck.hris.payrolls.get()`: `error.detail` **Changed**\n* `apideck.hris.employee_payrolls.list()`: `error.detail` **Changed**\n* `apideck.hris.employee_payrolls.get()`: `error.detail` **Changed**\n* `apideck.hris.employee_schedules.list()`: `error.detail` **Changed**\n* `apideck.hris.time_off_requests.list()`: `error.detail` **Changed**\n* `apideck.hris.time_off_requests.create()`: `error.detail` **Changed**\n* `apideck.hris.time_off_requests.get()`: `error.detail` **Changed**\n* `apideck.hris.time_off_requests.update()`: `error.detail` **Changed**\n* `apideck.hris.time_off_requests.delete()`: `error.detail` **Changed**\n* `apideck.sms.messages.list()`: `error.detail` **Changed**\n* `apideck.sms.messages.create()`: `error.detail` **Changed**\n* `apideck.sms.messages.get()`: `error.detail` **Changed**\n* `apideck.sms.messages.update()`: `error.detail` **Changed**\n* `apideck.sms.messages.delete()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collections.list()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collections.get()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_tickets.list()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_tickets.create()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_tickets.get()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_tickets.update()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_tickets.delete()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_ticket_comments.list()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_ticket_comments.create()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_ticket_comments.get()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_ticket_comments.update()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_ticket_comments.delete()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_users.list()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_users.get()`: `error.detail` **Changed**\n* `apideck.issue_tracking.collection_tags.list()`: `error.detail` **Changed**\n* `apideck.connector.connectors.list()`: `error.detail` **Changed**\n* `apideck.connector.connectors.get()`: `error.detail` **Changed**\n* `apideck.connector.connector_docs.get()`: `error.detail` **Changed**\n* `apideck.connector.connector_resources.get()`: `error.detail` **Changed**\n* `apideck.connector.apis.list()`: `error.detail` **Changed**\n* `apideck.connector.apis.get()`: `error.detail` **Changed**\n* `apideck.connector.api_resources.get()`: `error.detail` **Changed**\n* `apideck.connector.api_resource_coverage.get()`: `error.detail` **Changed**\n* `apideck.vault.consumers.create()`: `error.detail` **Changed**\n* `apideck.vault.consumers.list()`: `error.detail` **Changed**\n* `apideck.vault.consumers.get()`: `error.detail` **Changed**\n* `apideck.vault.consumers.update()`: `error.detail` **Changed**\n* `apideck.vault.consumers.delete()`: `error.detail` **Changed**\n* `apideck.vault.consumer_request_counts.list()`: `error.detail` **Changed**\n* `apideck.vault.connections.list()`: \n * `response.data.[]` **Changed**\n * `error.detail` **Changed**\n* `apideck.vault.connections.get()`: \n * `response.data` **Changed**\n * `error.detail` **Changed**\n* `apideck.vault.connections.update()`: \n * `response.data` **Changed**\n * `error.detail` **Changed**\n* `apideck.vault.connections.delete()`: `error.detail` **Changed**\n* `apideck.vault.connections.imports()`: \n * `response.data` **Changed**\n * `error.detail` **Changed**\n* `apideck.vault.connections.token()`: \n * `response.data` **Changed**\n * `error.detail` **Changed**\n* `apideck.vault.validate_connection.state()`: `error.detail` **Changed**\n* `apideck.vault.connection_consents.list()`: `error.detail` **Changed**\n* `apideck.vault.connection_consent.update()`: `error.detail` **Changed**\n* `apideck.vault.create_callback.state()`: `error.detail` **Changed**\n* `apideck.vault.connection_settings.list()`: \n * `response.data` **Changed**\n * `error.detail` **Changed**\n* `apideck.vault.connection_settings.update()`: \n * `response.data` **Changed**\n * `error.detail` **Changed**\n* `apideck.vault.custom_fields.list()`: `error.detail` **Changed**\n* `apideck.vault.connection_custom_mappings.list()`: `error.detail` **Changed**\n* `apideck.vault.custom_mappings.list()`: `error.detail` **Changed**\n* `apideck.vault.sessions.create()`: `error.detail` **Changed**\n* `apideck.vault.logs.list()`: `error.detail` **Changed**\n* `apideck.webhook.webhooks.list()`: `error.detail` **Changed**\n* `apideck.webhook.webhooks.create()`: `error.detail` **Changed**\n* `apideck.webhook.webhooks.get()`: `error.detail` **Changed**\n* `apideck.webhook.webhooks.update()`: `error.detail` **Changed**\n* `apideck.webhook.webhooks.delete()`: `error.detail` **Changed**\n* `apideck.webhook.event_logs.list()`: `error.detail` **Changed**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 04b10bf4..106d2a0b 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -27,7 +27,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 0.26.0 + version: 0.27.0 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 29bbdc30..002fd79c 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,20 +2,20 @@ speakeasyVersion: 1.645.2 sources: Apideck: sourceNamespace: apideck - sourceRevisionDigest: sha256:df54bbb82b4063fabeaf247655f5dffcda8a6b448f5829452577a52b3926c757 - sourceBlobDigest: sha256:2ba6bbb183c9239f52d95e3b20e42eb4f0eb90c204022ab40f0e8d54e2ac5f6e + sourceRevisionDigest: sha256:802476bb7a739cac54d8bf9c6bfdbe91cbaa0fa6f1da56be377489d0dfbcf26f + sourceBlobDigest: sha256:a4b3995fc3c048bb3153bb0a59d68b426b741b41d330f807adbf20d0d144790c tags: - latest - - speakeasy-sdk-regen-1761781308 - - 10.21.10 + - speakeasy-sdk-regen-1762171167 + - 10.21.11 targets: apideck: source: Apideck sourceNamespace: apideck - sourceRevisionDigest: sha256:df54bbb82b4063fabeaf247655f5dffcda8a6b448f5829452577a52b3926c757 - sourceBlobDigest: sha256:2ba6bbb183c9239f52d95e3b20e42eb4f0eb90c204022ab40f0e8d54e2ac5f6e + sourceRevisionDigest: sha256:802476bb7a739cac54d8bf9c6bfdbe91cbaa0fa6f1da56be377489d0dfbcf26f + sourceBlobDigest: sha256:a4b3995fc3c048bb3153bb0a59d68b426b741b41d330f807adbf20d0d144790c codeSamplesNamespace: apideck-python-code-samples - codeSamplesRevisionDigest: sha256:c834b36acdf5167f530016e20da7ff2a67f0e9ffd400a8742b0cb355efa36efb + codeSamplesRevisionDigest: sha256:ad267aef09341e7ac464296da97a520d1667cf57dc3f2e6ef0fb343f3480e26b workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 858a3769..32833dc1 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -518,4 +518,14 @@ Based on: ### Generated - [python v0.26.0] . ### Releases -- [PyPI v0.26.0] https://pypi.org/project/apideck-unify/0.26.0 - . \ No newline at end of file +- [PyPI v0.26.0] https://pypi.org/project/apideck-unify/0.26.0 - . + +## 2025-11-03 11:59:04 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.645.2 (2.735.1) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.27.0] . +### Releases +- [PyPI v0.27.0] https://pypi.org/project/apideck-unify/0.27.0 - . \ No newline at end of file diff --git a/docs/models/connection.md b/docs/models/connection.md index 18bda465..ed74cb22 100644 --- a/docs/models/connection.md +++ b/docs/models/connection.md @@ -33,10 +33,13 @@ | `settings_required_for_authorization` | List[*str*] | :heavy_minus_sign: | List of settings that are required to be configured on integration before authorization can occur | [
"client_id",
"client_secret"
] | | `subscriptions` | List[[models.WebhookSubscription](../models/webhooksubscription.md)] | :heavy_minus_sign: | N/A | | | `has_guide` | *Optional[bool]* | :heavy_minus_sign: | Whether the connector has a guide available in the developer docs or not (https://docs.apideck.com/connectors/{service_id}/docs/consumer+connection). | true | -| `created_at` | *Optional[float]* | :heavy_minus_sign: | N/A | 1615563533390 | | `custom_mappings` | List[[models.CustomMapping](../models/custommapping.md)] | :heavy_minus_sign: | List of custom mappings configured for this connection | | | `consent_state` | [Optional[models.ConsentState]](../models/consentstate.md) | :heavy_minus_sign: | The current consent state of the connection | granted | | `consents` | List[[models.ConsentRecord](../models/consentrecord.md)] | :heavy_minus_sign: | Immutable array of consent records for compliance and audit purposes | | | `latest_consent` | [Optional[models.ConsentRecord]](../models/consentrecord.md) | :heavy_minus_sign: | N/A | | | `application_data_scopes` | [Optional[models.DataScopes]](../models/datascopes.md) | :heavy_minus_sign: | N/A | | +| `health` | [Optional[models.Health]](../models/health.md) | :heavy_minus_sign: | Operational health status of the connection | ok | +| `credentials_expire_at` | *Optional[float]* | :heavy_minus_sign: | Unix timestamp in milliseconds when credentials will be deleted if token refresh continues to fail. A value of 0 indicates no active retention window (connection is healthy or not using OAuth token refresh). | 1730172800000 | +| `last_refresh_failed_at` | *Optional[float]* | :heavy_minus_sign: | Unix timestamp in milliseconds of the last failed token refresh attempt. A value of 0 indicates no recent failures. This field is used internally to enforce cooldown periods between retry attempts. | 1730000000000 | +| `created_at` | *Optional[float]* | :heavy_minus_sign: | N/A | 1615563533390 | | `updated_at` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | 1616662325753 | \ No newline at end of file diff --git a/docs/models/debug.md b/docs/models/debug.md new file mode 100644 index 00000000..6543008c --- /dev/null +++ b/docs/models/debug.md @@ -0,0 +1,16 @@ +# Debug + +Debug information including request/response details and OAuth timing metadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `request` | [Optional[models.Request]](../models/request.md) | :heavy_minus_sign: | HTTP request details | | +| `response` | [Optional[models.Response]](../models/response.md) | :heavy_minus_sign: | HTTP response details | | +| `message` | *Optional[str]* | :heavy_minus_sign: | Error message from downstream provider or network layer | | +| `code` | *Optional[str]* | :heavy_minus_sign: | Error code (e.g., ETIMEDOUT, ECONNREFUSED) | | +| `credentials_expire_at_ms` | *Optional[float]* | :heavy_minus_sign: | Unix timestamp (milliseconds) when credentials will be deleted if not refreshed. Only present for non-recoverable errors (401, 400). Credentials are preserved indefinitely for recoverable/network errors. | 1620172800000 | +| `retry_after_ms` | *Optional[float]* | :heavy_minus_sign: | Unix timestamp (milliseconds) when token refresh retry is allowed after cooldown period expires. | 1620000030000 | +| `cooldown_remaining_ms` | *Optional[float]* | :heavy_minus_sign: | Milliseconds remaining in cooldown period before retry is allowed. | 30000 | \ No newline at end of file diff --git a/docs/models/detail2.md b/docs/models/detail2.md new file mode 100644 index 00000000..03372733 --- /dev/null +++ b/docs/models/detail2.md @@ -0,0 +1,11 @@ +# Detail2 + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *Optional[str]* | :heavy_minus_sign: | Error type identifier | refresh_token_connector_error | +| `message` | *Optional[str]* | :heavy_minus_sign: | Detailed error message | Token refresh failed | +| `debug` | [Optional[models.Debug]](../models/debug.md) | :heavy_minus_sign: | Debug information including request/response details and OAuth timing metadata | | +| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {
"type": "refresh_token_connector_error",
"message": "Token refresh failed with 401 error",
"debug": {
"response": {
"statusCode": 401,
"data": {
"error": "invalid_grant"
}
},
"credentials_expire_at_ms": 1620172800000,
"retry_after_ms": 1620000030000,
"cooldown_remaining_ms": 30000
}
} | \ No newline at end of file diff --git a/docs/models/health.md b/docs/models/health.md new file mode 100644 index 00000000..6af304b2 --- /dev/null +++ b/docs/models/health.md @@ -0,0 +1,13 @@ +# Health + +Operational health status of the connection + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `MISSING_SETTINGS` | missing_settings | +| `NEEDS_AUTH` | needs_auth | +| `PENDING_REFRESH` | pending_refresh | +| `OK` | ok | \ No newline at end of file diff --git a/docs/models/request.md b/docs/models/request.md new file mode 100644 index 00000000..def52884 --- /dev/null +++ b/docs/models/request.md @@ -0,0 +1,9 @@ +# Request + +HTTP request details + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/response.md b/docs/models/response.md new file mode 100644 index 00000000..8830a518 --- /dev/null +++ b/docs/models/response.md @@ -0,0 +1,9 @@ +# Response + +HTTP response details + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/unauthorizedresponsedetail.md b/docs/models/unauthorizedresponsedetail.md index 2109bacc..6189319b 100644 --- a/docs/models/unauthorizedresponsedetail.md +++ b/docs/models/unauthorizedresponsedetail.md @@ -11,9 +11,9 @@ Contains parameter or domain specific information related to the error and why i value: str = /* values here */ ``` -### `Dict[str, Any]` +### `models.Detail2` ```python -value: Dict[str, Any] = /* values here */ +value: models.Detail2 = /* values here */ ``` diff --git a/pyproject.toml b/pyproject.toml index 2375b8cf..d6da0b91 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "apideck-unify" -version = "0.26.0" +version = "0.27.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 ac1807b3..d0bd8538 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.26.0" -__openapi_doc_version__: str = "10.21.10" +__version__: str = "0.27.0" +__openapi_doc_version__: str = "10.21.11" __gen_version__: str = "2.735.1" -__user_agent__: str = "speakeasy-sdk/python 0.26.0 2.735.1 10.21.10 apideck-unify" +__user_agent__: str = "speakeasy-sdk/python 0.27.0 2.735.1 10.21.11 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 721370ee..cb648e43 100644 --- a/src/apideck_unify/models/__init__.py +++ b/src/apideck_unify/models/__init__.py @@ -1343,6 +1343,7 @@ ConnectionValueTypedDict, Defaults, DefaultsTypedDict, + Health, Target, ) from .connectionimportdata import ( @@ -4016,6 +4017,14 @@ ) from .trackingitem import TrackingItem, TrackingItemTypedDict from .unauthorizedresponse import ( + Debug, + DebugTypedDict, + Detail2, + Detail2TypedDict, + Request, + RequestTypedDict, + Response, + ResponseTypedDict, UnauthorizedResponse, UnauthorizedResponseData, UnauthorizedResponseDetail, @@ -6132,6 +6141,8 @@ "DataScopesResourcesTypedDict", "DataScopesTypedDict", "DataTypedDict", + "Debug", + "DebugTypedDict", "Deduction", "DeductionTypedDict", "Defaults", @@ -6248,6 +6259,8 @@ "DeprecatedLinkedTrackingCategory", "DeprecatedLinkedTrackingCategoryTypedDict", "Detail", + "Detail2", + "Detail2TypedDict", "DetailTypedDict", "Direction", "DisabledReason", @@ -6915,6 +6928,7 @@ "GetWebhooksResponseTypedDict", "HTTPMetadata", "HTTPMetadataTypedDict", + "Health", "HrisCompaniesAddGlobals", "HrisCompaniesAddGlobalsTypedDict", "HrisCompaniesAddRequest", @@ -7463,14 +7477,18 @@ "RebillingTypedDict", "Reports", "ReportsTypedDict", + "Request", "RequestCountAllocation", "RequestCountAllocationTypedDict", "RequestRate", "RequestRateTypedDict", "RequestType", + "RequestTypedDict", "ResourceStatus", "Resources", "ResourcesTypedDict", + "Response", + "ResponseTypedDict", "ResponseValidationError", "Salary", "SalaryTypedDict", @@ -9023,6 +9041,7 @@ "ConnectionValueTypedDict": ".connection", "Defaults": ".connection", "DefaultsTypedDict": ".connection", + "Health": ".connection", "Target": ".connection", "ConnectionImportData": ".connectionimportdata", "ConnectionImportDataTypedDict": ".connectionimportdata", @@ -11081,6 +11100,14 @@ "TrackingCategoryTypedDict": ".trackingcategory", "TrackingItem": ".trackingitem", "TrackingItemTypedDict": ".trackingitem", + "Debug": ".unauthorizedresponse", + "DebugTypedDict": ".unauthorizedresponse", + "Detail2": ".unauthorizedresponse", + "Detail2TypedDict": ".unauthorizedresponse", + "Request": ".unauthorizedresponse", + "RequestTypedDict": ".unauthorizedresponse", + "Response": ".unauthorizedresponse", + "ResponseTypedDict": ".unauthorizedresponse", "UnauthorizedResponse": ".unauthorizedresponse", "UnauthorizedResponseData": ".unauthorizedresponse", "UnauthorizedResponseDetail": ".unauthorizedresponse", diff --git a/src/apideck_unify/models/connection.py b/src/apideck_unify/models/connection.py index a1238265..352b3289 100644 --- a/src/apideck_unify/models/connection.py +++ b/src/apideck_unify/models/connection.py @@ -88,6 +88,15 @@ class Configuration(BaseModel): defaults: Optional[List[Defaults]] = None +class Health(str, Enum): + r"""Operational health status of the connection""" + + MISSING_SETTINGS = "missing_settings" + NEEDS_AUTH = "needs_auth" + PENDING_REFRESH = "pending_refresh" + OK = "ok" + + class ConnectionTypedDict(TypedDict): id: NotRequired[str] r"""The unique identifier of the connection.""" @@ -137,7 +146,6 @@ class ConnectionTypedDict(TypedDict): subscriptions: NotRequired[List[WebhookSubscriptionTypedDict]] has_guide: NotRequired[bool] r"""Whether the connector has a guide available in the developer docs or not (https://docs.apideck.com/connectors/{service_id}/docs/consumer+connection).""" - created_at: NotRequired[float] custom_mappings: NotRequired[List[CustomMappingTypedDict]] r"""List of custom mappings configured for this connection""" consent_state: NotRequired[ConsentState] @@ -146,6 +154,13 @@ class ConnectionTypedDict(TypedDict): r"""Immutable array of consent records for compliance and audit purposes""" latest_consent: NotRequired[ConsentRecordTypedDict] application_data_scopes: NotRequired[DataScopesTypedDict] + health: NotRequired[Health] + r"""Operational health status of the connection""" + credentials_expire_at: NotRequired[float] + r"""Unix timestamp in milliseconds when credentials will be deleted if token refresh continues to fail. A value of 0 indicates no active retention window (connection is healthy or not using OAuth token refresh).""" + last_refresh_failed_at: NotRequired[float] + r"""Unix timestamp in milliseconds of the last failed token refresh attempt. A value of 0 indicates no recent failures. This field is used internally to enforce cooldown periods between retry attempts.""" + created_at: NotRequired[float] updated_at: NotRequired[Nullable[float]] @@ -226,8 +241,6 @@ class Connection(BaseModel): has_guide: Optional[bool] = None r"""Whether the connector has a guide available in the developer docs or not (https://docs.apideck.com/connectors/{service_id}/docs/consumer+connection).""" - created_at: Optional[float] = None - custom_mappings: Optional[List[CustomMapping]] = None r"""List of custom mappings configured for this connection""" @@ -241,6 +254,17 @@ class Connection(BaseModel): application_data_scopes: Optional[DataScopes] = None + health: Optional[Health] = None + r"""Operational health status of the connection""" + + credentials_expire_at: Optional[float] = None + r"""Unix timestamp in milliseconds when credentials will be deleted if token refresh continues to fail. A value of 0 indicates no active retention window (connection is healthy or not using OAuth token refresh).""" + + last_refresh_failed_at: Optional[float] = None + r"""Unix timestamp in milliseconds of the last failed token refresh attempt. A value of 0 indicates no recent failures. This field is used internally to enforce cooldown periods between retry attempts.""" + + created_at: Optional[float] = None + updated_at: OptionalNullable[float] = UNSET @model_serializer(mode="wrap") @@ -274,12 +298,15 @@ def serialize_model(self, handler): "settings_required_for_authorization", "subscriptions", "has_guide", - "created_at", "custom_mappings", "consent_state", "consents", "latest_consent", "application_data_scopes", + "health", + "credentials_expire_at", + "last_refresh_failed_at", + "created_at", "updated_at", ] nullable_fields = [ diff --git a/src/apideck_unify/models/unauthorizedresponse.py b/src/apideck_unify/models/unauthorizedresponse.py index 57f8049b..51575911 100644 --- a/src/apideck_unify/models/unauthorizedresponse.py +++ b/src/apideck_unify/models/unauthorizedresponse.py @@ -5,18 +5,113 @@ from apideck_unify.types import BaseModel from dataclasses import dataclass, field import httpx +import pydantic +from pydantic import ConfigDict from typing import Any, Dict, Optional, Union -from typing_extensions import TypeAliasType +from typing_extensions import NotRequired, TypeAliasType, TypedDict + + +class RequestTypedDict(TypedDict): + r"""HTTP request details""" + + +class Request(BaseModel): + r"""HTTP request details""" + + +class ResponseTypedDict(TypedDict): + r"""HTTP response details""" + + +class Response(BaseModel): + r"""HTTP response details""" + + +class DebugTypedDict(TypedDict): + r"""Debug information including request/response details and OAuth timing metadata""" + + request: NotRequired[RequestTypedDict] + r"""HTTP request details""" + response: NotRequired[ResponseTypedDict] + r"""HTTP response details""" + message: NotRequired[str] + r"""Error message from downstream provider or network layer""" + code: NotRequired[str] + r"""Error code (e.g., ETIMEDOUT, ECONNREFUSED)""" + credentials_expire_at_ms: NotRequired[float] + r"""Unix timestamp (milliseconds) when credentials will be deleted if not refreshed. Only present for non-recoverable errors (401, 400). Credentials are preserved indefinitely for recoverable/network errors.""" + retry_after_ms: NotRequired[float] + r"""Unix timestamp (milliseconds) when token refresh retry is allowed after cooldown period expires.""" + cooldown_remaining_ms: NotRequired[float] + r"""Milliseconds remaining in cooldown period before retry is allowed.""" + + +class Debug(BaseModel): + r"""Debug information including request/response details and OAuth timing metadata""" + + request: Optional[Request] = None + r"""HTTP request details""" + + response: Optional[Response] = None + r"""HTTP response details""" + + message: Optional[str] = None + r"""Error message from downstream provider or network layer""" + + code: Optional[str] = None + r"""Error code (e.g., ETIMEDOUT, ECONNREFUSED)""" + + credentials_expire_at_ms: Optional[float] = None + r"""Unix timestamp (milliseconds) when credentials will be deleted if not refreshed. Only present for non-recoverable errors (401, 400). Credentials are preserved indefinitely for recoverable/network errors.""" + + retry_after_ms: Optional[float] = None + r"""Unix timestamp (milliseconds) when token refresh retry is allowed after cooldown period expires.""" + + cooldown_remaining_ms: Optional[float] = None + r"""Milliseconds remaining in cooldown period before retry is allowed.""" + + +class Detail2TypedDict(TypedDict): + type: NotRequired[str] + r"""Error type identifier""" + message: NotRequired[str] + r"""Detailed error message""" + debug: NotRequired[DebugTypedDict] + r"""Debug information including request/response details and OAuth timing metadata""" + + +class Detail2(BaseModel): + model_config = ConfigDict( + populate_by_name=True, arbitrary_types_allowed=True, extra="allow" + ) + __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False) + + type: Optional[str] = None + r"""Error type identifier""" + + message: Optional[str] = None + r"""Detailed error message""" + + debug: Optional[Debug] = None + r"""Debug information including request/response details and OAuth timing metadata""" + + @property + def additional_properties(self): + return self.__pydantic_extra__ + + @additional_properties.setter + def additional_properties(self, value): + self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] UnauthorizedResponseDetailTypedDict = TypeAliasType( - "UnauthorizedResponseDetailTypedDict", Union[str, Dict[str, Any]] + "UnauthorizedResponseDetailTypedDict", Union[Detail2TypedDict, str] ) r"""Contains parameter or domain specific information related to the error and why it occurred.""" UnauthorizedResponseDetail = TypeAliasType( - "UnauthorizedResponseDetail", Union[str, Dict[str, Any]] + "UnauthorizedResponseDetail", Union[Detail2, str] ) r"""Contains parameter or domain specific information related to the error and why it occurred.""" From 092be400a98fb33f755143745875f0fa09977eba Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Mon, 3 Nov 2025 12:02:41 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow