diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 2986381fe..fe10556ce 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -1,4 +1,4 @@
-speakeasyVersion: 1.465.1
+speakeasyVersion: 1.469.10
sources:
accounting-source:
sourceNamespace: accounting-source
@@ -16,11 +16,11 @@ sources:
- main
bank-feeds-source:
sourceNamespace: bank-feeds-source
- sourceRevisionDigest: sha256:9eca815edc06e448a2aa35c52eef65c564c4433edc25bb0e40c24c1ab73782af
- sourceBlobDigest: sha256:17e9963cca0e2088a998951d41b1bf78ea9574aebe1c9896caf253d88fd13d13
+ sourceRevisionDigest: sha256:05a608be985dc9deb12eeb3a747ef0ae4cd1690b42852f97e61c7a43881748a7
+ sourceBlobDigest: sha256:cffec1fdf5b4aa33774403da44fc8cfb24f5f59d507b1e83d73b1b28f8efa50e
tags:
- latest
- - speakeasy-sdk-regen-1736353877
+ - speakeasy-sdk-regen-1737391437
- 3.0.0
banking-source:
sourceNamespace: banking-source
@@ -111,10 +111,10 @@ targets:
bank-feeds-library:
source: bank-feeds-source
sourceNamespace: bank-feeds-source
- sourceRevisionDigest: sha256:9eca815edc06e448a2aa35c52eef65c564c4433edc25bb0e40c24c1ab73782af
- sourceBlobDigest: sha256:17e9963cca0e2088a998951d41b1bf78ea9574aebe1c9896caf253d88fd13d13
+ sourceRevisionDigest: sha256:05a608be985dc9deb12eeb3a747ef0ae4cd1690b42852f97e61c7a43881748a7
+ sourceBlobDigest: sha256:cffec1fdf5b4aa33774403da44fc8cfb24f5f59d507b1e83d73b1b28f8efa50e
codeSamplesNamespace: bank-feeds-source-python-code-samples
- codeSamplesRevisionDigest: sha256:6636b9b97c29f9e69eb08701825b921d5aa86d7f1db1692dbe6b6ec443fe6e3f
+ codeSamplesRevisionDigest: sha256:769f019b1d6e0ca253780d1cec262d51ccd8297fa6a53d9bb1e28fd6b2ae11c1
banking-library:
source: banking-source
sourceNamespace: banking-source
diff --git a/bank-feeds/.speakeasy/gen.lock b/bank-feeds/.speakeasy/gen.lock
index c797c8b34..3c6497a69 100755
--- a/bank-feeds/.speakeasy/gen.lock
+++ b/bank-feeds/.speakeasy/gen.lock
@@ -1,12 +1,12 @@
lockVersion: 2.0.0
id: 07093ad1-99d8-4bbd-a29c-a624e1b0e25a
management:
- docChecksum: 79e809b480b4e698207c2d368071acb2
+ docChecksum: 623669f3779bb61f52974a7b9e441353
docVersion: 3.0.0
- speakeasyVersion: 1.465.1
- generationVersion: 2.488.4
- releaseVersion: 10.1.1
- configChecksum: 86eab2ee09da4cd960ab0f925216ea6d
+ speakeasyVersion: 1.469.10
+ generationVersion: 2.493.31
+ releaseVersion: 10.2.0
+ configChecksum: 96f1be907cafb97a8ad27c9831a5412e
repoURL: https://github.com/codatio/client-sdk-python.git
repoSubDirectory: bank-feeds
installationURL: https://github.com/codatio/client-sdk-python.git#subdirectory=bank-feeds
@@ -15,13 +15,13 @@ features:
python:
additionalDependencies: 1.0.0
constsAndDefaults: 1.0.5
- core: 5.7.6
+ core: 5.10.3
decimal: 1.0.0
defaultEnabledRetries: 0.2.0
deprecations: 3.0.2
enumUnions: 0.1.0
envVarSecurityUsage: 0.3.2
- examples: 3.0.0
+ examples: 3.0.1
globalSecurity: 3.0.2
globalSecurityCallbacks: 1.0.0
globalServerURLs: 3.1.0
@@ -40,7 +40,6 @@ generatedFiles:
- .gitattributes
- .python-version
- .vscode/settings.json
- - CONTRIBUTING.md
- USAGE.md
- docs/models/errors/errormessage.md
- docs/models/operations/createbankaccountmappingrequest.md
@@ -155,11 +154,13 @@ generatedFiles:
- docs/models/shared/security.md
- docs/models/shared/sourceaccount.md
- docs/models/shared/sourceaccountbatchcreateresponse.md
+ - docs/models/shared/sourceaccountbatchcreateresult.md
- docs/models/shared/sourceaccountbatcherrorresponse.md
- docs/models/shared/sourceaccountprototype.md
- docs/models/shared/sourceaccountv2.md
- docs/models/shared/sourceaccountv2accounttype.md
- docs/models/shared/sourceaccountv2batchcreateresponse.md
+ - docs/models/shared/sourceaccountv2batchcreateresult.md
- docs/models/shared/sourceaccountv2prototype.md
- docs/models/shared/sourceaccountv2status.md
- docs/models/shared/sourceaccountwebhook.md
@@ -299,10 +300,12 @@ generatedFiles:
- src/codat_bankfeeds/models/shared/security.py
- src/codat_bankfeeds/models/shared/sourceaccount.py
- src/codat_bankfeeds/models/shared/sourceaccountbatchcreateresponse.py
+ - src/codat_bankfeeds/models/shared/sourceaccountbatchcreateresult.py
- src/codat_bankfeeds/models/shared/sourceaccountbatcherrorresponse.py
- src/codat_bankfeeds/models/shared/sourceaccountprototype.py
- src/codat_bankfeeds/models/shared/sourceaccountv2.py
- src/codat_bankfeeds/models/shared/sourceaccountv2batchcreateresponse.py
+ - src/codat_bankfeeds/models/shared/sourceaccountv2batchcreateresult.py
- src/codat_bankfeeds/models/shared/sourceaccountv2prototype.py
- src/codat_bankfeeds/models/shared/sourceaccountwebhook.py
- src/codat_bankfeeds/models/shared/sourceaccountwebhookpayload.py
@@ -336,40 +339,57 @@ generatedFiles:
- src/codat_bankfeeds/utils/url.py
- src/codat_bankfeeds/utils/values.py
examples:
+ Client rate limit reached:
+ speakeasy-default-client-rate-limit-reached:
+ requestBody:
+ application/json: {"AlertId": "a9367074-b5c3-42c4-9be4-be129f43577e", "ClientId": "bae71d36-ff47-420a-b4a6-f8c9ddf41140", "ClientName": "Bank of Dave", "Data": {"DailyQuota": 1000, "ExpiresUtc": "2022-10-23T00:00:00Z"}, "Message": "The current daily rate limit quota of 1000 requests for bae71d36-ff47-420a-b4a6-f8c9ddf41140 has been reached.", "RuleId": "70af3071-65d9-4ec3-b3cb-5283e8d55dac", "RuleType": "Rate Limit Reached"}
+ Client rate limit reset:
+ speakeasy-default-client-rate-limit-reset:
+ requestBody:
+ application/json: {"AlertId": "a9367074-b5c3-42c4-9be4-be129f43577e", "ClientId": "bae71d36-ff47-420a-b4a6-f8c9ddf41140", "ClientName": "Bank of Dave", "Data": {"DailyQuota": 1000, "ExpiresUtc": "2022-10-23T00:00:00Z", "QuotaRemaining": 1000, "ResetReason": "The quota was reset because it is a new day."}, "Message": "The current daily rate limit quota for client 30e0f9d2-52c0-4c9f-a806-bcd98a3bcd7e has been reset to 1000 requests.", "RuleId": "70af3071-65d9-4ec3-b3cb-5283e8d55dac", "RuleType": "Rate Limit Reset"}
+ bankFeeds.sourceAccount.connected:
+ Connected:
+ requestBody:
+ application/json: {"eventType": "bankFeeds.sourceAccount.connected", "generatedDate": "2022-10-23T00:00:00Z", "id": "ba29118f-5406-4e59-b05c-ba307ca38d01", "payload": {"connectionId": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "referenceCompany": {"description": "Requested early access to the new financing scheme.", "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "links": {"portal": "https://app.codat.io/companies/0498e921-9b53-4396-a412-4f2f5983b0a2/summary"}, "name": "Toft stores"}, "sourceAccount": {"accountName": "account-081", "accountNumber": "12345678", "balance": 99.99, "currency": "GBP", "id": "acc-002", "modifiedDate": "2023-01-09T14:14:14.105Z", "sortCode": "040004", "status": "pending"}}}
+ bankFeeds.sourceAccount.disconnected:
+ Disconnected:
+ requestBody:
+ application/json: {"eventType": "bankFeeds.sourceAccount.disconnected", "generatedDate": "2022-10-23T00:00:00Z", "id": "ba29118f-5406-4e59-b05c-ba307ca38d01", "payload": {"connectionId": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "referenceCompany": {"description": "Requested early access to the new financing scheme.", "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "links": {"portal": "https://app.codat.io/companies/0498e921-9b53-4396-a412-4f2f5983b0a2/summary"}, "name": "Toft stores"}, "sourceAccount": {"accountName": "account-081", "accountNumber": "12345678", "balance": 99.99, "currency": "GBP", "id": "acc-002", "modifiedDate": "2023-01-09T14:14:14.105Z", "sortCode": "040004", "status": "pending"}}}
+ client.rateLimit.reached:
+ Reached:
+ requestBody:
+ application/json: {"eventType": "client.rateLimit.reached", "generatedDate": "2024-09-01T00:00:00Z", "id": "743ec94a-8aa4-44bb-8bd4-e1855ee0e74b", "payload": {"dailyQuota": 12000, "expiryDate": "2024-09-01T12:14:14Z", "quotaRemaining": 0}}
+ client.rateLimit.reset:
+ Reset:
+ requestBody:
+ application/json: {"eventType": "client.rateLimit.reset", "generatedDate": "2024-09-01T00:00:00Z", "id": "743ec94a-8aa4-44bb-8bd4-e1855ee0e74b", "payload": {"dailyQuota": 12000, "expiryDate": "2024-09-01T23:59:99Z", "quotaRemaining": 11993}}
create-company:
With no description:
requestBody:
- application/json: {"description": "Requested early access to the new financing scheme.", "name": "Technicalium"}
+ application/json: {"name": "Technicalium"}
responses:
"200":
- application/json: {"created": "2022-11-10T10:45:18.1950523Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "lastSync": "2022-10-23T00:00:00Z", "name": "Technicalium", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": []}
- "400": {}
+ application/json: {"created": "2022-11-10T10:45:18.1950523Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "name": "Technicalium", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": []}
With a description:
requestBody:
application/json: {"description": "Technology services, including web and app design and development", "name": "Technicalium"}
responses:
"200":
- application/json: {"created": "2022-11-10T10:45:18.1950523Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "Technology services, including web and app design and development", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "lastSync": "2022-10-23T00:00:00Z", "name": "Technicalium", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": []}
- "400": {}
- With a group:
+ application/json: {"created": "2022-11-10T10:45:18.1950523Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "Technology services, including web and app design and development", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "name": "Technicalium", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": []}
+ With a tag:
requestBody:
- application/json: {"description": "Requested early access to the new financing scheme.", "groups": [{"id": "d7a6c4b4-dc87-45f6-b803-62f466398680"}], "name": "Technicalium"}
+ application/json: {"description": "Requested early access to the new financing scheme.", "name": "Bank of Dave"}
responses:
"200":
- application/json: {"created": "2022-11-10T10:45:18.1950523Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "lastSync": "2022-10-23T00:00:00Z", "name": "Technicalium", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0"}
- "400": {}
+ application/json: {"created": "2022-11-10T10:45:18.1950523Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "name": "Technicalium", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": [], "tags": {"region": "us"}}
Malformed query:
requestBody:
application/json: {"description": "Requested early access to the new financing scheme.", "name": "Bank of Dave"}
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
- With a tag:
- requestBody:
- application/json: {"description": "Requested early access to the new financing scheme.", "name": "Bank of Dave"}
- responses:
- "200":
- application/json: {"created": "2022-11-10T10:45:18.1950523Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "lastSync": "2022-10-23T00:00:00Z", "name": "Technicalium", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": [], "tags": {"region": "us"}}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
delete-company:
Unauthorized:
parameters:
@@ -378,6 +398,8 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
get-company:
Simple company:
parameters:
@@ -385,14 +407,21 @@ examples:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
responses:
"200":
- application/json: {"created": "2022-11-10T10:45:18Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "lastSync": "2022-10-23T00:00:00Z", "name": "Toft stores holdings", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": []}
- With groups:
+ application/json: {"created": "2022-11-10T10:45:18Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "name": "Toft stores holdings", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": []}
+ Parent multi-entity company:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
responses:
"200":
- application/json: {"created": "2022-11-10T10:45:18Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "lastSync": "2022-10-23T00:00:00Z", "name": "My First Company", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0"}
+ application/json: {"created": "2022-11-10T10:45:18Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "name": "Toft stores", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": [{"id": "c8d3af58-7011-47ce-b3f2-89faf300ef6d", "links": {"portal": "https://app.codat.io/companies/c8d3af58-7011-47ce-b3f2-89faf300ef6d/summary"}, "name": "Toft stores UK"}, {"id": "db94eddc-9212-4568-9b5c-3eab0e325913", "links": {"portal": "https://app.codat.io/companies/db94eddc-9212-4568-9b5c-3eab0e325913/summary"}, "name": "Toft stores US"}]}
+ Subsidiary multi-entity company:
+ parameters:
+ path:
+ companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
+ responses:
+ "200":
+ application/json: {"created": "2022-11-10T10:45:18Z", "createdByUserName": "Dan Tzabar", "dataConnections": [{"created": "2022-01-01T11:30:00Z", "id": "d5ab61b7-1ad0-46fd-9f9f-b6761047941e", "integrationId": "cc750323-5a47-4f28-8d8e-30fbbf2ce137", "integrationKey": "akxx", "lastSync": "2022-01-01T12:30:00.000Z", "linkUrl": "https://link-api.codat.io/companies/c8d3af58-7011-47ce-b3f2-89faf300ef6d/connections/d5ab61b7-1ad0-46fd-9f9f-b6761047941e/start", "platformName": "Oracle NetSuite", "sourceId": "9815b998-024d-4415-a40b-89903b2cad6f", "sourceType": "Accounting", "status": "Linked"}], "description": "", "id": "c8d3af58-7011-47ce-b3f2-89faf300ef6d", "name": "Toft stores UK", "redirect": "https://link.codat.io/company/c8d3af58-7011-47ce-b3f2-89faf300ef6d", "referenceParentCompany": {"id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "links": {"portal": "https://app.codat.io/companies/ab12c58d-a678-4ebf-a159-ae99e1807bd0/summary"}, "name": "Toft stores"}, "referenceSubsidiaryCompanies": []}
Unauthorized:
parameters:
path:
@@ -400,20 +429,25 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
- Parent multi-entity company:
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ get-company-access-token:
+ Simple company:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
responses:
"200":
- application/json: {"created": "2022-11-10T10:45:18Z", "createdByUserName": "Dan Tzabar", "dataConnections": [], "description": "", "id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "name": "Toft stores", "redirect": "https://link.codat.io/company/ab12c58d-a678-4ebf-a159-ae99e1807bd0", "referenceSubsidiaryCompanies": [{"id": "c8d3af58-7011-47ce-b3f2-89faf300ef6d", "links": {"portal": "https://app.codat.io/companies/c8d3af58-7011-47ce-b3f2-89faf300ef6d/summary"}, "name": "Toft stores UK"}, {"id": "db94eddc-9212-4568-9b5c-3eab0e325913", "links": {"portal": "https://app.codat.io/companies/db94eddc-9212-4568-9b5c-3eab0e325913/summary"}, "name": "Toft stores US"}]}
- Subsidiary multi-entity company:
+ application/json: {"accessToken": "string", "expiresIn": 86400, "tokenType": "Bearer"}
+ Unauthorized:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
responses:
- "200":
- application/json: {"created": "2022-11-10T10:45:18Z", "createdByUserName": "Dan Tzabar", "dataConnections": [{"created": "2022-01-01T11:30:00Z", "id": "d5ab61b7-1ad0-46fd-9f9f-b6761047941e", "integrationId": "cc750323-5a47-4f28-8d8e-30fbbf2ce137", "integrationKey": "akxx", "lastSync": "2022-01-01T12:30:00.000Z", "linkUrl": "https://link-api.codat.io/companies/c8d3af58-7011-47ce-b3f2-89faf300ef6d/connections/d5ab61b7-1ad0-46fd-9f9f-b6761047941e/start", "platformName": "Oracle NetSuite", "sourceId": "9815b998-024d-4415-a40b-89903b2cad6f", "sourceType": "Accounting", "status": "Linked"}], "description": "", "id": "c8d3af58-7011-47ce-b3f2-89faf300ef6d", "name": "Toft stores UK", "redirect": "https://link.codat.io/company/c8d3af58-7011-47ce-b3f2-89faf300ef6d", "referenceParentCompany": {"id": "ab12c58d-a678-4ebf-a159-ae99e1807bd0", "links": {"portal": "https://app.codat.io/companies/ab12c58d-a678-4ebf-a159-ae99e1807bd0/summary"}, "name": "Toft stores"}, "referenceSubsidiaryCompanies": []}
+ "401":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
list-companies:
"":
parameters:
@@ -425,8 +459,9 @@ examples:
tags: "region=uk && team=invoice-finance"
responses:
"200":
- application/json: {"_links": {"current": {"href": "/companies/{id}/data/{dataType}?page=1&pageSize=10"}, "self": {"href": "/companies/{id}/data/{dataType}"}}, "pageNumber": 1, "pageSize": 10, "results": [{"created": "2022-01-01T12:00:00.000Z", "createdByUserName": "string", "dataConnections": [{"created": "2022-10-27T09:53:29Z", "dataConnectionErrors": [], "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "description": "Requested early access to the new financing scheme.", "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "lastSync": "2022-01-01T12:00:00.000Z", "name": "string", "redirect": "https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739"}], "totalResults": 1}
+ application/json: {"_links": {"current": {"href": "/companies/{id}/data/{dataType}?page=1&pageSize=10"}, "self": {"href": "/companies/{id}/data/{dataType}"}}, "pageNumber": 1, "pageSize": 10, "totalResults": 1}
"400": {}
+ "500": {}
One company:
parameters:
query:
@@ -460,6 +495,8 @@ examples:
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error parsing query - Malformed query.", "service": "ClientsApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error parsing query - Malformed query.", "service": "ClientsApi", "statusCode": 400}
Unresolved property:
parameters:
query:
@@ -471,17 +508,20 @@ examples:
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "98457fb9956b7f9b4b2fd4f6e23bb5c8", "detailedErrorCode": 0, "error": "Error parsing query - Could not resolve property isCompleted on Dataset", "service": "PullApi", "statusCode": 400}
- update-company:
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "98457fb9956b7f9b4b2fd4f6e23bb5c8", "detailedErrorCode": 0, "error": "Error parsing query - Could not resolve property isCompleted on Dataset", "service": "PullApi", "statusCode": 400}
+ replace-company:
Update name:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
requestBody:
- application/json: {"description": "Requested early access to the new financing scheme.", "name": "New Name"}
+ application/json: {"name": "New Name"}
responses:
"200":
- application/json: {"created": "2022-01-01T12:00:00.000Z", "createdByUserName": "string", "dataConnections": [{"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "description": "Requested early access to the new financing scheme.", "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "lastSync": "2022-01-01T12:00:00.000Z", "name": "string", "redirect": "https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739", "tags": {"region": "us", "uid": "f6b0c253-16c7-4da1-a0c5-9c871e9c9d6c"}}
+ application/json: {"created": "2022-01-01T12:00:00.000Z", "createdByUserName": "string", "dataConnections": [{"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "lastSync": "2022-01-01T12:00:00.000Z", "name": "string", "redirect": "https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739", "tags": {"region": "us", "uid": "f6b0c253-16c7-4da1-a0c5-9c871e9c9d6c"}}
"401": {}
+ "500": {}
Update description:
parameters:
path:
@@ -490,8 +530,9 @@ examples:
application/json: {"description": "Additional documents required", "name": "Same name"}
responses:
"200":
- application/json: {"created": "2022-01-01T12:00:00.000Z", "createdByUserName": "string", "dataConnections": [{"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "description": "Requested early access to the new financing scheme.", "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "lastSync": "2022-01-01T12:00:00.000Z", "name": "string", "redirect": "https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739", "tags": {"region": "us", "uid": "f6b0c253-16c7-4da1-a0c5-9c871e9c9d6c"}}
+ application/json: {"created": "2022-01-01T12:00:00.000Z", "createdByUserName": "string", "dataConnections": [{"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "lastSync": "2022-01-01T12:00:00.000Z", "name": "string", "redirect": "https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739", "tags": {"region": "us", "uid": "f6b0c253-16c7-4da1-a0c5-9c871e9c9d6c"}}
"401": {}
+ "500": {}
Unauthorized:
parameters:
path:
@@ -501,6 +542,9 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ update-company:
Update tags:
parameters:
path:
@@ -511,6 +555,29 @@ examples:
"200":
application/json: {"created": "2022-01-01T12:00:00.000Z", "createdByUserName": "string", "dataConnections": [{"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "lastSync": "2022-01-01T12:00:00.000Z", "name": "string", "redirect": "https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739", "tags": {"region": "us", "uid": "f6b0c253-16c7-4da1-a0c5-9c871e9c9d6c"}}
"401": {}
+ "500": {}
+ Update name:
+ parameters:
+ path:
+ companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
+ requestBody:
+ application/json: {"name": "New Name"}
+ responses:
+ "200":
+ application/json: {"created": "2022-01-01T12:00:00.000Z", "createdByUserName": "string", "dataConnections": [{"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "lastSync": "2022-01-01T12:00:00.000Z", "name": "string", "redirect": "https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739", "tags": {"region": "us", "uid": "f6b0c253-16c7-4da1-a0c5-9c871e9c9d6c"}}
+ "401": {}
+ "500": {}
+ Unauthorized:
+ parameters:
+ path:
+ companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
+ requestBody:
+ application/json: {"description": "Requested early access to the new financing scheme.", "name": "Bank of Dave"}
+ responses:
+ "401":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
create-connection:
Connection:
parameters:
@@ -520,7 +587,7 @@ examples:
application/json: {"platformKey": "gbol"}
responses:
"200":
- application/json: {"created": "2022-10-27T09:53:29Z", "dataConnectionErrors": [], "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}
+ application/json: {"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}
Unauthorized:
parameters:
path:
@@ -530,6 +597,8 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
delete-connection:
Unauthorized:
parameters:
@@ -539,6 +608,8 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
get-connection:
Connection:
parameters:
@@ -547,7 +618,7 @@ examples:
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
responses:
"200":
- application/json: {"created": "2022-10-27T09:53:29Z", "dataConnectionErrors": [], "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}
+ application/json: {"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}
Unauthorized:
parameters:
path:
@@ -556,6 +627,8 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
list-connections:
"":
parameters:
@@ -568,8 +641,9 @@ examples:
orderBy: "-modifiedDate"
responses:
"200":
- application/json: {"_links": {"current": {"href": "/companies/{id}/data/{dataType}?page=1&pageSize=10"}, "self": {"href": "/companies/{id}/data/{dataType}"}}, "pageNumber": 1, "pageSize": 10, "results": [{"created": "2022-10-27T09:53:29Z", "dataConnectionErrors": [], "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "totalResults": 1}
+ application/json: {"_links": {"current": {"href": "/companies/{id}/data/{dataType}?page=1&pageSize=10"}, "self": {"href": "/companies/{id}/data/{dataType}"}}, "pageNumber": 1, "pageSize": 10, "totalResults": 1}
"400": {}
+ "500": {}
Connections:
parameters:
path:
@@ -594,6 +668,8 @@ examples:
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error parsing query - Malformed query.", "service": "ClientsApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error parsing query - Malformed query.", "service": "ClientsApi", "statusCode": 400}
Unresolved property:
parameters:
path:
@@ -606,6 +682,8 @@ examples:
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "98457fb9956b7f9b4b2fd4f6e23bb5c8", "detailedErrorCode": 0, "error": "Error parsing query - Could not resolve property isCompleted on Dataset", "service": "PullApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "98457fb9956b7f9b4b2fd4f6e23bb5c8", "detailedErrorCode": 0, "error": "Error parsing query - Could not resolve property isCompleted on Dataset", "service": "PullApi", "statusCode": 400}
unlink-connection:
Example:
parameters:
@@ -616,8 +694,9 @@ examples:
application/json: {"status": "Unlinked"}
responses:
"200":
- application/json: {"created": "2022-10-27T09:53:29Z", "dataConnectionErrors": [], "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}
+ application/json: {"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}
"401": {}
+ "500": {}
Unauthorized:
parameters:
path:
@@ -626,17 +705,9 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
create-bank-account-mapping:
- Malformed query:
- parameters:
- path:
- companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
- requestBody:
- application/json: {"sourceAccountId": "acc-002", "targetAccountId": "account-081"}
- responses:
- "400":
- application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
Example:
parameters:
path:
@@ -648,15 +719,20 @@ examples:
"200":
application/json: {"error": "A feed connection already exists to this account", "sourceAccountId": "acc-002", "status": "Failed", "targetAccountId": "account-081"}
"400": {}
- get-bank-account-mapping:
- Unauthorized:
+ "500": {}
+ Malformed query:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
+ requestBody:
+ application/json: {"sourceAccountId": "acc-002", "targetAccountId": "account-081"}
responses:
- "401":
- application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "400":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ get-bank-account-mapping:
Example:
parameters:
path:
@@ -665,26 +741,28 @@ examples:
responses:
"200":
application/json: [{"sourceAccountId": "account-001", "sourceAccountName": "account-001", "sourceAccountNumber": "12345670", "sourceBalance": 99.99, "sourceCurrency": "GBP", "status": "pending", "targetAccountOptions": [{"accountNumber": "789", "id": "d21e25d6-98c5-4bfb-b469-105833bea3c8", "name": "Money Bank account", "sortCode": "123456"}, {"accountNumber": "99887766", "id": "d06ff4b2-e4f2-4681-9841-014bd008cdab", "name": "Bank of Dave account", "sortCode": "998866"}, {"accountNumber": "123456789", "id": "c8f252fc-84f3-4a8b-ace8-ae99f41a81ae", "name": "LuxLend account", "sortCode": "123456"}]}]
- get-company-information:
- Malformed query:
+ Unauthorized:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
responses:
- "400":
- application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
- create-source-account:
+ "401":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ get-company-information:
Malformed query:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
- requestBody:
- application/json: {"accountInfo": {"accountOpenDate": "2022-10-23"}, "currency": "GBP", "modifiedDate": "2022-10-23T00:00:00Z"}
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ create-source-account:
Version 2:
parameters:
path:
@@ -696,6 +774,7 @@ examples:
"200":
application/json: {"accountInfo": {"accountOpenDate": "2023-05-06T00:00:00Z", "availableBalance": 10, "description": "account description 1", "nickname": "account 123"}, "accountName": "account-081", "accountNumber": "12345670", "accountType": "checking", "balance": 99.99, "currency": "GBP", "feedStartDate": "2024-05-01T00:00:00Z", "id": "acc-001", "modifiedDate": "2024-08-02T00:00:00.000Z", "routingInfo": {"bankCode": "21001088", "type": "bankcode"}, "status": "pending"}
"400": {}
+ "500": {}
Version 1:
parameters:
path:
@@ -707,6 +786,32 @@ examples:
"200":
application/json: {"accountName": "account-095", "accountNumber": "12345671", "accountType": "Credit", "balance": 0, "currency": "USD", "id": "acc-003", "modifiedDate": "2023-01-09T14:14:14.1057478Z", "sortCode": "123456", "status": "pending"}
"400": {}
+ "500": {}
+ Malformed query:
+ parameters:
+ path:
+ companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
+ connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
+ requestBody:
+ application/json: {"accountInfo": {"accountOpenDate": "2022-10-23"}, "currency": "GBP", "modifiedDate": "2022-10-23T00:00:00Z"}
+ responses:
+ "400":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ create-batch-source-account:
+ Malformed query:
+ parameters:
+ path:
+ companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
+ connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
+ requestBody:
+ application/json: [{"accountName": "account-081", "accountNumber": "12345670", "accountType": "Credit", "balance": 99.99, "currency": "GBP", "id": "acc-002", "modifiedDate": "2023-01-09T14:14:14.1057478Z", "sortCode": "123456", "status": "pending"}, {"accountName": "account-095", "accountNumber": "12345671", "accountType": "Credit", "balance": 0, "currency": "USD", "id": "acc-003", "modifiedDate": "2023-01-09T14:14:14.1057478Z", "sortCode": "123456", "status": "pending"}]
+ responses:
+ "400":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
delete-source-account:
Unauthorized:
parameters:
@@ -717,6 +822,8 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
delete-bank-feed-credentials:
Unauthorized:
parameters:
@@ -726,15 +833,21 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
generate-credentials:
Unauthorized:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
+ requestBody:
+ application/json: "x-file: example.file"
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
list-source-accounts:
Unauthorized:
parameters:
@@ -744,6 +857,8 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
update-source-account:
Malformed query:
parameters:
@@ -752,10 +867,12 @@ examples:
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
accountId: "7110701885"
requestBody:
- application/json: {"accountName": "account-095", "accountNumber": "12345671", "accountType": "Credit", "balance": 0, "currency": "USD", "feedStartDate": "2022-10-23T00:00:00Z", "id": "acc-003", "modifiedDate": "2023-01-09T14:14:14.1057478Z", "sortCode": "123456", "status": "pending"}
+ application/json: {"accountName": "account-095", "accountNumber": "12345671", "accountType": "Credit", "balance": 0, "currency": "USD", "id": "acc-003", "modifiedDate": "2023-01-09T14:14:14.1057478Z", "sortCode": "123456", "status": "pending"}
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
create-bank-account:
Malformed query:
parameters:
@@ -768,6 +885,8 @@ examples:
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
get-create-bankAccounts-model:
Dynamics 365 Business Central:
parameters:
@@ -849,6 +968,8 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
list-bank-accounts:
"":
parameters:
@@ -862,8 +983,9 @@ examples:
orderBy: "-modifiedDate"
responses:
"200":
- application/json: {"_links": {"current": {"href": "/companies/{id}/data/{dataType}?page=1&pageSize=10"}, "self": {"href": "/companies/{id}/data/{dataType}"}}, "pageNumber": 1, "pageSize": 10, "results": [], "totalResults": 1}
+ application/json: {"_links": {"current": {"href": "/companies/{id}/data/{dataType}?page=1&pageSize=10"}, "self": {"href": "/companies/{id}/data/{dataType}"}}, "pageNumber": 1, "pageSize": 10, "totalResults": 1}
"400": {}
+ "500": {}
Dynamics 365 Business Central:
parameters:
path:
@@ -1033,6 +1155,8 @@ examples:
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error parsing query - Malformed query.", "service": "ClientsApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error parsing query - Malformed query.", "service": "ClientsApi", "statusCode": 400}
Unresolved property:
parameters:
path:
@@ -1046,6 +1170,8 @@ examples:
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "98457fb9956b7f9b4b2fd4f6e23bb5c8", "detailedErrorCode": 0, "error": "Error parsing query - Could not resolve property isCompleted on Dataset", "service": "PullApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "98457fb9956b7f9b4b2fd4f6e23bb5c8", "detailedErrorCode": 0, "error": "Error parsing query - Could not resolve property isCompleted on Dataset", "service": "PullApi", "statusCode": 400}
create-bank-transactions:
Xero:
parameters:
@@ -1053,73 +1179,98 @@ examples:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
accountId: "9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2"
- query: {}
+ query:
+ allowSyncOnPushComplete: true
requestBody:
application/json: {"accountId": "49cd5a42-b311-4750-9361-52e2ed1d4653", "transactions": [{"amount": 100, "balance": 100, "counterparty": "Bank of Example", "date": "2023-08-22T10:21:00Z", "description": "Repayment of Credit Card", "id": "716422529", "reconciled": true, "reference": "Ref-12345", "transactionType": "Credit"}, {"amount": -100, "balance": 0, "counterparty": "Amazon", "date": "2023-08-22T10:22:00Z", "description": "Amazon Purchase", "id": "716422530", "reconciled": false, "reference": "Ref-12346", "transactionType": "Debit"}, {"amount": -60, "balance": -60, "counterparty": "Office Mart", "date": "2023-08-22T10:23:00Z", "description": "Office Supplies", "id": "716422531", "reconciled": false, "reference": "Ref-12347", "transactionType": "Debit"}]}
responses:
"200":
- application/json: {"changes": [], "companyId": "8a210b68-6988-11ed-a1eb-0242ac120002", "completedOnUtc": "2022-10-23T00:00:00Z", "data": {"accountId": "EILBDVJVNUAGVKRQ", "transactions": []}, "dataConnectionKey": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "dataType": "invoices", "pushOperationKey": "1fc6fe07-241b-4cdd-89dc-7fa504e08333", "requestedOnUtc": "2022-10-23T00:00:00Z", "status": "Pending", "statusCode": 829142}
+ application/json: {"changes": [{"recordRef": {"dataType": "invoices"}}, {"recordRef": {"dataType": "invoices"}}], "companyId": "8a210b68-6988-11ed-a1eb-0242ac120002", "completedOnUtc": "2022-10-23T00:00:00Z", "data": {"accountId": "13d946f0-c5d5-42bc-b092-97ece17923ab", "transactions": []}, "dataConnectionKey": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "dataType": "invoices", "pushOperationKey": "cf021cd9-cf54-4033-a152-11a509a3080a", "requestedOnUtc": "2022-10-23T00:00:00Z", "status": "Failed", "statusCode": 496323}
"400": {}
+ "500": {}
QuickBooks Online Bank Feeds:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
- accountId: "7110701885"
- query: {}
+ accountId: "9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2"
+ query:
+ allowSyncOnPushComplete: true
requestBody:
application/json: {"accountId": "49cd5a42-b311-4750-9361-52e2ed1d4653", "transactions": [{"amount": 100, "balance": 100, "date": "2023-08-22T10:21:00Z", "description": "Repayment of Credit Card", "id": "716422529", "transactionType": "Credit"}, {"amount": -100, "balance": 0, "date": "2023-08-22T10:22:00Z", "description": "Amazon Purchase", "id": "716422530", "transactionType": "Debit"}, {"amount": -60, "balance": -60, "date": "2023-08-22T10:23:00Z", "description": "Office Supplies", "id": "716422531", "transactionType": "Debit"}]}
responses:
"200":
- application/json: {"changes": [], "companyId": "8a210b68-6988-11ed-a1eb-0242ac120002", "completedOnUtc": "2022-10-23T00:00:00Z", "data": {"accountId": "Checking 0202", "transactions": []}, "dataConnectionKey": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "dataType": "invoices", "pushOperationKey": "261915a2-5d0d-49ea-9320-e8504aa8ce67", "requestedOnUtc": "2022-10-23T00:00:00Z", "status": "Failed", "statusCode": 775787}
+ application/json: {"changes": [{"recordRef": {"dataType": "invoices"}}, {"recordRef": {"dataType": "invoices"}}, {"recordRef": {"dataType": "invoices"}}], "companyId": "8a210b68-6988-11ed-a1eb-0242ac120002", "completedOnUtc": "2022-10-23T00:00:00Z", "data": {"accountId": "EILBDVJVNUAGVKRQ", "transactions": [{"amount": 999.99, "balance": -999.99, "counterparty": "ACME INC", "date": "2022-10-23T00:00:00Z", "description": "Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60", "id": "716422529", "reconciled": false, "reference": "reference for transaction"}, {"amount": 999.99, "balance": -999.99, "counterparty": "ACME INC", "date": "2022-10-23T00:00:00Z", "description": "Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60", "id": "716422529", "reconciled": false, "reference": "reference for transaction"}, {"amount": 999.99, "balance": -999.99, "counterparty": "ACME INC", "date": "2022-10-23T00:00:00Z", "description": "Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60", "id": "716422529", "reconciled": false, "reference": "reference for transaction"}]}, "dataConnectionKey": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "dataType": "invoices", "pushOperationKey": "7691775e-0249-4856-b13d-e0ee803d56a1", "requestedOnUtc": "2022-10-23T00:00:00Z", "status": "Success", "statusCode": 295558}
"400": {}
+ "500": {}
FreeAgent:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
- accountId: "9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2"
- query: {}
+ accountId: "13d946f0-c5d5-42bc-b092-97ece17923ab"
+ query:
+ allowSyncOnPushComplete: true
requestBody:
application/json: {"accountId": "49cd5a42-b311-4750-9361-52e2ed1d4653", "transactions": [{"amount": 100, "date": "2023-08-22T10:21:00Z", "description": "Repayment of Credit Card", "id": "716422529", "transactionType": "Credit"}, {"amount": -100, "date": "2023-08-22T10:22:00Z", "description": "Amazon Purchase", "id": "716422530", "transactionType": "Debit"}, {"amount": -60, "date": "2023-08-22T10:23:00Z", "description": "Office Supplies", "id": "716422531", "transactionType": "Debit"}]}
responses:
"200":
- application/json: {"changes": [], "companyId": "8a210b68-6988-11ed-a1eb-0242ac120002", "completedOnUtc": "2022-10-23T00:00:00Z", "data": {"accountId": "EILBDVJVNUAGVKRQ", "transactions": []}, "dataConnectionKey": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "dataType": "invoices", "pushOperationKey": "cf24bdeb-cfc2-43e7-96f9-415747251ef0", "requestedOnUtc": "2022-10-23T00:00:00Z", "status": "Pending", "statusCode": 363328}
+ application/json: {"changes": [{"recordRef": {"dataType": "invoices"}}, {"recordRef": {"dataType": "invoices"}}], "companyId": "8a210b68-6988-11ed-a1eb-0242ac120002", "completedOnUtc": "2022-10-23T00:00:00Z", "data": {"accountId": "Checking 0202", "transactions": [{"amount": 999.99, "balance": -999.99, "counterparty": "ACME INC", "date": "2022-10-23T00:00:00Z", "description": "Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60", "id": "716422529", "reconciled": false, "reference": "reference for transaction"}, {"amount": 999.99, "balance": -999.99, "counterparty": "ACME INC", "date": "2022-10-23T00:00:00Z", "description": "Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60", "id": "716422529", "reconciled": false, "reference": "reference for transaction"}, {"amount": 999.99, "balance": -999.99, "counterparty": "ACME INC", "date": "2022-10-23T00:00:00Z", "description": "Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60", "id": "716422529", "reconciled": false, "reference": "reference for transaction"}]}, "dataConnectionKey": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "dataType": "invoices", "pushOperationKey": "94798bc1-9d4c-451e-a99d-ff42acbeff61", "requestedOnUtc": "2022-10-23T00:00:00Z", "status": "Failed", "statusCode": 162135}
"400": {}
+ "500": {}
Sage:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
- accountId: "13d946f0-c5d5-42bc-b092-97ece17923ab"
- query: {}
+ accountId: "9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2"
+ query:
+ allowSyncOnPushComplete: true
requestBody:
application/json: {"accountId": "49cd5a42-b311-4750-9361-52e2ed1d4653", "transactions": [{"amount": 100, "balance": 100, "counterparty": "Bank of Example", "date": "2023-08-22T10:21:00Z", "description": "Repayment of Credit Card", "id": "716422529", "reference": "Ref-12345", "transactionType": "Credit"}, {"amount": -100, "balance": 0, "counterparty": "Amazon", "date": "2023-08-22T10:22:00Z", "description": "Amazon Purchase", "id": "716422530", "reference": "Ref-12346", "transactionType": "Debit"}, {"amount": -60, "balance": -60, "counterparty": "Office Mart", "date": "2023-08-22T10:23:00Z", "description": "Office Supplies", "id": "716422531", "reference": "Ref-12347", "transactionType": "Debit"}]}
responses:
"200":
- application/json: {"changes": [], "companyId": "8a210b68-6988-11ed-a1eb-0242ac120002", "completedOnUtc": "2022-10-23T00:00:00Z", "data": {"accountId": "7110701885", "transactions": []}, "dataConnectionKey": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "dataType": "invoices", "pushOperationKey": "95835d6b-1b39-4d7e-a0de-fed8d063eda5", "requestedOnUtc": "2022-10-23T00:00:00Z", "status": "Failed", "statusCode": 121860}
+ application/json: {"changes": [{"recordRef": {"dataType": "invoices"}}], "companyId": "8a210b68-6988-11ed-a1eb-0242ac120002", "completedOnUtc": "2022-10-23T00:00:00Z", "data": {"accountId": "Checking 0202", "transactions": []}, "dataConnectionKey": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "dataType": "invoices", "pushOperationKey": "ef75c24a-16ac-45e2-8bbd-7e44f71b269f", "requestedOnUtc": "2022-10-23T00:00:00Z", "status": "TimedOut", "statusCode": 190973}
"400": {}
+ "500": {}
Malformed query:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
- accountId: "13d946f0-c5d5-42bc-b092-97ece17923ab"
- query: {}
+ accountId: "EILBDVJVNUAGVKRQ"
+ query:
+ allowSyncOnPushComplete: true
requestBody:
- application/json: {"accountId": "7110701885", "transactions": []}
+ application/json: {"accountId": "9wg4lep4ush5cxs79pl8sozmsndbaukll3ind4g7buqbm1h2", "transactions": [{"amount": 999.99, "balance": -999.99, "counterparty": "ACME INC", "date": "2022-10-23T00:00:00Z", "description": "Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60", "id": "716422529", "reconciled": false, "reference": "reference for transaction"}, {"amount": 999.99, "balance": -999.99, "counterparty": "ACME INC", "date": "2022-10-23T00:00:00Z", "description": "Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60", "id": "716422529", "reconciled": false, "reference": "reference for transaction"}, {"amount": 999.99, "balance": -999.99, "counterparty": "ACME INC", "date": "2022-10-23T00:00:00Z", "description": "Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60", "id": "716422529", "reconciled": false, "reference": "reference for transaction"}]}
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
+ get-create-bank-transactions-model:
+ Unauthorized:
+ parameters:
+ path:
+ companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
+ connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
+ accountId: "13d946f0-c5d5-42bc-b092-97ece17923ab"
+ responses:
+ "401":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
get-create-operation:
Unauthorized:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- pushOperationKey: "1fb73c31-a851-46c2-ab8a-5ce6e25b57b8"
+ pushOperationKey: "1b33a562-bac6-42b7-8818-d55dba8df363"
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
list-create-operations:
"":
parameters:
@@ -1132,8 +1283,9 @@ examples:
orderBy: "-modifiedDate"
responses:
"200":
- application/json: {"_links": {"current": {"href": "/companies/{id}/data/{dataType}?page=1&pageSize=10"}, "self": {"href": "/companies/{id}/data/{dataType}"}}, "pageNumber": 1, "pageSize": 10, "results": [], "totalResults": 1}
+ application/json: {"_links": {"current": {"href": "/companies/{id}/data/{dataType}?page=1&pageSize=10"}, "self": {"href": "/companies/{id}/data/{dataType}"}}, "pageNumber": 1, "pageSize": 10, "totalResults": 1}
"400": {}
+ "500": {}
Malformed query:
parameters:
path:
@@ -1146,6 +1298,8 @@ examples:
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error parsing query - Malformed query.", "service": "ClientsApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error parsing query - Malformed query.", "service": "ClientsApi", "statusCode": 400}
Unresolved property:
parameters:
path:
@@ -1158,6 +1312,8 @@ examples:
responses:
"400":
application/json: {"canBeRetried": "Unknown", "correlationId": "98457fb9956b7f9b4b2fd4f6e23bb5c8", "detailedErrorCode": 0, "error": "Error parsing query - Could not resolve property isCompleted on Dataset", "service": "PullApi", "statusCode": 400}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "98457fb9956b7f9b4b2fd4f6e23bb5c8", "detailedErrorCode": 0, "error": "Error parsing query - Could not resolve property isCompleted on Dataset", "service": "PullApi", "statusCode": 400}
get-configuration:
Unauthorized:
parameters:
@@ -1166,6 +1322,8 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+ "500":
+ application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
set-configuration:
Unauthorized:
parameters:
@@ -1176,102 +1334,17 @@ examples:
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
- get-last-successful:
- Unauthorized:
- parameters:
- path:
- companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- responses:
- "401":
- application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
- get-company-access-token:
- Simple company:
- parameters:
- path:
- companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- responses:
- "200":
- application/json: {"accessToken": "string", "expiresIn": 86400, "tokenType": "Bearer"}
- Unauthorized:
- parameters:
- path:
- companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- responses:
- "401":
+ "500":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
- create-batch-source-account:
- Malformed query:
- parameters:
- path:
- companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
- requestBody:
- application/json: [{"accountName": "account-081", "accountNumber": "12345670", "accountType": "Credit", "balance": 99.99, "currency": "GBP", "id": "acc-002", "modifiedDate": "2023-01-09T14:14:14.1057478Z", "sortCode": "123456", "status": "pending"}, {"accountName": "account-095", "accountNumber": "12345671", "accountType": "Credit", "balance": 0, "currency": "USD", "id": "acc-003", "modifiedDate": "2023-01-09T14:14:14.1057478Z", "sortCode": "123456", "status": "pending"}]
- responses:
- "400":
- application/json: {"canBeRetried": "Unknown", "correlationId": "bc997528a9d7abb9161ef45f05d38599", "detailedErrorCode": 0, "error": "Error processing request - not valid.", "service": "PublicApi", "statusCode": 400}
- get-create-bank-transactions-model:
+ get-last-successful:
Unauthorized:
parameters:
path:
companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171"
- accountId: "13d946f0-c5d5-42bc-b092-97ece17923ab"
responses:
"401":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
- Client rate limit reached:
- speakeasy-default-client-rate-limit-reached:
- requestBody:
- application/json: {"AlertId": "a9367074-b5c3-42c4-9be4-be129f43577e", "ClientId": "bae71d36-ff47-420a-b4a6-f8c9ddf41140", "ClientName": "Bank of Dave", "Data": {"DailyQuota": 1000, "ExpiresUtc": "2022-10-23T00:00:00Z"}, "Message": "The current daily rate limit quota of 1000 requests for bae71d36-ff47-420a-b4a6-f8c9ddf41140 has been reached.", "RuleId": "70af3071-65d9-4ec3-b3cb-5283e8d55dac", "RuleType": "Rate Limit Reached"}
- Client rate limit reset:
- speakeasy-default-client-rate-limit-reset:
- requestBody:
- application/json: {"AlertId": "a9367074-b5c3-42c4-9be4-be129f43577e", "ClientId": "bae71d36-ff47-420a-b4a6-f8c9ddf41140", "ClientName": "Bank of Dave", "Data": {"DailyQuota": 1000, "ExpiresUtc": "2022-10-23T00:00:00Z", "QuotaRemaining": 1000, "ResetReason": "The quota was reset because it is a new day."}, "Message": "The current daily rate limit quota for client 30e0f9d2-52c0-4c9f-a806-bcd98a3bcd7e has been reset to 1000 requests.", "RuleId": "70af3071-65d9-4ec3-b3cb-5283e8d55dac", "RuleType": "Rate Limit Reset"}
- bankFeeds.sourceAccount.connected:
- Connected:
- requestBody:
- application/json: {"eventType": "bankFeeds.sourceAccount.connected", "generatedDate": "2022-10-23T00:00:00Z", "id": "ba29118f-5406-4e59-b05c-ba307ca38d01", "payload": {"connectionId": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "referenceCompany": {"description": "Requested early access to the new financing scheme.", "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "links": {"portal": "https://app.codat.io/companies/0498e921-9b53-4396-a412-4f2f5983b0a2/summary"}, "name": "Toft stores"}, "sourceAccount": {"accountName": "account-081", "accountNumber": "12345678", "balance": 99.99, "currency": "GBP", "id": "acc-002", "modifiedDate": "2023-01-09T14:14:14.105Z", "sortCode": "040004", "status": "pending"}}}
- bankFeeds.sourceAccount.disconnected:
- Disconnected:
- requestBody:
- application/json: {"eventType": "bankFeeds.sourceAccount.disconnected", "generatedDate": "2022-10-23T00:00:00Z", "id": "ba29118f-5406-4e59-b05c-ba307ca38d01", "payload": {"connectionId": "2e9d2c44-f675-40ba-8049-353bfcb5e171", "referenceCompany": {"description": "Requested early access to the new financing scheme.", "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "links": {"portal": "https://app.codat.io/companies/0498e921-9b53-4396-a412-4f2f5983b0a2/summary"}, "name": "Toft stores"}, "sourceAccount": {"accountName": "account-081", "accountNumber": "12345678", "balance": 99.99, "currency": "GBP", "id": "acc-002", "modifiedDate": "2023-01-09T14:14:14.105Z", "sortCode": "040004", "status": "pending"}}}
- client.rateLimit.reached:
- Reached:
- requestBody:
- application/json: {"eventType": "client.rateLimit.reached", "generatedDate": "2024-09-01T00:00:00Z", "id": "743ec94a-8aa4-44bb-8bd4-e1855ee0e74b", "payload": {"dailyQuota": 12000, "expiryDate": "2024-09-01T12:14:14Z", "quotaRemaining": 0}}
- client.rateLimit.reset:
- Reset:
- requestBody:
- application/json: {"eventType": "client.rateLimit.reset", "generatedDate": "2024-09-01T00:00:00Z", "id": "743ec94a-8aa4-44bb-8bd4-e1855ee0e74b", "payload": {"dailyQuota": 12000, "expiryDate": "2024-09-01T23:59:99Z", "quotaRemaining": 11993}}
- replace-company:
- Update name:
- parameters:
- path:
- companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- requestBody:
- application/json: {"name": "New Name"}
- responses:
- "200":
- application/json: {"created": "2022-01-01T12:00:00.000Z", "createdByUserName": "string", "dataConnections": [{"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "lastSync": "2022-01-01T12:00:00.000Z", "name": "string", "redirect": "https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739", "tags": {"region": "us", "uid": "f6b0c253-16c7-4da1-a0c5-9c871e9c9d6c"}}
- "401": {}
- Update description:
- parameters:
- path:
- companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- requestBody:
- application/json: {"description": "Additional documents required", "name": "Same name"}
- responses:
- "200":
- application/json: {"created": "2022-01-01T12:00:00.000Z", "createdByUserName": "string", "dataConnections": [{"created": "2022-10-27T09:53:29Z", "id": "ee2eb431-c0fa-4dc9-93fa-d29781c12bcd", "integrationId": "bf083d72-62c7-493e-aec9-81b4dbba7e2c", "integrationKey": "dfxm", "lastSync": "2022-10-27T10:22:43.6464237Z", "linkUrl": "https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start", "platformName": "Basiq", "sourceId": "bdd831ce-eebd-4896-89a7-20e5ee8989ee", "sourceType": "Banking", "status": "Linked"}], "id": "0498e921-9b53-4396-a412-4f2f5983b0a2", "lastSync": "2022-01-01T12:00:00.000Z", "name": "string", "redirect": "https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739", "tags": {"region": "us", "uid": "f6b0c253-16c7-4da1-a0c5-9c871e9c9d6c"}}
- "401": {}
- Unauthorized:
- parameters:
- path:
- companyId: "8a210b68-6988-11ed-a1eb-0242ac120002"
- requestBody:
- application/json: {"description": "Requested early access to the new financing scheme.", "name": "Bank of Dave"}
- responses:
- "401":
+ "500":
application/json: {"canBeRetried": "Unknown", "correlationId": "7eb40d6b415d7bcd99ce658268284056", "detailedErrorCode": 0, "error": "Unauthorized", "service": "PublicApi", "statusCode": 401}
+examplesVersion: 1.0.0
generatedTests: {}
diff --git a/bank-feeds/.speakeasy/gen.yaml b/bank-feeds/.speakeasy/gen.yaml
index 819665644..2dfdbdb48 100644
--- a/bank-feeds/.speakeasy/gen.yaml
+++ b/bank-feeds/.speakeasy/gen.yaml
@@ -12,7 +12,7 @@ generation:
oAuth2PasswordEnabled: false
telemetryEnabled: true
python:
- version: 10.1.1
+ version: 10.2.0
additionalDependencies:
dev: {}
main: {}
@@ -22,6 +22,7 @@ python:
clientServerStatusCodesAsErrors: true
defaultErrorName: SDKError
description: Set up bank feeds from accounts in your application to supported accounting software.
+ enableCustomCodeRegions: false
enumFormat: enum
fixFlags:
responseRequiredSep2024: false
diff --git a/bank-feeds/README.md b/bank-feeds/README.md
index 4c6cacf67..d97a88c24 100755
--- a/bank-feeds/README.md
+++ b/bank-feeds/README.md
@@ -297,7 +297,6 @@ with CodatBankFeeds(
res = codat_bank_feeds.companies.create(request={
"name": "Technicalium",
- "description": "Requested early access to the new financing scheme.",
},
RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
@@ -323,7 +322,6 @@ with CodatBankFeeds(
res = codat_bank_feeds.companies.create(request={
"name": "Technicalium",
- "description": "Requested early access to the new financing scheme.",
})
assert res is not None
@@ -352,10 +350,11 @@ By default, an API error will raise a errors.SDKError exception, which has the f
When custom error responses are specified for an operation, the SDK may also raise their associated exceptions. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `create_async` method may raise the following exceptions:
-| Error Type | Status Code | Content Type |
-| ------------------- | --------------------------------- | ---------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ------------------- | ----------------------- | ---------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
### Example
@@ -373,7 +372,6 @@ with CodatBankFeeds(
res = codat_bank_feeds.companies.create(request={
"name": "Technicalium",
- "description": "Requested early access to the new financing scheme.",
})
assert res is not None
@@ -381,6 +379,9 @@ with CodatBankFeeds(
# Handle response
print(res)
+ except errors.ErrorMessage as e:
+ # handle e.data: errors.ErrorMessageData
+ raise(e)
except errors.ErrorMessage as e:
# handle e.data: errors.ErrorMessageData
raise(e)
@@ -411,7 +412,6 @@ with CodatBankFeeds(
res = codat_bank_feeds.companies.create(request={
"name": "Technicalium",
- "description": "Requested early access to the new financing scheme.",
})
assert res is not None
@@ -531,7 +531,6 @@ with CodatBankFeeds(
res = codat_bank_feeds.companies.create(request={
"name": "Technicalium",
- "description": "Requested early access to the new financing scheme.",
})
assert res is not None
diff --git a/bank-feeds/RELEASES.md b/bank-feeds/RELEASES.md
index 93809b188..f1eb26830 100644
--- a/bank-feeds/RELEASES.md
+++ b/bank-feeds/RELEASES.md
@@ -858,4 +858,14 @@ Based on:
### Generated
- [python v10.1.1] bank-feeds
### Releases
-- [PyPI v10.1.1] https://pypi.org/project/codat-bankfeeds/10.1.1 - bank-feeds
\ No newline at end of file
+- [PyPI v10.1.1] https://pypi.org/project/codat-bankfeeds/10.1.1 - bank-feeds
+
+## 2025-01-20 16:43:34
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.469.10 (2.493.31) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v10.2.0] bank-feeds
+### Releases
+- [PyPI v10.2.0] https://pypi.org/project/codat-bankfeeds/10.2.0 - bank-feeds
\ No newline at end of file
diff --git a/bank-feeds/USAGE.md b/bank-feeds/USAGE.md
index 8c4d42220..adf3f8c49 100644
--- a/bank-feeds/USAGE.md
+++ b/bank-feeds/USAGE.md
@@ -12,7 +12,6 @@ with CodatBankFeeds(
res = codat_bank_feeds.companies.create(request={
"name": "Technicalium",
- "description": "Requested early access to the new financing scheme.",
})
assert res is not None
@@ -39,7 +38,6 @@ async def main():
res = await codat_bank_feeds.companies.create_async(request={
"name": "Technicalium",
- "description": "Requested early access to the new financing scheme.",
})
assert res is not None
diff --git a/bank-feeds/docs/models/shared/sourceaccountbatchcreateresponse.md b/bank-feeds/docs/models/shared/sourceaccountbatchcreateresponse.md
index 0ed65bf9b..b80d3bb89 100644
--- a/bank-feeds/docs/models/shared/sourceaccountbatchcreateresponse.md
+++ b/bank-feeds/docs/models/shared/sourceaccountbatchcreateresponse.md
@@ -1,11 +1,11 @@
# SourceAccountBatchCreateResponse
-The account ID and source account object of the successfully created source account.
+Account ID and resulting object of the batch `Create source account` request.
## Fields
-| Field | Type | Required | Description | Example |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [Optional[shared.SourceAccount]](../../models/shared/sourceaccount.md) | :heavy_minus_sign: | The target bank account in a supported accounting software for ingestion into a bank feed. | {
"id": "acc-002",
"accountName": "account-081",
"sortCode": "123456",
"accountType": "Credit",
"accountNumber": "12345670",
"currency": "GBP",
"balance": 99.99,
"modifiedDate": "2023-01-09T14:14:14.1057478Z",
"status": "pending"
} |
-| `source_account_id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for the source account. | 12345 |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
+| `result` | [Optional[shared.SourceAccountBatchCreateResult]](../../models/shared/sourceaccountbatchcreateresult.md) | :heavy_minus_sign: | Status details and corresponding object of the `Create account` operation. | |
+| `source_account_id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for the source account. | 12345 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/sourceaccountbatchcreateresult.md b/bank-feeds/docs/models/shared/sourceaccountbatchcreateresult.md
new file mode 100644
index 000000000..54e2cc2ce
--- /dev/null
+++ b/bank-feeds/docs/models/shared/sourceaccountbatchcreateresult.md
@@ -0,0 +1,12 @@
+# SourceAccountBatchCreateResult
+
+Status details and corresponding object of the `Create account` operation.
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `account` | [Optional[shared.SourceAccount]](../../models/shared/sourceaccount.md) | :heavy_minus_sign: | The target bank account in a supported accounting software for ingestion into a bank feed. | {
"id": "acc-002",
"accountName": "account-081",
"sortCode": "123456",
"accountType": "Credit",
"accountNumber": "12345670",
"currency": "GBP",
"balance": 99.99,
"modifiedDate": "2023-01-09T14:14:14.1057478Z",
"status": "pending"
} |
+| `error` | *OptionalNullable[str]* | :heavy_minus_sign: | A brief description of the error. | |
+| `status_code` | *Optional[int]* | :heavy_minus_sign: | The HTTP status code for the creation of the source account | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/sourceaccountv2batchcreateresponse.md b/bank-feeds/docs/models/shared/sourceaccountv2batchcreateresponse.md
index 77bc6c481..1b1814226 100644
--- a/bank-feeds/docs/models/shared/sourceaccountv2batchcreateresponse.md
+++ b/bank-feeds/docs/models/shared/sourceaccountv2batchcreateresponse.md
@@ -1,11 +1,11 @@
# SourceAccountV2BatchCreateResponse
-The account ID and source account object of the successfully created source account.
+Account ID and resulting object of the batch `Create source account` request.
## Fields
-| Field | Type | Required | Description | Example |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `result` | [Optional[shared.SourceAccountV2]](../../models/shared/sourceaccountv2.md) | :heavy_minus_sign: | The target bank account in a supported accounting software for ingestion into a bank feed. | {
"id": "acc-001",
"accountName": "account-081",
"accountType": "checking",
"accountNumber": "12345670",
"routingInfo": {
"bankCode": 21001088,
"type": "bankcode"
},
"currency": "GBP",
"balance": 99.99,
"accountInfo": {
"description": "account description 1",
"nickname": "account 123",
"accountOpenDate": "2023-05-06T00:00:00Z",
"availableBalance": 10
},
"modifiedDate": "2024-08-02T00:00:00.000Z",
"status": "pending",
"feedStartDate": "2024-05-01T00:00:00Z"
} |
-| `source_account_id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for the source account. | 12345 |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
+| `result` | [Optional[shared.SourceAccountV2BatchCreateResult]](../../models/shared/sourceaccountv2batchcreateresult.md) | :heavy_minus_sign: | Status details and corresponding object of the `Create account` operation. | |
+| `source_account_id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for the source account. | 12345 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/sourceaccountv2batchcreateresult.md b/bank-feeds/docs/models/shared/sourceaccountv2batchcreateresult.md
new file mode 100644
index 000000000..ac28c2138
--- /dev/null
+++ b/bank-feeds/docs/models/shared/sourceaccountv2batchcreateresult.md
@@ -0,0 +1,12 @@
+# SourceAccountV2BatchCreateResult
+
+Status details and corresponding object of the `Create account` operation.
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `account` | [Optional[shared.SourceAccountV2]](../../models/shared/sourceaccountv2.md) | :heavy_minus_sign: | The target bank account in a supported accounting software for ingestion into a bank feed. | {
"id": "acc-001",
"accountName": "account-081",
"accountType": "checking",
"accountNumber": "12345670",
"routingInfo": {
"bankCode": 21001088,
"type": "bankcode"
},
"currency": "GBP",
"balance": 99.99,
"accountInfo": {
"description": "account description 1",
"nickname": "account 123",
"accountOpenDate": "2023-05-06T00:00:00Z",
"availableBalance": 10
},
"modifiedDate": "2024-08-02T00:00:00.000Z",
"status": "pending",
"feedStartDate": "2024-05-01T00:00:00Z"
} |
+| `error` | *OptionalNullable[str]* | :heavy_minus_sign: | A brief description of the error. | |
+| `status_code` | *Optional[int]* | :heavy_minus_sign: | The HTTP status code for the creation of the source account | |
\ No newline at end of file
diff --git a/bank-feeds/docs/sdks/accountmapping/README.md b/bank-feeds/docs/sdks/accountmapping/README.md
index 885afb385..0d80a9e6c 100644
--- a/bank-feeds/docs/sdks/accountmapping/README.md
+++ b/bank-feeds/docs/sdks/accountmapping/README.md
@@ -84,10 +84,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| -------------------------------------- | -------------------------------------- | -------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ---------------------------- | ---------------------------- | ---------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## get
@@ -136,7 +137,8 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
diff --git a/bank-feeds/docs/sdks/bankaccounts/README.md b/bank-feeds/docs/sdks/bankaccounts/README.md
index 00648a8ae..7c314bfa4 100644
--- a/bank-feeds/docs/sdks/bankaccounts/README.md
+++ b/bank-feeds/docs/sdks/bankaccounts/README.md
@@ -13,12 +13,12 @@ Access bank accounts in an SMBs accounting software.
## create
-The *Create bank account* endpoint creates a new [bank account](https://docs.codat.io/bank-feeds-api#/schemas/BankAccount) for a given company's connection.
-
-[Bank accounts](https://docs.codat.io/bank-feeds-api#/schemas/BankAccount) are financial accounts maintained by a bank or other financial institution.
-
-**Integration-specific behaviour**
-
+The *Create bank account* endpoint creates a new [bank account](https://docs.codat.io/bank-feeds-api#/schemas/BankAccount) for a given company's connection.
+
+[Bank accounts](https://docs.codat.io/bank-feeds-api#/schemas/BankAccount) are financial accounts maintained by a bank or other financial institution.
+
+**Integration-specific behaviour**
+
Required data may vary by integration. To see what data to post, first call [Get create/update bank account model](https://docs.codat.io/bank-feeds-api#/operations/get-create-update-bankAccounts-model).
### Example Usage
@@ -62,20 +62,21 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| -------------------------------------- | -------------------------------------- | -------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ---------------------------- | ---------------------------- | ---------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## get_create_model
-The *Get create/update bank account model* endpoint returns the expected data for the request payload when creating and updating a [bank account](https://docs.codat.io/bank-feeds-api#/schemas/BankAccount) for a given company and integration.
-
-[Bank accounts](https://docs.codat.io/bank-feeds-api#/schemas/BankAccount) are financial accounts maintained by a bank or other financial institution.
-
-**Integration-specific behaviour**
-
-See the *response examples* for integration-specific indicative models.
+The *Get create/update bank account model* endpoint returns the expected data for the request payload when creating and updating a [bank account](https://docs.codat.io/bank-feeds-api#/schemas/BankAccount) for a given company and integration.
+
+[Bank accounts](https://docs.codat.io/bank-feeds-api#/schemas/BankAccount) are financial accounts maintained by a bank or other financial institution.
+
+**Integration-specific behaviour**
+
+See the *response examples* for integration-specific indicative models.
### Example Usage
@@ -115,10 +116,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## list
@@ -170,7 +172,8 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 409, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
+| Error Type | Status Code | Content Type |
+| --------------------------------- | --------------------------------- | --------------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 409, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
diff --git a/bank-feeds/docs/sdks/companies/README.md b/bank-feeds/docs/sdks/companies/README.md
index 466260d47..0cda66665 100644
--- a/bank-feeds/docs/sdks/companies/README.md
+++ b/bank-feeds/docs/sdks/companies/README.md
@@ -38,7 +38,6 @@ with CodatBankFeeds(
res = codat_bank_feeds.companies.create(request={
"name": "Technicalium",
- "description": "Requested early access to the new financing scheme.",
})
assert res is not None
@@ -61,10 +60,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## delete
@@ -103,10 +103,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## get
@@ -152,10 +153,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## get_access_token
@@ -198,10 +200,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## list
@@ -263,10 +266,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| -------------------------------------- | -------------------------------------- | -------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ---------------------------- | ---------------------------- | ---------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## replace
@@ -314,10 +318,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## update
@@ -368,7 +373,8 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
diff --git a/bank-feeds/docs/sdks/companyinformation/README.md b/bank-feeds/docs/sdks/companyinformation/README.md
index de0ebae87..638f806a0 100644
--- a/bank-feeds/docs/sdks/companyinformation/README.md
+++ b/bank-feeds/docs/sdks/companyinformation/README.md
@@ -52,7 +52,8 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| -------------------------------------- | -------------------------------------- | -------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
+| Error Type | Status Code | Content Type |
+| ---------------------------- | ---------------------------- | ---------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
diff --git a/bank-feeds/docs/sdks/configuration/README.md b/bank-feeds/docs/sdks/configuration/README.md
index 06162c889..636375c66 100644
--- a/bank-feeds/docs/sdks/configuration/README.md
+++ b/bank-feeds/docs/sdks/configuration/README.md
@@ -50,10 +50,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## set
@@ -98,7 +99,8 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
diff --git a/bank-feeds/docs/sdks/connections/README.md b/bank-feeds/docs/sdks/connections/README.md
index 52dec4f25..0e6b851f3 100644
--- a/bank-feeds/docs/sdks/connections/README.md
+++ b/bank-feeds/docs/sdks/connections/README.md
@@ -58,10 +58,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## delete
@@ -98,10 +99,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## get
@@ -144,10 +146,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## list
@@ -193,10 +196,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| -------------------------------------- | -------------------------------------- | -------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ---------------------------- | ---------------------------- | ---------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## unlink
@@ -242,7 +246,8 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
diff --git a/bank-feeds/docs/sdks/sourceaccounts/README.md b/bank-feeds/docs/sdks/sourceaccounts/README.md
index 102d10af8..c6e095960 100644
--- a/bank-feeds/docs/sdks/sourceaccounts/README.md
+++ b/bank-feeds/docs/sdks/sourceaccounts/README.md
@@ -66,10 +66,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| -------------------------------------- | -------------------------------------- | -------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ---------------------------- | ---------------------------- | ---------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## create_batch
@@ -140,10 +141,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 409, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| --------------------------------- | --------------------------------- | --------------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 409, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## delete
@@ -183,10 +185,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## delete_credentials
@@ -224,10 +227,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## generate_credentials
@@ -277,10 +281,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## list
@@ -328,10 +333,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## update
@@ -368,7 +374,6 @@ with CodatBankFeeds(
"account_type": "Credit",
"balance": Decimal("0"),
"currency": "USD",
- "feed_start_date": "2022-10-23T00:00:00Z",
"modified_date": "2023-01-09T14:14:14.1057478Z",
"sort_code": "123456",
"status": shared.Status.PENDING,
@@ -395,7 +400,8 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| -------------------------------------- | -------------------------------------- | -------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
+| Error Type | Status Code | Content Type |
+| ---------------------------- | ---------------------------- | ---------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
diff --git a/bank-feeds/docs/sdks/sync/README.md b/bank-feeds/docs/sdks/sync/README.md
index 40f109f1e..5bda3842b 100644
--- a/bank-feeds/docs/sdks/sync/README.md
+++ b/bank-feeds/docs/sdks/sync/README.md
@@ -49,7 +49,8 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
diff --git a/bank-feeds/docs/sdks/transactions/README.md b/bank-feeds/docs/sdks/transactions/README.md
index 4465b9245..b4100f18e 100644
--- a/bank-feeds/docs/sdks/transactions/README.md
+++ b/bank-feeds/docs/sdks/transactions/README.md
@@ -78,6 +78,7 @@ with CodatBankFeeds(
},
],
},
+ "allow_sync_on_push_complete": True,
})
assert res is not None
@@ -100,10 +101,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| -------------------------------------- | -------------------------------------- | -------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ---------------------------- | ---------------------------- | ---------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## get_create_model
@@ -153,10 +155,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## get_create_operation
@@ -180,7 +183,7 @@ with CodatBankFeeds(
res = codat_bank_feeds.transactions.get_create_operation(request={
"company_id": "8a210b68-6988-11ed-a1eb-0242ac120002",
- "push_operation_key": "1fb73c31-a851-46c2-ab8a-5ce6e25b57b8",
+ "push_operation_key": "1b33a562-bac6-42b7-8818-d55dba8df363",
})
assert res is not None
@@ -203,10 +206,11 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| --------------------------------- | --------------------------------- | --------------------------------- |
-| errors.ErrorMessage | 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
+| Error Type | Status Code | Content Type |
+| ----------------------- | ----------------------- | ----------------------- |
+| errors.ErrorMessage | 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
## list_create_operations
@@ -256,7 +260,8 @@ with CodatBankFeeds(
### Errors
-| Error Type | Status Code | Content Type |
-| -------------------------------------- | -------------------------------------- | -------------------------------------- |
-| errors.ErrorMessage | 400, 401, 402, 403, 404, 429, 500, 503 | application/json |
-| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
+| Error Type | Status Code | Content Type |
+| ---------------------------- | ---------------------------- | ---------------------------- |
+| errors.ErrorMessage | 400, 401, 402, 403, 404, 429 | application/json |
+| errors.ErrorMessage | 500, 503 | application/json |
+| errors.SDKError | 4XX, 5XX | \*/\* |
\ No newline at end of file
diff --git a/bank-feeds/poetry.lock b/bank-feeds/poetry.lock
index a27956a62..17e86a6af 100644
--- a/bank-feeds/poetry.lock
+++ b/bank-feeds/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
+# This file is automatically @generated by Poetry 2.0.1 and should not be changed by hand.
[[package]]
name = "annotated-types"
@@ -6,20 +6,19 @@ version = "0.7.0"
description = "Reusable constraint types to use with typing.Annotated"
optional = false
python-versions = ">=3.8"
+groups = ["main"]
files = [
{file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
{file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
]
-[package.dependencies]
-typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""}
-
[[package]]
name = "anyio"
version = "4.4.0"
description = "High level compatibility layer for multiple asynchronous event loop implementations"
optional = false
python-versions = ">=3.8"
+groups = ["main"]
files = [
{file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"},
{file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"},
@@ -42,6 +41,7 @@ version = "3.2.4"
description = "An abstract syntax tree for Python with inference support."
optional = false
python-versions = ">=3.8.0"
+groups = ["dev"]
files = [
{file = "astroid-3.2.4-py3-none-any.whl", hash = "sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25"},
{file = "astroid-3.2.4.tar.gz", hash = "sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a"},
@@ -56,6 +56,7 @@ version = "2024.8.30"
description = "Python package for providing Mozilla's CA Bundle."
optional = false
python-versions = ">=3.6"
+groups = ["main"]
files = [
{file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"},
{file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"},
@@ -67,6 +68,8 @@ version = "0.4.6"
description = "Cross-platform colored terminal text."
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
+groups = ["dev"]
+markers = "sys_platform == \"win32\""
files = [
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
@@ -78,6 +81,7 @@ version = "0.3.8"
description = "serialize all of Python"
optional = false
python-versions = ">=3.8"
+groups = ["dev"]
files = [
{file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"},
{file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"},
@@ -93,6 +97,7 @@ version = "0.2.0"
description = "Like `typing._eval_type`, but lets older Python versions use newer typing features."
optional = false
python-versions = ">=3.8"
+groups = ["main"]
files = [
{file = "eval_type_backport-0.2.0-py3-none-any.whl", hash = "sha256:ac2f73d30d40c5a30a80b8739a789d6bb5e49fdffa66d7912667e2015d9c9933"},
{file = "eval_type_backport-0.2.0.tar.gz", hash = "sha256:68796cfbc7371ebf923f03bdf7bef415f3ec098aeced24e054b253a0e78f7b37"},
@@ -107,6 +112,8 @@ version = "1.2.2"
description = "Backport of PEP 654 (exception groups)"
optional = false
python-versions = ">=3.7"
+groups = ["main"]
+markers = "python_version < \"3.11\""
files = [
{file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"},
{file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"},
@@ -121,6 +128,7 @@ version = "0.14.0"
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
optional = false
python-versions = ">=3.7"
+groups = ["main"]
files = [
{file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"},
{file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
@@ -132,6 +140,7 @@ version = "1.0.5"
description = "A minimal low-level HTTP client."
optional = false
python-versions = ">=3.8"
+groups = ["main"]
files = [
{file = "httpcore-1.0.5-py3-none-any.whl", hash = "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5"},
{file = "httpcore-1.0.5.tar.gz", hash = "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61"},
@@ -153,6 +162,7 @@ version = "0.28.1"
description = "The next generation HTTP client."
optional = false
python-versions = ">=3.8"
+groups = ["main"]
files = [
{file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"},
{file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"},
@@ -177,6 +187,7 @@ version = "3.8"
description = "Internationalized Domain Names in Applications (IDNA)"
optional = false
python-versions = ">=3.6"
+groups = ["main"]
files = [
{file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"},
{file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"},
@@ -188,6 +199,7 @@ version = "5.13.2"
description = "A Python utility / library to sort Python imports."
optional = false
python-versions = ">=3.8.0"
+groups = ["dev"]
files = [
{file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"},
{file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"},
@@ -202,6 +214,7 @@ version = "1.0.6"
description = "A more powerful JSONPath implementation in modern python"
optional = false
python-versions = ">=3.6"
+groups = ["main"]
files = [
{file = "jsonpath-python-1.0.6.tar.gz", hash = "sha256:dd5be4a72d8a2995c3f583cf82bf3cd1a9544cfdabf2d22595b67aff07349666"},
{file = "jsonpath_python-1.0.6-py3-none-any.whl", hash = "sha256:1e3b78df579f5efc23565293612decee04214609208a2335884b3ee3f786b575"},
@@ -213,6 +226,7 @@ version = "0.7.0"
description = "McCabe checker, plugin for flake8"
optional = false
python-versions = ">=3.6"
+groups = ["dev"]
files = [
{file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"},
{file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
@@ -224,6 +238,7 @@ version = "1.14.1"
description = "Optional static typing for Python"
optional = false
python-versions = ">=3.8"
+groups = ["dev"]
files = [
{file = "mypy-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52686e37cf13d559f668aa398dd7ddf1f92c5d613e4f8cb262be2fb4fedb0fcb"},
{file = "mypy-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fb545ca340537d4b45d3eecdb3def05e913299ca72c290326be19b3804b39c0"},
@@ -283,6 +298,7 @@ version = "1.0.0"
description = "Type system extensions for programs checked with the mypy type checker."
optional = false
python-versions = ">=3.5"
+groups = ["main", "dev"]
files = [
{file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"},
{file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"},
@@ -294,6 +310,7 @@ version = "4.3.2"
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`."
optional = false
python-versions = ">=3.8"
+groups = ["dev"]
files = [
{file = "platformdirs-4.3.2-py3-none-any.whl", hash = "sha256:eb1c8582560b34ed4ba105009a4badf7f6f85768b30126f351328507b2beb617"},
{file = "platformdirs-4.3.2.tar.gz", hash = "sha256:9e5e27a08aa095dd127b9f2e764d74254f482fef22b0970773bfba79d091ab8c"},
@@ -310,6 +327,7 @@ version = "2.10.3"
description = "Data validation using Python type hints"
optional = false
python-versions = ">=3.8"
+groups = ["main"]
files = [
{file = "pydantic-2.10.3-py3-none-any.whl", hash = "sha256:be04d85bbc7b65651c5f8e6b9976ed9c6f41782a55524cef079a34a0bb82144d"},
{file = "pydantic-2.10.3.tar.gz", hash = "sha256:cb5ac360ce894ceacd69c403187900a02c4b20b693a9dd1d643e1effab9eadf9"},
@@ -330,6 +348,7 @@ version = "2.27.1"
description = "Core functionality for Pydantic validation and serialization"
optional = false
python-versions = ">=3.8"
+groups = ["main"]
files = [
{file = "pydantic_core-2.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:71a5e35c75c021aaf400ac048dacc855f000bdfed91614b4a726f7432f1f3d6a"},
{file = "pydantic_core-2.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f82d068a2d6ecfc6e054726080af69a6764a10015467d7d7b9f66d6ed5afa23b"},
@@ -442,6 +461,7 @@ version = "3.2.3"
description = "python code static checker"
optional = false
python-versions = ">=3.8.0"
+groups = ["dev"]
files = [
{file = "pylint-3.2.3-py3-none-any.whl", hash = "sha256:b3d7d2708a3e04b4679e02d99e72329a8b7ee8afb8d04110682278781f889fa8"},
{file = "pylint-3.2.3.tar.gz", hash = "sha256:02f6c562b215582386068d52a30f520d84fdbcf2a95fc7e855b816060d048b60"},
@@ -472,6 +492,7 @@ version = "2.8.2"
description = "Extensions to the standard Python datetime module"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
+groups = ["main"]
files = [
{file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
{file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
@@ -486,6 +507,7 @@ version = "1.16.0"
description = "Python 2 and 3 compatibility utilities"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
+groups = ["main"]
files = [
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
@@ -497,6 +519,7 @@ version = "1.3.1"
description = "Sniff out which async library your code is running under"
optional = false
python-versions = ">=3.7"
+groups = ["main"]
files = [
{file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"},
{file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"},
@@ -508,6 +531,8 @@ version = "2.0.1"
description = "A lil' TOML parser"
optional = false
python-versions = ">=3.7"
+groups = ["dev"]
+markers = "python_version < \"3.11\""
files = [
{file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
{file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
@@ -519,6 +544,7 @@ version = "0.13.2"
description = "Style preserving TOML library"
optional = false
python-versions = ">=3.8"
+groups = ["dev"]
files = [
{file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"},
{file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"},
@@ -530,6 +556,7 @@ version = "2.9.0.20240906"
description = "Typing stubs for python-dateutil"
optional = false
python-versions = ">=3.8"
+groups = ["dev"]
files = [
{file = "types-python-dateutil-2.9.0.20240906.tar.gz", hash = "sha256:9706c3b68284c25adffc47319ecc7947e5bb86b3773f843c73906fd598bc176e"},
{file = "types_python_dateutil-2.9.0.20240906-py3-none-any.whl", hash = "sha256:27c8cc2d058ccb14946eebcaaa503088f4f6dbc4fb6093d3d456a49aef2753f6"},
@@ -541,6 +568,7 @@ version = "4.12.2"
description = "Backported and Experimental Type Hints for Python 3.8+"
optional = false
python-versions = ">=3.8"
+groups = ["main", "dev"]
files = [
{file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"},
{file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
@@ -552,6 +580,7 @@ version = "0.9.0"
description = "Runtime inspection utilities for typing module."
optional = false
python-versions = "*"
+groups = ["main"]
files = [
{file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"},
{file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"},
@@ -562,6 +591,6 @@ mypy-extensions = ">=0.3.0"
typing-extensions = ">=3.7.4"
[metadata]
-lock-version = "2.0"
-python-versions = "^3.8"
-content-hash = "dafd205e861595cb47c0303bde44b5001f1831d009afd025a78e1a25662532f2"
+lock-version = "2.1"
+python-versions = ">=3.9"
+content-hash = "1bd4e6f40bcdc58f113fbd67b7c65821133d23a04876c22cf3119c1bc9a5fb6b"
diff --git a/bank-feeds/pylintrc b/bank-feeds/pylintrc
index 508003862..f2385e87a 100644
--- a/bank-feeds/pylintrc
+++ b/bank-feeds/pylintrc
@@ -89,7 +89,7 @@ persistent=yes
# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.
-py-version=3.8
+py-version=3.9
# Discover python modules and packages in the file system subtree.
recursive=no
diff --git a/bank-feeds/pyproject.toml b/bank-feeds/pyproject.toml
index 81527bb2f..89bd3cfe5 100644
--- a/bank-feeds/pyproject.toml
+++ b/bank-feeds/pyproject.toml
@@ -1,9 +1,20 @@
-[tool.poetry]
+[project]
name = "codat-bankfeeds"
-version = "10.1.1"
+version = "10.2.0"
description = "Set up bank feeds from accounts in your application to supported accounting software."
-authors = ["Speakeasy",]
+authors = [{ name = "Speakeasy" },]
readme = "README-PYPI.md"
+requires-python = ">=3.9"
+dependencies = [
+ "eval-type-backport (>=0.2.0,<0.3.0)",
+ "httpx (>=0.28.1,<0.29.0)",
+ "jsonpath-python (>=1.0.6,<2.0.0)",
+ "pydantic (>=2.10.3,<2.11.0)",
+ "python-dateutil (>=2.8.2,<3.0.0)",
+ "typing-inspect (>=0.9.0,<0.10.0)",
+]
+
+[tool.poetry]
repository = "https://github.com/codatio/client-sdk-python.git"
packages = [
{ include = "codat_bankfeeds", from = "src" }
@@ -16,15 +27,6 @@ include = ["py.typed", "src/codat_bankfeeds/py.typed"]
[virtualenvs]
in-project = true
-[tool.poetry.dependencies]
-python = "^3.8"
-eval-type-backport = "^0.2.0"
-httpx = "^0.28.1"
-jsonpath-python = "^1.0.6"
-pydantic = "~2.10.3"
-python-dateutil = "^2.8.2"
-typing-inspect = "^0.9.0"
-
[tool.poetry.group.dev.dependencies]
mypy = "==1.14.1"
pylint = "==3.2.3"
diff --git a/bank-feeds/src/codat_bankfeeds/__init__.py b/bank-feeds/src/codat_bankfeeds/__init__.py
index 5c3491793..833c68cd5 100644
--- a/bank-feeds/src/codat_bankfeeds/__init__.py
+++ b/bank-feeds/src/codat_bankfeeds/__init__.py
@@ -1,8 +1,17 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
-from ._version import __title__, __version__
+from ._version import (
+ __title__,
+ __version__,
+ __openapi_doc_version__,
+ __gen_version__,
+ __user_agent__,
+)
from .sdk import *
from .sdkconfiguration import *
VERSION: str = __version__
+OPENAPI_DOC_VERSION = __openapi_doc_version__
+SPEAKEASY_GENERATOR_VERSION = __gen_version__
+USER_AGENT = __user_agent__
diff --git a/bank-feeds/src/codat_bankfeeds/_version.py b/bank-feeds/src/codat_bankfeeds/_version.py
index a3983ac45..b669f9120 100644
--- a/bank-feeds/src/codat_bankfeeds/_version.py
+++ b/bank-feeds/src/codat_bankfeeds/_version.py
@@ -3,7 +3,10 @@
import importlib.metadata
__title__: str = "codat-bankfeeds"
-__version__: str = "10.1.1"
+__version__: str = "10.2.0"
+__openapi_doc_version__: str = "3.0.0"
+__gen_version__: str = "2.493.31"
+__user_agent__: str = "speakeasy-sdk/python 10.2.0 2.493.31 3.0.0 codat-bankfeeds"
try:
if __package__ is not None:
diff --git a/bank-feeds/src/codat_bankfeeds/account_mapping.py b/bank-feeds/src/codat_bankfeeds/account_mapping.py
index 8a54a6e01..1c7e09ccb 100644
--- a/bank-feeds/src/codat_bankfeeds/account_mapping.py
+++ b/bank-feeds/src/codat_bankfeeds/account_mapping.py
@@ -139,13 +139,19 @@ def create(
http_res.text, Optional[shared.BankFeedAccountMappingResponse]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -288,13 +294,19 @@ async def create_async(
http_res.text, Optional[shared.BankFeedAccountMappingResponse]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -404,13 +416,19 @@ def get(
http_res.text, Optional[List[shared.BankFeedMapping]]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -520,13 +538,19 @@ async def get_async(
http_res.text, Optional[List[shared.BankFeedMapping]]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
diff --git a/bank-feeds/src/codat_bankfeeds/bank_accounts.py b/bank-feeds/src/codat_bankfeeds/bank_accounts.py
index dc2cf1789..002c95ef3 100644
--- a/bank-feeds/src/codat_bankfeeds/bank_accounts.py
+++ b/bank-feeds/src/codat_bankfeeds/bank_accounts.py
@@ -114,13 +114,19 @@ def create(
http_res.text, Optional[shared.BankAccountCreateResponse]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -238,13 +244,19 @@ async def create_async(
http_res.text, Optional[shared.BankAccountCreateResponse]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -355,13 +367,19 @@ def get_create_model(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.PushOption])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -472,13 +490,19 @@ async def get_create_model_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.PushOption])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -588,12 +612,20 @@ def list(
return utils.unmarshal_json(http_res.text, Optional[shared.BankAccounts])
if utils.match_response(
http_res,
- ["400", "401", "402", "403", "404", "409", "429", "500", "503"],
+ ["400", "401", "402", "403", "404", "409", "429"],
"application/json",
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -703,12 +735,20 @@ async def list_async(
return utils.unmarshal_json(http_res.text, Optional[shared.BankAccounts])
if utils.match_response(
http_res,
- ["400", "401", "402", "403", "404", "409", "429", "500", "503"],
+ ["400", "401", "402", "403", "404", "409", "429"],
"application/json",
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
diff --git a/bank-feeds/src/codat_bankfeeds/companies.py b/bank-feeds/src/codat_bankfeeds/companies.py
index b0d51930e..32b26c135 100644
--- a/bank-feeds/src/codat_bankfeeds/companies.py
+++ b/bank-feeds/src/codat_bankfeeds/companies.py
@@ -105,13 +105,19 @@ def create(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Company])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -220,13 +226,19 @@ async def create_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Company])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -331,13 +343,19 @@ def delete(
if utils.match_response(http_res, "204", "*"):
return
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -442,13 +460,19 @@ async def delete_async(
if utils.match_response(http_res, "204", "*"):
return
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -553,13 +577,19 @@ def get(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Company])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -664,13 +694,19 @@ async def get_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Company])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -775,13 +811,19 @@ def get_access_token(
http_res.text, Optional[shared.CompanyAccessToken]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -886,13 +928,19 @@ async def get_access_token_async(
http_res.text, Optional[shared.CompanyAccessToken]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1010,13 +1058,19 @@ def list(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Companies])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1134,13 +1188,19 @@ async def list_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Companies])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1251,13 +1311,19 @@ def replace(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Company])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1368,13 +1434,19 @@ async def replace_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Company])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1486,13 +1558,19 @@ def update(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Company])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1604,13 +1682,19 @@ async def update_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Company])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
diff --git a/bank-feeds/src/codat_bankfeeds/company_information.py b/bank-feeds/src/codat_bankfeeds/company_information.py
index 3413e9d3e..5c439d389 100644
--- a/bank-feeds/src/codat_bankfeeds/company_information.py
+++ b/bank-feeds/src/codat_bankfeeds/company_information.py
@@ -103,13 +103,19 @@ def get(
http_res.text, Optional[shared.CompanyInformation]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -216,13 +222,19 @@ async def get_async(
http_res.text, Optional[shared.CompanyInformation]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
diff --git a/bank-feeds/src/codat_bankfeeds/configuration.py b/bank-feeds/src/codat_bankfeeds/configuration.py
index b3e7a673f..d5e719a84 100644
--- a/bank-feeds/src/codat_bankfeeds/configuration.py
+++ b/bank-feeds/src/codat_bankfeeds/configuration.py
@@ -98,13 +98,19 @@ def get(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Configuration])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -206,13 +212,19 @@ async def get_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Configuration])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -321,13 +333,19 @@ def set(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Configuration])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -436,13 +454,19 @@ async def set_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Configuration])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
diff --git a/bank-feeds/src/codat_bankfeeds/connections.py b/bank-feeds/src/codat_bankfeeds/connections.py
index 2c646d965..fc808b712 100644
--- a/bank-feeds/src/codat_bankfeeds/connections.py
+++ b/bank-feeds/src/codat_bankfeeds/connections.py
@@ -107,13 +107,19 @@ def create(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Connection])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -224,13 +230,19 @@ async def create_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Connection])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -333,13 +345,19 @@ def delete(
if utils.match_response(http_res, "200", "*"):
return
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -442,13 +460,19 @@ async def delete_async(
if utils.match_response(http_res, "200", "*"):
return
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -549,13 +573,19 @@ def get(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Connection])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -656,13 +686,19 @@ async def get_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Connection])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -765,13 +801,19 @@ def list(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Connections])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -874,13 +916,19 @@ async def list_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Connections])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -989,13 +1037,19 @@ def unlink(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Connection])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1104,13 +1158,19 @@ async def unlink_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.Connection])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
diff --git a/bank-feeds/src/codat_bankfeeds/models/errors/__init__.py b/bank-feeds/src/codat_bankfeeds/models/errors/__init__.py
index f056b05a6..315c58410 100644
--- a/bank-feeds/src/codat_bankfeeds/models/errors/__init__.py
+++ b/bank-feeds/src/codat_bankfeeds/models/errors/__init__.py
@@ -3,4 +3,5 @@
from .errormessage import ErrorMessage, ErrorMessageData
from .sdkerror import SDKError
+
__all__ = ["ErrorMessage", "ErrorMessageData", "SDKError"]
diff --git a/bank-feeds/src/codat_bankfeeds/models/operations/__init__.py b/bank-feeds/src/codat_bankfeeds/models/operations/__init__.py
index 256860949..5832ea3dd 100644
--- a/bank-feeds/src/codat_bankfeeds/models/operations/__init__.py
+++ b/bank-feeds/src/codat_bankfeeds/models/operations/__init__.py
@@ -117,6 +117,7 @@
UpdateSourceAccountRequestTypedDict,
)
+
__all__ = [
"CreateBankAccountMappingRequest",
"CreateBankAccountMappingRequestTypedDict",
diff --git a/bank-feeds/src/codat_bankfeeds/models/shared/__init__.py b/bank-feeds/src/codat_bankfeeds/models/shared/__init__.py
index b5548772d..38615b362 100644
--- a/bank-feeds/src/codat_bankfeeds/models/shared/__init__.py
+++ b/bank-feeds/src/codat_bankfeeds/models/shared/__init__.py
@@ -134,6 +134,10 @@
SourceAccountBatchCreateResponse,
SourceAccountBatchCreateResponseTypedDict,
)
+from .sourceaccountbatchcreateresult import (
+ SourceAccountBatchCreateResult,
+ SourceAccountBatchCreateResultTypedDict,
+)
from .sourceaccountbatcherrorresponse import (
Result,
ResultTypedDict,
@@ -154,6 +158,10 @@
SourceAccountV2BatchCreateResponse,
SourceAccountV2BatchCreateResponseTypedDict,
)
+from .sourceaccountv2batchcreateresult import (
+ SourceAccountV2BatchCreateResult,
+ SourceAccountV2BatchCreateResultTypedDict,
+)
from .sourceaccountv2prototype import (
SourceAccountV2Prototype,
SourceAccountV2PrototypeTypedDict,
@@ -172,6 +180,7 @@
from .validation import Validation, ValidationTypedDict
from .validationitem import ValidationItem, ValidationItemTypedDict
+
__all__ = [
"AccountInfo",
"AccountInfoTypedDict",
@@ -300,6 +309,8 @@
"SourceAccount",
"SourceAccountBatchCreateResponse",
"SourceAccountBatchCreateResponseTypedDict",
+ "SourceAccountBatchCreateResult",
+ "SourceAccountBatchCreateResultTypedDict",
"SourceAccountBatchErrorResponse",
"SourceAccountBatchErrorResponseTypedDict",
"SourceAccountPrototype",
@@ -309,6 +320,8 @@
"SourceAccountV2AccountType",
"SourceAccountV2BatchCreateResponse",
"SourceAccountV2BatchCreateResponseTypedDict",
+ "SourceAccountV2BatchCreateResult",
+ "SourceAccountV2BatchCreateResultTypedDict",
"SourceAccountV2Prototype",
"SourceAccountV2PrototypeTypedDict",
"SourceAccountV2Status",
diff --git a/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountbatchcreateresponse.py b/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountbatchcreateresponse.py
index 486bc1b0a..6b39e8698 100644
--- a/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountbatchcreateresponse.py
+++ b/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountbatchcreateresponse.py
@@ -1,7 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from .sourceaccount import SourceAccount, SourceAccountTypedDict
+from .sourceaccountbatchcreateresult import (
+ SourceAccountBatchCreateResult,
+ SourceAccountBatchCreateResultTypedDict,
+)
from codat_bankfeeds.types import BaseModel
import pydantic
from typing import Optional
@@ -9,19 +12,19 @@
class SourceAccountBatchCreateResponseTypedDict(TypedDict):
- r"""The account ID and source account object of the successfully created source account."""
+ r"""Account ID and resulting object of the batch `Create source account` request."""
- result: NotRequired[SourceAccountTypedDict]
- r"""The target bank account in a supported accounting software for ingestion into a bank feed."""
+ result: NotRequired[SourceAccountBatchCreateResultTypedDict]
+ r"""Status details and corresponding object of the `Create account` operation."""
source_account_id: NotRequired[str]
r"""Unique ID for the source account."""
class SourceAccountBatchCreateResponse(BaseModel):
- r"""The account ID and source account object of the successfully created source account."""
+ r"""Account ID and resulting object of the batch `Create source account` request."""
- result: Optional[SourceAccount] = None
- r"""The target bank account in a supported accounting software for ingestion into a bank feed."""
+ result: Optional[SourceAccountBatchCreateResult] = None
+ r"""Status details and corresponding object of the `Create account` operation."""
source_account_id: Annotated[
Optional[str], pydantic.Field(alias="sourceAccountId")
diff --git a/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountbatchcreateresult.py b/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountbatchcreateresult.py
new file mode 100644
index 000000000..d97e28d8f
--- /dev/null
+++ b/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountbatchcreateresult.py
@@ -0,0 +1,69 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from __future__ import annotations
+from .sourceaccount import SourceAccount, SourceAccountTypedDict
+from codat_bankfeeds.types import (
+ BaseModel,
+ Nullable,
+ OptionalNullable,
+ UNSET,
+ UNSET_SENTINEL,
+)
+import pydantic
+from pydantic import model_serializer
+from typing import Optional
+from typing_extensions import Annotated, NotRequired, TypedDict
+
+
+class SourceAccountBatchCreateResultTypedDict(TypedDict):
+ r"""Status details and corresponding object of the `Create account` operation."""
+
+ account: NotRequired[SourceAccountTypedDict]
+ r"""The target bank account in a supported accounting software for ingestion into a bank feed."""
+ error: NotRequired[Nullable[str]]
+ r"""A brief description of the error."""
+ status_code: NotRequired[int]
+ r"""The HTTP status code for the creation of the source account"""
+
+
+class SourceAccountBatchCreateResult(BaseModel):
+ r"""Status details and corresponding object of the `Create account` operation."""
+
+ account: Optional[SourceAccount] = None
+ r"""The target bank account in a supported accounting software for ingestion into a bank feed."""
+
+ error: OptionalNullable[str] = UNSET
+ r"""A brief description of the error."""
+
+ status_code: Annotated[Optional[int], pydantic.Field(alias="statusCode")] = None
+ r"""The HTTP status code for the creation of the source account"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = ["account", "error", "statusCode"]
+ nullable_fields = ["error"]
+ null_default_fields = []
+
+ serialized = handler(self)
+
+ m = {}
+
+ for n, f in self.model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+ serialized.pop(k, None)
+
+ optional_nullable = k in optional_fields and k in nullable_fields
+ is_set = (
+ self.__pydantic_fields_set__.intersection({n})
+ or k in null_default_fields
+ ) # pylint: disable=no-member
+
+ if val is not None and val != UNSET_SENTINEL:
+ m[k] = val
+ elif val != UNSET_SENTINEL and (
+ not k in optional_fields or (optional_nullable and is_set)
+ ):
+ m[k] = val
+
+ return m
diff --git a/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountv2batchcreateresponse.py b/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountv2batchcreateresponse.py
index 7becbe9e2..bf73a9bbb 100644
--- a/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountv2batchcreateresponse.py
+++ b/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountv2batchcreateresponse.py
@@ -1,7 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from .sourceaccountv2 import SourceAccountV2, SourceAccountV2TypedDict
+from .sourceaccountv2batchcreateresult import (
+ SourceAccountV2BatchCreateResult,
+ SourceAccountV2BatchCreateResultTypedDict,
+)
from codat_bankfeeds.types import BaseModel
import pydantic
from typing import Optional
@@ -9,19 +12,19 @@
class SourceAccountV2BatchCreateResponseTypedDict(TypedDict):
- r"""The account ID and source account object of the successfully created source account."""
+ r"""Account ID and resulting object of the batch `Create source account` request."""
- result: NotRequired[SourceAccountV2TypedDict]
- r"""The target bank account in a supported accounting software for ingestion into a bank feed."""
+ result: NotRequired[SourceAccountV2BatchCreateResultTypedDict]
+ r"""Status details and corresponding object of the `Create account` operation."""
source_account_id: NotRequired[str]
r"""Unique ID for the source account."""
class SourceAccountV2BatchCreateResponse(BaseModel):
- r"""The account ID and source account object of the successfully created source account."""
+ r"""Account ID and resulting object of the batch `Create source account` request."""
- result: Optional[SourceAccountV2] = None
- r"""The target bank account in a supported accounting software for ingestion into a bank feed."""
+ result: Optional[SourceAccountV2BatchCreateResult] = None
+ r"""Status details and corresponding object of the `Create account` operation."""
source_account_id: Annotated[
Optional[str], pydantic.Field(alias="sourceAccountId")
diff --git a/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountv2batchcreateresult.py b/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountv2batchcreateresult.py
new file mode 100644
index 000000000..cf0675943
--- /dev/null
+++ b/bank-feeds/src/codat_bankfeeds/models/shared/sourceaccountv2batchcreateresult.py
@@ -0,0 +1,69 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from __future__ import annotations
+from .sourceaccountv2 import SourceAccountV2, SourceAccountV2TypedDict
+from codat_bankfeeds.types import (
+ BaseModel,
+ Nullable,
+ OptionalNullable,
+ UNSET,
+ UNSET_SENTINEL,
+)
+import pydantic
+from pydantic import model_serializer
+from typing import Optional
+from typing_extensions import Annotated, NotRequired, TypedDict
+
+
+class SourceAccountV2BatchCreateResultTypedDict(TypedDict):
+ r"""Status details and corresponding object of the `Create account` operation."""
+
+ account: NotRequired[SourceAccountV2TypedDict]
+ r"""The target bank account in a supported accounting software for ingestion into a bank feed."""
+ error: NotRequired[Nullable[str]]
+ r"""A brief description of the error."""
+ status_code: NotRequired[int]
+ r"""The HTTP status code for the creation of the source account"""
+
+
+class SourceAccountV2BatchCreateResult(BaseModel):
+ r"""Status details and corresponding object of the `Create account` operation."""
+
+ account: Optional[SourceAccountV2] = None
+ r"""The target bank account in a supported accounting software for ingestion into a bank feed."""
+
+ error: OptionalNullable[str] = UNSET
+ r"""A brief description of the error."""
+
+ status_code: Annotated[Optional[int], pydantic.Field(alias="statusCode")] = None
+ r"""The HTTP status code for the creation of the source account"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = ["account", "error", "statusCode"]
+ nullable_fields = ["error"]
+ null_default_fields = []
+
+ serialized = handler(self)
+
+ m = {}
+
+ for n, f in self.model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+ serialized.pop(k, None)
+
+ optional_nullable = k in optional_fields and k in nullable_fields
+ is_set = (
+ self.__pydantic_fields_set__.intersection({n})
+ or k in null_default_fields
+ ) # pylint: disable=no-member
+
+ if val is not None and val != UNSET_SENTINEL:
+ m[k] = val
+ elif val != UNSET_SENTINEL and (
+ not k in optional_fields or (optional_nullable and is_set)
+ ):
+ m[k] = val
+
+ return m
diff --git a/bank-feeds/src/codat_bankfeeds/sdkconfiguration.py b/bank-feeds/src/codat_bankfeeds/sdkconfiguration.py
index 13489b87b..b4131915e 100644
--- a/bank-feeds/src/codat_bankfeeds/sdkconfiguration.py
+++ b/bank-feeds/src/codat_bankfeeds/sdkconfiguration.py
@@ -1,6 +1,12 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from ._hooks import SDKHooks
+from ._version import (
+ __gen_version__,
+ __openapi_doc_version__,
+ __user_agent__,
+ __version__,
+)
from .httpclient import AsyncHttpClient, HttpClient
from .utils import Logger, RetryConfig, remove_suffix
from codat_bankfeeds.models import shared
@@ -26,10 +32,10 @@ class SDKConfiguration:
server_url: Optional[str] = ""
server_idx: Optional[int] = 0
language: str = "python"
- openapi_doc_version: str = "3.0.0"
- sdk_version: str = "10.1.1"
- gen_version: str = "2.488.4"
- user_agent: str = "speakeasy-sdk/python 10.1.1 2.488.4 3.0.0 codat-bankfeeds"
+ openapi_doc_version: str = __openapi_doc_version__
+ sdk_version: str = __version__
+ gen_version: str = __gen_version__
+ user_agent: str = __user_agent__
retry_config: OptionalNullable[RetryConfig] = Field(default_factory=lambda: UNSET)
timeout_ms: Optional[int] = None
diff --git a/bank-feeds/src/codat_bankfeeds/source_accounts.py b/bank-feeds/src/codat_bankfeeds/source_accounts.py
index a6dfbc0fe..1e5107189 100644
--- a/bank-feeds/src/codat_bankfeeds/source_accounts.py
+++ b/bank-feeds/src/codat_bankfeeds/source_accounts.py
@@ -112,13 +112,19 @@ def create(
http_res.text, Optional[operations.CreateSourceAccountResponseBody]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -233,13 +239,19 @@ async def create_async(
http_res.text, Optional[operations.CreateSourceAccountResponseBody]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -363,12 +375,20 @@ def create_batch(
)
if utils.match_response(
http_res,
- ["400", "401", "402", "403", "404", "409", "429", "500", "503"],
+ ["400", "401", "402", "403", "404", "409", "429"],
"application/json",
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -492,12 +512,20 @@ async def create_batch_async(
)
if utils.match_response(
http_res,
- ["400", "401", "402", "403", "404", "409", "429", "500", "503"],
+ ["400", "401", "402", "403", "404", "409", "429"],
"application/json",
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -602,13 +630,19 @@ def delete(
if utils.match_response(http_res, "204", "*"):
return
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -713,13 +747,19 @@ async def delete_async(
if utils.match_response(http_res, "204", "*"):
return
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -825,13 +865,19 @@ def delete_credentials(
if utils.match_response(http_res, "204", "*"):
return
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -937,13 +983,19 @@ async def delete_credentials_async(
if utils.match_response(http_res, "204", "*"):
return
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1060,13 +1112,19 @@ def generate_credentials(
http_res.text, Optional[shared.BankAccountCredentials]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1183,13 +1241,19 @@ async def generate_credentials_async(
http_res.text, Optional[shared.BankAccountCredentials]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1298,13 +1362,19 @@ def list(
http_res.text, Optional[operations.ListSourceAccountsResponseBody]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1413,13 +1483,19 @@ async def list_async(
http_res.text, Optional[operations.ListSourceAccountsResponseBody]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1536,13 +1612,19 @@ def update(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.SourceAccount])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -1659,13 +1741,19 @@ async def update_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.SourceAccount])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
diff --git a/bank-feeds/src/codat_bankfeeds/sync.py b/bank-feeds/src/codat_bankfeeds/sync.py
index 724afcaa0..a8b2b6b82 100644
--- a/bank-feeds/src/codat_bankfeeds/sync.py
+++ b/bank-feeds/src/codat_bankfeeds/sync.py
@@ -100,13 +100,19 @@ def get_last_successful_sync(
http_res.text, Optional[shared.CompanySyncStatus]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -210,13 +216,19 @@ async def get_last_successful_sync_async(
http_res.text, Optional[shared.CompanySyncStatus]
)
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
diff --git a/bank-feeds/src/codat_bankfeeds/transactions.py b/bank-feeds/src/codat_bankfeeds/transactions.py
index c89940eff..eb86b1db7 100644
--- a/bank-feeds/src/codat_bankfeeds/transactions.py
+++ b/bank-feeds/src/codat_bankfeeds/transactions.py
@@ -115,13 +115,19 @@ def create(
http_res.text, Optional[shared.CreateBankTransactionsResponse]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -240,13 +246,19 @@ async def create_async(
http_res.text, Optional[shared.CreateBankTransactionsResponse]
)
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -356,13 +368,19 @@ def get_create_model(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.PushOption])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -472,13 +490,19 @@ async def get_create_model_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.PushOption])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -584,13 +608,19 @@ def get_create_operation(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.PushOperation])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -696,13 +726,19 @@ async def get_create_operation_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.PushOperation])
if utils.match_response(
- http_res,
- ["401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -809,13 +845,19 @@ def list_create_operations(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.PushOperations])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = utils.stream_to_text(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res
@@ -922,13 +964,19 @@ async def list_create_operations_async(
if utils.match_response(http_res, "200", "application/json"):
return utils.unmarshal_json(http_res.text, Optional[shared.PushOperations])
if utils.match_response(
- http_res,
- ["400", "401", "402", "403", "404", "429", "500", "503"],
- "application/json",
+ http_res, ["400", "401", "402", "403", "404", "429"], "application/json"
):
data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
raise errors.ErrorMessage(data=data)
- if utils.match_response(http_res, ["4XX", "5XX"], "*"):
+ if utils.match_response(http_res, ["500", "503"], "application/json"):
+ data = utils.unmarshal_json(http_res.text, errors.ErrorMessageData)
+ raise errors.ErrorMessage(data=data)
+ if utils.match_response(http_res, "4XX", "*"):
+ http_res_text = await utils.stream_to_text_async(http_res)
+ raise errors.SDKError(
+ "API error occurred", http_res.status_code, http_res_text, http_res
+ )
+ if utils.match_response(http_res, "5XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.SDKError(
"API error occurred", http_res.status_code, http_res_text, http_res