diff --git a/bank-feeds/README.md b/bank-feeds/README.md
index cc7357a9a..793c10e76 100755
--- a/bank-feeds/README.md
+++ b/bank-feeds/README.md
@@ -14,8 +14,6 @@ pip install codat-bankfeeds
## Example Usage
-
-
```python
import codatbankfeeds
from codatbankfeeds.models import operations, shared
@@ -29,8 +27,6 @@ s = codatbankfeeds.CodatBankFeeds(
req = operations.CreateBankAccountMappingRequest(
request_body=operations.CreateBankAccountMappingBankFeedAccountMapping(
feed_start_date='2022-10-23T00:00:00.000Z',
- source_account_id='provident',
- target_account_id='distinctio',
),
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
@@ -40,6 +36,7 @@ res = s.account_mapping.create(req)
if res.bank_feed_account_mapping_response is not None:
# handle response
+ pass
```
@@ -47,12 +44,12 @@ if res.bank_feed_account_mapping_response is not None:
## Available Resources and Operations
-### [AccountMapping](docs/sdks/accountmapping/README.md)
+### [account_mapping](docs/sdks/accountmapping/README.md)
* [create](docs/sdks/accountmapping/README.md#create) - Create bank feed account mapping
* [get](docs/sdks/accountmapping/README.md#get) - List bank feed account mappings
-### [Companies](docs/sdks/companies/README.md)
+### [companies](docs/sdks/companies/README.md)
* [create](docs/sdks/companies/README.md#create) - Create company
* [delete](docs/sdks/companies/README.md#delete) - Delete a company
@@ -60,7 +57,7 @@ if res.bank_feed_account_mapping_response is not None:
* [list](docs/sdks/companies/README.md#list) - List companies
* [update](docs/sdks/companies/README.md#update) - Update company
-### [Connections](docs/sdks/connections/README.md)
+### [connections](docs/sdks/connections/README.md)
* [create](docs/sdks/connections/README.md#create) - Create connection
* [delete](docs/sdks/connections/README.md#delete) - Delete connection
@@ -68,7 +65,7 @@ if res.bank_feed_account_mapping_response is not None:
* [list](docs/sdks/connections/README.md#list) - List connections
* [unlink](docs/sdks/connections/README.md#unlink) - Unlink connection
-### [SourceAccounts](docs/sdks/sourceaccounts/README.md)
+### [source_accounts](docs/sdks/sourceaccounts/README.md)
* [create](docs/sdks/sourceaccounts/README.md#create) - Create source account
* [delete](docs/sdks/sourceaccounts/README.md#delete) - Delete source account
@@ -77,10 +74,22 @@ if res.bank_feed_account_mapping_response is not None:
* [list](docs/sdks/sourceaccounts/README.md#list) - List source accounts
* [update](docs/sdks/sourceaccounts/README.md#update) - Update source account
-### [Transactions](docs/sdks/transactions/README.md)
+### [transactions](docs/sdks/transactions/README.md)
* [create](docs/sdks/transactions/README.md#create) - Create bank transactions
* [get_create_operation](docs/sdks/transactions/README.md#get_create_operation) - Get create operation
* [list_create_operations](docs/sdks/transactions/README.md#list_create_operations) - List create operations
+
+
+
+
+
+
+
+
+
+
+
+
### Library generated by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks)
\ No newline at end of file
diff --git a/bank-feeds/RELEASES.md b/bank-feeds/RELEASES.md
index aaa886eb6..544193aba 100644
--- a/bank-feeds/RELEASES.md
+++ b/bank-feeds/RELEASES.md
@@ -718,4 +718,14 @@ Based on:
### Generated
- [python v3.1.0] bank-feeds
### Releases
-- [PyPI v3.1.0] https://pypi.org/project/codat-bankfeeds/3.1.0 - bank-feeds
\ No newline at end of file
+- [PyPI v3.1.0] https://pypi.org/project/codat-bankfeeds/3.1.0 - bank-feeds
+
+## 2023-10-17 14:48:04
+### Changes
+Based on:
+- OpenAPI Doc 3.0.0 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Bank-Feeds.yaml
+- Speakeasy CLI 1.100.2 (2.159.2) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v4.0.0] bank-feeds
+### Releases
+- [PyPI v4.0.0] https://pypi.org/project/codat-bankfeeds/4.0.0 - bank-feeds
\ No newline at end of file
diff --git a/bank-feeds/USAGE.md b/bank-feeds/USAGE.md
index eb4e556e0..cacc0c47e 100755
--- a/bank-feeds/USAGE.md
+++ b/bank-feeds/USAGE.md
@@ -14,8 +14,6 @@ s = codatbankfeeds.CodatBankFeeds(
req = operations.CreateBankAccountMappingRequest(
request_body=operations.CreateBankAccountMappingBankFeedAccountMapping(
feed_start_date='2022-10-23T00:00:00.000Z',
- source_account_id='provident',
- target_account_id='distinctio',
),
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
@@ -25,5 +23,6 @@ res = s.account_mapping.create(req)
if res.bank_feed_account_mapping_response is not None:
# handle response
+ pass
```
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createbankaccountmappingrequest.md b/bank-feeds/docs/models/operations/createbankaccountmappingrequest.md
index 87648b9e1..279b53e9c 100755
--- a/bank-feeds/docs/models/operations/createbankaccountmappingrequest.md
+++ b/bank-feeds/docs/models/operations/createbankaccountmappingrequest.md
@@ -6,5 +6,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `request_body` | [Optional[CreateBankAccountMappingBankFeedAccountMapping]](../../models/operations/createbankaccountmappingbankfeedaccountmapping.md) | :heavy_minus_sign: | N/A | |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createbankaccountmappingresponse.md b/bank-feeds/docs/models/operations/createbankaccountmappingresponse.md
index 78fbc0983..e4722f35d 100755
--- a/bank-feeds/docs/models/operations/createbankaccountmappingresponse.md
+++ b/bank-feeds/docs/models/operations/createbankaccountmappingresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `bank_feed_account_mapping_response` | [Optional[shared.BankFeedAccountMappingResponse]](../../models/shared/bankfeedaccountmappingresponse.md) | :heavy_minus_sign: | Success |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | The request made is not valid. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createbanktransactionsrequest.md b/bank-feeds/docs/models/operations/createbanktransactionsrequest.md
index 6165ae14c..d8a719465 100755
--- a/bank-feeds/docs/models/operations/createbanktransactionsrequest.md
+++ b/bank-feeds/docs/models/operations/createbanktransactionsrequest.md
@@ -6,8 +6,8 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `create_bank_transactions` | [Optional[shared.CreateBankTransactions]](../../models/shared/createbanktransactions.md) | :heavy_minus_sign: | N/A | |
-| `account_id` | *str* | :heavy_check_mark: | Unique identifier for an account | 13d946f0-c5d5-42bc-b092-97ece17923ab |
-| `allow_sync_on_push_complete` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
-| `timeout_in_minutes` | *Optional[int]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `account_id` | *str* | :heavy_check_mark: | Unique identifier for an account. | 13d946f0-c5d5-42bc-b092-97ece17923ab |
+| `allow_sync_on_push_complete` | *Optional[bool]* | :heavy_minus_sign: | Allow a sync upon push completion. | |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
+| `timeout_in_minutes` | *Optional[int]* | :heavy_minus_sign: | Time limit for the push operation to complete before it is timed out. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createbanktransactionsresponse.md b/bank-feeds/docs/models/operations/createbanktransactionsresponse.md
index 883079e7f..7b8d425fd 100755
--- a/bank-feeds/docs/models/operations/createbanktransactionsresponse.md
+++ b/bank-feeds/docs/models/operations/createbanktransactionsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `create_bank_transactions_response` | [Optional[shared.CreateBankTransactionsResponse]](../../models/shared/createbanktransactionsresponse.md) | :heavy_minus_sign: | Success |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createcompanyresponse.md b/bank-feeds/docs/models/operations/createcompanyresponse.md
index ea59de39f..b780d6bc9 100755
--- a/bank-feeds/docs/models/operations/createcompanyresponse.md
+++ b/bank-feeds/docs/models/operations/createcompanyresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company` | [Optional[shared.Company]](../../models/shared/company.md) | :heavy_minus_sign: | OK |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | The request made is not valid. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createconnectionrequest.md b/bank-feeds/docs/models/operations/createconnectionrequest.md
index 775111c5e..b315a6d5e 100755
--- a/bank-feeds/docs/models/operations/createconnectionrequest.md
+++ b/bank-feeds/docs/models/operations/createconnectionrequest.md
@@ -6,4 +6,4 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `request_body` | [Optional[CreateConnectionRequestBody]](../../models/operations/createconnectionrequestbody.md) | :heavy_minus_sign: | N/A | |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createconnectionrequestbody.md b/bank-feeds/docs/models/operations/createconnectionrequestbody.md
index 510a6b3b0..891314d08 100755
--- a/bank-feeds/docs/models/operations/createconnectionrequestbody.md
+++ b/bank-feeds/docs/models/operations/createconnectionrequestbody.md
@@ -3,6 +3,6 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------ | ------------------ | ------------------ | ------------------ |
-| `platform_key` | *Optional[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `platform_key` | *Optional[str]* | :heavy_minus_sign: | A unique 4-letter key to represent a platform in each integration. View [accounting](https://docs.codat.io/integrations/accounting/overview#platform-keys), [banking](https://docs.codat.io/integrations/banking/overview#platform-keys), and [commerce](https://docs.codat.io/integrations/commerce/overview#platform-keys) platform keys. | gbol |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createconnectionresponse.md b/bank-feeds/docs/models/operations/createconnectionresponse.md
index 5aa8726d9..6cf898dc4 100755
--- a/bank-feeds/docs/models/operations/createconnectionresponse.md
+++ b/bank-feeds/docs/models/operations/createconnectionresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `connection` | [Optional[shared.Connection]](../../models/shared/connection.md) | :heavy_minus_sign: | OK |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createsourceaccountrequest.md b/bank-feeds/docs/models/operations/createsourceaccountrequest.md
index 09fbcf55d..e26084796 100755
--- a/bank-feeds/docs/models/operations/createsourceaccountrequest.md
+++ b/bank-feeds/docs/models/operations/createsourceaccountrequest.md
@@ -6,5 +6,5 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `source_account` | [Optional[shared.SourceAccount]](../../models/shared/sourceaccount.md) | :heavy_minus_sign: | N/A | |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/createsourceaccountresponse.md b/bank-feeds/docs/models/operations/createsourceaccountresponse.md
index b926a7c67..28e400823 100755
--- a/bank-feeds/docs/models/operations/createsourceaccountresponse.md
+++ b/bank-feeds/docs/models/operations/createsourceaccountresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | The request made is not valid. |
| `source_account` | [Optional[shared.SourceAccount]](../../models/shared/sourceaccount.md) | :heavy_minus_sign: | Success |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/deletebankfeedcredentialsrequest.md b/bank-feeds/docs/models/operations/deletebankfeedcredentialsrequest.md
index f1a15a75f..504ac9a26 100755
--- a/bank-feeds/docs/models/operations/deletebankfeedcredentialsrequest.md
+++ b/bank-feeds/docs/models/operations/deletebankfeedcredentialsrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/deletebankfeedcredentialsresponse.md b/bank-feeds/docs/models/operations/deletebankfeedcredentialsresponse.md
index a0b103749..2ecfa0793 100755
--- a/bank-feeds/docs/models/operations/deletebankfeedcredentialsresponse.md
+++ b/bank-feeds/docs/models/operations/deletebankfeedcredentialsresponse.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/deletecompanyrequest.md b/bank-feeds/docs/models/operations/deletecompanyrequest.md
index 268537e13..338ee40e5 100755
--- a/bank-feeds/docs/models/operations/deletecompanyrequest.md
+++ b/bank-feeds/docs/models/operations/deletecompanyrequest.md
@@ -5,4 +5,4 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/deletecompanyresponse.md b/bank-feeds/docs/models/operations/deletecompanyresponse.md
index ee9fe7cd3..f3f21c2cb 100755
--- a/bank-feeds/docs/models/operations/deletecompanyresponse.md
+++ b/bank-feeds/docs/models/operations/deletecompanyresponse.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/deleteconnectionrequest.md b/bank-feeds/docs/models/operations/deleteconnectionrequest.md
index 2cab8bf4a..9650dc387 100755
--- a/bank-feeds/docs/models/operations/deleteconnectionrequest.md
+++ b/bank-feeds/docs/models/operations/deleteconnectionrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/deleteconnectionresponse.md b/bank-feeds/docs/models/operations/deleteconnectionresponse.md
index 973be81b3..30889c508 100755
--- a/bank-feeds/docs/models/operations/deleteconnectionresponse.md
+++ b/bank-feeds/docs/models/operations/deleteconnectionresponse.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/deletesourceaccountrequest.md b/bank-feeds/docs/models/operations/deletesourceaccountrequest.md
index 3397e82e7..9d3e40997 100755
--- a/bank-feeds/docs/models/operations/deletesourceaccountrequest.md
+++ b/bank-feeds/docs/models/operations/deletesourceaccountrequest.md
@@ -5,6 +5,6 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `account_id` | *str* | :heavy_check_mark: | Unique identifier for an account | 13d946f0-c5d5-42bc-b092-97ece17923ab |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `account_id` | *str* | :heavy_check_mark: | Unique identifier for an account. | 13d946f0-c5d5-42bc-b092-97ece17923ab |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/deletesourceaccountresponse.md b/bank-feeds/docs/models/operations/deletesourceaccountresponse.md
index bd2e75b2f..a85f3e450 100755
--- a/bank-feeds/docs/models/operations/deletesourceaccountresponse.md
+++ b/bank-feeds/docs/models/operations/deletesourceaccountresponse.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/generatecredentialsrequest.md b/bank-feeds/docs/models/operations/generatecredentialsrequest.md
index 8bd6a8793..f7d0b1d5a 100755
--- a/bank-feeds/docs/models/operations/generatecredentialsrequest.md
+++ b/bank-feeds/docs/models/operations/generatecredentialsrequest.md
@@ -6,5 +6,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
| `request_body` | *bytes* | :heavy_check_mark: | N/A | |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/generatecredentialsresponse.md b/bank-feeds/docs/models/operations/generatecredentialsresponse.md
index d4200e9ef..b03fb6b42 100755
--- a/bank-feeds/docs/models/operations/generatecredentialsresponse.md
+++ b/bank-feeds/docs/models/operations/generatecredentialsresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `bank_account_credentials` | [Optional[shared.BankAccountCredentials]](../../models/shared/bankaccountcredentials.md) | :heavy_minus_sign: | Success |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/getbankaccountmappingrequest.md b/bank-feeds/docs/models/operations/getbankaccountmappingrequest.md
index b998c895a..236504a59 100755
--- a/bank-feeds/docs/models/operations/getbankaccountmappingrequest.md
+++ b/bank-feeds/docs/models/operations/getbankaccountmappingrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/getbankaccountmappingresponse.md b/bank-feeds/docs/models/operations/getbankaccountmappingresponse.md
index 57257d737..e017cb452 100755
--- a/bank-feeds/docs/models/operations/getbankaccountmappingresponse.md
+++ b/bank-feeds/docs/models/operations/getbankaccountmappingresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `bank_feed_mapping` | [Optional[shared.BankFeedMapping]](../../models/shared/bankfeedmapping.md) | :heavy_minus_sign: | Success |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/getcompanyrequest.md b/bank-feeds/docs/models/operations/getcompanyrequest.md
index 4c9629ab6..240b811b6 100755
--- a/bank-feeds/docs/models/operations/getcompanyrequest.md
+++ b/bank-feeds/docs/models/operations/getcompanyrequest.md
@@ -5,4 +5,4 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/getcompanyresponse.md b/bank-feeds/docs/models/operations/getcompanyresponse.md
index a0c0a41b1..2f82e6ca0 100755
--- a/bank-feeds/docs/models/operations/getcompanyresponse.md
+++ b/bank-feeds/docs/models/operations/getcompanyresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company` | [Optional[shared.Company]](../../models/shared/company.md) | :heavy_minus_sign: | OK |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/getconnectionrequest.md b/bank-feeds/docs/models/operations/getconnectionrequest.md
index d9d6f6c13..6e9f3d18b 100755
--- a/bank-feeds/docs/models/operations/getconnectionrequest.md
+++ b/bank-feeds/docs/models/operations/getconnectionrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/getconnectionresponse.md b/bank-feeds/docs/models/operations/getconnectionresponse.md
index 32fb66433..c308aece1 100755
--- a/bank-feeds/docs/models/operations/getconnectionresponse.md
+++ b/bank-feeds/docs/models/operations/getconnectionresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `connection` | [Optional[shared.Connection]](../../models/shared/connection.md) | :heavy_minus_sign: | OK |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/getcreateoperationrequest.md b/bank-feeds/docs/models/operations/getcreateoperationrequest.md
index 4f3f282b1..82b4db6ad 100755
--- a/bank-feeds/docs/models/operations/getcreateoperationrequest.md
+++ b/bank-feeds/docs/models/operations/getcreateoperationrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `push_operation_key` | *str* | :heavy_check_mark: | Push operation key. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/getcreateoperationresponse.md b/bank-feeds/docs/models/operations/getcreateoperationresponse.md
index e38875dfd..9bcc91f06 100755
--- a/bank-feeds/docs/models/operations/getcreateoperationresponse.md
+++ b/bank-feeds/docs/models/operations/getcreateoperationresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `push_operation` | [Optional[shared.PushOperation]](../../models/shared/pushoperation.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/listcompaniesresponse.md b/bank-feeds/docs/models/operations/listcompaniesresponse.md
index 506ed1fa1..d9c512cea 100755
--- a/bank-feeds/docs/models/operations/listcompaniesresponse.md
+++ b/bank-feeds/docs/models/operations/listcompaniesresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `companies` | [Optional[shared.Companies]](../../models/shared/companies.md) | :heavy_minus_sign: | OK |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your `query` parameter was not correctly formed |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/listconnectionsrequest.md b/bank-feeds/docs/models/operations/listconnectionsrequest.md
index 1cdcf0879..e13ad736b 100755
--- a/bank-feeds/docs/models/operations/listconnectionsrequest.md
+++ b/bank-feeds/docs/models/operations/listconnectionsrequest.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `order_by` | *Optional[str]* | :heavy_minus_sign: | Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results). | -modifiedDate |
| `page` | *Optional[int]* | :heavy_minus_sign: | Page number. [Read more](https://docs.codat.io/using-the-api/paging). | 1 |
| `page_size` | *Optional[int]* | :heavy_minus_sign: | Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging). | 100 |
diff --git a/bank-feeds/docs/models/operations/listconnectionsresponse.md b/bank-feeds/docs/models/operations/listconnectionsresponse.md
index 68f439c07..0de0ad796 100755
--- a/bank-feeds/docs/models/operations/listconnectionsresponse.md
+++ b/bank-feeds/docs/models/operations/listconnectionsresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `connections` | [Optional[shared.Connections]](../../models/shared/connections.md) | :heavy_minus_sign: | OK |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your `query` parameter was not correctly formed |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/listcreateoperationsrequest.md b/bank-feeds/docs/models/operations/listcreateoperationsrequest.md
index 18afa5f66..81b28fc41 100755
--- a/bank-feeds/docs/models/operations/listcreateoperationsrequest.md
+++ b/bank-feeds/docs/models/operations/listcreateoperationsrequest.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `order_by` | *Optional[str]* | :heavy_minus_sign: | Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results). | -modifiedDate |
| `page` | *Optional[int]* | :heavy_minus_sign: | Page number. [Read more](https://docs.codat.io/using-the-api/paging). | 1 |
| `page_size` | *Optional[int]* | :heavy_minus_sign: | Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging). | 100 |
diff --git a/bank-feeds/docs/models/operations/listcreateoperationsresponse.md b/bank-feeds/docs/models/operations/listcreateoperationsresponse.md
index bb3ebf648..0540ee668 100755
--- a/bank-feeds/docs/models/operations/listcreateoperationsresponse.md
+++ b/bank-feeds/docs/models/operations/listcreateoperationsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your `query` parameter was not correctly formed |
| `push_operations` | [Optional[shared.PushOperations]](../../models/shared/pushoperations.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/listsourceaccountsrequest.md b/bank-feeds/docs/models/operations/listsourceaccountsrequest.md
index ae8da40ac..3ea2a0879 100755
--- a/bank-feeds/docs/models/operations/listsourceaccountsrequest.md
+++ b/bank-feeds/docs/models/operations/listsourceaccountsrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/listsourceaccountsresponse.md b/bank-feeds/docs/models/operations/listsourceaccountsresponse.md
index bf5014887..0df3646e1 100755
--- a/bank-feeds/docs/models/operations/listsourceaccountsresponse.md
+++ b/bank-feeds/docs/models/operations/listsourceaccountsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `source_account` | [Optional[shared.SourceAccount]](../../models/shared/sourceaccount.md) | :heavy_minus_sign: | Success |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/unlinkconnectionrequest.md b/bank-feeds/docs/models/operations/unlinkconnectionrequest.md
index d20863dce..1f83e7cfa 100755
--- a/bank-feeds/docs/models/operations/unlinkconnectionrequest.md
+++ b/bank-feeds/docs/models/operations/unlinkconnectionrequest.md
@@ -6,5 +6,5 @@
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `request_body` | [Optional[UnlinkConnectionUpdateConnection]](../../models/operations/unlinkconnectionupdateconnection.md) | :heavy_minus_sign: | N/A | |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/unlinkconnectionresponse.md b/bank-feeds/docs/models/operations/unlinkconnectionresponse.md
index ced538908..642e8e815 100755
--- a/bank-feeds/docs/models/operations/unlinkconnectionresponse.md
+++ b/bank-feeds/docs/models/operations/unlinkconnectionresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `connection` | [Optional[shared.Connection]](../../models/shared/connection.md) | :heavy_minus_sign: | OK |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/updatecompanyrequest.md b/bank-feeds/docs/models/operations/updatecompanyrequest.md
index 697f00528..7b76c7562 100755
--- a/bank-feeds/docs/models/operations/updatecompanyrequest.md
+++ b/bank-feeds/docs/models/operations/updatecompanyrequest.md
@@ -6,4 +6,4 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `company_request_body` | [Optional[shared.CompanyRequestBody]](../../models/shared/companyrequestbody.md) | :heavy_minus_sign: | N/A | |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/updatecompanyresponse.md b/bank-feeds/docs/models/operations/updatecompanyresponse.md
index 9b9c51eef..b60ed7a56 100755
--- a/bank-feeds/docs/models/operations/updatecompanyresponse.md
+++ b/bank-feeds/docs/models/operations/updatecompanyresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company` | [Optional[shared.Company]](../../models/shared/company.md) | :heavy_minus_sign: | OK |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/updatesourceaccountrequest.md b/bank-feeds/docs/models/operations/updatesourceaccountrequest.md
index 86e5490eb..244378b77 100755
--- a/bank-feeds/docs/models/operations/updatesourceaccountrequest.md
+++ b/bank-feeds/docs/models/operations/updatesourceaccountrequest.md
@@ -6,6 +6,6 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `source_account` | [Optional[shared.SourceAccount]](../../models/shared/sourceaccount.md) | :heavy_minus_sign: | N/A | |
-| `account_id` | *str* | :heavy_check_mark: | Unique identifier for an account | 13d946f0-c5d5-42bc-b092-97ece17923ab |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `account_id` | *str* | :heavy_check_mark: | Unique identifier for an account. | 13d946f0-c5d5-42bc-b092-97ece17923ab |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/operations/updatesourceaccountresponse.md b/bank-feeds/docs/models/operations/updatesourceaccountresponse.md
index 26f050e45..35f189b6d 100755
--- a/bank-feeds/docs/models/operations/updatesourceaccountresponse.md
+++ b/bank-feeds/docs/models/operations/updatesourceaccountresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `source_account` | [Optional[shared.SourceAccount]](../../models/shared/sourceaccount.md) | :heavy_minus_sign: | Success |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/bankfeedmapping.md b/bank-feeds/docs/models/shared/bankfeedmapping.md
index b2b5e8432..44de70cf0 100755
--- a/bank-feeds/docs/models/shared/bankfeedmapping.md
+++ b/bank-feeds/docs/models/shared/bankfeedmapping.md
@@ -13,7 +13,7 @@ A bank feed connection between a source account and a target account, including
| `source_account_number` | *Optional[str]* | :heavy_minus_sign: | Account number for the source account. | |
| `source_balance` | *Optional[str]* | :heavy_minus_sign: | Balance for the source account. | |
| `source_currency` | *Optional[str]* | :heavy_minus_sign: | The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
## Unknown currencies
In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
There are only a very small number of edge cases where this currency code is returned by the Codat system. | GBP |
-| `status` | *Optional[str]* | :heavy_minus_sign: | N/A | |
+| `status` | *Optional[str]* | :heavy_minus_sign: | The status. | |
| `target_account_id` | *Optional[str]* | :heavy_minus_sign: | Unique ID for the target account in the accounting platform. | |
| `target_account_name` | *Optional[str]* | :heavy_minus_sign: | Name for the target account in the accounting platform. | |
-| `target_account_options` | list[[TargetAccountOption](../../models/shared/targetaccountoption.md)] | :heavy_minus_sign: | An array of potential target accounts. | |
\ No newline at end of file
+| `target_account_options` | List[[TargetAccountOption](../../models/shared/targetaccountoption.md)] | :heavy_minus_sign: | An array of potential target accounts. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/createbanktransaction.md b/bank-feeds/docs/models/shared/banktransactions.md
similarity index 62%
rename from bank-feeds/docs/models/shared/createbanktransaction.md
rename to bank-feeds/docs/models/shared/banktransactions.md
index 9acb95938..42d5267ce 100755
--- a/bank-feeds/docs/models/shared/createbanktransaction.md
+++ b/bank-feeds/docs/models/shared/banktransactions.md
@@ -1,12 +1,16 @@
-# CreateBankTransaction
+# BankTransactions
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `amount` | *Optional[Decimal]* | :heavy_minus_sign: | N/A | |
-| `balance` | *Optional[Decimal]* | :heavy_minus_sign: | N/A | |
+| `amount` | *Optional[Decimal]* | :heavy_minus_sign: | The amount transacted in the bank transaction. | 999.99 |
+| `balance` | *Optional[Decimal]* | :heavy_minus_sign: | The remaining balance in the account with ID `accountId`. | -999.99 |
+| `counterparty` | *Optional[str]* | :heavy_minus_sign: | The giving or receiving party such as a person or organization. | ACME INC |
| `date_` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `description` | *Optional[str]* | :heavy_minus_sign: | Description of the bank transaction. | Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60 |
+| `id` | *Optional[str]* | :heavy_minus_sign: | Identifier for the bank account transaction, unique for the company in the accounting platform. | 716422529 |
+| `reconciled` | *Optional[bool]* | :heavy_minus_sign: | `True` if the bank transaction has been [reconciled](https://www.xero.com/uk/guides/what-is-bank-reconciliation/) in the accounting platform. | false |
+| `reference` | *Optional[str]* | :heavy_minus_sign: | An optional reference to the bank transaction. | reference for transaction |
+| `transaction_type` | [Optional[BankTransactionsBankTransactionType]](../../models/shared/banktransactionsbanktransactiontype.md) | :heavy_minus_sign: | Type of transaction for the bank statement line. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/banktransactionsbanktransactiontype.md b/bank-feeds/docs/models/shared/banktransactionsbanktransactiontype.md
new file mode 100755
index 000000000..d7afc4b81
--- /dev/null
+++ b/bank-feeds/docs/models/shared/banktransactionsbanktransactiontype.md
@@ -0,0 +1,27 @@
+# BankTransactionsBankTransactionType
+
+Type of transaction for the bank statement line.
+
+
+## Values
+
+| Name | Value |
+| -------------- | -------------- |
+| `UNKNOWN` | Unknown |
+| `CREDIT` | Credit |
+| `DEBIT` | Debit |
+| `INT` | Int |
+| `DIV` | Div |
+| `FEE` | Fee |
+| `SER_CHG` | SerChg |
+| `DEP` | Dep |
+| `ATM` | Atm |
+| `POS` | Pos |
+| `XFER` | Xfer |
+| `CHECK` | Check |
+| `PAYMENT` | Payment |
+| `CASH` | Cash |
+| `DIRECT_DEP` | DirectDep |
+| `DIRECT_DEBIT` | DirectDebit |
+| `REPEAT_PMT` | RepeatPmt |
+| `OTHER` | Other |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/companies.md b/bank-feeds/docs/models/shared/companies.md
index c4c6e0399..eeaacf9de 100755
--- a/bank-feeds/docs/models/shared/companies.md
+++ b/bank-feeds/docs/models/shared/companies.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- |
| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
-| `page_number` | *int* | :heavy_check_mark: | N/A |
-| `page_size` | *int* | :heavy_check_mark: | N/A |
-| `results` | list[[Company](../../models/shared/company.md)] | :heavy_minus_sign: | N/A |
-| `total_results` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `page_number` | *int* | :heavy_check_mark: | Current page number. |
+| `page_size` | *int* | :heavy_check_mark: | Number of items to return in results array. |
+| `results` | List[[Company](../../models/shared/company.md)] | :heavy_minus_sign: | N/A |
+| `total_results` | *int* | :heavy_check_mark: | Total number of items. |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/company.md b/bank-feeds/docs/models/shared/company.md
index 351d6f6ab..59c05e4c7 100755
--- a/bank-feeds/docs/models/shared/company.md
+++ b/bank-feeds/docs/models/shared/company.md
@@ -12,11 +12,11 @@ When you create a company, you can specify a `name` and we will automatically ge
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `created` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `created_by_user_name` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `data_connections` | list[[Connection](../../models/shared/connection.md)] | :heavy_minus_sign: | N/A | |
+| `created_by_user_name` | *Optional[str]* | :heavy_minus_sign: | Name of user that created the company in Codat. | |
+| `data_connections` | List[[Connection](../../models/shared/connection.md)] | :heavy_minus_sign: | N/A | |
| `description` | *Optional[str]* | :heavy_minus_sign: | Additional information about the company. This can be used to store foreign IDs, references, etc. | Requested early access to the new financing scheme. |
| `id` | *str* | :heavy_check_mark: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `last_sync` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
| `name` | *str* | :heavy_check_mark: | The name of the company | Codat Ltd. |
-| ~~`platform`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | Xero |
+| ~~`platform`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.
`platformKeys` name used when creating the company. | Xero |
| `redirect` | *str* | :heavy_check_mark: | The `redirect` [Link URL](https://docs.codat.io/auth-flow/authorize-hosted-link) enabling the customer to start their auth flow journey for the company. | https://link.codat.io/company/27628208-459c-46a2-a705-5641ce25f739 |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/connection.md b/bank-feeds/docs/models/shared/connection.md
index 37c9a9a4f..c4be356fb 100755
--- a/bank-feeds/docs/models/shared/connection.md
+++ b/bank-feeds/docs/models/shared/connection.md
@@ -17,15 +17,15 @@ Before you can use a data connection to pull or push data, the company must gran
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `additional_properties` | *Optional[Any]* | :heavy_minus_sign: | N/A | |
-| `connection_info` | dict[str, *str*] | :heavy_minus_sign: | N/A | |
+| `connection_info` | Dict[str, *str*] | :heavy_minus_sign: | N/A | |
| `created` | *str* | :heavy_check_mark: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `data_connection_errors` | list[[DataConnectionError](../../models/shared/dataconnectionerror.md)] | :heavy_minus_sign: | N/A | |
+| `data_connection_errors` | List[[DataConnectionError](../../models/shared/dataconnectionerror.md)] | :heavy_minus_sign: | N/A | |
| `id` | *str* | :heavy_check_mark: | Unique identifier for a company's data connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
| `integration_id` | *str* | :heavy_check_mark: | A Codat ID representing the integration. | fd321cb6-7963-4506-b873-e99593a45e30 |
| `integration_key` | *str* | :heavy_check_mark: | A unique four-character ID that identifies the platform of the company's data connection. This ensures continuity if the platform changes its name in the future. | |
| `last_sync` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `link_url` | *str* | :heavy_check_mark: | N/A | https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/2e2eb431-c1fa-4dc9-93fa-d29781c12bcd/start |
-| `platform_name` | *str* | :heavy_check_mark: | N/A | |
+| `link_url` | *str* | :heavy_check_mark: | The link URL your customers can use to authorize access to their business application. | https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/2e2eb431-c1fa-4dc9-93fa-d29781c12bcd/start |
+| `platform_name` | *str* | :heavy_check_mark: | Name of integration connected to company. | |
| `source_id` | *str* | :heavy_check_mark: | A source-specific ID used to distinguish between different sources originating from the same data connection. In general, a data connection is a single data source. However, for TrueLayer, `sourceId` is associated with a specific bank and has a many-to-one relationship with the `integrationId`. | 35b92968-9851-4095-ad60-395c95cbcba4 |
| `source_type` | [ConnectionSourceType](../../models/shared/connectionsourcetype.md) | :heavy_check_mark: | The type of platform of the connection. | Accounting |
| `status` | [DataConnectionStatus](../../models/shared/dataconnectionstatus.md) | :heavy_check_mark: | The current authorization status of the data connection. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/connections.md b/bank-feeds/docs/models/shared/connections.md
index d9a1a748e..87ee809ab 100755
--- a/bank-feeds/docs/models/shared/connections.md
+++ b/bank-feeds/docs/models/shared/connections.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
-| `page_number` | *int* | :heavy_check_mark: | N/A |
-| `page_size` | *int* | :heavy_check_mark: | N/A |
-| `results` | list[[Connection](../../models/shared/connection.md)] | :heavy_minus_sign: | N/A |
-| `total_results` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `page_number` | *int* | :heavy_check_mark: | Current page number. |
+| `page_size` | *int* | :heavy_check_mark: | Number of items to return in results array. |
+| `results` | List[[Connection](../../models/shared/connection.md)] | :heavy_minus_sign: | N/A |
+| `total_results` | *int* | :heavy_check_mark: | Total number of items. |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/createbanktransactions.md b/bank-feeds/docs/models/shared/createbanktransactions.md
index 49c3d454a..8a76bce55 100755
--- a/bank-feeds/docs/models/shared/createbanktransactions.md
+++ b/bank-feeds/docs/models/shared/createbanktransactions.md
@@ -3,7 +3,7 @@
## Fields
-| Field | Type | Required | Description |
-| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
-| `account_id` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `transactions` | list[[CreateBankTransaction](../../models/shared/createbanktransaction.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- |
+| `account_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for a bank account. | 13d946f0-c5d5-42bc-b092-97ece17923ab |
+| `transactions` | List[[BankTransactions](../../models/shared/banktransactions.md)] | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/createbanktransactionsresponse.md b/bank-feeds/docs/models/shared/createbanktransactionsresponse.md
index 215fc4cdd..b695a61c2 100755
--- a/bank-feeds/docs/models/shared/createbanktransactionsresponse.md
+++ b/bank-feeds/docs/models/shared/createbanktransactionsresponse.md
@@ -5,17 +5,17 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `changes` | list[[PushOperationChange](../../models/shared/pushoperationchange.md)] | :heavy_minus_sign: | Contains a single entry that communicates which record has changed and the manner in which it changed. | |
+| `changes` | List[[PushOperationChange](../../models/shared/pushoperationchange.md)] | :heavy_minus_sign: | Contains a single entry that communicates which record has changed and the manner in which it changed. | |
| `company_id` | *str* | :heavy_check_mark: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `completed_on_utc` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
| `data` | [Optional[CreateBankTransactions]](../../models/shared/createbanktransactions.md) | :heavy_minus_sign: | N/A | |
| `data_connection_key` | *str* | :heavy_check_mark: | Unique identifier for a company's data connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
| `data_type` | [Optional[DataType]](../../models/shared/datatype.md) | :heavy_minus_sign: | Available Data types | invoices |
-| `error_message` | *Optional[str]* | :heavy_minus_sign: | N/A | |
+| `error_message` | *Optional[str]* | :heavy_minus_sign: | A message about the error. | |
| `push_operation_key` | *str* | :heavy_check_mark: | A unique identifier generated by Codat to represent this single push operation. This identifier can be used to track the status of the push, and should be persisted. | |
| `requested_on_utc` | *str* | :heavy_check_mark: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
| `status` | [PushOperationStatus](../../models/shared/pushoperationstatus.md) | :heavy_check_mark: | The current status of the push operation. | |
-| `status_code` | *int* | :heavy_check_mark: | N/A | |
-| `timeout_in_minutes` | *Optional[int]* | :heavy_minus_sign: | N/A | |
-| ~~`timeout_in_seconds`~~ | *Optional[int]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | |
+| `status_code` | *int* | :heavy_check_mark: | Push status code. | |
+| `timeout_in_minutes` | *Optional[int]* | :heavy_minus_sign: | Number of minutes the push operation must complete within before it times out. | |
+| ~~`timeout_in_seconds`~~ | *Optional[int]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.
Number of seconds the push operation must complete within before it times out. | |
| `validation` | [Optional[Validation]](../../models/shared/validation.md) | :heavy_minus_sign: | A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/dataconnectionerror.md b/bank-feeds/docs/models/shared/dataconnectionerror.md
index 6c85722e1..7dd2be969 100755
--- a/bank-feeds/docs/models/shared/dataconnectionerror.md
+++ b/bank-feeds/docs/models/shared/dataconnectionerror.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `error_message` | *Optional[str]* | :heavy_minus_sign: | N/A | |
+| `error_message` | *Optional[str]* | :heavy_minus_sign: | A brief message about the error. | |
| `errored_on_utc` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `status_code` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status_text` | *Optional[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `status_code` | *Optional[str]* | :heavy_minus_sign: | The HTTP status code returned by the error. | |
+| `status_text` | *Optional[str]* | :heavy_minus_sign: | A non-numeric status code/text. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/errormessage.md b/bank-feeds/docs/models/shared/errormessage.md
index 4f34c9a64..2d1289c0d 100755
--- a/bank-feeds/docs/models/shared/errormessage.md
+++ b/bank-feeds/docs/models/shared/errormessage.md
@@ -3,11 +3,11 @@
## Fields
-| Field | Type | Required | Description |
-| --------------------- | --------------------- | --------------------- | --------------------- |
-| `can_be_retried` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `correlation_id` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `detailed_error_code` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `error` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `service` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `status_code` | *Optional[int]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
+| `can_be_retried` | *Optional[str]* | :heavy_minus_sign: | `True` if the error occurred transiently and can be retried. |
+| `correlation_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier used to propagate to all downstream services and determine the source of the error. |
+| `detailed_error_code` | *Optional[int]* | :heavy_minus_sign: | Machine readable error code used to automate processes based on the code returned. |
+| `error` | *Optional[str]* | :heavy_minus_sign: | A brief description of the error. |
+| `service` | *Optional[str]* | :heavy_minus_sign: | Codat's service the returned the error. |
+| `status_code` | *Optional[int]* | :heavy_minus_sign: | The HTTP status code returned by the error. |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/halref.md b/bank-feeds/docs/models/shared/halref.md
index fef2ab2fc..94c6476ff 100755
--- a/bank-feeds/docs/models/shared/halref.md
+++ b/bank-feeds/docs/models/shared/halref.md
@@ -3,6 +3,6 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------ | ------------------ | ------------------ | ------------------ |
-| `href` | *Optional[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ------------------------ | ------------------------ | ------------------------ | ------------------------ |
+| `href` | *Optional[str]* | :heavy_minus_sign: | Uri hypertext reference. |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/pushchangetype.md b/bank-feeds/docs/models/shared/pushchangetype.md
index 4818f5d2a..33a957e79 100755
--- a/bank-feeds/docs/models/shared/pushchangetype.md
+++ b/bank-feeds/docs/models/shared/pushchangetype.md
@@ -1,5 +1,7 @@
# PushChangeType
+Type of change being applied to record in third party platform.
+
## Values
diff --git a/bank-feeds/docs/models/shared/pushoperation.md b/bank-feeds/docs/models/shared/pushoperation.md
index c89b853f7..4e0594ecc 100755
--- a/bank-feeds/docs/models/shared/pushoperation.md
+++ b/bank-feeds/docs/models/shared/pushoperation.md
@@ -5,16 +5,16 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `changes` | list[[PushOperationChange](../../models/shared/pushoperationchange.md)] | :heavy_minus_sign: | Contains a single entry that communicates which record has changed and the manner in which it changed. | |
+| `changes` | List[[PushOperationChange](../../models/shared/pushoperationchange.md)] | :heavy_minus_sign: | Contains a single entry that communicates which record has changed and the manner in which it changed. | |
| `company_id` | *str* | :heavy_check_mark: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `completed_on_utc` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
| `data_connection_key` | *str* | :heavy_check_mark: | Unique identifier for a company's data connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
| `data_type` | [Optional[DataType]](../../models/shared/datatype.md) | :heavy_minus_sign: | Available Data types | invoices |
-| `error_message` | *Optional[str]* | :heavy_minus_sign: | N/A | |
+| `error_message` | *Optional[str]* | :heavy_minus_sign: | A message about the error. | |
| `push_operation_key` | *str* | :heavy_check_mark: | A unique identifier generated by Codat to represent this single push operation. This identifier can be used to track the status of the push, and should be persisted. | |
| `requested_on_utc` | *str* | :heavy_check_mark: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
| `status` | [PushOperationStatus](../../models/shared/pushoperationstatus.md) | :heavy_check_mark: | The current status of the push operation. | |
-| `status_code` | *int* | :heavy_check_mark: | N/A | |
-| `timeout_in_minutes` | *Optional[int]* | :heavy_minus_sign: | N/A | |
-| ~~`timeout_in_seconds`~~ | *Optional[int]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | |
+| `status_code` | *int* | :heavy_check_mark: | Push status code. | |
+| `timeout_in_minutes` | *Optional[int]* | :heavy_minus_sign: | Number of minutes the push operation must complete within before it times out. | |
+| ~~`timeout_in_seconds`~~ | *Optional[int]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.
Number of seconds the push operation must complete within before it times out. | |
| `validation` | [Optional[Validation]](../../models/shared/validation.md) | :heavy_minus_sign: | A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/pushoperationchange.md b/bank-feeds/docs/models/shared/pushoperationchange.md
index b57a9c8b9..cf6e86896 100755
--- a/bank-feeds/docs/models/shared/pushoperationchange.md
+++ b/bank-feeds/docs/models/shared/pushoperationchange.md
@@ -5,6 +5,6 @@
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
-| `attachment_id` | *Optional[str]* | :heavy_minus_sign: | N/A |
+| `attachment_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the attachment created otherwise null. |
| `record_ref` | [Optional[PushOperationRef]](../../models/shared/pushoperationref.md) | :heavy_minus_sign: | N/A |
-| `type` | [Optional[PushChangeType]](../../models/shared/pushchangetype.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `type` | [Optional[PushChangeType]](../../models/shared/pushchangetype.md) | :heavy_minus_sign: | Type of change being applied to record in third party platform. |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/pushoperationref.md b/bank-feeds/docs/models/shared/pushoperationref.md
index 10503c8ee..df895faa0 100755
--- a/bank-feeds/docs/models/shared/pushoperationref.md
+++ b/bank-feeds/docs/models/shared/pushoperationref.md
@@ -6,4 +6,4 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
| `data_type` | [Optional[DataType]](../../models/shared/datatype.md) | :heavy_minus_sign: | Available Data types | invoices |
-| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for a push operation. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/pushoperations.md b/bank-feeds/docs/models/shared/pushoperations.md
index 83fd674fe..1f224ca9b 100755
--- a/bank-feeds/docs/models/shared/pushoperations.md
+++ b/bank-feeds/docs/models/shared/pushoperations.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
-| `page_number` | *int* | :heavy_check_mark: | N/A |
-| `page_size` | *int* | :heavy_check_mark: | N/A |
-| `results` | list[[PushOperation](../../models/shared/pushoperation.md)] | :heavy_minus_sign: | N/A |
-| `total_results` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `page_number` | *int* | :heavy_check_mark: | Current page number. |
+| `page_size` | *int* | :heavy_check_mark: | Number of items to return in results array. |
+| `results` | List[[PushOperation](../../models/shared/pushoperation.md)] | :heavy_minus_sign: | N/A |
+| `total_results` | *int* | :heavy_check_mark: | Total number of items. |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/sourceaccount.md b/bank-feeds/docs/models/shared/sourceaccount.md
index 0f3e7044a..a63f5c09f 100755
--- a/bank-feeds/docs/models/shared/sourceaccount.md
+++ b/bank-feeds/docs/models/shared/sourceaccount.md
@@ -7,13 +7,13 @@ The target bank account in a supported accounting package for ingestion into a b
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `account_name` | *Optional[str]* | :heavy_minus_sign: | The bank account name | |
-| `account_number` | *Optional[str]* | :heavy_minus_sign: | The account number | |
-| `account_type` | *Optional[str]* | :heavy_minus_sign: | The type of bank account e.g. Credit | |
-| `balance` | *Optional[Decimal]* | :heavy_minus_sign: | The latest balance for the bank account | |
+| `account_name` | *Optional[str]* | :heavy_minus_sign: | The bank account name. | |
+| `account_number` | *Optional[str]* | :heavy_minus_sign: | The account number. | |
+| `account_type` | *Optional[str]* | :heavy_minus_sign: | The type of bank account e.g. Credit. | |
+| `balance` | *Optional[Decimal]* | :heavy_minus_sign: | The latest balance for the bank account. | |
| `currency` | *Optional[str]* | :heavy_minus_sign: | The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
## Unknown currencies
In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
There are only a very small number of edge cases where this currency code is returned by the Codat system. | GBP |
| `feed_start_date` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `id` | *str* | :heavy_check_mark: | Unique ID for the bank account | |
+| `id` | *str* | :heavy_check_mark: | Unique ID for the bank account. | |
| `modified_date` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `sort_code` | *Optional[str]* | :heavy_minus_sign: | The sort code | |
-| `status` | *Optional[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `sort_code` | *Optional[str]* | :heavy_minus_sign: | The sort code. | |
+| `status` | *Optional[str]* | :heavy_minus_sign: | Status of the source account. | |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/validation.md b/bank-feeds/docs/models/shared/validation.md
index 196cb46c2..294281b51 100755
--- a/bank-feeds/docs/models/shared/validation.md
+++ b/bank-feeds/docs/models/shared/validation.md
@@ -7,5 +7,5 @@ A human-readable object describing validation decisions Codat has made when push
| Field | Type | Required | Description |
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
-| `errors` | list[[ValidationItem](../../models/shared/validationitem.md)] | :heavy_minus_sign: | N/A |
-| `warnings` | list[[ValidationItem](../../models/shared/validationitem.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `errors` | List[[ValidationItem](../../models/shared/validationitem.md)] | :heavy_minus_sign: | N/A |
+| `warnings` | List[[ValidationItem](../../models/shared/validationitem.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/shared/validationitem.md b/bank-feeds/docs/models/shared/validationitem.md
index f3fb8b302..fe913f43e 100755
--- a/bank-feeds/docs/models/shared/validationitem.md
+++ b/bank-feeds/docs/models/shared/validationitem.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------ | ------------------ | ------------------ | ------------------ |
-| `item_id` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `message` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `validator_name` | *Optional[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `item_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for a validation item. |
+| `message` | *Optional[str]* | :heavy_minus_sign: | A message outlining validation item's issue. |
+| `validator_name` | *Optional[str]* | :heavy_minus_sign: | Name of validator. |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/webhooks/clientratelimitreachedresponse.md b/bank-feeds/docs/models/webhooks/clientratelimitreachedresponse.md
index a5368aedf..690170c94 100755
--- a/bank-feeds/docs/models/webhooks/clientratelimitreachedresponse.md
+++ b/bank-feeds/docs/models/webhooks/clientratelimitreachedresponse.md
@@ -5,6 +5,6 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/bank-feeds/docs/models/webhooks/clientratelimitresetresponse.md b/bank-feeds/docs/models/webhooks/clientratelimitresetresponse.md
index d5db35b1b..9fdae0007 100755
--- a/bank-feeds/docs/models/webhooks/clientratelimitresetresponse.md
+++ b/bank-feeds/docs/models/webhooks/clientratelimitresetresponse.md
@@ -5,6 +5,6 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ 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 d3fe38e1d..66836b24f 100755
--- a/bank-feeds/docs/sdks/accountmapping/README.md
+++ b/bank-feeds/docs/sdks/accountmapping/README.md
@@ -1,4 +1,5 @@
# AccountMapping
+(*account_mapping*)
## Overview
@@ -34,8 +35,6 @@ s = codatbankfeeds.CodatBankFeeds(
req = operations.CreateBankAccountMappingRequest(
request_body=operations.CreateBankAccountMappingBankFeedAccountMapping(
feed_start_date='2022-10-23T00:00:00.000Z',
- source_account_id='unde',
- target_account_id='nulla',
),
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
@@ -45,6 +44,7 @@ res = s.account_mapping.create(req)
if res.bank_feed_account_mapping_response is not None:
# handle response
+ pass
```
### Parameters
@@ -89,6 +89,7 @@ res = s.account_mapping.get(req)
if res.bank_feed_mapping is not None:
# handle response
+ pass
```
### Parameters
diff --git a/bank-feeds/docs/sdks/codatbankfeeds/README.md b/bank-feeds/docs/sdks/codatbankfeeds/README.md
index 31a9ffc1f..d118844bf 100755
--- a/bank-feeds/docs/sdks/codatbankfeeds/README.md
+++ b/bank-feeds/docs/sdks/codatbankfeeds/README.md
@@ -1,5 +1,6 @@
# CodatBankFeeds SDK
+
## Overview
Bank Feeds API: Bank Feeds API enables your SMB users to set up bank feeds from accounts in your application to supported accounting platforms.
diff --git a/bank-feeds/docs/sdks/companies/README.md b/bank-feeds/docs/sdks/companies/README.md
index fd59c97f3..34faa119e 100755
--- a/bank-feeds/docs/sdks/companies/README.md
+++ b/bank-feeds/docs/sdks/companies/README.md
@@ -1,4 +1,5 @@
# Companies
+(*companies*)
## Overview
@@ -41,6 +42,7 @@ res = s.companies.create(req)
if res.company is not None:
# handle response
+ pass
```
### Parameters
@@ -81,6 +83,7 @@ res = s.companies.delete(req)
if res.status_code == 200:
# handle response
+ pass
```
### Parameters
@@ -120,6 +123,7 @@ res = s.companies.get(req)
if res.company is not None:
# handle response
+ pass
```
### Parameters
@@ -155,13 +159,13 @@ req = operations.ListCompaniesRequest(
order_by='-modifiedDate',
page=1,
page_size=100,
- query='corrupti',
)
res = s.companies.list(req)
if res.companies is not None:
# handle response
+ pass
```
### Parameters
@@ -205,6 +209,7 @@ res = s.companies.update(req)
if res.company is not None:
# handle response
+ pass
```
### Parameters
diff --git a/bank-feeds/docs/sdks/connections/README.md b/bank-feeds/docs/sdks/connections/README.md
index b49385f03..85e6160a0 100755
--- a/bank-feeds/docs/sdks/connections/README.md
+++ b/bank-feeds/docs/sdks/connections/README.md
@@ -1,4 +1,5 @@
# Connections
+(*connections*)
## Overview
@@ -32,7 +33,7 @@ s = codatbankfeeds.CodatBankFeeds(
req = operations.CreateConnectionRequest(
request_body=operations.CreateConnectionRequestBody(
- platform_key='illum',
+ platform_key='gbol',
),
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
)
@@ -41,6 +42,7 @@ res = s.connections.create(req)
if res.connection is not None:
# handle response
+ pass
```
### Parameters
@@ -82,6 +84,7 @@ res = s.connections.delete(req)
if res.status_code == 200:
# handle response
+ pass
```
### Parameters
@@ -122,6 +125,7 @@ res = s.connections.get(req)
if res.connection is not None:
# handle response
+ pass
```
### Parameters
@@ -158,13 +162,13 @@ req = operations.ListConnectionsRequest(
order_by='-modifiedDate',
page=1,
page_size=100,
- query='vel',
)
res = s.connections.list(req)
if res.connections is not None:
# handle response
+ pass
```
### Parameters
@@ -197,9 +201,7 @@ s = codatbankfeeds.CodatBankFeeds(
)
req = operations.UnlinkConnectionRequest(
- request_body=operations.UnlinkConnectionUpdateConnection(
- status=shared.DataConnectionStatus.UNLINKED,
- ),
+ request_body=operations.UnlinkConnectionUpdateConnection(),
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
)
@@ -208,6 +210,7 @@ res = s.connections.unlink(req)
if res.connection is not None:
# handle response
+ pass
```
### Parameters
diff --git a/bank-feeds/docs/sdks/sourceaccounts/README.md b/bank-feeds/docs/sdks/sourceaccounts/README.md
index 0ec364bda..c7b3d64f0 100755
--- a/bank-feeds/docs/sdks/sourceaccounts/README.md
+++ b/bank-feeds/docs/sdks/sourceaccounts/README.md
@@ -1,4 +1,5 @@
# SourceAccounts
+(*source_accounts*)
## Overview
@@ -52,16 +53,10 @@ s = codatbankfeeds.CodatBankFeeds(
req = operations.CreateSourceAccountRequest(
source_account=shared.SourceAccount(
- account_name='deserunt',
- account_number='suscipit',
- account_type='iure',
- balance=Decimal('2975.34'),
- currency='EUR',
+ currency='USD',
feed_start_date='2022-10-23T00:00:00.000Z',
- id='f467cc87-96ed-4151-a05d-fc2ddf7cc78c',
+ id='',
modified_date='2022-10-23T00:00:00.000Z',
- sort_code='dicta',
- status='nam',
),
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
@@ -71,6 +66,7 @@ res = s.source_accounts.create(req)
if res.source_account is not None:
# handle response
+ pass
```
### Parameters
@@ -115,6 +111,7 @@ res = s.source_accounts.delete(req)
if res.status_code == 200:
# handle response
+ pass
```
### Parameters
@@ -157,6 +154,7 @@ res = s.source_accounts.delete_credentials(req)
if res.status_code == 200:
# handle response
+ pass
```
### Parameters
@@ -192,7 +190,7 @@ s = codatbankfeeds.CodatBankFeeds(
)
req = operations.GenerateCredentialsRequest(
- request_body='occaecati'.encode(),
+ request_body='^upd|k\]Iy'.encode(),
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
)
@@ -201,6 +199,7 @@ res = s.source_accounts.generate_credentials(req)
if res.bank_account_credentials is not None:
# handle response
+ pass
```
### Parameters
@@ -244,6 +243,7 @@ res = s.source_accounts.list(req)
if res.source_account is not None:
# handle response
+ pass
```
### Parameters
@@ -279,16 +279,10 @@ s = codatbankfeeds.CodatBankFeeds(
req = operations.UpdateSourceAccountRequest(
source_account=shared.SourceAccount(
- account_name='fugit',
- account_number='deleniti',
- account_type='hic',
- balance=Decimal('7586.16'),
- currency='USD',
+ currency='EUR',
feed_start_date='2022-10-23T00:00:00.000Z',
- id='6742cb73-9205-4929-b96f-ea7596eb10fa',
+ id='',
modified_date='2022-10-23T00:00:00.000Z',
- sort_code='laborum',
- status='dolores',
),
account_id='13d946f0-c5d5-42bc-b092-97ece17923ab',
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
@@ -299,6 +293,7 @@ res = s.source_accounts.update(req)
if res.source_account is not None:
# handle response
+ pass
```
### Parameters
diff --git a/bank-feeds/docs/sdks/transactions/README.md b/bank-feeds/docs/sdks/transactions/README.md
index 7bdae18d5..0894c7b98 100755
--- a/bank-feeds/docs/sdks/transactions/README.md
+++ b/bank-feeds/docs/sdks/transactions/README.md
@@ -1,4 +1,5 @@
# Transactions
+(*transactions*)
## Overview
@@ -38,28 +39,30 @@ s = codatbankfeeds.CodatBankFeeds(
req = operations.CreateBankTransactionsRequest(
create_bank_transactions=shared.CreateBankTransactions(
- account_id='corporis',
+ account_id='7110701885',
transactions=[
- shared.CreateBankTransaction(
- amount=Decimal('1289.26'),
- balance=Decimal('7506.86'),
+ shared.BankTransactions(
+ amount=Decimal('999.99'),
+ balance=Decimal('-999.99'),
+ counterparty='ACME INC',
date_='2022-10-23T00:00:00.000Z',
- description='omnis',
- id='55907aff-1a3a-42fa-9467-739251aa52c3',
+ description='Debit for Payment Id sdp-1-57379a43-c4b8-49f5-bd7c-699189ee7a60',
+ id='716422529',
+ reconciled=False,
+ reference='reference for transaction',
),
],
),
- account_id='EILBDVJVNUAGVKRQ',
- allow_sync_on_push_complete=False,
+ account_id='7110701885',
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
- timeout_in_minutes=368725,
)
res = s.transactions.create(req)
if res.create_bank_transactions_response is not None:
# handle response
+ pass
```
### Parameters
@@ -93,13 +96,14 @@ s = codatbankfeeds.CodatBankFeeds(
req = operations.GetCreateOperationRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
- push_operation_key='ad019da1-ffe7-48f0-97b0-074f15471b5e',
+ push_operation_key='1fb73c31-a851-46c2-ab8a-5ce6e25b57b8',
)
res = s.transactions.get_create_operation(req)
if res.push_operation is not None:
# handle response
+ pass
```
### Parameters
@@ -136,13 +140,13 @@ req = operations.ListCreateOperationsRequest(
order_by='-modifiedDate',
page=1,
page_size=100,
- query='commodi',
)
res = s.transactions.list_create_operations(req)
if res.push_operations is not None:
# handle response
+ pass
```
### Parameters
diff --git a/bank-feeds/files.gen b/bank-feeds/files.gen
index e037f79eb..553c8e8e6 100755
--- a/bank-feeds/files.gen
+++ b/bank-feeds/files.gen
@@ -56,7 +56,7 @@ src/codatbankfeeds/models/shared/validationitem.py
src/codatbankfeeds/models/shared/pushoperationstatus.py
src/codatbankfeeds/models/shared/datatype.py
src/codatbankfeeds/models/shared/createbanktransactions.py
-src/codatbankfeeds/models/shared/createbanktransaction.py
+src/codatbankfeeds/models/shared/banktransactions.py
src/codatbankfeeds/models/shared/pushoperationchange.py
src/codatbankfeeds/models/shared/pushchangetype.py
src/codatbankfeeds/models/shared/pushoperationref.py
@@ -72,13 +72,6 @@ src/codatbankfeeds/models/webhooks/client_rate_limit_reached.py
src/codatbankfeeds/models/webhooks/client_rate_limit_reset.py
src/codatbankfeeds/models/webhooks/__init__.py
src/codatbankfeeds/models/errors/__init__.py
-docs/sdks/codatbankfeeds/README.md
-docs/models/utils/retryconfig.md
-docs/sdks/accountmapping/README.md
-docs/sdks/companies/README.md
-docs/sdks/connections/README.md
-docs/sdks/sourceaccounts/README.md
-docs/sdks/transactions/README.md
USAGE.md
docs/models/operations/createbankaccountmappingbankfeedaccountmapping.md
docs/models/operations/createbankaccountmappingrequest.md
@@ -146,7 +139,8 @@ docs/models/shared/validationitem.md
docs/models/shared/pushoperationstatus.md
docs/models/shared/datatype.md
docs/models/shared/createbanktransactions.md
-docs/models/shared/createbanktransaction.md
+docs/models/shared/banktransactionsbanktransactiontype.md
+docs/models/shared/banktransactions.md
docs/models/shared/pushoperationchange.md
docs/models/shared/pushchangetype.md
docs/models/shared/pushoperationref.md
@@ -159,4 +153,11 @@ docs/models/shared/clientratelimitresetwebhook.md
docs/models/shared/clientratelimitresetwebhookdata.md
docs/models/webhooks/clientratelimitreachedresponse.md
docs/models/webhooks/clientratelimitresetresponse.md
+docs/sdks/codatbankfeeds/README.md
+docs/models/utils/retryconfig.md
+docs/sdks/accountmapping/README.md
+docs/sdks/companies/README.md
+docs/sdks/connections/README.md
+docs/sdks/sourceaccounts/README.md
+docs/sdks/transactions/README.md
.gitattributes
\ No newline at end of file
diff --git a/bank-feeds/gen.yaml b/bank-feeds/gen.yaml
index c5312d051..0d9349bda 100644
--- a/bank-feeds/gen.yaml
+++ b/bank-feeds/gen.yaml
@@ -1,26 +1,26 @@
configVersion: 1.0.0
management:
- docChecksum: 3eb0f99edd359c8e932479051a25a5f4
+ docChecksum: d9b2a1016a2f9fa886f638661a6c9a2b
docVersion: 3.0.0
- speakeasyVersion: 1.87.0
- generationVersion: 2.116.0
+ speakeasyVersion: 1.100.2
+ generationVersion: 2.159.2
generation:
sdkClassName: CodatBankFeeds
singleTagPerOp: false
telemetryEnabled: true
features:
python:
- core: 2.85.5
+ core: 3.0.2
deprecations: 2.81.1
examples: 2.81.2
- globalSecurity: 2.81.1
+ globalSecurity: 2.82.0
globalServerURLs: 2.82.0
nameOverrides: 2.81.1
retries: 2.82.0
python:
- version: 3.1.0
+ version: 4.0.0
author: Codat
- description: Set up bank feeds from accounts in your application to supported accounting
- platforms.
+ description: Set up bank feeds from accounts in your application to supported accounting platforms.
+ flattenGlobalSecurity: false
maxMethodParams: 0
packageName: codat-bankfeeds
diff --git a/bank-feeds/pylintrc b/bank-feeds/pylintrc
index ab6495dd6..1ed32214e 100755
--- a/bank-feeds/pylintrc
+++ b/bank-feeds/pylintrc
@@ -88,7 +88,7 @@ persistent=yes
# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.
-py-version=3.9
+py-version=3.8
# Discover python modules and packages in the file system subtree.
recursive=no
@@ -116,12 +116,12 @@ argument-naming-style=snake_case
#argument-rgx=
# Naming style matching correct attribute names.
-attr-naming-style=snake_case
+#attr-naming-style=snake_case
# Regular expression matching correct attribute names. Overrides attr-naming-
# style. If left empty, attribute names will be checked with the set naming
# style.
-#attr-rgx=
+attr-rgx=[^\W\d][^\W]*|__.*__$
# Bad variable names which should always be refused, separated by a comma.
bad-names=
diff --git a/bank-feeds/setup.py b/bank-feeds/setup.py
index 3ac2d5d1d..8e5694093 100755
--- a/bank-feeds/setup.py
+++ b/bank-feeds/setup.py
@@ -10,33 +10,31 @@
setuptools.setup(
name="codat-bankfeeds",
- version="3.1.0",
+ version="4.0.0",
author="Codat",
description="Set up bank feeds from accounts in your application to supported accounting platforms.",
long_description=long_description,
long_description_content_type="text/markdown",
packages=setuptools.find_packages(where="src"),
install_requires=[
- "certifi>=2022.12.7",
- "charset-normalizer>=2.1.1",
- "dataclasses-json>=0.5.12",
- "idna>=3.3",
+ "certifi>=2023.7.22",
+ "charset-normalizer>=3.2.0",
+ "dataclasses-json>=0.6.1",
+ "idna>=3.4",
"jsonpath-python>=1.0.6 ",
- "marshmallow>=3.17.1",
- "marshmallow-enum>=1.5.1",
- "mypy-extensions>=0.4.3",
- "packaging>=21.3",
- "pyparsing>=3.0.9",
+ "marshmallow>=3.19.0",
+ "mypy-extensions>=1.0.0",
+ "packaging>=23.1",
"python-dateutil>=2.8.2",
- "requests>=2.28.1",
+ "requests>=2.31.0",
"six>=1.16.0",
- "typing-inspect>=0.8.0",
- "typing_extensions>=4.3.0",
- "urllib3>=1.26.12",
+ "typing-inspect>=0.9.0",
+ "typing_extensions>=4.7.1",
+ "urllib3>=2.0.4",
],
extras_require={
"dev":["pylint==2.16.2"]
},
package_dir={'': 'src'},
- python_requires='>=3.9'
+ python_requires='>=3.8'
)
diff --git a/bank-feeds/src/codatbankfeeds/account_mapping.py b/bank-feeds/src/codatbankfeeds/account_mapping.py
index 1bf83cce0..dfa8e305b 100755
--- a/bank-feeds/src/codatbankfeeds/account_mapping.py
+++ b/bank-feeds/src/codatbankfeeds/account_mapping.py
@@ -27,11 +27,11 @@ def create(self, request: operations.CreateBankAccountMappingRequest, retries: O
url = utils.generate_url(operations.CreateBankAccountMappingRequest, base_url, '/companies/{companyId}/connections/{connectionId}/bankFeedAccounts/mapping', request)
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "request_body", 'json')
+ req_content_type, data, form = utils.serialize_request_body(request, "request_body", False, True, 'json')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -45,7 +45,7 @@ def create(self, request: operations.CreateBankAccountMappingRequest, retries: O
def do_request():
return client.request('POST', url, data=data, files=form, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -84,7 +84,7 @@ def get(self, request: operations.GetBankAccountMappingRequest, retries: Optiona
url = utils.generate_url(operations.GetBankAccountMappingRequest, base_url, '/companies/{companyId}/connections/{connectionId}/bankFeedAccounts/mapping', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -98,7 +98,7 @@ def get(self, request: operations.GetBankAccountMappingRequest, retries: Optiona
def do_request():
return client.request('GET', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
diff --git a/bank-feeds/src/codatbankfeeds/companies.py b/bank-feeds/src/codatbankfeeds/companies.py
index cc4576792..b2d60e7ca 100755
--- a/bank-feeds/src/codatbankfeeds/companies.py
+++ b/bank-feeds/src/codatbankfeeds/companies.py
@@ -23,11 +23,11 @@ def create(self, request: shared.CompanyRequestBody, retries: Optional[utils.Ret
url = base_url + '/companies'
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "request", 'json')
+ req_content_type, data, form = utils.serialize_request_body(request, "request", False, True, 'json')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -41,7 +41,7 @@ def create(self, request: shared.CompanyRequestBody, retries: Optional[utils.Ret
def do_request():
return client.request('POST', url, data=data, files=form, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -76,7 +76,7 @@ def delete(self, request: operations.DeleteCompanyRequest, retries: Optional[uti
url = utils.generate_url(operations.DeleteCompanyRequest, base_url, '/companies/{companyId}', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -90,7 +90,7 @@ def delete(self, request: operations.DeleteCompanyRequest, retries: Optional[uti
def do_request():
return client.request('DELETE', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -121,7 +121,7 @@ def get(self, request: operations.GetCompanyRequest, retries: Optional[utils.Ret
url = utils.generate_url(operations.GetCompanyRequest, base_url, '/companies/{companyId}', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -135,7 +135,7 @@ def get(self, request: operations.GetCompanyRequest, retries: Optional[utils.Ret
def do_request():
return client.request('GET', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -171,7 +171,7 @@ def list(self, request: operations.ListCompaniesRequest, retries: Optional[utils
headers = {}
query_params = utils.get_query_params(operations.ListCompaniesRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -185,7 +185,7 @@ def list(self, request: operations.ListCompaniesRequest, retries: Optional[utils
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -219,11 +219,11 @@ def update(self, request: operations.UpdateCompanyRequest, retries: Optional[uti
url = utils.generate_url(operations.UpdateCompanyRequest, base_url, '/companies/{companyId}', request)
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "company_request_body", 'json')
+ req_content_type, data, form = utils.serialize_request_body(request, "company_request_body", False, True, 'json')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -237,7 +237,7 @@ def update(self, request: operations.UpdateCompanyRequest, retries: Optional[uti
def do_request():
return client.request('PUT', url, data=data, files=form, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
diff --git a/bank-feeds/src/codatbankfeeds/connections.py b/bank-feeds/src/codatbankfeeds/connections.py
index 4d96a26df..7aed7dc9c 100755
--- a/bank-feeds/src/codatbankfeeds/connections.py
+++ b/bank-feeds/src/codatbankfeeds/connections.py
@@ -23,11 +23,11 @@ def create(self, request: operations.CreateConnectionRequest, retries: Optional[
url = utils.generate_url(operations.CreateConnectionRequest, base_url, '/companies/{companyId}/connections', request)
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "request_body", 'json')
+ req_content_type, data, form = utils.serialize_request_body(request, "request_body", False, True, 'json')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -41,7 +41,7 @@ def create(self, request: operations.CreateConnectionRequest, retries: Optional[
def do_request():
return client.request('POST', url, data=data, files=form, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -77,7 +77,7 @@ def delete(self, request: operations.DeleteConnectionRequest, retries: Optional[
url = utils.generate_url(operations.DeleteConnectionRequest, base_url, '/companies/{companyId}/connections/{connectionId}', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -91,7 +91,7 @@ def delete(self, request: operations.DeleteConnectionRequest, retries: Optional[
def do_request():
return client.request('DELETE', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -122,7 +122,7 @@ def get(self, request: operations.GetConnectionRequest, retries: Optional[utils.
url = utils.generate_url(operations.GetConnectionRequest, base_url, '/companies/{companyId}/connections/{connectionId}', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -136,7 +136,7 @@ def get(self, request: operations.GetConnectionRequest, retries: Optional[utils.
def do_request():
return client.request('GET', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -172,7 +172,7 @@ def list(self, request: operations.ListConnectionsRequest, retries: Optional[uti
headers = {}
query_params = utils.get_query_params(operations.ListConnectionsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -186,7 +186,7 @@ def list(self, request: operations.ListConnectionsRequest, retries: Optional[uti
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -220,11 +220,11 @@ def unlink(self, request: operations.UnlinkConnectionRequest, retries: Optional[
url = utils.generate_url(operations.UnlinkConnectionRequest, base_url, '/companies/{companyId}/connections/{connectionId}', request)
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "request_body", 'json')
+ req_content_type, data, form = utils.serialize_request_body(request, "request_body", False, True, 'json')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -238,7 +238,7 @@ def unlink(self, request: operations.UnlinkConnectionRequest, retries: Optional[
def do_request():
return client.request('PATCH', url, data=data, files=form, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
diff --git a/bank-feeds/src/codatbankfeeds/models/__init__.py b/bank-feeds/src/codatbankfeeds/models/__init__.py
index 889f8adcf..36628d6cc 100755
--- a/bank-feeds/src/codatbankfeeds/models/__init__.py
+++ b/bank-feeds/src/codatbankfeeds/models/__init__.py
@@ -1,2 +1,3 @@
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
+# __init__.py
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/create_bank_account_mapping.py b/bank-feeds/src/codatbankfeeds/models/operations/create_bank_account_mapping.py
index 2bd58e6f9..71f91e6e4 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/create_bank_account_mapping.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/create_bank_account_mapping.py
@@ -11,7 +11,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CreateBankAccountMappingBankFeedAccountMapping:
r"""A bank feed connection between a source account and a target account."""
@@ -38,31 +37,34 @@ class CreateBankAccountMappingBankFeedAccountMapping:
"""
source_account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceAccountId'), 'exclude': lambda f: f is None }})
r"""Unique ID for the source account"""
- target_account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('targetAccountId'), 'exclude': lambda f: f is None }})
+ target_account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('targetAccountId') }})
r"""Unique ID for the target account"""
-
@dataclasses.dataclass
class CreateBankAccountMappingRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
request_body: Optional[CreateBankAccountMappingBankFeedAccountMapping] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }})
-
@dataclasses.dataclass
class CreateBankAccountMappingResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
bank_feed_account_mapping_response: Optional[shared_bankfeedaccountmappingresponse.BankFeedAccountMappingResponse] = dataclasses.field(default=None)
r"""Success"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""The request made is not valid."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/create_bank_transactions.py b/bank-feeds/src/codatbankfeeds/models/operations/create_bank_transactions.py
index 785da2860..e7512d5b7 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/create_bank_transactions.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/create_bank_transactions.py
@@ -9,29 +9,34 @@
from typing import Optional
-
@dataclasses.dataclass
class CreateBankTransactionsRequest:
account_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'accountId', 'style': 'simple', 'explode': False }})
- r"""Unique identifier for an account"""
+ r"""Unique identifier for an account."""
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
- allow_sync_on_push_complete: Optional[bool] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'allowSyncOnPushComplete', 'style': 'form', 'explode': True }})
+ r"""Unique identifier for a connection."""
+ allow_sync_on_push_complete: Optional[bool] = dataclasses.field(default=True, metadata={'query_param': { 'field_name': 'allowSyncOnPushComplete', 'style': 'form', 'explode': True }})
+ r"""Allow a sync upon push completion."""
create_bank_transactions: Optional[shared_createbanktransactions.CreateBankTransactions] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }})
timeout_in_minutes: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'timeoutInMinutes', 'style': 'form', 'explode': True }})
+ r"""Time limit for the push operation to complete before it is timed out."""
-
@dataclasses.dataclass
class CreateBankTransactionsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
create_bank_transactions_response: Optional[shared_createbanktransactionsresponse.CreateBankTransactionsResponse] = dataclasses.field(default=None)
r"""Success"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/create_company.py b/bank-feeds/src/codatbankfeeds/models/operations/create_company.py
index a8a25afd3..3225796a8 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/create_company.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/create_company.py
@@ -8,15 +8,17 @@
from typing import Optional
-
@dataclasses.dataclass
class CreateCompanyResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
company: Optional[shared_company.Company] = dataclasses.field(default=None)
r"""OK"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""The request made is not valid."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/create_connection.py b/bank-feeds/src/codatbankfeeds/models/operations/create_connection.py
index ec9e6f19a..a1af7208e 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/create_connection.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/create_connection.py
@@ -11,32 +11,34 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CreateConnectionRequestBody:
platform_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platformKey'), 'exclude': lambda f: f is None }})
+ r"""A unique 4-letter key to represent a platform in each integration. View [accounting](https://docs.codat.io/integrations/accounting/overview#platform-keys), [banking](https://docs.codat.io/integrations/banking/overview#platform-keys), and [commerce](https://docs.codat.io/integrations/commerce/overview#platform-keys) platform keys."""
-
@dataclasses.dataclass
class CreateConnectionRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
request_body: Optional[CreateConnectionRequestBody] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }})
-
@dataclasses.dataclass
class CreateConnectionResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
connection: Optional[shared_connection.Connection] = dataclasses.field(default=None)
r"""OK"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/create_source_account.py b/bank-feeds/src/codatbankfeeds/models/operations/create_source_account.py
index ca2f81d6a..480cec8f5 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/create_source_account.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/create_source_account.py
@@ -8,24 +8,27 @@
from typing import Optional
-
@dataclasses.dataclass
class CreateSourceAccountRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
source_account: Optional[shared_sourceaccount.SourceAccount] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }})
-
@dataclasses.dataclass
class CreateSourceAccountResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""The request made is not valid."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
source_account: Optional[shared_sourceaccount.SourceAccount] = dataclasses.field(default=None)
r"""Success"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/delete_bank_feed_credentials.py b/bank-feeds/src/codatbankfeeds/models/operations/delete_bank_feed_credentials.py
index f7a8bb3e5..43a29d71a 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/delete_bank_feed_credentials.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/delete_bank_feed_credentials.py
@@ -7,22 +7,25 @@
from typing import Optional
-
@dataclasses.dataclass
class DeleteBankFeedCredentialsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
-
@dataclasses.dataclass
class DeleteBankFeedCredentialsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/delete_company.py b/bank-feeds/src/codatbankfeeds/models/operations/delete_company.py
index b5e6a5b86..0c7da43c5 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/delete_company.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/delete_company.py
@@ -7,21 +7,23 @@
from typing import Optional
-
@dataclasses.dataclass
class DeleteCompanyRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
-
@dataclasses.dataclass
class DeleteCompanyResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/delete_connection.py b/bank-feeds/src/codatbankfeeds/models/operations/delete_connection.py
index e12219d11..568a81d83 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/delete_connection.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/delete_connection.py
@@ -7,22 +7,25 @@
from typing import Optional
-
@dataclasses.dataclass
class DeleteConnectionRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
-
@dataclasses.dataclass
class DeleteConnectionResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/delete_source_account.py b/bank-feeds/src/codatbankfeeds/models/operations/delete_source_account.py
index d3bbe4e2a..723b51fc2 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/delete_source_account.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/delete_source_account.py
@@ -7,24 +7,27 @@
from typing import Optional
-
@dataclasses.dataclass
class DeleteSourceAccountRequest:
account_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'accountId', 'style': 'simple', 'explode': False }})
- r"""Unique identifier for an account"""
+ r"""Unique identifier for an account."""
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
-
@dataclasses.dataclass
class DeleteSourceAccountResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/generate_credentials.py b/bank-feeds/src/codatbankfeeds/models/operations/generate_credentials.py
index 977d95403..9c31c99c5 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/generate_credentials.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/generate_credentials.py
@@ -8,25 +8,28 @@
from typing import Optional
-
@dataclasses.dataclass
class GenerateCredentialsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
request_body: bytes = dataclasses.field(metadata={'request': { 'media_type': 'application/json' }})
-
@dataclasses.dataclass
class GenerateCredentialsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
bank_account_credentials: Optional[shared_bankaccountcredentials.BankAccountCredentials] = dataclasses.field(default=None)
r"""Success"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/get_bank_account_mapping.py b/bank-feeds/src/codatbankfeeds/models/operations/get_bank_account_mapping.py
index c9cffab4e..1ca7ebede 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/get_bank_account_mapping.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/get_bank_account_mapping.py
@@ -8,24 +8,27 @@
from typing import Optional
-
@dataclasses.dataclass
class GetBankAccountMappingRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
-
@dataclasses.dataclass
class GetBankAccountMappingResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
bank_feed_mapping: Optional[shared_bankfeedmapping.BankFeedMapping] = dataclasses.field(default=None)
r"""Success"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/get_company.py b/bank-feeds/src/codatbankfeeds/models/operations/get_company.py
index b9881123d..9660394e9 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/get_company.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/get_company.py
@@ -8,23 +8,25 @@
from typing import Optional
-
@dataclasses.dataclass
class GetCompanyRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
-
@dataclasses.dataclass
class GetCompanyResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
company: Optional[shared_company.Company] = dataclasses.field(default=None)
r"""OK"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/get_connection.py b/bank-feeds/src/codatbankfeeds/models/operations/get_connection.py
index af6188ccb..c21ca84ed 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/get_connection.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/get_connection.py
@@ -8,24 +8,27 @@
from typing import Optional
-
@dataclasses.dataclass
class GetConnectionRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
-
@dataclasses.dataclass
class GetConnectionResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
connection: Optional[shared_connection.Connection] = dataclasses.field(default=None)
r"""OK"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/get_create_operation.py b/bank-feeds/src/codatbankfeeds/models/operations/get_create_operation.py
index 46d34d263..8f6d546bd 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/get_create_operation.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/get_create_operation.py
@@ -8,25 +8,27 @@
from typing import Optional
-
@dataclasses.dataclass
class GetCreateOperationRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
push_operation_key: str = dataclasses.field(metadata={'path_param': { 'field_name': 'pushOperationKey', 'style': 'simple', 'explode': False }})
r"""Push operation key."""
-
@dataclasses.dataclass
class GetCreateOperationResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
push_operation: Optional[shared_pushoperation.PushOperation] = dataclasses.field(default=None)
r"""OK"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/list_companies.py b/bank-feeds/src/codatbankfeeds/models/operations/list_companies.py
index bef24c7d7..601c3326c 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/list_companies.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/list_companies.py
@@ -8,14 +8,13 @@
from typing import Optional
-
@dataclasses.dataclass
class ListCompaniesRequest:
order_by: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'orderBy', 'style': 'form', 'explode': True }})
r"""Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results)."""
- page: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
+ page: Optional[int] = dataclasses.field(default=1, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
r"""Page number. [Read more](https://docs.codat.io/using-the-api/paging)."""
- page_size: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
+ page_size: Optional[int] = dataclasses.field(default=100, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
r"""Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)."""
query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }})
r"""Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)."""
@@ -23,15 +22,17 @@ class ListCompaniesRequest:
-
@dataclasses.dataclass
class ListCompaniesResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
companies: Optional[shared_companies.Companies] = dataclasses.field(default=None)
r"""OK"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your `query` parameter was not correctly formed"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/list_connections.py b/bank-feeds/src/codatbankfeeds/models/operations/list_connections.py
index a8f988177..8c85c3ad3 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/list_connections.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/list_connections.py
@@ -8,15 +8,15 @@
from typing import Optional
-
@dataclasses.dataclass
class ListConnectionsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
order_by: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'orderBy', 'style': 'form', 'explode': True }})
r"""Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results)."""
- page: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
+ page: Optional[int] = dataclasses.field(default=1, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
r"""Page number. [Read more](https://docs.codat.io/using-the-api/paging)."""
- page_size: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
+ page_size: Optional[int] = dataclasses.field(default=100, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
r"""Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)."""
query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }})
r"""Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)."""
@@ -24,15 +24,17 @@ class ListConnectionsRequest:
-
@dataclasses.dataclass
class ListConnectionsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
connections: Optional[shared_connections.Connections] = dataclasses.field(default=None)
r"""OK"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your `query` parameter was not correctly formed"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/list_create_operations.py b/bank-feeds/src/codatbankfeeds/models/operations/list_create_operations.py
index 06a45cd28..9aa9632cc 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/list_create_operations.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/list_create_operations.py
@@ -8,15 +8,15 @@
from typing import Optional
-
@dataclasses.dataclass
class ListCreateOperationsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
order_by: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'orderBy', 'style': 'form', 'explode': True }})
r"""Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results)."""
- page: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
+ page: Optional[int] = dataclasses.field(default=1, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
r"""Page number. [Read more](https://docs.codat.io/using-the-api/paging)."""
- page_size: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
+ page_size: Optional[int] = dataclasses.field(default=100, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
r"""Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)."""
query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }})
r"""Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)."""
@@ -24,15 +24,17 @@ class ListCreateOperationsRequest:
-
@dataclasses.dataclass
class ListCreateOperationsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your `query` parameter was not correctly formed"""
push_operations: Optional[shared_pushoperations.PushOperations] = dataclasses.field(default=None)
r"""OK"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/list_source_accounts.py b/bank-feeds/src/codatbankfeeds/models/operations/list_source_accounts.py
index 20b06fdbf..9e2486c1a 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/list_source_accounts.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/list_source_accounts.py
@@ -8,23 +8,26 @@
from typing import Optional
-
@dataclasses.dataclass
class ListSourceAccountsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
-
@dataclasses.dataclass
class ListSourceAccountsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
source_account: Optional[shared_sourceaccount.SourceAccount] = dataclasses.field(default=None)
r"""Success"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/unlink_connection.py b/bank-feeds/src/codatbankfeeds/models/operations/unlink_connection.py
index 8221b4cc1..1fe8e0c6c 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/unlink_connection.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/unlink_connection.py
@@ -12,7 +12,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class UnlinkConnectionUpdateConnection:
status: Optional[shared_dataconnectionstatus.DataConnectionStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
@@ -21,25 +20,28 @@ class UnlinkConnectionUpdateConnection:
-
@dataclasses.dataclass
class UnlinkConnectionRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
request_body: Optional[UnlinkConnectionUpdateConnection] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }})
-
@dataclasses.dataclass
class UnlinkConnectionResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
connection: Optional[shared_connection.Connection] = dataclasses.field(default=None)
r"""OK"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/update_company.py b/bank-feeds/src/codatbankfeeds/models/operations/update_company.py
index 22578dcd0..6f159a98a 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/update_company.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/update_company.py
@@ -9,24 +9,26 @@
from typing import Optional
-
@dataclasses.dataclass
class UpdateCompanyRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
company_request_body: Optional[shared_companyrequestbody.CompanyRequestBody] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }})
-
@dataclasses.dataclass
class UpdateCompanyResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
company: Optional[shared_company.Company] = dataclasses.field(default=None)
r"""OK"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/operations/update_source_account.py b/bank-feeds/src/codatbankfeeds/models/operations/update_source_account.py
index b8a0d37a5..ea8dd4888 100755
--- a/bank-feeds/src/codatbankfeeds/models/operations/update_source_account.py
+++ b/bank-feeds/src/codatbankfeeds/models/operations/update_source_account.py
@@ -8,26 +8,29 @@
from typing import Optional
-
@dataclasses.dataclass
class UpdateSourceAccountRequest:
account_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'accountId', 'style': 'simple', 'explode': False }})
- r"""Unique identifier for an account"""
+ r"""Unique identifier for an account."""
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
source_account: Optional[shared_sourceaccount.SourceAccount] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }})
-
@dataclasses.dataclass
class UpdateSourceAccountResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
source_account: Optional[shared_sourceaccount.SourceAccount] = dataclasses.field(default=None)
r"""Success"""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/__init__.py b/bank-feeds/src/codatbankfeeds/models/shared/__init__.py
index 5617fadf4..247d7ba94 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/__init__.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/__init__.py
@@ -3,6 +3,7 @@
from .bankaccountcredentials import *
from .bankfeedaccountmappingresponse import *
from .bankfeedmapping import *
+from .banktransactions import *
from .clientratelimitreachedwebhook import *
from .clientratelimitreachedwebhookdata import *
from .clientratelimitresetwebhook import *
@@ -12,7 +13,6 @@
from .companyrequestbody import *
from .connection import *
from .connections import *
-from .createbanktransaction import *
from .createbanktransactions import *
from .createbanktransactionsresponse import *
from .dataconnectionerror import *
@@ -33,4 +33,4 @@
from .validation import *
from .validationitem import *
-__all__ = ["BankAccountCredentials","BankFeedAccountMappingResponse","BankFeedMapping","ClientRateLimitReachedWebhook","ClientRateLimitReachedWebhookData","ClientRateLimitResetWebhook","ClientRateLimitResetWebhookData","Companies","Company","CompanyRequestBody","Connection","ConnectionSourceType","Connections","CreateBankTransaction","CreateBankTransactions","CreateBankTransactionsResponse","DataConnectionError","DataConnectionStatus","DataType","ErrorMessage","HalRef","Links","PushChangeType","PushOperation","PushOperationChange","PushOperationRef","PushOperationStatus","PushOperations","Security","SourceAccount","TargetAccountOption","Validation","ValidationItem"]
+__all__ = ["BankAccountCredentials","BankFeedAccountMappingResponse","BankFeedMapping","BankTransactions","BankTransactionsBankTransactionType","ClientRateLimitReachedWebhook","ClientRateLimitReachedWebhookData","ClientRateLimitResetWebhook","ClientRateLimitResetWebhookData","Companies","Company","CompanyRequestBody","Connection","ConnectionSourceType","Connections","CreateBankTransactions","CreateBankTransactionsResponse","DataConnectionError","DataConnectionStatus","DataType","ErrorMessage","HalRef","Links","PushChangeType","PushOperation","PushOperationChange","PushOperationRef","PushOperationStatus","PushOperations","Security","SourceAccount","TargetAccountOption","Validation","ValidationItem"]
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/bankaccountcredentials.py b/bank-feeds/src/codatbankfeeds/models/shared/bankaccountcredentials.py
index 36442d843..b41abeb07 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/bankaccountcredentials.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/bankaccountcredentials.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class BankAccountCredentials:
r"""Result of generate credentials"""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/bankfeedaccountmappingresponse.py b/bank-feeds/src/codatbankfeeds/models/shared/bankfeedaccountmappingresponse.py
index 6eeb87889..a1ac326a5 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/bankfeedaccountmappingresponse.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/bankfeedaccountmappingresponse.py
@@ -8,17 +8,16 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class BankFeedAccountMappingResponse:
r"""The result from POSTing a Bank Account mapping."""
- error: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Error'), 'exclude': lambda f: f is None }})
+ error: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Error') }})
r"""Error returned during the post request"""
source_account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceAccountId'), 'exclude': lambda f: f is None }})
r"""Unique ID for the source account."""
- status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Status'), 'exclude': lambda f: f is None }})
+ status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Status') }})
r"""Status of the POST request."""
- target_account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('targetAccountId'), 'exclude': lambda f: f is None }})
+ target_account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('targetAccountId') }})
r"""Unique ID for the target account."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/bankfeedmapping.py b/bank-feeds/src/codatbankfeeds/models/shared/bankfeedmapping.py
index 237736ed7..d54c6ee45 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/bankfeedmapping.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/bankfeedmapping.py
@@ -5,11 +5,10 @@
from ..shared import targetaccountoption as shared_targetaccountoption
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class BankFeedMapping:
r"""A bank feed connection between a source account and a target account, including potential target accounts."""
@@ -52,11 +51,12 @@ class BankFeedMapping:
There are only a very small number of edge cases where this currency code is returned by the Codat system.
"""
status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
- target_account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('targetAccountId'), 'exclude': lambda f: f is None }})
+ r"""The status."""
+ target_account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('targetAccountId') }})
r"""Unique ID for the target account in the accounting platform."""
target_account_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('targetAccountName'), 'exclude': lambda f: f is None }})
r"""Name for the target account in the accounting platform."""
- target_account_options: Optional[list[shared_targetaccountoption.TargetAccountOption]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('targetAccountOptions'), 'exclude': lambda f: f is None }})
+ target_account_options: Optional[List[shared_targetaccountoption.TargetAccountOption]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('targetAccountOptions') }})
r"""An array of potential target accounts."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/createbanktransaction.py b/bank-feeds/src/codatbankfeeds/models/shared/banktransactions.py
similarity index 53%
rename from bank-feeds/src/codatbankfeeds/models/shared/createbanktransaction.py
rename to bank-feeds/src/codatbankfeeds/models/shared/banktransactions.py
index f96bc20ba..47afc4522 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/createbanktransaction.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/banktransactions.py
@@ -5,15 +5,40 @@
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
from decimal import Decimal
+from enum import Enum
from typing import Optional
+class BankTransactionsBankTransactionType(str, Enum):
+ r"""Type of transaction for the bank statement line."""
+ UNKNOWN = 'Unknown'
+ CREDIT = 'Credit'
+ DEBIT = 'Debit'
+ INT = 'Int'
+ DIV = 'Div'
+ FEE = 'Fee'
+ SER_CHG = 'SerChg'
+ DEP = 'Dep'
+ ATM = 'Atm'
+ POS = 'Pos'
+ XFER = 'Xfer'
+ CHECK = 'Check'
+ PAYMENT = 'Payment'
+ CASH = 'Cash'
+ DIRECT_DEP = 'DirectDep'
+ DIRECT_DEBIT = 'DirectDebit'
+ REPEAT_PMT = 'RepeatPmt'
+ OTHER = 'Other'
-@dataclass_json(undefined=Undefined.EXCLUDE)
+@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
-class CreateBankTransaction:
+class BankTransactions:
amount: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
+ r"""The amount transacted in the bank transaction."""
balance: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('balance'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
+ r"""The remaining balance in the account with ID `accountId`."""
+ counterparty: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('counterparty') }})
+ r"""The giving or receiving party such as a person or organization."""
date_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('date'), 'exclude': lambda f: f is None }})
r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
@@ -35,7 +60,15 @@ class CreateBankTransaction:
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
- description: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('description'), 'exclude': lambda f: f is None }})
+ description: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('description') }})
+ r"""Description of the bank transaction."""
id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }})
+ r"""Identifier for the bank account transaction, unique for the company in the accounting platform."""
+ reconciled: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reconciled'), 'exclude': lambda f: f is None }})
+ r"""`True` if the bank transaction has been [reconciled](https://www.xero.com/uk/guides/what-is-bank-reconciliation/) in the accounting platform."""
+ reference: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reference') }})
+ r"""An optional reference to the bank transaction."""
+ transaction_type: Optional[BankTransactionsBankTransactionType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('transactionType'), 'exclude': lambda f: f is None }})
+ r"""Type of transaction for the bank statement line."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitreachedwebhook.py b/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitreachedwebhook.py
index f3a1bd150..519d7fd49 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitreachedwebhook.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitreachedwebhook.py
@@ -9,7 +9,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ClientRateLimitReachedWebhook:
r"""Webhook request body for a client that has reached their rate limit."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitreachedwebhookdata.py b/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitreachedwebhookdata.py
index 2bc2762c3..83a10878a 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitreachedwebhookdata.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitreachedwebhookdata.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ClientRateLimitReachedWebhookData:
daily_quota: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('DailyQuota'), 'exclude': lambda f: f is None }})
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitresetwebhook.py b/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitresetwebhook.py
index 46da9741e..d307c3008 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitresetwebhook.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitresetwebhook.py
@@ -9,7 +9,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ClientRateLimitResetWebhook:
r"""Webhook request body for a client that has had their rate limit reset."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitresetwebhookdata.py b/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitresetwebhookdata.py
index ed838e147..6479aed17 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitresetwebhookdata.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/clientratelimitresetwebhookdata.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ClientRateLimitResetWebhookData:
daily_quota: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('DailyQuota'), 'exclude': lambda f: f is None }})
@@ -34,7 +33,7 @@ class ClientRateLimitResetWebhookData:
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
- quota_remaining: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('QuotaRemaining'), 'exclude': lambda f: f is None }})
+ quota_remaining: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('QuotaRemaining') }})
r"""Total number of request remaining for your client."""
reset_reason: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ResetReason'), 'exclude': lambda f: f is None }})
r"""The reason for your rate limit quota being reset."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/companies.py b/bank-feeds/src/codatbankfeeds/models/shared/companies.py
index 13500d11b..f6ae3e83f 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/companies.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/companies.py
@@ -6,17 +6,19 @@
from ..shared import links as shared_links
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Companies:
links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }})
page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }})
+ r"""Current page number."""
page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }})
+ r"""Number of items to return in results array."""
total_results: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalResults') }})
- results: Optional[list[shared_company.Company]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
+ r"""Total number of items."""
+ results: Optional[List[shared_company.Company]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/company.py b/bank-feeds/src/codatbankfeeds/models/shared/company.py
index 9d496ac38..a11ebe98d 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/company.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/company.py
@@ -5,11 +5,10 @@
from ..shared import connection as shared_connection
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Company:
r"""In Codat, a company represents a business sharing access to their data. Each company can have multiple [connections](https://docs.codat.io/bank-feeds-api#/schemas/Connection) to different data sources such as one connection to [Xero](https://docs.codat.io/integrations/accounting/xero/accounting-xero) for accounting data, two connections to [Plaid](https://docs.codat.io/integrations/banking/plaid/banking-plaid) for two bank accounts and a connection to [Zettle](https://docs.codat.io/integrations/commerce/zettle/commerce-zettle) for POS data.
@@ -46,7 +45,8 @@ class Company:
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
created_by_user_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('createdByUserName'), 'exclude': lambda f: f is None }})
- data_connections: Optional[list[shared_connection.Connection]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnections'), 'exclude': lambda f: f is None }})
+ r"""Name of user that created the company in Codat."""
+ data_connections: Optional[List[shared_connection.Connection]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnections'), 'exclude': lambda f: f is None }})
description: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('description'), 'exclude': lambda f: f is None }})
r"""Additional information about the company. This can be used to store foreign IDs, references, etc."""
last_sync: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastSync'), 'exclude': lambda f: f is None }})
@@ -71,6 +71,9 @@ class Company:
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
platform: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platform'), 'exclude': lambda f: f is None }})
- r"""Deprecated field: This will be removed in a future release, please migrate away from it as soon as possible."""
+ r"""`platformKeys` name used when creating the company.
+
+ Deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
+ """
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/companyrequestbody.py b/bank-feeds/src/codatbankfeeds/models/shared/companyrequestbody.py
index 195759624..9610fab83 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/companyrequestbody.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/companyrequestbody.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CompanyRequestBody:
name: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name') }})
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/connection.py b/bank-feeds/src/codatbankfeeds/models/shared/connection.py
index 2f1275abb..fc4fad231 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/connection.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/connection.py
@@ -7,7 +7,7 @@
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
from enum import Enum
-from typing import Any, Optional
+from typing import Any, Dict, List, Optional
class ConnectionSourceType(str, Enum):
r"""The type of platform of the connection."""
@@ -19,7 +19,6 @@ class ConnectionSourceType(str, Enum):
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Connection:
r"""A connection represents a [company's](https://docs.codat.io/bank-feeds-api#/schemas/Company) connection to a data source and allows you to synchronize data (pull and/or push) with that source.
@@ -61,7 +60,9 @@ class Connection:
integration_key: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('integrationKey') }})
r"""A unique four-character ID that identifies the platform of the company's data connection. This ensures continuity if the platform changes its name in the future."""
link_url: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('linkUrl') }})
+ r"""The link URL your customers can use to authorize access to their business application."""
platform_name: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platformName') }})
+ r"""Name of integration connected to company."""
source_id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceId') }})
r"""A source-specific ID used to distinguish between different sources originating from the same data connection. In general, a data connection is a single data source. However, for TrueLayer, `sourceId` is associated with a specific bank and has a many-to-one relationship with the `integrationId`."""
source_type: ConnectionSourceType = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceType') }})
@@ -69,8 +70,8 @@ class Connection:
status: shared_dataconnectionstatus.DataConnectionStatus = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status') }})
r"""The current authorization status of the data connection."""
additional_properties: Optional[Any] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('additionalProperties'), 'exclude': lambda f: f is None }})
- connection_info: Optional[dict[str, str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('connectionInfo'), 'exclude': lambda f: f is None }})
- data_connection_errors: Optional[list[shared_dataconnectionerror.DataConnectionError]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionErrors'), 'exclude': lambda f: f is None }})
+ connection_info: Optional[Dict[str, str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('connectionInfo'), 'exclude': lambda f: f is None }})
+ data_connection_errors: Optional[List[shared_dataconnectionerror.DataConnectionError]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionErrors'), 'exclude': lambda f: f is None }})
last_sync: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastSync'), 'exclude': lambda f: f is None }})
r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/connections.py b/bank-feeds/src/codatbankfeeds/models/shared/connections.py
index f775164ee..96b9a95ac 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/connections.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/connections.py
@@ -6,17 +6,19 @@
from ..shared import links as shared_links
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Connections:
links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }})
page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }})
+ r"""Current page number."""
page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }})
+ r"""Number of items to return in results array."""
total_results: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalResults') }})
- results: Optional[list[shared_connection.Connection]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
+ r"""Total number of items."""
+ results: Optional[List[shared_connection.Connection]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/createbanktransactions.py b/bank-feeds/src/codatbankfeeds/models/shared/createbanktransactions.py
index cbf8b21f8..d88a6c982 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/createbanktransactions.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/createbanktransactions.py
@@ -2,17 +2,17 @@
from __future__ import annotations
import dataclasses
-from ..shared import createbanktransaction as shared_createbanktransaction
+from ..shared import banktransactions as shared_banktransactions
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CreateBankTransactions:
account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountId'), 'exclude': lambda f: f is None }})
- transactions: Optional[list[shared_createbanktransaction.CreateBankTransaction]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('transactions'), 'exclude': lambda f: f is None }})
+ r"""Unique identifier for a bank account."""
+ transactions: Optional[List[shared_banktransactions.BankTransactions]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('transactions'), 'exclude': lambda f: f is None }})
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/createbanktransactionsresponse.py b/bank-feeds/src/codatbankfeeds/models/shared/createbanktransactionsresponse.py
index 2dd589b7e..3bfdd3fd8 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/createbanktransactionsresponse.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/createbanktransactionsresponse.py
@@ -9,11 +9,10 @@
from ..shared import validation as shared_validation
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CreateBankTransactionsResponse:
company_id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyId') }})
@@ -46,7 +45,8 @@ class CreateBankTransactionsResponse:
status: shared_pushoperationstatus.PushOperationStatus = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status') }})
r"""The current status of the push operation."""
status_code: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('statusCode') }})
- changes: Optional[list[shared_pushoperationchange.PushOperationChange]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('changes'), 'exclude': lambda f: f is None }})
+ r"""Push status code."""
+ changes: Optional[List[shared_pushoperationchange.PushOperationChange]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('changes') }})
r"""Contains a single entry that communicates which record has changed and the manner in which it changed."""
completed_on_utc: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('completedOnUtc'), 'exclude': lambda f: f is None }})
r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
@@ -72,11 +72,15 @@ class CreateBankTransactionsResponse:
data: Optional[shared_createbanktransactions.CreateBankTransactions] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('data'), 'exclude': lambda f: f is None }})
data_type: Optional[shared_datatype.DataType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataType'), 'exclude': lambda f: f is None }})
r"""Available Data types"""
- error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage'), 'exclude': lambda f: f is None }})
- r"""Your API request was not properly authorized."""
- timeout_in_minutes: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInMinutes'), 'exclude': lambda f: f is None }})
- timeout_in_seconds: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInSeconds'), 'exclude': lambda f: f is None }})
- r"""Deprecated field: This will be removed in a future release, please migrate away from it as soon as possible."""
+ error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage') }})
+ r"""A message about the error."""
+ timeout_in_minutes: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInMinutes') }})
+ r"""Number of minutes the push operation must complete within before it times out."""
+ timeout_in_seconds: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInSeconds') }})
+ r"""Number of seconds the push operation must complete within before it times out.
+
+ Deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
+ """
validation: Optional[shared_validation.Validation] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('validation'), 'exclude': lambda f: f is None }})
r"""A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/dataconnectionerror.py b/bank-feeds/src/codatbankfeeds/models/shared/dataconnectionerror.py
index f4ea27627..2443bfea0 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/dataconnectionerror.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/dataconnectionerror.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataConnectionError:
errored_on_utc: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('erroredOnUtc'), 'exclude': lambda f: f is None }})
@@ -33,7 +32,10 @@ class DataConnectionError:
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage'), 'exclude': lambda f: f is None }})
+ r"""A brief message about the error."""
status_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('statusCode'), 'exclude': lambda f: f is None }})
+ r"""The HTTP status code returned by the error."""
status_text: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('statusText'), 'exclude': lambda f: f is None }})
+ r"""A non-numeric status code/text."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/errormessage.py b/bank-feeds/src/codatbankfeeds/models/shared/errormessage.py
index 21db909e0..f642006b4 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/errormessage.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/errormessage.py
@@ -8,14 +8,19 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ErrorMessage:
can_be_retried: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('canBeRetried'), 'exclude': lambda f: f is None }})
+ r"""`True` if the error occurred transiently and can be retried."""
correlation_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('correlationId'), 'exclude': lambda f: f is None }})
+ r"""Unique identifier used to propagate to all downstream services and determine the source of the error."""
detailed_error_code: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('detailedErrorCode'), 'exclude': lambda f: f is None }})
+ r"""Machine readable error code used to automate processes based on the code returned."""
error: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('error'), 'exclude': lambda f: f is None }})
+ r"""A brief description of the error."""
service: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('service'), 'exclude': lambda f: f is None }})
+ r"""Codat's service the returned the error."""
status_code: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('statusCode'), 'exclude': lambda f: f is None }})
+ r"""The HTTP status code returned by the error."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/halref.py b/bank-feeds/src/codatbankfeeds/models/shared/halref.py
index 319477ef1..10c5c3fe1 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/halref.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/halref.py
@@ -8,9 +8,9 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class HalRef:
href: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('href'), 'exclude': lambda f: f is None }})
+ r"""Uri hypertext reference."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/links.py b/bank-feeds/src/codatbankfeeds/models/shared/links.py
index 45713341e..3d9f80ac3 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/links.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/links.py
@@ -9,7 +9,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Links:
current: shared_halref.HalRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('current') }})
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/pushchangetype.py b/bank-feeds/src/codatbankfeeds/models/shared/pushchangetype.py
index 88e1a3ec7..55cd1990f 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/pushchangetype.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/pushchangetype.py
@@ -4,6 +4,7 @@
from enum import Enum
class PushChangeType(str, Enum):
+ r"""Type of change being applied to record in third party platform."""
UNKNOWN = 'Unknown'
CREATED = 'Created'
MODIFIED = 'Modified'
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/pushoperation.py b/bank-feeds/src/codatbankfeeds/models/shared/pushoperation.py
index bf8e94f36..37715ffd9 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/pushoperation.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/pushoperation.py
@@ -8,11 +8,10 @@
from ..shared import validation as shared_validation
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class PushOperation:
company_id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyId') }})
@@ -45,7 +44,8 @@ class PushOperation:
status: shared_pushoperationstatus.PushOperationStatus = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status') }})
r"""The current status of the push operation."""
status_code: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('statusCode') }})
- changes: Optional[list[shared_pushoperationchange.PushOperationChange]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('changes'), 'exclude': lambda f: f is None }})
+ r"""Push status code."""
+ changes: Optional[List[shared_pushoperationchange.PushOperationChange]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('changes') }})
r"""Contains a single entry that communicates which record has changed and the manner in which it changed."""
completed_on_utc: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('completedOnUtc'), 'exclude': lambda f: f is None }})
r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
@@ -70,10 +70,15 @@ class PushOperation:
"""
data_type: Optional[shared_datatype.DataType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataType'), 'exclude': lambda f: f is None }})
r"""Available Data types"""
- error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage'), 'exclude': lambda f: f is None }})
- timeout_in_minutes: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInMinutes'), 'exclude': lambda f: f is None }})
- timeout_in_seconds: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInSeconds'), 'exclude': lambda f: f is None }})
- r"""Deprecated field: This will be removed in a future release, please migrate away from it as soon as possible."""
+ error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage') }})
+ r"""A message about the error."""
+ timeout_in_minutes: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInMinutes') }})
+ r"""Number of minutes the push operation must complete within before it times out."""
+ timeout_in_seconds: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInSeconds') }})
+ r"""Number of seconds the push operation must complete within before it times out.
+
+ Deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
+ """
validation: Optional[shared_validation.Validation] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('validation'), 'exclude': lambda f: f is None }})
r"""A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/pushoperationchange.py b/bank-feeds/src/codatbankfeeds/models/shared/pushoperationchange.py
index 219ae12b8..3d1362c7d 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/pushoperationchange.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/pushoperationchange.py
@@ -10,11 +10,12 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class PushOperationChange:
- attachment_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('attachmentId'), 'exclude': lambda f: f is None }})
+ attachment_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('attachmentId') }})
+ r"""Unique identifier for the attachment created otherwise null."""
record_ref: Optional[shared_pushoperationref.PushOperationRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('recordRef'), 'exclude': lambda f: f is None }})
type: Optional[shared_pushchangetype.PushChangeType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }})
+ r"""Type of change being applied to record in third party platform."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/pushoperationref.py b/bank-feeds/src/codatbankfeeds/models/shared/pushoperationref.py
index e3b0cbc83..270e3891e 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/pushoperationref.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/pushoperationref.py
@@ -9,11 +9,11 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class PushOperationRef:
data_type: Optional[shared_datatype.DataType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataType'), 'exclude': lambda f: f is None }})
r"""Available Data types"""
id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }})
+ r"""Unique identifier for a push operation."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/pushoperations.py b/bank-feeds/src/codatbankfeeds/models/shared/pushoperations.py
index be5c69930..1ed8490d1 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/pushoperations.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/pushoperations.py
@@ -6,17 +6,19 @@
from ..shared import pushoperation as shared_pushoperation
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class PushOperations:
links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }})
page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }})
+ r"""Current page number."""
page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }})
+ r"""Number of items to return in results array."""
total_results: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalResults') }})
- results: Optional[list[shared_pushoperation.PushOperation]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
+ r"""Total number of items."""
+ results: Optional[List[shared_pushoperation.PushOperation]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/security.py b/bank-feeds/src/codatbankfeeds/models/shared/security.py
index a72246378..1d57f5faa 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/security.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/security.py
@@ -4,7 +4,6 @@
import dataclasses
-
@dataclasses.dataclass
class Security:
auth_header: str = dataclasses.field(metadata={'security': { 'scheme': True, 'type': 'apiKey', 'sub_type': 'header', 'field_name': 'Authorization' }})
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/sourceaccount.py b/bank-feeds/src/codatbankfeeds/models/shared/sourceaccount.py
index 9ca324940..5b26328fd 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/sourceaccount.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/sourceaccount.py
@@ -9,20 +9,19 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class SourceAccount:
r"""The target bank account in a supported accounting package for ingestion into a bank feed."""
id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id') }})
- r"""Unique ID for the bank account"""
- account_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountName'), 'exclude': lambda f: f is None }})
- r"""The bank account name"""
- account_number: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountNumber'), 'exclude': lambda f: f is None }})
- r"""The account number"""
- account_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountType'), 'exclude': lambda f: f is None }})
- r"""The type of bank account e.g. Credit"""
- balance: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('balance'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
- r"""The latest balance for the bank account"""
+ r"""Unique ID for the bank account."""
+ account_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountName') }})
+ r"""The bank account name."""
+ account_number: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountNumber') }})
+ r"""The account number."""
+ account_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountType') }})
+ r"""The type of bank account e.g. Credit."""
+ balance: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('balance'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder }})
+ r"""The latest balance for the bank account."""
currency: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currency'), 'exclude': lambda f: f is None }})
r"""The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
@@ -74,8 +73,9 @@ class SourceAccount:
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
- sort_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sortCode'), 'exclude': lambda f: f is None }})
- r"""The sort code"""
- status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
+ sort_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sortCode') }})
+ r"""The sort code."""
+ status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status') }})
+ r"""Status of the source account."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/targetaccountoption.py b/bank-feeds/src/codatbankfeeds/models/shared/targetaccountoption.py
index 42b134e7f..1245fe376 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/targetaccountoption.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/targetaccountoption.py
@@ -9,18 +9,17 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class TargetAccountOption:
- account_number: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountNumber'), 'exclude': lambda f: f is None }})
+ account_number: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountNumber') }})
r"""The account number of the account."""
- balance: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('balance'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
+ balance: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('balance'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder }})
r"""The balance of the account."""
id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }})
r"""Id of the target account."""
- name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }})
+ name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name') }})
r"""Name of the target account."""
- sort_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sortCode'), 'exclude': lambda f: f is None }})
+ sort_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sortCode') }})
r"""The sort code of the account."""
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/validation.py b/bank-feeds/src/codatbankfeeds/models/shared/validation.py
index 8fc592b00..428e83137 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/validation.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/validation.py
@@ -5,15 +5,14 @@
from ..shared import validationitem as shared_validationitem
from codatbankfeeds import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Validation:
r"""A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here."""
- errors: Optional[list[shared_validationitem.ValidationItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
- warnings: Optional[list[shared_validationitem.ValidationItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('warnings'), 'exclude': lambda f: f is None }})
+ errors: Optional[List[shared_validationitem.ValidationItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors') }})
+ warnings: Optional[List[shared_validationitem.ValidationItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('warnings') }})
diff --git a/bank-feeds/src/codatbankfeeds/models/shared/validationitem.py b/bank-feeds/src/codatbankfeeds/models/shared/validationitem.py
index c99a46bcc..0f0893ece 100755
--- a/bank-feeds/src/codatbankfeeds/models/shared/validationitem.py
+++ b/bank-feeds/src/codatbankfeeds/models/shared/validationitem.py
@@ -8,11 +8,13 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ValidationItem:
- item_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('itemId'), 'exclude': lambda f: f is None }})
- message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
- validator_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('validatorName'), 'exclude': lambda f: f is None }})
+ item_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('itemId') }})
+ r"""Unique identifier for a validation item."""
+ message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message') }})
+ r"""A message outlining validation item's issue."""
+ validator_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('validatorName') }})
+ r"""Name of validator."""
diff --git a/bank-feeds/src/codatbankfeeds/models/webhooks/client_rate_limit_reached.py b/bank-feeds/src/codatbankfeeds/models/webhooks/client_rate_limit_reached.py
index 8ce5abf44..20c411599 100755
--- a/bank-feeds/src/codatbankfeeds/models/webhooks/client_rate_limit_reached.py
+++ b/bank-feeds/src/codatbankfeeds/models/webhooks/client_rate_limit_reached.py
@@ -6,11 +6,13 @@
from typing import Optional
-
@dataclasses.dataclass
class ClientRateLimitReachedResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/models/webhooks/client_rate_limit_reset.py b/bank-feeds/src/codatbankfeeds/models/webhooks/client_rate_limit_reset.py
index df91ac429..7e4b65419 100755
--- a/bank-feeds/src/codatbankfeeds/models/webhooks/client_rate_limit_reset.py
+++ b/bank-feeds/src/codatbankfeeds/models/webhooks/client_rate_limit_reset.py
@@ -6,11 +6,13 @@
from typing import Optional
-
@dataclasses.dataclass
class ClientRateLimitResetResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/bank-feeds/src/codatbankfeeds/sdk.py b/bank-feeds/src/codatbankfeeds/sdk.py
index 470a9609c..fe3a16918 100755
--- a/bank-feeds/src/codatbankfeeds/sdk.py
+++ b/bank-feeds/src/codatbankfeeds/sdk.py
@@ -9,6 +9,7 @@
from .transactions import Transactions
from codatbankfeeds import utils
from codatbankfeeds.models import shared
+from typing import Dict
class CodatBankFeeds:
r"""Bank Feeds API: Bank Feeds API enables your SMB users to set up bank feeds from accounts in your application to supported accounting platforms.
@@ -46,7 +47,7 @@ def __init__(self,
security: shared.Security = None,
server_idx: int = None,
server_url: str = None,
- url_params: dict[str, str] = None,
+ url_params: Dict[str, str] = None,
client: requests_http.Session = None,
retry_config: utils.RetryConfig = None
) -> None:
@@ -59,7 +60,7 @@ def __init__(self,
:param server_url: The server URL to use for all operations
:type server_url: str
:param url_params: Parameters to optionally template the server URL with
- :type url_params: dict[str, str]
+ :type url_params: Dict[str, str]
:param client: The requests.Session HTTP client to use for all operations
:type client: requests_http.Session
:param retry_config: The utils.RetryConfig to use globally
@@ -68,8 +69,10 @@ def __init__(self,
if client is None:
client = requests_http.Session()
+
security_client = utils.configure_security_client(client, security)
+
if server_url is not None:
if url_params is not None:
server_url = utils.template_url(server_url, url_params)
diff --git a/bank-feeds/src/codatbankfeeds/sdkconfiguration.py b/bank-feeds/src/codatbankfeeds/sdkconfiguration.py
index 0235b21ef..62b6bce96 100755
--- a/bank-feeds/src/codatbankfeeds/sdkconfiguration.py
+++ b/bank-feeds/src/codatbankfeeds/sdkconfiguration.py
@@ -2,8 +2,9 @@
import requests
from dataclasses import dataclass
-
+from typing import Dict, Tuple
from .utils.retries import RetryConfig
+from .utils import utils
SERVERS = [
@@ -20,13 +21,14 @@ class SDKConfiguration:
server_idx: int = 0
language: str = 'python'
openapi_doc_version: str = '3.0.0'
- sdk_version: str = '3.1.0'
- gen_version: str = '2.116.0'
+ sdk_version: str = '4.0.0'
+ gen_version: str = '2.159.2'
+ user_agent: str = 'speakeasy-sdk/python 4.0.0 2.159.2 3.0.0 codat-bankfeeds'
retry_config: RetryConfig = None
- def get_server_details(self) -> tuple[str, dict[str, str]]:
+ def get_server_details(self) -> Tuple[str, Dict[str, str]]:
if self.server_url:
- return self.server_url.removesuffix('/'), {}
+ return utils.remove_suffix(self.server_url, '/'), {}
if self.server_idx is None:
self.server_idx = 0
diff --git a/bank-feeds/src/codatbankfeeds/source_accounts.py b/bank-feeds/src/codatbankfeeds/source_accounts.py
index a4de556ae..272dfd7ce 100755
--- a/bank-feeds/src/codatbankfeeds/source_accounts.py
+++ b/bank-feeds/src/codatbankfeeds/source_accounts.py
@@ -40,11 +40,11 @@ def create(self, request: operations.CreateSourceAccountRequest, retries: Option
url = utils.generate_url(operations.CreateSourceAccountRequest, base_url, '/companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts', request)
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "source_account", 'json')
+ req_content_type, data, form = utils.serialize_request_body(request, "source_account", False, True, 'json')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -58,7 +58,7 @@ def create(self, request: operations.CreateSourceAccountRequest, retries: Option
def do_request():
return client.request('POST', url, data=data, files=form, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -95,7 +95,7 @@ def delete(self, request: operations.DeleteSourceAccountRequest, retries: Option
url = utils.generate_url(operations.DeleteSourceAccountRequest, base_url, '/companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/{accountId}', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -109,7 +109,7 @@ def delete(self, request: operations.DeleteSourceAccountRequest, retries: Option
def do_request():
return client.request('DELETE', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -142,7 +142,7 @@ def delete_credentials(self, request: operations.DeleteBankFeedCredentialsReques
url = utils.generate_url(operations.DeleteBankFeedCredentialsRequest, base_url, '/companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/credentials', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -156,7 +156,7 @@ def delete_credentials(self, request: operations.DeleteBankFeedCredentialsReques
def do_request():
return client.request('DELETE', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -188,13 +188,13 @@ def generate_credentials(self, request: operations.GenerateCredentialsRequest, r
url = utils.generate_url(operations.GenerateCredentialsRequest, base_url, '/companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/credentials', request)
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "request_body", 'json')
+ req_content_type, data, form = utils.serialize_request_body(request, "request_body", False, False, 'json')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
if data is None and form is None:
raise Exception('request body is required')
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -208,7 +208,7 @@ def generate_credentials(self, request: operations.GenerateCredentialsRequest, r
def do_request():
return client.request('POST', url, data=data, files=form, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -245,7 +245,7 @@ def list(self, request: operations.ListSourceAccountsRequest, retries: Optional[
url = utils.generate_url(operations.ListSourceAccountsRequest, base_url, '/companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -259,7 +259,7 @@ def list(self, request: operations.ListSourceAccountsRequest, retries: Optional[
def do_request():
return client.request('GET', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -293,11 +293,11 @@ def update(self, request: operations.UpdateSourceAccountRequest, retries: Option
url = utils.generate_url(operations.UpdateSourceAccountRequest, base_url, '/companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/{accountId}', request)
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "source_account", 'json')
+ req_content_type, data, form = utils.serialize_request_body(request, "source_account", False, True, 'json')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -311,7 +311,7 @@ def update(self, request: operations.UpdateSourceAccountRequest, retries: Option
def do_request():
return client.request('PATCH', url, data=data, files=form, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
diff --git a/bank-feeds/src/codatbankfeeds/transactions.py b/bank-feeds/src/codatbankfeeds/transactions.py
index 9b990e6b4..1d76635ca 100755
--- a/bank-feeds/src/codatbankfeeds/transactions.py
+++ b/bank-feeds/src/codatbankfeeds/transactions.py
@@ -29,12 +29,12 @@ def create(self, request: operations.CreateBankTransactionsRequest, retries: Opt
url = utils.generate_url(operations.CreateBankTransactionsRequest, base_url, '/companies/{companyId}/connections/{connectionId}/push/bankAccounts/{accountId}/bankTransactions', request)
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "create_bank_transactions", 'json')
+ req_content_type, data, form = utils.serialize_request_body(request, "create_bank_transactions", False, True, 'json')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
query_params = utils.get_query_params(operations.CreateBankTransactionsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -48,7 +48,7 @@ def create(self, request: operations.CreateBankTransactionsRequest, retries: Opt
def do_request():
return client.request('POST', url, params=query_params, data=data, files=form, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -83,7 +83,7 @@ def get_create_operation(self, request: operations.GetCreateOperationRequest, re
url = utils.generate_url(operations.GetCreateOperationRequest, base_url, '/companies/{companyId}/push/{pushOperationKey}', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -97,7 +97,7 @@ def get_create_operation(self, request: operations.GetCreateOperationRequest, re
def do_request():
return client.request('GET', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -133,7 +133,7 @@ def list_create_operations(self, request: operations.ListCreateOperationsRequest
headers = {}
query_params = utils.get_query_params(operations.ListCreateOperationsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
@@ -147,7 +147,7 @@ def list_create_operations(self, request: operations.ListCreateOperationsRequest
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
diff --git a/bank-feeds/src/codatbankfeeds/utils/retries.py b/bank-feeds/src/codatbankfeeds/utils/retries.py
index 2138c1b5e..25f49a1f2 100755
--- a/bank-feeds/src/codatbankfeeds/utils/retries.py
+++ b/bank-feeds/src/codatbankfeeds/utils/retries.py
@@ -2,6 +2,7 @@
import random
import time
+from typing import List
import requests
@@ -32,9 +33,9 @@ def __init__(self, strategy: str, backoff: BackoffStrategy, retry_connection_err
class Retries:
config: RetryConfig
- status_codes: list[str]
+ status_codes: List[str]
- def __init__(self, config: RetryConfig, status_codes: list[str]):
+ def __init__(self, config: RetryConfig, status_codes: List[str]):
self.config = config
self.status_codes = status_codes
diff --git a/bank-feeds/src/codatbankfeeds/utils/utils.py b/bank-feeds/src/codatbankfeeds/utils/utils.py
index 05eafba6c..ccfad9f7a 100755
--- a/bank-feeds/src/codatbankfeeds/utils/utils.py
+++ b/bank-feeds/src/codatbankfeeds/utils/utils.py
@@ -3,12 +3,14 @@
import base64
import json
import re
+import sys
from dataclasses import Field, dataclass, fields, is_dataclass, make_dataclass
from datetime import date, datetime
from decimal import Decimal
from email.message import Message
from enum import Enum
-from typing import Any, Callable, Optional, Tuple, Union, get_args, get_origin
+from typing import (Any, Callable, Dict, List, Optional, Tuple, Union,
+ get_args, get_origin)
from xmlrpc.client import boolean
import dateutil.parser
@@ -18,14 +20,14 @@
class SecurityClient:
client: requests.Session
- query_params: dict[str, str] = {}
+ query_params: Dict[str, str] = {}
def __init__(self, client: requests.Session):
self.client = client
def request(self, method, url, **kwargs):
params = kwargs.get('params', {})
- kwargs["params"] = self.query_params | params
+ kwargs["params"] = {**self.query_params, **params}
return self.client.request(method, url, **kwargs)
@@ -68,7 +70,7 @@ def _parse_security_option(client: SecurityClient, option: dataclass):
client, metadata, getattr(option, opt_field.name))
-def _parse_security_scheme(client: SecurityClient, scheme_metadata: dict, scheme: any):
+def _parse_security_scheme(client: SecurityClient, scheme_metadata: Dict, scheme: any):
scheme_type = scheme_metadata.get('type')
sub_type = scheme_metadata.get('sub_type')
@@ -92,7 +94,7 @@ def _parse_security_scheme(client: SecurityClient, scheme_metadata: dict, scheme
client, scheme_metadata, scheme_metadata, scheme)
-def _parse_security_scheme_value(client: SecurityClient, scheme_metadata: dict, security_metadata: dict, value: any):
+def _parse_security_scheme_value(client: SecurityClient, scheme_metadata: Dict, security_metadata: Dict, value: any):
scheme_type = scheme_metadata.get('type')
sub_type = scheme_metadata.get('sub_type')
@@ -144,7 +146,7 @@ def _parse_basic_auth_scheme(client: SecurityClient, scheme: dataclass):
def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass,
- gbls: dict[str, dict[str, dict[str, Any]]] = None) -> str:
+ gbls: Dict[str, Dict[str, Dict[str, Any]]] = None) -> str:
path_param_fields: Tuple[Field, ...] = fields(clazz)
for field in path_param_fields:
request_metadata = field.metadata.get('request')
@@ -173,16 +175,16 @@ def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass
'{' + key + '}', value, 1)
else:
if param_metadata.get('style', 'simple') == 'simple':
- if isinstance(param, list):
- pp_vals: list[str] = []
+ if isinstance(param, List):
+ pp_vals: List[str] = []
for pp_val in param:
if pp_val is None:
continue
pp_vals.append(_val_to_string(pp_val))
path = path.replace(
'{' + param_metadata.get('field_name', field.name) + '}', ",".join(pp_vals), 1)
- elif isinstance(param, dict):
- pp_vals: list[str] = []
+ elif isinstance(param, Dict):
+ pp_vals: List[str] = []
for pp_key in param:
if param[pp_key] is None:
continue
@@ -195,7 +197,7 @@ def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass
path = path.replace(
'{' + param_metadata.get('field_name', field.name) + '}', ",".join(pp_vals), 1)
elif not isinstance(param, (str, int, float, complex, bool, Decimal)):
- pp_vals: list[str] = []
+ pp_vals: List[str] = []
param_fields: Tuple[Field, ...] = fields(param)
for param_field in param_fields:
param_value_metadata = param_field.metadata.get(
@@ -221,14 +223,14 @@ def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass
path = path.replace(
'{' + param_metadata.get('field_name', field.name) + '}', _val_to_string(param), 1)
- return server_url.removesuffix("/") + path
+ return remove_suffix(server_url, '/') + path
def is_optional(field):
return get_origin(field) is Union and type(None) in get_args(field)
-def template_url(url_with_params: str, params: dict[str, str]) -> str:
+def template_url(url_with_params: str, params: Dict[str, str]) -> str:
for key, value in params.items():
url_with_params = url_with_params.replace(
'{' + key + '}', value)
@@ -236,9 +238,9 @@ def template_url(url_with_params: str, params: dict[str, str]) -> str:
return url_with_params
-def get_query_params(clazz: type, query_params: dataclass, gbls: dict[str, dict[str, dict[str, Any]]] = None) -> dict[
- str, list[str]]:
- params: dict[str, list[str]] = {}
+def get_query_params(clazz: type, query_params: dataclass, gbls: Dict[str, Dict[str, Dict[str, Any]]] = None) -> Dict[
+ str, List[str]]:
+ params: Dict[str, List[str]] = {}
param_fields: Tuple[Field, ...] = fields(clazz)
for field in param_fields:
@@ -268,24 +270,24 @@ def get_query_params(clazz: type, query_params: dataclass, gbls: dict[str, dict[
else:
style = metadata.get('style', 'form')
if style == 'deepObject':
- params = params | _get_deep_object_query_params(
- metadata, f_name, value)
+ params = {**params, **_get_deep_object_query_params(
+ metadata, f_name, value)}
elif style == 'form':
- params = params | _get_delimited_query_params(
- metadata, f_name, value, ",")
+ params = {**params, **_get_delimited_query_params(
+ metadata, f_name, value, ",")}
elif style == 'pipeDelimited':
- params = params | _get_delimited_query_params(
- metadata, f_name, value, "|")
+ params = {**params, **_get_delimited_query_params(
+ metadata, f_name, value, "|")}
else:
raise Exception('not yet implemented')
return params
-def get_headers(headers_params: dataclass) -> dict[str, str]:
+def get_headers(headers_params: dataclass) -> Dict[str, str]:
if headers_params is None:
return {}
- headers: dict[str, str] = {}
+ headers: Dict[str, str] = {}
param_fields: Tuple[Field, ...] = fields(headers_params)
for field in param_fields:
@@ -302,8 +304,8 @@ def get_headers(headers_params: dataclass) -> dict[str, str]:
return headers
-def _get_serialized_params(metadata: dict, field_name: str, obj: any) -> dict[str, str]:
- params: dict[str, str] = {}
+def _get_serialized_params(metadata: Dict, field_name: str, obj: any) -> Dict[str, str]:
+ params: Dict[str, str] = {}
serialization = metadata.get('serialization', '')
if serialization == 'json':
@@ -312,8 +314,8 @@ def _get_serialized_params(metadata: dict, field_name: str, obj: any) -> dict[st
return params
-def _get_deep_object_query_params(metadata: dict, field_name: str, obj: any) -> dict[str, list[str]]:
- params: dict[str, list[str]] = {}
+def _get_deep_object_query_params(metadata: Dict, field_name: str, obj: any) -> Dict[str, List[str]]:
+ params: Dict[str, List[str]] = {}
if obj is None:
return params
@@ -329,7 +331,7 @@ def _get_deep_object_query_params(metadata: dict, field_name: str, obj: any) ->
if obj_val is None:
continue
- if isinstance(obj_val, list):
+ if isinstance(obj_val, List):
for val in obj_val:
if val is None:
continue
@@ -347,12 +349,12 @@ def _get_deep_object_query_params(metadata: dict, field_name: str, obj: any) ->
params[
f'{metadata.get("field_name", field_name)}[{obj_param_metadata.get("field_name", obj_field.name)}]'] = [
_val_to_string(obj_val)]
- elif isinstance(obj, dict):
+ elif isinstance(obj, Dict):
for key, value in obj.items():
if value is None:
continue
- if isinstance(value, list):
+ if isinstance(value, List):
for val in value:
if val is None:
continue
@@ -378,8 +380,8 @@ def _get_query_param_field_name(obj_field: Field) -> str:
return obj_param_metadata.get("field_name", obj_field.name)
-def _get_delimited_query_params(metadata: dict, field_name: str, obj: any, delimiter: str) -> dict[
- str, list[str]]:
+def _get_delimited_query_params(metadata: Dict, field_name: str, obj: any, delimiter: str) -> Dict[
+ str, List[str]]:
return _populate_form(field_name, metadata.get("explode", True), obj, _get_query_param_field_name, delimiter)
@@ -392,17 +394,22 @@ def _get_delimited_query_params(metadata: dict, field_name: str, obj: any, delim
}
-def serialize_request_body(request: dataclass, request_field_name: str, serialization_method: str) -> Tuple[
+def serialize_request_body(request: dataclass, request_field_name: str, nullable: bool, optional: bool, serialization_method: str, encoder=None) -> Tuple[
str, any, any]:
if request is None:
- return None, None, None
+ if not nullable and optional:
+ return None, None, None
if not is_dataclass(request) or not hasattr(request, request_field_name):
return serialize_content_type(request_field_name, SERIALIZATION_METHOD_TO_CONTENT_TYPE[serialization_method],
- request)
+ request, encoder)
request_val = getattr(request, request_field_name)
+ if request_val is None:
+ if not nullable and optional:
+ return None, None, None
+
request_fields: Tuple[Field, ...] = fields(request)
request_metadata = None
@@ -418,9 +425,9 @@ def serialize_request_body(request: dataclass, request_field_name: str, serializ
request_val)
-def serialize_content_type(field_name: str, media_type: str, request: dataclass) -> Tuple[str, any, list[list[any]]]:
+def serialize_content_type(field_name: str, media_type: str, request: dataclass, encoder=None) -> Tuple[str, any, List[List[any]]]:
if re.match(r'(application|text)\/.*?\+*json.*', media_type) is not None:
- return media_type, marshal_json(request), None
+ return media_type, marshal_json(request, encoder), None
if re.match(r'multipart\/.*', media_type) is not None:
return serialize_multipart_form(media_type, request)
if re.match(r'application\/x-www-form-urlencoded.*', media_type) is not None:
@@ -434,8 +441,8 @@ def serialize_content_type(field_name: str, media_type: str, request: dataclass)
f"invalid request body type {type(request)} for mediaType {media_type}")
-def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str, any, list[list[any]]]:
- form: list[list[any]] = []
+def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str, any, List[List[any]]]:
+ form: List[List[any]] = []
request_fields = fields(request)
for field in request_fields:
@@ -476,7 +483,7 @@ def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str,
else:
field_name = field_metadata.get(
"field_name", field.name)
- if isinstance(val, list):
+ if isinstance(val, List):
for value in val:
if value is None:
continue
@@ -487,8 +494,8 @@ def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str,
return media_type, None, form
-def serialize_dict(original: dict, explode: bool, field_name, existing: Optional[dict[str, list[str]]]) -> dict[
- str, list[str]]:
+def serialize_dict(original: Dict, explode: bool, field_name, existing: Optional[Dict[str, List[str]]]) -> Dict[
+ str, List[str]]:
if existing is None:
existing = []
@@ -508,8 +515,8 @@ def serialize_dict(original: dict, explode: bool, field_name, existing: Optional
return existing
-def serialize_form_data(field_name: str, data: dataclass) -> dict[str, any]:
- form: dict[str, list[str]] = {}
+def serialize_form_data(field_name: str, data: dataclass) -> Dict[str, any]:
+ form: Dict[str, List[str]] = {}
if is_dataclass(data):
for field in fields(data):
@@ -527,12 +534,12 @@ def serialize_form_data(field_name: str, data: dataclass) -> dict[str, any]:
form[field_name] = [marshal_json(val)]
else:
if metadata.get('style', 'form') == 'form':
- form = form | _populate_form(
- field_name, metadata.get('explode', True), val, _get_form_field_name, ",")
+ form = {**form, **_populate_form(
+ field_name, metadata.get('explode', True), val, _get_form_field_name, ",")}
else:
raise Exception(
f'Invalid form style for field {field.name}')
- elif isinstance(data, dict):
+ elif isinstance(data, Dict):
for key, value in data.items():
form[key] = [_val_to_string(value)]
else:
@@ -551,8 +558,8 @@ def _get_form_field_name(obj_field: Field) -> str:
def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_func: Callable, delimiter: str) -> \
- dict[str, list[str]]:
- params: dict[str, list[str]] = {}
+ Dict[str, List[str]]:
+ params: Dict[str, List[str]] = {}
if obj is None:
return params
@@ -578,7 +585,7 @@ def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_f
if len(items) > 0:
params[field_name] = [delimiter.join(items)]
- elif isinstance(obj, dict):
+ elif isinstance(obj, Dict):
items = []
for key, value in obj.items():
if value is None:
@@ -591,7 +598,7 @@ def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_f
if len(items) > 0:
params[field_name] = [delimiter.join(items)]
- elif isinstance(obj, list):
+ elif isinstance(obj, List):
items = []
for value in obj:
@@ -645,7 +652,7 @@ def _serialize_header(explode: bool, obj: any) -> str:
if len(items) > 0:
return ','.join(items)
- elif isinstance(obj, dict):
+ elif isinstance(obj, Dict):
items = []
for key, value in obj.items():
@@ -660,7 +667,7 @@ def _serialize_header(explode: bool, obj: any) -> str:
if len(items) > 0:
return ','.join([str(item) for item in items])
- elif isinstance(obj, list):
+ elif isinstance(obj, List):
items = []
for value in obj:
@@ -677,7 +684,7 @@ def _serialize_header(explode: bool, obj: any) -> str:
return ''
-def unmarshal_json(data, typ):
+def unmarshal_json(data, typ, decoder=None):
unmarshal = make_dataclass('Unmarshal', [('res', typ)],
bases=(DataClassJsonMixin,))
json_dict = json.loads(data)
@@ -686,15 +693,19 @@ def unmarshal_json(data, typ):
except AttributeError as attr_err:
raise AttributeError(
f'unable to unmarshal {data} as {typ}') from attr_err
- return out.res
+
+ return out.res if decoder is None else decoder(out.res)
-def marshal_json(val):
+def marshal_json(val, encoder=None):
marshal = make_dataclass('Marshal', [('res', type(val))],
bases=(DataClassJsonMixin,))
marshaller = marshal(res=val)
json_dict = marshaller.to_dict()
- return json.dumps(json_dict["res"])
+
+ val = json_dict["res"] if encoder is None else encoder(json_dict["res"])
+
+ return json.dumps(val)
def match_content_type(content_type: str, pattern: str) -> boolean:
@@ -768,6 +779,56 @@ def decimaldecoder(val):
return Decimal(str(val))
+def map_encoder(optional: bool, value_encoder: Callable):
+ def map_encode(val: Dict):
+ if optional and val is None:
+ return None
+
+ encoded = {}
+ for key, value in val.items():
+ encoded[key] = value_encoder(value)
+
+ return encoded
+
+ return map_encode
+
+
+def map_decoder(value_decoder: Callable):
+ def map_decode(val: Dict):
+ decoded = {}
+ for key, value in val.items():
+ decoded[key] = value_decoder(value)
+
+ return decoded
+
+ return map_decode
+
+
+def list_encoder(optional: bool, value_encoder: Callable):
+ def list_encode(val: List):
+ if optional and val is None:
+ return None
+
+ encoded = []
+ for value in val:
+ encoded.append(value_encoder(value))
+
+ return encoded
+
+ return list_encode
+
+
+def list_decoder(value_decoder: Callable):
+ def list_decode(val: List):
+ decoded = []
+ for value in val:
+ decoded.append(value_decoder(value))
+
+ return decoded
+
+ return list_decode
+
+
def get_field_name(name):
def override(_, _field_name=name):
return _field_name
@@ -786,7 +847,7 @@ def _val_to_string(val):
return str(val)
-def _populate_from_globals(param_name: str, value: any, param_type: str, gbls: dict[str, dict[str, dict[str, Any]]]):
+def _populate_from_globals(param_name: str, value: any, param_type: str, gbls: Dict[str, Dict[str, Dict[str, Any]]]):
if value is None and gbls is not None:
if 'parameters' in gbls:
if param_type in gbls['parameters']:
@@ -796,3 +857,16 @@ def _populate_from_globals(param_name: str, value: any, param_type: str, gbls: d
value = global_value
return value
+
+
+def decoder_with_discriminator(field_name):
+ def decode_fx(obj):
+ kls = getattr(sys.modules['sdk.models.shared'], obj[field_name])
+ return unmarshal_json(json.dumps(obj), kls)
+ return decode_fx
+
+
+def remove_suffix(input_string, suffix):
+ if suffix and input_string.endswith(suffix):
+ return input_string[:-len(suffix)]
+ return input_string