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