diff --git a/previous-versions/sync-for-expenses-version-1/.gitattributes b/previous-versions/sync-for-expenses-version-1/.gitattributes
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/README.md b/previous-versions/sync-for-expenses-version-1/README.md
index 5bfe2e79b..91883d448 100644
--- a/previous-versions/sync-for-expenses-version-1/README.md
+++ b/previous-versions/sync-for-expenses-version-1/README.md
@@ -4,16 +4,20 @@
Push expenses to accounting platforms.
-
+
## SDK Installation
```bash
pip install codat-sync-for-expenses-version-1
```
-
+
## Example Usage
-
+
+## SDK Example Usage
+
+### Example
+
```python
import codatsyncexpenses
from codatsyncexpenses.models import shared
@@ -35,12 +39,11 @@ if res.company is not None:
# handle response
pass
```
-
+
-
+
## Available Resources and Operations
-
### [companies](docs/sdks/companies/README.md)
* [create_company](docs/sdks/companies/README.md#create_company) - Create company
@@ -49,11 +52,6 @@ if res.company is not None:
* [list_companies](docs/sdks/companies/README.md#list_companies) - List companies
* [update_company](docs/sdks/companies/README.md#update_company) - Update company
-### [configuration](docs/sdks/configuration/README.md)
-
-* [get_company_configuration](docs/sdks/configuration/README.md#get_company_configuration) - Get company configuration
-* [save_company_configuration](docs/sdks/configuration/README.md#save_company_configuration) - Set company configuration
-
### [connections](docs/sdks/connections/README.md)
* [create_connection](docs/sdks/connections/README.md#create_connection) - Create connection
@@ -63,6 +61,11 @@ if res.company is not None:
* [list_connections](docs/sdks/connections/README.md#list_connections) - List connections
* [unlink](docs/sdks/connections/README.md#unlink) - Unlink connection
+### [configuration](docs/sdks/configuration/README.md)
+
+* [get_company_configuration](docs/sdks/configuration/README.md#get_company_configuration) - Get company configuration
+* [save_company_configuration](docs/sdks/configuration/README.md#save_company_configuration) - Set company configuration
+
### [expenses](docs/sdks/expenses/README.md)
* [create_expense_dataset](docs/sdks/expenses/README.md#create_expense_dataset) - Create expense-transactions
@@ -88,15 +91,223 @@ if res.company is not None:
* [get_sync_transaction](docs/sdks/transactionstatus/README.md#get_sync_transaction) - Get sync transaction
* [list_sync_transactions](docs/sdks/transactionstatus/README.md#list_sync_transactions) - Get sync transactions
-
+
+
+
+
+
+## Retries
+
+Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK.
+
+To change the default retry strategy for a single API call, simply provide a retryConfig object to the call:
+```python
+import codatsyncexpenses
+from codatsyncexpenses.models import shared
+from codatsyncexpenses.utils import BackoffStrategy, RetryConfig
+
+s = codatsyncexpenses.CodatSyncExpenses(
+ security=shared.Security(
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
+ ),
+)
+
+req = shared.CompanyRequestBody(
+ description='Requested early access to the new financing scheme.',
+ name='Bank of Dave',
+)
+
+res = s.companies.create_company(req,
+ RetryConfig('backoff', BackoffStrategy(1, 50, 1.1, 100), False))
+
+if res.company is not None:
+ # handle response
+ pass
+```
+
+If you'd like to override the default retry strategy for all operations that support retries, you can provide a retryConfig at SDK initialization:
+```python
+import codatsyncexpenses
+from codatsyncexpenses.models import shared
+from codatsyncexpenses.utils import BackoffStrategy, RetryConfig
+
+s = codatsyncexpenses.CodatSyncExpenses(
+ retry_config=RetryConfig('backoff', BackoffStrategy(1, 50, 1.1, 100), False)
+ security=shared.Security(
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
+ ),
+)
+
+req = shared.CompanyRequestBody(
+ description='Requested early access to the new financing scheme.',
+ name='Bank of Dave',
+)
+
+res = s.companies.create_company(req)
+
+if res.company is not None:
+ # handle response
+ pass
+```
+
+
+
+## Error Handling
+
+Handling errors in this SDK should largely match your expectations. All operations return a response object or raise an error. If Error objects are specified in your OpenAPI Spec, the SDK will raise the appropriate Error type.
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 400,401,402,403,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
+### Example
-
+```python
+import codatsyncexpenses
+from codatsyncexpenses.models import shared
+
+s = codatsyncexpenses.CodatSyncExpenses(
+ security=shared.Security(
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
+ ),
+)
+
+req = shared.CompanyRequestBody(
+ description='Requested early access to the new financing scheme.',
+ name='Bank of Dave',
+)
+
+res = None
+try:
+ res = s.companies.create_company(req)
+except errors.ErrorMessage as e:
+ print(e) # handle exception
+ raise(e)
+except errors.SDKError as e:
+ print(e) # handle exception
+ raise(e)
+
+if res.company is not None:
+ # handle response
+ pass
+```
+
+
+## Server Selection
+### Select Server by Index
-
+You can override the default server globally by passing a server index to the `server_idx: int` optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:
+
+| # | Server | Variables |
+| - | ------ | --------- |
+| 0 | `https://api.codat.io` | None |
+
+#### Example
+
+```python
+import codatsyncexpenses
+from codatsyncexpenses.models import shared
+
+s = codatsyncexpenses.CodatSyncExpenses(
+ server_idx=0,
+ security=shared.Security(
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
+ ),
+)
+
+req = shared.CompanyRequestBody(
+ description='Requested early access to the new financing scheme.',
+ name='Bank of Dave',
+)
+
+res = s.companies.create_company(req)
+
+if res.company is not None:
+ # handle response
+ pass
+```
+
+
+### Override Server URL Per-Client
+
+The default server can also be overridden globally by passing a URL to the `server_url: str` optional parameter when initializing the SDK client instance. For example:
+```python
+import codatsyncexpenses
+from codatsyncexpenses.models import shared
+
+s = codatsyncexpenses.CodatSyncExpenses(
+ server_url="https://api.codat.io",
+ security=shared.Security(
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
+ ),
+)
+
+req = shared.CompanyRequestBody(
+ description='Requested early access to the new financing scheme.',
+ name='Bank of Dave',
+)
+
+res = s.companies.create_company(req)
+
+if res.company is not None:
+ # handle response
+ pass
+```
+
+
+
+## Custom HTTP Client
+
+The Python SDK makes API calls using the (requests)[https://pypi.org/project/requests/] HTTP library. In order to provide a convenient way to configure timeouts, cookies, proxies, custom headers, and other low-level configuration, you can initialize the SDK client with a custom `requests.Session` object.
+
+For example, you could specify a header for every request that this sdk makes as follows:
+```python
+import codatsyncexpenses
+import requests
+
+http_client = requests.Session()
+http_client.headers.update({'x-custom-header': 'someValue'})
+s = codatsyncexpenses.CodatSyncExpenses(client: http_client)
+```
+
+
+
+## Authentication
+
+### Per-Client Security Schemes
+
+This SDK supports the following security scheme globally:
+
+| Name | Type | Scheme |
+| ------------- | ------------- | ------------- |
+| `auth_header` | apiKey | API key |
+
+You can set the security parameters through the `security` optional parameter when initializing the SDK client instance. For example:
+```python
+import codatsyncexpenses
+from codatsyncexpenses.models import shared
+
+s = codatsyncexpenses.CodatSyncExpenses(
+ security=shared.Security(
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
+ ),
+)
+
+req = shared.CompanyRequestBody(
+ description='Requested early access to the new financing scheme.',
+ name='Bank of Dave',
+)
+
+res = s.companies.create_company(req)
+
+if res.company is not None:
+ # handle response
+ pass
+```
+
diff --git a/previous-versions/sync-for-expenses-version-1/RELEASES.md b/previous-versions/sync-for-expenses-version-1/RELEASES.md
index 82ff2e314..263318f98 100644
--- a/previous-versions/sync-for-expenses-version-1/RELEASES.md
+++ b/previous-versions/sync-for-expenses-version-1/RELEASES.md
@@ -8,4 +8,14 @@ Based on:
### Generated
- [python v0.2.0] previous-versions/sync-for-expenses-version-1
### Releases
-- [PyPI v0.2.0] https://pypi.org/project/codat-sync-for-expenses-version-1/0.2.0 - previous-versions/sync-for-expenses-version-1
\ No newline at end of file
+- [PyPI v0.2.0] https://pypi.org/project/codat-sync-for-expenses-version-1/0.2.0 - previous-versions/sync-for-expenses-version-1
+
+## 2023-12-06 08:59:47
+### Changes
+Based on:
+- OpenAPI Doc prealpha https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Expenses-v1.yaml
+- Speakeasy CLI 1.125.2 (2.210.6) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v0.3.0] previous-versions/sync-for-expenses-version-1
+### Releases
+- [PyPI v0.3.0] https://pypi.org/project/codat-sync-for-expenses-version-1/0.3.0 - previous-versions/sync-for-expenses-version-1
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/USAGE.md b/previous-versions/sync-for-expenses-version-1/USAGE.md
old mode 100755
new mode 100644
index f92fda8f1..f84d843fe
--- a/previous-versions/sync-for-expenses-version-1/USAGE.md
+++ b/previous-versions/sync-for-expenses-version-1/USAGE.md
@@ -1,6 +1,4 @@
-
-
-
+
```python
import codatsyncexpenses
from codatsyncexpenses.models import shared
@@ -22,4 +20,4 @@ if res.company is not None:
# handle response
pass
```
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/errormessage.md b/previous-versions/sync-for-expenses-version-1/docs/models/errors/errormessage.md
old mode 100755
new mode 100644
similarity index 99%
rename from previous-versions/sync-for-expenses-version-1/docs/models/shared/errormessage.md
rename to previous-versions/sync-for-expenses-version-1/docs/models/errors/errormessage.md
index 2d1289c0d..a2631711d
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/errormessage.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/errors/errormessage.md
@@ -1,5 +1,7 @@
# ErrorMessage
+The request made is not valid.
+
## Fields
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createcompanyresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createcompanyresponse.md
old mode 100755
new mode 100644
index b780d6bc9..509542849
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createcompanyresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createcompanyresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company` | [Optional[shared.Company]](../../models/shared/company.md) | :heavy_minus_sign: | OK |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionrequest.md
old mode 100755
new mode 100644
index b315a6d5e..0998495bf
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionrequest.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionrequest.md
@@ -3,7 +3,7 @@
## Fields
-| Field | Type | Required | Description | Example |
-| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
-| `request_body` | [Optional[CreateConnectionRequestBody]](../../models/operations/createconnectionrequestbody.md) | :heavy_minus_sign: | N/A | |
-| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
+| `request_body` | [Optional[operations.CreateConnectionRequestBody]](../../models/operations/createconnectionrequestbody.md) | :heavy_minus_sign: | N/A | |
+| `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/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionrequestbody.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionrequestbody.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionresponse.md
old mode 100755
new mode 100644
index 6cf898dc4..4f38451fa
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createconnectionresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `connection` | [Optional[shared.Connection]](../../models/shared/connection.md) | :heavy_minus_sign: | OK |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createexpensedatasetrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createexpensedatasetrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createexpensedatasetresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createexpensedatasetresponse.md
old mode 100755
new mode 100644
index 45ba8aa63..92a761fa1
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createexpensedatasetresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createexpensedatasetresponse.md
@@ -7,6 +7,5 @@
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `create_expense_response` | [Optional[shared.CreateExpenseResponse]](../../models/shared/createexpenseresponse.md) | :heavy_minus_sign: | OK |
-| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | The request made is not valid. |
| `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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createpartnerexpenseconnectionrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createpartnerexpenseconnectionrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createpartnerexpenseconnectionresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createpartnerexpenseconnectionresponse.md
old mode 100755
new mode 100644
index 795803141..8cc71b0a9
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/createpartnerexpenseconnectionresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/createpartnerexpenseconnectionresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `connection` | [Optional[shared.Connection]](../../models/shared/connection.md) | :heavy_minus_sign: | Success |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/deletecompanyrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/deletecompanyrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/deletecompanyresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/deletecompanyresponse.md
old mode 100755
new mode 100644
index f3f21c2cb..7dfc00111
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/deletecompanyresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/deletecompanyresponse.md
@@ -6,6 +6,5 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/deleteconnectionrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/deleteconnectionrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/deleteconnectionresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/deleteconnectionresponse.md
old mode 100755
new mode 100644
index 30889c508..373abf82a
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/deleteconnectionresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/deleteconnectionresponse.md
@@ -6,6 +6,5 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyconfigurationrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyconfigurationrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyconfigurationresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyconfigurationresponse.md
old mode 100755
new mode 100644
index 47d32738c..3bee465b8
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyconfigurationresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyconfigurationresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company_configuration` | [Optional[shared.CompanyConfiguration]](../../models/shared/companyconfiguration.md) | :heavy_minus_sign: | Success |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyresponse.md
old mode 100755
new mode 100644
index 2f82e6ca0..98fd19b23
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getcompanyresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company` | [Optional[shared.Company]](../../models/shared/company.md) | :heavy_minus_sign: | OK |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getconnectionrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getconnectionrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getconnectionresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getconnectionresponse.md
old mode 100755
new mode 100644
index c308aece1..4dd62a7a6
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getconnectionresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getconnectionresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `connection` | [Optional[shared.Connection]](../../models/shared/connection.md) | :heavy_minus_sign: | OK |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlastsuccessfulsyncrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlastsuccessfulsyncrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlastsuccessfulsyncresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlastsuccessfulsyncresponse.md
old mode 100755
new mode 100644
index bccf3a7da..05e7bbc95
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlastsuccessfulsyncresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlastsuccessfulsyncresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company_sync_status` | [Optional[shared.CompanySyncStatus]](../../models/shared/companysyncstatus.md) | :heavy_minus_sign: | Success |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlatestsyncrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlatestsyncrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlatestsyncresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlatestsyncresponse.md
old mode 100755
new mode 100644
index bd4e2cd6c..14ad8ea02
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlatestsyncresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getlatestsyncresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company_sync_status` | [Optional[shared.CompanySyncStatus]](../../models/shared/companysyncstatus.md) | :heavy_minus_sign: | Success |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getmappingoptionsrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getmappingoptionsrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getmappingoptionsresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getmappingoptionsresponse.md
old mode 100755
new mode 100644
index 2da443b6c..872806635
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getmappingoptionsresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getmappingoptionsresponse.md
@@ -6,7 +6,6 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `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. |
| `mapping_options` | [Optional[shared.MappingOptions]](../../models/shared/mappingoptions.md) | :heavy_minus_sign: | Success |
| `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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsyncbyidrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsyncbyidrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsyncbyidresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsyncbyidresponse.md
old mode 100755
new mode 100644
index 7bca2f4ba..b07ccd872
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsyncbyidresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsyncbyidresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company_sync_status` | [Optional[shared.CompanySyncStatus]](../../models/shared/companysyncstatus.md) | :heavy_minus_sign: | Success |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsynctransactionrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsynctransactionrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsynctransactionresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsynctransactionresponse.md
old mode 100755
new mode 100644
index fb8717a7f..d0f6030e9
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsynctransactionresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/getsynctransactionresponse.md
@@ -6,7 +6,6 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `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: | 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 |
-| `transaction_metadata` | List[[shared.TransactionMetadata](../../models/shared/transactionmetadata.md)] | :heavy_minus_sign: | Success |
\ No newline at end of file
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
+| `classes` | List[[shared.TransactionMetadata](../../models/shared/transactionmetadata.md)] | :heavy_minus_sign: | Success |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncresponse.md
old mode 100755
new mode 100644
index ca473e61b..70b9c9264
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/initiatesyncresponse.md
@@ -6,7 +6,5 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `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: | If model is incorrect |
| `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 |
-| `sync_initiated` | [Optional[shared.SyncInitiated]](../../models/shared/syncinitiated.md) | :heavy_minus_sign: | Returns the newly created SyncId |
\ No newline at end of file
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listcompaniesrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listcompaniesrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listcompaniesresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listcompaniesresponse.md
old mode 100755
new mode 100644
index d9c512cea..42b07950c
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listcompaniesresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listcompaniesresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `companies` | [Optional[shared.Companies]](../../models/shared/companies.md) | :heavy_minus_sign: | OK |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listconnectionsrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listconnectionsrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listconnectionsresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listconnectionsresponse.md
old mode 100755
new mode 100644
index 0de0ad796..dacec2f64
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listconnectionsresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listconnectionsresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `connections` | [Optional[shared.Connections]](../../models/shared/connections.md) | :heavy_minus_sign: | OK |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsyncsrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsyncsrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsyncsresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsyncsresponse.md
old mode 100755
new mode 100644
index 80378b970..9105ae46f
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsyncsresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsyncsresponse.md
@@ -5,8 +5,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `company_sync_statuses` | List[[shared.CompanySyncStatus](../../models/shared/companysyncstatus.md)] | :heavy_minus_sign: | Success |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
+| `classes` | List[[shared.CompanySyncStatus](../../models/shared/companysyncstatus.md)] | :heavy_minus_sign: | Success |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsynctransactionsrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsynctransactionsrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsynctransactionsresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsynctransactionsresponse.md
old mode 100755
new mode 100644
index a91589a2e..41a1cc19d
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsynctransactionsresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/listsynctransactionsresponse.md
@@ -6,7 +6,6 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `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: | 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 |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `transaction_metadata_list` | [Optional[shared.TransactionMetadataList]](../../models/shared/transactionmetadatalist.md) | :heavy_minus_sign: | Success |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/savecompanyconfigurationrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/savecompanyconfigurationrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/savecompanyconfigurationresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/savecompanyconfigurationresponse.md
old mode 100755
new mode 100644
index 9940fd3dd..347b31106
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/savecompanyconfigurationresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/savecompanyconfigurationresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company_configuration` | [Optional[shared.CompanyConfiguration]](../../models/shared/companyconfiguration.md) | :heavy_minus_sign: | Success |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequest.md
old mode 100755
new mode 100644
index 1f83e7cfa..37c72c7bc
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequest.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionrequest.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description | Example |
-| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
-| `request_body` | [Optional[UnlinkConnectionUpdateConnection]](../../models/operations/unlinkconnectionupdateconnection.md) | :heavy_minus_sign: | N/A | |
-| `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
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| `request_body` | [Optional[operations.UnlinkConnectionUpdateConnection]](../../models/operations/unlinkconnectionupdateconnection.md) | :heavy_minus_sign: | N/A | |
+| `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/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionresponse.md
old mode 100755
new mode 100644
index 642e8e815..d1754acb5
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `connection` | [Optional[shared.Connection]](../../models/shared/connection.md) | :heavy_minus_sign: | OK |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionupdateconnection.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/unlinkconnectionupdateconnection.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/updatecompanyrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/updatecompanyrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/updatecompanyresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/updatecompanyresponse.md
old mode 100755
new mode 100644
index b60ed7a56..d299179e8
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/updatecompanyresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/updatecompanyresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `company` | [Optional[shared.Company]](../../models/shared/company.md) | :heavy_minus_sign: | OK |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedatasetrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedatasetrequest.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedatasetresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedatasetresponse.md
old mode 100755
new mode 100644
index 48a54bc98..16555e011
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedatasetresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedatasetresponse.md
@@ -3,10 +3,9 @@
## Fields
-| Field | Type | Required | Description |
-| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
-| `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: | 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 |
-| `update_expense_dataset_202_application_json_object` | [Optional[UpdateExpenseDataset202ApplicationJSON]](../../models/operations/updateexpensedataset202applicationjson.md) | :heavy_minus_sign: | Accepted |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
+| `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_check_mark: | Raw HTTP response; suitable for custom response parsing |
+| `object` | [Optional[operations.UpdateExpenseDatasetResponseBody]](../../models/operations/updateexpensedatasetresponsebody.md) | :heavy_minus_sign: | Accepted |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedataset202applicationjson.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedatasetresponsebody.md
old mode 100755
new mode 100644
similarity index 92%
rename from previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedataset202applicationjson.md
rename to previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedatasetresponsebody.md
index f6996a182..c5ee48aaf
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedataset202applicationjson.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/updateexpensedatasetresponsebody.md
@@ -1,4 +1,4 @@
-# UpdateExpenseDataset202ApplicationJSON
+# UpdateExpenseDatasetResponseBody
Accepted
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentrequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentrequest.md
old mode 100755
new mode 100644
index 3259a7bc7..5f1dd9cbc
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentrequest.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentrequest.md
@@ -3,9 +3,9 @@
## Fields
-| Field | Type | Required | Description | Example |
-| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
-| `request_body` | [Optional[UploadAttachmentRequestBody]](../../models/operations/uploadattachmentrequestbody.md) | :heavy_minus_sign: | N/A | |
-| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `sync_id` | *str* | :heavy_check_mark: | Unique identifier for a sync. | 6fb40d5e-b13e-11ed-afa1-0242ac120002 |
-| `transaction_id` | *str* | :heavy_check_mark: | The unique identifier for your SMB's transaction. | 336694d8-2dca-4cb5-a28d-3ccb83e55eee |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
+| `attachment_upload` | [Optional[shared.AttachmentUpload]](../../models/shared/attachmentupload.md) | :heavy_minus_sign: | N/A | |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `sync_id` | *str* | :heavy_check_mark: | Unique identifier for a sync. | 6fb40d5e-b13e-11ed-afa1-0242ac120002 |
+| `transaction_id` | *str* | :heavy_check_mark: | The unique identifier for your SMB's transaction. | 336694d8-2dca-4cb5-a28d-3ccb83e55eee |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentresponse.md
old mode 100755
new mode 100644
index 20abb7463..25498fe58
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentresponse.md
@@ -7,6 +7,5 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `attachment` | [Optional[shared.Attachment]](../../models/shared/attachment.md) | :heavy_minus_sign: | OK |
| `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: | 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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfo.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfo.md
old mode 100755
new mode 100644
index 0c8ff041b..3e9b4d1b2
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfo.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfo.md
@@ -3,10 +3,10 @@
## Fields
-| Field | Type | Required | Description | Example |
-| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
-| `account_type` | [Optional[AccountMappingInfoAccountType]](../../models/shared/accountmappinginfoaccounttype.md) | :heavy_minus_sign: | Type of the account. | Expense |
-| `currency` | *Optional[str]* | :heavy_minus_sign: | Currency of the account. | GBP |
-| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of account. | 6 |
-| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the account as it appears in the companies accounting software. | Purchases |
-| `valid_transaction_types` | List[[AccountMappingInfoValidTransactionTypes](../../models/shared/accountmappinginfovalidtransactiontypes.md)] | :heavy_minus_sign: | Supported transaction types for the account. | Payment |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
+| `account_type` | [Optional[shared.AccountType]](../../models/shared/accounttype.md) | :heavy_minus_sign: | Type of the account. | Expense |
+| `currency` | *Optional[str]* | :heavy_minus_sign: | Currency of the account. | GBP |
+| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of account. | 6 |
+| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the account as it appears in the companies accounting software. | Purchases |
+| `valid_transaction_types` | List[[shared.ValidTransactionTypes](../../models/shared/validtransactiontypes.md)] | :heavy_minus_sign: | Supported transaction types for the account. | Payment |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfoaccounttype.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/accounttype.md
old mode 100755
new mode 100644
similarity index 88%
rename from previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfoaccounttype.md
rename to previous-versions/sync-for-expenses-version-1/docs/models/shared/accounttype.md
index d5b4f8125..c825cf4b0
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfoaccounttype.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/accounttype.md
@@ -1,4 +1,4 @@
-# AccountMappingInfoAccountType
+# AccountType
Type of the account.
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/attachment.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/attachment.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/attachmentupload.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/attachmentupload.md
new file mode 100644
index 000000000..02d7ac41a
--- /dev/null
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/attachmentupload.md
@@ -0,0 +1,8 @@
+# AttachmentUpload
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `file` | [shared.CodatFile](../../models/shared/codatfile.md) | :heavy_check_mark: | The file to be uploaded as an attachment. |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/bankaccount.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/bankaccount.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentrequestbody.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/codatfile.md
old mode 100755
new mode 100644
similarity index 75%
rename from previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentrequestbody.md
rename to previous-versions/sync-for-expenses-version-1/docs/models/shared/codatfile.md
index 54eb656dd..5ff354d51
--- a/previous-versions/sync-for-expenses-version-1/docs/models/operations/uploadattachmentrequestbody.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/codatfile.md
@@ -1,4 +1,4 @@
-# UploadAttachmentRequestBody
+# CodatFile
## Fields
@@ -6,4 +6,4 @@
| Field | Type | Required | Description |
| ------------------ | ------------------ | ------------------ | ------------------ |
| `content` | *bytes* | :heavy_check_mark: | N/A |
-| `request_body` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `file_name` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companies.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companies.md
old mode 100755
new mode 100644
index eeaacf9de..05e8c5131
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companies.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companies.md
@@ -3,10 +3,10 @@
## Fields
-| Field | Type | Required | Description |
-| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- |
-| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
-| `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
+| Field | Type | Required | Description |
+| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
+| `links` | [shared.Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
+| `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[[shared.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/previous-versions/sync-for-expenses-version-1/docs/models/shared/company.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/company.md
old mode 100755
new mode 100644
index 855af4ab0..518fdf18c
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/company.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/company.md
@@ -13,7 +13,7 @@ When you create a company, you can specify a `name` and we will automatically ge
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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: | Name of user that created the company in Codat. | |
-| `data_connections` | List[[Connection](../../models/shared/connection.md)] | :heavy_minus_sign: | N/A | |
+| `data_connections` | List[[shared.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 |
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyconfiguration.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyconfiguration.md
old mode 100755
new mode 100644
index 4d18d7507..234fd6101
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyconfiguration.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyconfiguration.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
-| `bank_account` | [BankAccount](../../models/shared/bankaccount.md) | :heavy_check_mark: | N/A |
-| `customer` | [Customer](../../models/shared/customer.md) | :heavy_check_mark: | N/A |
-| `supplier` | [Supplier](../../models/shared/supplier.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
+| `bank_account` | [shared.BankAccount](../../models/shared/bankaccount.md) | :heavy_check_mark: | N/A |
+| `customer` | [shared.Customer](../../models/shared/customer.md) | :heavy_check_mark: | N/A |
+| `supplier` | [shared.Supplier](../../models/shared/supplier.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyrequestbody.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companyrequestbody.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/companysyncstatus.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/companysyncstatus.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/connection.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/connection.md
old mode 100755
new mode 100644
index 2072f325f..7f48ff5a9
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/connection.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/connection.md
@@ -19,7 +19,7 @@ Before you can use a data connection to pull or push data, the company must gran
| `additional_properties` | *Optional[Any]* | :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[[shared.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. | |
@@ -27,5 +27,5 @@ Before you can use a data connection to pull or push data, the company must gran
| `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
+| `source_type` | [shared.SourceType](../../models/shared/sourcetype.md) | :heavy_check_mark: | The type of platform of the connection. | Accounting |
+| `status` | [shared.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/previous-versions/sync-for-expenses-version-1/docs/models/shared/connections.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/connections.md
old mode 100755
new mode 100644
index 87ee809ab..5a69d197d
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/connections.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/connections.md
@@ -3,10 +3,10 @@
## Fields
-| Field | Type | Required | Description |
-| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
-| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
-| `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
+| Field | Type | Required | Description |
+| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
+| `links` | [shared.Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
+| `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[[shared.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/previous-versions/sync-for-expenses-version-1/docs/models/shared/contactref.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/contactref.md
old mode 100755
new mode 100644
index 4d252422e..b5332e36b
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/contactref.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/contactref.md
@@ -3,7 +3,7 @@
## Fields
-| Field | Type | Required | Description | Example |
-| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
-| `contact_type` | [Optional[ContactRefContactType]](../../models/shared/contactrefcontacttype.md) | :heavy_minus_sign: | The type of contact. | Supplier |
-| `id` | *Optional[str]* | :heavy_minus_sign: | Identifier of supplier or customer. | 40e3e57c-2322-4898-966c-ca41adfd23fd |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
+| `contact_type` | [Optional[shared.ContactType]](../../models/shared/contacttype.md) | :heavy_minus_sign: | The type of contact. | Supplier |
+| `id` | *Optional[str]* | :heavy_minus_sign: | Identifier of supplier or customer. | 40e3e57c-2322-4898-966c-ca41adfd23fd |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/contactrefcontacttype.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/contacttype.md
old mode 100755
new mode 100644
similarity index 83%
rename from previous-versions/sync-for-expenses-version-1/docs/models/shared/contactrefcontacttype.md
rename to previous-versions/sync-for-expenses-version-1/docs/models/shared/contacttype.md
index 0e0790e83..751358c7a
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/contactrefcontacttype.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/contacttype.md
@@ -1,4 +1,4 @@
-# ContactRefContactType
+# ContactType
The type of contact.
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenserequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenserequest.md
old mode 100755
new mode 100644
index f65a78658..80929e594
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenserequest.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenserequest.md
@@ -3,6 +3,6 @@
## Fields
-| Field | Type | Required | Description |
-| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
-| `items` | List[[ExpenseTransaction](../../models/shared/expensetransaction.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
+| `items` | List[[shared.ExpenseTransaction](../../models/shared/expensetransaction.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenseresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/createexpenseresponse.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/customer.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/customer.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncstartedwebhookdata.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/data.md
old mode 100755
new mode 100644
similarity index 99%
rename from previous-versions/sync-for-expenses-version-1/docs/models/shared/syncstartedwebhookdata.md
rename to previous-versions/sync-for-expenses-version-1/docs/models/shared/data.md
index b1f5ed14f..e379df230
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncstartedwebhookdata.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/data.md
@@ -1,4 +1,4 @@
-# SyncStartedWebhookData
+# Data
## Fields
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/dataconnectionerror.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/dataconnectionerror.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/dataconnectionstatus.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/dataconnectionstatus.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransaction.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransaction.md
old mode 100755
new mode 100644
index 57a121abf..5c275b024
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransaction.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransaction.md
@@ -5,12 +5,12 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `contact_ref` | [Optional[ContactRef]](../../models/shared/contactref.md) | :heavy_minus_sign: | N/A | |
+| `contact_ref` | [Optional[shared.ContactRef]](../../models/shared/contactref.md) | :heavy_minus_sign: | N/A | |
| `currency` | *str* | :heavy_check_mark: | Currency the transaction was recorded in. | GBP |
| `currency_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Rate to convert the total amount of the payment into the base currency for the company at the time of the payment.
Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit.
It is not possible to perform the currency conversion with two or more non-base currencies participating in the transaction. For example, if a company's base currency is USD, and it has a bill issued in EUR, then the bill payment must happen in USD or EUR.
Where the currency rate is provided by the underlying accounting platform, it will be available from Codat with the same precision (up to a maximum of 9 decimal places).
For accounting platforms which do not provide an explicit currency rate, it is calculated as `baseCurrency / foreignCurrency` and will be returned to 9 decimal places.
## Examples with base currency of GBP
\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (GBP) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **USD** \| $20 \| 0.781 \| £15.62 \|
\| **EUR** \| €20 \| 0.885 \| £17.70 \|
\| **RUB** \| ₽20 \| 0.011 \| £0.22 \|
## Examples with base currency of USD
\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (USD) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **GBP** \| £20 \| 1.277 \| $25.54 \|
\| **EUR** \| €20 \| 1.134 \| $22.68 \|
\| **RUB** \| ₽20 \| 0.015 \| $0.30 \| | |
| `id` | *str* | :heavy_check_mark: | Your unique identifier for the transaction. | 4d7c6929-7770-412b-91bb-44d3bc71d111 |
| `issue_date` | *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 |
-| `lines` | List[[ExpenseTransactionLine](../../models/shared/expensetransactionline.md)] | :heavy_minus_sign: | Array of transaction lines. | |
+| `lines` | List[[shared.ExpenseTransactionLine](../../models/shared/expensetransactionline.md)] | :heavy_minus_sign: | Array of transaction lines. | |
| `merchant_name` | *Optional[str]* | :heavy_minus_sign: | Name of the merchant where the purchase took place | Amazon UK |
| `notes` | *Optional[str]* | :heavy_minus_sign: | Any private, company notes about the transaction. | APPLE.COM/BILL - 09001077498 - Card Ending: 4590 |
-| `type` | [ExpenseTransactionType](../../models/shared/expensetransactiontype.md) | :heavy_check_mark: | The type of transaction. | Payment |
\ No newline at end of file
+| `type` | [shared.Type](../../models/shared/type.md) | :heavy_check_mark: | The type of transaction. | Payment |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactionline.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactionline.md
old mode 100755
new mode 100644
index 8f63e4aa4..49e6e8c90
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactionline.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactionline.md
@@ -3,10 +3,10 @@
## Fields
-| Field | Type | Required | Description | Example |
-| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
-| `account_ref` | [RecordRef](../../models/shared/recordref.md) | :heavy_check_mark: | N/A | |
-| `net_amount` | *Decimal* | :heavy_check_mark: | Amount of the line, exclusive of tax. | 110.42 |
-| `tax_amount` | *Decimal* | :heavy_check_mark: | Amount of tax for the line. | 14.43 |
-| `tax_rate_ref` | [Optional[RecordRef]](../../models/shared/recordref.md) | :heavy_minus_sign: | N/A | |
-| `tracking_refs` | List[[RecordRef](../../models/shared/recordref.md)] | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
+| `account_ref` | [shared.RecordRef](../../models/shared/recordref.md) | :heavy_check_mark: | N/A | |
+| `net_amount` | *Decimal* | :heavy_check_mark: | Amount of the line, exclusive of tax. | 110.42 |
+| `tax_amount` | *Decimal* | :heavy_check_mark: | Amount of tax for the line. | 14.43 |
+| `tax_rate_ref` | [Optional[shared.RecordRef]](../../models/shared/recordref.md) | :heavy_minus_sign: | N/A | |
+| `tracking_refs` | List[[shared.RecordRef](../../models/shared/recordref.md)] | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/halref.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/halref.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/integrationtype.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/integrationtype.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/links.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/links.md
old mode 100755
new mode 100644
index 7aad1ea5d..5f80d2652
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/links.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/links.md
@@ -3,9 +3,9 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
-| `current` | [HalRef](../../models/shared/halref.md) | :heavy_check_mark: | N/A |
-| `next` | [Optional[HalRef]](../../models/shared/halref.md) | :heavy_minus_sign: | N/A |
-| `previous` | [Optional[HalRef]](../../models/shared/halref.md) | :heavy_minus_sign: | N/A |
-| `self_` | [HalRef](../../models/shared/halref.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
+| `current` | [shared.HalRef](../../models/shared/halref.md) | :heavy_check_mark: | N/A |
+| `next` | [Optional[shared.HalRef]](../../models/shared/halref.md) | :heavy_minus_sign: | N/A |
+| `previous` | [Optional[shared.HalRef]](../../models/shared/halref.md) | :heavy_minus_sign: | N/A |
+| `self_` | [shared.HalRef](../../models/shared/halref.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/mappingoptions.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/mappingoptions.md
old mode 100755
new mode 100644
index 794a5ff03..4f615b4b0
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/mappingoptions.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/mappingoptions.md
@@ -3,9 +3,9 @@
## Fields
-| Field | Type | Required | Description | Example |
-| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
-| `accounts` | List[[AccountMappingInfo](../../models/shared/accountmappinginfo.md)] | :heavy_minus_sign: | Array of available accounts for mapping. | |
-| `expense_provider` | *Optional[str]* | :heavy_minus_sign: | Name of the expense integration. | Partner Expense |
-| `tax_rates` | List[[TaxRateMappingInfo](../../models/shared/taxratemappinginfo.md)] | :heavy_minus_sign: | Array of available tax rates for mapping. | |
-| `tracking_categories` | List[[TrackingCategoryMappingInfo](../../models/shared/trackingcategorymappinginfo.md)] | :heavy_minus_sign: | Array of available tracking categories for mapping. | |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
+| `accounts` | List[[shared.AccountMappingInfo](../../models/shared/accountmappinginfo.md)] | :heavy_minus_sign: | Array of available accounts for mapping. | |
+| `expense_provider` | *Optional[str]* | :heavy_minus_sign: | Name of the expense integration. | Partner Expense |
+| `tax_rates` | List[[shared.TaxRateMappingInfo](../../models/shared/taxratemappinginfo.md)] | :heavy_minus_sign: | Array of available tax rates for mapping. | |
+| `tracking_categories` | List[[shared.TrackingCategoryMappingInfo](../../models/shared/trackingcategorymappinginfo.md)] | :heavy_minus_sign: | Array of available tracking categories for mapping. | |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/postsync.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/postsync.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/recordref.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/recordref.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/security.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/security.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/connectionsourcetype.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/sourcetype.md
old mode 100755
new mode 100644
similarity index 92%
rename from previous-versions/sync-for-expenses-version-1/docs/models/shared/connectionsourcetype.md
rename to previous-versions/sync-for-expenses-version-1/docs/models/shared/sourcetype.md
index 85e691690..e32b27ce4
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/connectionsourcetype.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/sourcetype.md
@@ -1,4 +1,4 @@
-# ConnectionSourceType
+# SourceType
The type of platform of the connection.
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/supplier.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/supplier.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/synccompletewebhook.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/synccompletewebhook.md
old mode 100755
new mode 100644
index 002c3ed9e..83f2d41d9
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/synccompletewebhook.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/synccompletewebhook.md
@@ -5,13 +5,13 @@ Webhook request body used to notify that a sync has completed.
## Fields
-| Field | Type | Required | Description | Example |
-| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
-| `alert_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the webhook event. | |
-| `client_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your client in Codat. | |
-| `client_name` | *Optional[str]* | :heavy_minus_sign: | Name of your client in Codat. | |
-| `company_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `data` | [Optional[SyncCompleteWebhookData]](../../models/shared/synccompletewebhookdata.md) | :heavy_minus_sign: | N/A | |
-| `message` | *Optional[str]* | :heavy_minus_sign: | A human readable message about the webhook. | |
-| `rule_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the rule. | |
-| `rule_type` | *Optional[str]* | :heavy_minus_sign: | The type of rule. | |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
+| `alert_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the webhook event. | |
+| `client_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your client in Codat. | |
+| `client_name` | *Optional[str]* | :heavy_minus_sign: | Name of your client in Codat. | |
+| `company_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `data` | [Optional[shared.SyncCompleteWebhookData]](../../models/shared/synccompletewebhookdata.md) | :heavy_minus_sign: | N/A | |
+| `message` | *Optional[str]* | :heavy_minus_sign: | A human readable message about the webhook. | |
+| `rule_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the rule. | |
+| `rule_type` | *Optional[str]* | :heavy_minus_sign: | The type of rule. | |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/synccompletewebhookdata.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/synccompletewebhookdata.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncfailedwebhook.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncfailedwebhook.md
old mode 100755
new mode 100644
index 4054cefff..3d9768522
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncfailedwebhook.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncfailedwebhook.md
@@ -5,13 +5,13 @@ Webhook request body used to notify that a sync has failed.
## Fields
-| Field | Type | Required | Description | Example |
-| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
-| `alert_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the webhook event. | |
-| `client_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your client in Codat. | |
-| `client_name` | *Optional[str]* | :heavy_minus_sign: | Name of your client in Codat. | |
-| `company_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `data` | [Optional[SyncFailedWebhookData]](../../models/shared/syncfailedwebhookdata.md) | :heavy_minus_sign: | N/A | |
-| `message` | *Optional[str]* | :heavy_minus_sign: | A human readable message about the webhook. | |
-| `rule_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the rule. | |
-| `rule_type` | *Optional[str]* | :heavy_minus_sign: | The type of rule. | |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
+| `alert_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the webhook event. | |
+| `client_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your client in Codat. | |
+| `client_name` | *Optional[str]* | :heavy_minus_sign: | Name of your client in Codat. | |
+| `company_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `data` | [Optional[shared.SyncFailedWebhookData]](../../models/shared/syncfailedwebhookdata.md) | :heavy_minus_sign: | N/A | |
+| `message` | *Optional[str]* | :heavy_minus_sign: | A human readable message about the webhook. | |
+| `rule_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the rule. | |
+| `rule_type` | *Optional[str]* | :heavy_minus_sign: | The type of rule. | |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncfailedwebhookdata.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncfailedwebhookdata.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncinitiated.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncinitiated.md
deleted file mode 100755
index bd43c2a9b..000000000
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncinitiated.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# SyncInitiated
-
-
-## Fields
-
-| Field | Type | Required | Description |
-| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
-| `sync_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the initiated sync. |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncstartedwebhook.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncstartedwebhook.md
old mode 100755
new mode 100644
index 15f31c0c6..5c4d7a6db
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncstartedwebhook.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/syncstartedwebhook.md
@@ -5,13 +5,13 @@ Webhook request body used to notify that a sync has started.
## Fields
-| Field | Type | Required | Description | Example |
-| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
-| `alert_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the webhook event. | |
-| `client_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your client in Codat. | |
-| `client_name` | *Optional[str]* | :heavy_minus_sign: | Name of your client in Codat. | |
-| `company_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `data` | [Optional[SyncStartedWebhookData]](../../models/shared/syncstartedwebhookdata.md) | :heavy_minus_sign: | N/A | |
-| `message` | *Optional[str]* | :heavy_minus_sign: | A human readable message about the webhook. | |
-| `rule_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the rule. | |
-| `rule_type` | *Optional[str]* | :heavy_minus_sign: | The type of rule. | |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `alert_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the webhook event. | |
+| `client_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your client in Codat. | |
+| `client_name` | *Optional[str]* | :heavy_minus_sign: | Name of your client in Codat. | |
+| `company_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `data` | [Optional[shared.Data]](../../models/shared/data.md) | :heavy_minus_sign: | N/A | |
+| `message` | *Optional[str]* | :heavy_minus_sign: | A human readable message about the webhook. | |
+| `rule_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the rule. | |
+| `rule_type` | *Optional[str]* | :heavy_minus_sign: | The type of rule. | |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfo.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfo.md
old mode 100755
new mode 100644
index 32486fbc9..ab7a7ca42
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfo.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfo.md
@@ -3,11 +3,11 @@
## Fields
-| Field | Type | Required | Description | Example |
-| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
-| `code` | *Optional[str]* | :heavy_minus_sign: | Code for the tax rate from the accounting platform. | UK Standard Rate (Bills) |
-| `effective_tax_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Effective tax rate. | 20 |
-| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of tax rate. | 59_Bills |
-| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the tax rate in the accounting platform. | UK Standard Rate (Bills) Bills |
-| `total_tax_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Total (not compounded) sum of the components of a tax rate. | 20 |
-| `valid_transaction_types` | List[[TaxRateMappingInfoValidTransactionTypes](../../models/shared/taxratemappinginfovalidtransactiontypes.md)] | :heavy_minus_sign: | Supported transaction types for the account. | Payment |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
+| `code` | *Optional[str]* | :heavy_minus_sign: | Code for the tax rate from the accounting platform. | UK Standard Rate (Bills) |
+| `effective_tax_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Effective tax rate. | 20 |
+| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of tax rate. | 59_Bills |
+| `name` | *Optional[str]* | :heavy_minus_sign: | Name of the tax rate in the accounting platform. | UK Standard Rate (Bills) Bills |
+| `total_tax_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Total (not compounded) sum of the components of a tax rate. | 20 |
+| `valid_transaction_types` | List[[shared.TaxRateMappingInfoValidTransactionTypes](../../models/shared/taxratemappinginfovalidtransactiontypes.md)] | :heavy_minus_sign: | Supported transaction types for the account. | Payment |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfovalidtransactiontypes.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/taxratemappinginfovalidtransactiontypes.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/trackingcategorymappinginfo.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/trackingcategorymappinginfo.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadata.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadata.md
old mode 100755
new mode 100644
index 569dd95f0..ae89173e4
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadata.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadata.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
-| `integration_type` | [Optional[IntegrationType]](../../models/shared/integrationtype.md) | :heavy_minus_sign: | Type of transaction that has been processed e.g. Expense or Bank Feed. | expenses |
+| `integration_type` | [Optional[shared.IntegrationType]](../../models/shared/integrationtype.md) | :heavy_minus_sign: | Type of transaction that has been processed e.g. Expense or Bank Feed. | expenses |
| `message` | *Optional[str]* | :heavy_minus_sign: | Metadata such as validation errors or the resulting record created in the accounting software. | |
-| `status` | [Optional[TransactionStatus]](../../models/shared/transactionstatus.md) | :heavy_minus_sign: | Status of the transaction. | Completed |
+| `status` | [Optional[shared.TransactionStatus]](../../models/shared/transactionstatus.md) | :heavy_minus_sign: | Status of the transaction. | Completed |
| `transaction_id` | *Optional[str]* | :heavy_minus_sign: | Your unique idenfier of the transaction. | aa02271d-ed5f-47f5-be76-778d5905225a |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadatalist.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadatalist.md
old mode 100755
new mode 100644
index 5926a190f..2dd6f1c01
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadatalist.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionmetadatalist.md
@@ -3,10 +3,10 @@
## Fields
-| Field | Type | Required | Description |
-| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
-| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
-| `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[[TransactionMetadata](../../models/shared/transactionmetadata.md)] | :heavy_minus_sign: | N/A |
-| `total_results` | *int* | :heavy_check_mark: | Total number of items. |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
+| `links` | [shared.Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
+| `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[[shared.TransactionMetadata](../../models/shared/transactionmetadata.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/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionstatus.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/transactionstatus.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactiontype.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/type.md
old mode 100755
new mode 100644
similarity index 94%
rename from previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactiontype.md
rename to previous-versions/sync-for-expenses-version-1/docs/models/shared/type.md
index ce4e0c626..b54a7bc55
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/expensetransactiontype.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/type.md
@@ -1,4 +1,4 @@
-# ExpenseTransactionType
+# Type
The type of transaction.
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/updateexpenserequest.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/updateexpenserequest.md
old mode 100755
new mode 100644
index 937647dc4..2a2add723
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/updateexpenserequest.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/updateexpenserequest.md
@@ -5,11 +5,11 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `contact_ref` | [Optional[ContactRef]](../../models/shared/contactref.md) | :heavy_minus_sign: | N/A | |
+| `contact_ref` | [Optional[shared.ContactRef]](../../models/shared/contactref.md) | :heavy_minus_sign: | N/A | |
| `currency` | *Optional[str]* | :heavy_minus_sign: | Currency the transaction was recorded in. | GBP |
| `currency_rate` | *Optional[Decimal]* | :heavy_minus_sign: | Rate to convert the total amount of the payment into the base currency for the company at the time of the payment.
Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit.
It is not possible to perform the currency conversion with two or more non-base currencies participating in the transaction. For example, if a company's base currency is USD, and it has a bill issued in EUR, then the bill payment must happen in USD or EUR.
Where the currency rate is provided by the underlying accounting platform, it will be available from Codat with the same precision (up to a maximum of 9 decimal places).
For accounting platforms which do not provide an explicit currency rate, it is calculated as `baseCurrency / foreignCurrency` and will be returned to 9 decimal places.
## Examples with base currency of GBP
\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (GBP) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **USD** \| $20 \| 0.781 \| £15.62 \|
\| **EUR** \| €20 \| 0.885 \| £17.70 \|
\| **RUB** \| ₽20 \| 0.011 \| £0.22 \|
## Examples with base currency of USD
\| Foreign Currency \| Foreign Amount \| Currency Rate \| Base Currency Amount (USD) \|
\| :--------------- \| :------------- \| :------------ \| :------------------------- \|
\| **GBP** \| £20 \| 1.277 \| $25.54 \|
\| **EUR** \| €20 \| 1.134 \| $22.68 \|
\| **RUB** \| ₽20 \| 0.015 \| $0.30 \| | |
| `issue_date` | *str* | :heavy_check_mark: | Date the transaction was recorded. | 2022-06-28T00:00:00.000Z |
-| `lines` | List[[ExpenseTransactionLine](../../models/shared/expensetransactionline.md)] | :heavy_minus_sign: | Array of transaction lines. | |
+| `lines` | List[[shared.ExpenseTransactionLine](../../models/shared/expensetransactionline.md)] | :heavy_minus_sign: | Array of transaction lines. | |
| `merchant_name` | *Optional[str]* | :heavy_minus_sign: | Name of the merchant where the purchase took place | Amazon UK |
| `notes` | *Optional[str]* | :heavy_minus_sign: | Any private, company notes about the transaction. | APPLE.COM/BILL - 09001077498 - Card Ending: 4590 |
| `type` | *Any* | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfovalidtransactiontypes.md b/previous-versions/sync-for-expenses-version-1/docs/models/shared/validtransactiontypes.md
old mode 100755
new mode 100644
similarity index 90%
rename from previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfovalidtransactiontypes.md
rename to previous-versions/sync-for-expenses-version-1/docs/models/shared/validtransactiontypes.md
index 8f4f170b6..caed065f1
--- a/previous-versions/sync-for-expenses-version-1/docs/models/shared/accountmappinginfovalidtransactiontypes.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/shared/validtransactiontypes.md
@@ -1,4 +1,4 @@
-# AccountMappingInfoValidTransactionTypes
+# ValidTransactionTypes
## Values
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/utils/retryconfig.md b/previous-versions/sync-for-expenses-version-1/docs/models/utils/retryconfig.md
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/synccompleteresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/synccompleteresponse.md
old mode 100755
new mode 100644
index 25f0fd387..443293629
--- a/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/synccompleteresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/synccompleteresponse.md
@@ -7,4 +7,4 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/syncfailedresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/syncfailedresponse.md
old mode 100755
new mode 100644
index 9b560f9a2..0ce59f2b4
--- a/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/syncfailedresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/syncfailedresponse.md
@@ -7,4 +7,4 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/syncstartedresponse.md b/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/syncstartedresponse.md
old mode 100755
new mode 100644
index 0108dfd38..512f8f94c
--- a/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/syncstartedresponse.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/models/webhooks/syncstartedresponse.md
@@ -7,4 +7,4 @@
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `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
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/codatsyncexpenses/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/codatsyncexpenses/README.md
old mode 100755
new mode 100644
index 6d80a0539..9b4766ffa
--- a/previous-versions/sync-for-expenses-version-1/docs/sdks/codatsyncexpenses/README.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/codatsyncexpenses/README.md
@@ -13,7 +13,7 @@ integrations with multiple accounting platforms through a standardized API.
[See our OpenAPI spec](https://github.com/codatio/oas)
-Not seeing what you expect? [See the main Sync for Commerce API](https://docs.codat.io/sync-for-commerce-api).
+Not seeing what you expect? [See the main Sync for Expenses API](https://docs.codat.io/sync-for-expenses-api).
### Available Operations
diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/companies/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/companies/README.md
old mode 100755
new mode 100644
index 532655536..09a21b414
--- a/previous-versions/sync-for-expenses-version-1/docs/sdks/companies/README.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/companies/README.md
@@ -56,7 +56,12 @@ if res.company is not None:
### Response
**[operations.CreateCompanyResponse](../../models/operations/createcompanyresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 400,401,402,403,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## delete_company
@@ -97,7 +102,12 @@ if res.status_code == 200:
### Response
**[operations.DeleteCompanyResponse](../../models/operations/deletecompanyresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## get_company
@@ -137,7 +147,12 @@ if res.company is not None:
### Response
**[operations.GetCompanyResponse](../../models/operations/getcompanyresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## list_companies
@@ -179,7 +194,12 @@ if res.companies is not None:
### Response
**[operations.ListCompaniesResponse](../../models/operations/listcompaniesresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| ------------------------------- | ------------------------------- | ------------------------------- |
+| errors.ErrorMessage | 400,401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## update_company
@@ -223,4 +243,9 @@ if res.company is not None:
### Response
**[operations.UpdateCompanyResponse](../../models/operations/updatecompanyresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/configuration/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/configuration/README.md
old mode 100755
new mode 100644
index d8cda7974..1e41773dd
--- a/previous-versions/sync-for-expenses-version-1/docs/sdks/configuration/README.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/configuration/README.md
@@ -48,7 +48,12 @@ if res.company_configuration is not None:
### Response
**[operations.GetCompanyConfigurationResponse](../../models/operations/getcompanyconfigurationresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## save_company_configuration
@@ -99,4 +104,9 @@ if res.company_configuration is not None:
### Response
**[operations.SaveCompanyConfigurationResponse](../../models/operations/savecompanyconfigurationresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| ------------------------------- | ------------------------------- | ------------------------------- |
+| errors.ErrorMessage | 400,401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/connections/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/connections/README.md
old mode 100755
new mode 100644
index 0493a10f9..950af042b
--- a/previous-versions/sync-for-expenses-version-1/docs/sdks/connections/README.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/connections/README.md
@@ -57,7 +57,12 @@ if res.connection is not None:
### Response
**[operations.CreateConnectionResponse](../../models/operations/createconnectionresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## create_partner_expense_connection
@@ -97,7 +102,12 @@ if res.connection is not None:
### Response
**[operations.CreatePartnerExpenseConnectionResponse](../../models/operations/createpartnerexpenseconnectionresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| ------------------------------- | ------------------------------- | ------------------------------- |
+| errors.ErrorMessage | 400,401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## delete_connection
@@ -139,7 +149,12 @@ if res.status_code == 200:
### Response
**[operations.DeleteConnectionResponse](../../models/operations/deleteconnectionresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## get_connection
@@ -180,7 +195,12 @@ if res.connection is not None:
### Response
**[operations.GetConnectionResponse](../../models/operations/getconnectionresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## list_connections
@@ -223,7 +243,12 @@ if res.connections is not None:
### Response
**[operations.ListConnectionsResponse](../../models/operations/listconnectionsresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| ------------------------------- | ------------------------------- | ------------------------------- |
+| errors.ErrorMessage | 400,401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## unlink
@@ -265,4 +290,9 @@ if res.connection is not None:
### Response
**[operations.UnlinkConnectionResponse](../../models/operations/unlinkconnectionresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/expenses/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/expenses/README.md
old mode 100755
new mode 100644
index dcb24e6ef..c44f39591
--- a/previous-versions/sync-for-expenses-version-1/docs/sdks/expenses/README.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/expenses/README.md
@@ -33,7 +33,7 @@ req = operations.CreateExpenseDatasetRequest(
items=[
shared.ExpenseTransaction(
contact_ref=shared.ContactRef(
- contact_type=shared.ContactRefContactType.SUPPLIER,
+ contact_type=shared.ContactType.SUPPLIER,
id='40e3e57c-2322-4898-966c-ca41adfd23fd',
),
currency='GBP',
@@ -58,7 +58,7 @@ req = operations.CreateExpenseDatasetRequest(
],
merchant_name='Amazon UK',
notes='APPLE.COM/BILL - 09001077498 - Card Ending: 4590',
- type=shared.ExpenseTransactionType.PAYMENT,
+ type=shared.Type.PAYMENT,
),
],
),
@@ -83,7 +83,12 @@ if res.create_expense_response is not None:
### Response
**[operations.CreateExpenseDatasetResponse](../../models/operations/createexpensedatasetresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| ------------------------------- | ------------------------------- | ------------------------------- |
+| errors.ErrorMessage | 400,401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## update_expense_dataset
@@ -105,7 +110,7 @@ s = codatsyncexpenses.CodatSyncExpenses(
req = operations.UpdateExpenseDatasetRequest(
update_expense_request=shared.UpdateExpenseRequest(
contact_ref=shared.ContactRef(
- contact_type=shared.ContactRefContactType.SUPPLIER,
+ contact_type=shared.ContactType.SUPPLIER,
id='40e3e57c-2322-4898-966c-ca41adfd23fd',
),
currency='GBP',
@@ -129,7 +134,7 @@ req = operations.UpdateExpenseDatasetRequest(
],
merchant_name='Amazon UK',
notes='APPLE.COM/BILL - 09001077498 - Card Ending: 4590',
- type='Technetium',
+ type='string',
),
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
transaction_id='336694d8-2dca-4cb5-a28d-3ccb83e55eee',
@@ -137,7 +142,7 @@ req = operations.UpdateExpenseDatasetRequest(
res = s.expenses.update_expense_dataset(req)
-if res.update_expense_dataset_202_application_json_object is not None:
+if res.object is not None:
# handle response
pass
```
@@ -153,7 +158,12 @@ if res.update_expense_dataset_202_application_json_object is not None:
### Response
**[operations.UpdateExpenseDatasetResponse](../../models/operations/updateexpensedatasetresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| ----------------------------------- | ----------------------------------- | ----------------------------------- |
+| errors.ErrorMessage | 400,401,402,403,404,422,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## upload_attachment
@@ -172,9 +182,11 @@ s = codatsyncexpenses.CodatSyncExpenses(
)
req = operations.UploadAttachmentRequest(
- request_body=operations.UploadAttachmentRequestBody(
- content='v/ghW&IC$x'.encode(),
- request_body='Elegant Producer Electric',
+ attachment_upload=shared.AttachmentUpload(
+ file=shared.CodatFile(
+ content='0xE3ABc1980E'.encode(),
+ file_name='elegant_producer_electric.jpeg',
+ ),
),
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
sync_id='6fb40d5e-b13e-11ed-afa1-0242ac120002',
@@ -199,4 +211,9 @@ if res.attachment is not None:
### Response
**[operations.UploadAttachmentResponse](../../models/operations/uploadattachmentresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| ------------------------------- | ------------------------------- | ------------------------------- |
+| errors.ErrorMessage | 400,401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/mappingoptions/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/mappingoptions/README.md
old mode 100755
new mode 100644
index e7db65eae..5d79422fe
--- a/previous-versions/sync-for-expenses-version-1/docs/sdks/mappingoptions/README.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/mappingoptions/README.md
@@ -47,4 +47,9 @@ if res.mapping_options is not None:
### Response
**[operations.GetMappingOptionsResponse](../../models/operations/getmappingoptionsresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/sync/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/sync/README.md
old mode 100755
new mode 100644
index 35c86c517..a34494fe1
--- a/previous-versions/sync-for-expenses-version-1/docs/sdks/sync/README.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/sync/README.md
@@ -36,7 +36,7 @@ req = operations.InitiateSyncRequest(
res = s.sync.initiate_sync(req)
-if res.sync_initiated is not None:
+if res.status_code == 200:
# handle response
pass
```
@@ -52,4 +52,9 @@ if res.sync_initiated is not None:
### Response
**[operations.InitiateSyncResponse](../../models/operations/initiatesyncresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| ----------------------------------- | ----------------------------------- | ----------------------------------- |
+| errors.ErrorMessage | 400,401,402,403,404,422,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/syncstatus/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/syncstatus/README.md
old mode 100755
new mode 100644
index 21c78bce1..4477869ae
--- a/previous-versions/sync-for-expenses-version-1/docs/sdks/syncstatus/README.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/syncstatus/README.md
@@ -50,7 +50,12 @@ if res.company_sync_status is not None:
### Response
**[operations.GetLastSuccessfulSyncResponse](../../models/operations/getlastsuccessfulsyncresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## get_latest_sync
@@ -90,7 +95,12 @@ if res.company_sync_status is not None:
### Response
**[operations.GetLatestSyncResponse](../../models/operations/getlatestsyncresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## get_sync_by_id
@@ -131,7 +141,12 @@ if res.company_sync_status is not None:
### Response
**[operations.GetSyncByIDResponse](../../models/operations/getsyncbyidresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## list_syncs
@@ -155,7 +170,7 @@ req = operations.ListSyncsRequest(
res = s.sync_status.list_syncs(req)
-if res.company_sync_statuses is not None:
+if res.classes is not None:
# handle response
pass
```
@@ -171,4 +186,9 @@ if res.company_sync_statuses is not None:
### Response
**[operations.ListSyncsResponse](../../models/operations/listsyncsresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
diff --git a/previous-versions/sync-for-expenses-version-1/docs/sdks/transactionstatus/README.md b/previous-versions/sync-for-expenses-version-1/docs/sdks/transactionstatus/README.md
old mode 100755
new mode 100644
index 19f15393b..58bae9c75
--- a/previous-versions/sync-for-expenses-version-1/docs/sdks/transactionstatus/README.md
+++ b/previous-versions/sync-for-expenses-version-1/docs/sdks/transactionstatus/README.md
@@ -34,7 +34,7 @@ req = operations.GetSyncTransactionRequest(
res = s.transaction_status.get_sync_transaction(req)
-if res.transaction_metadata is not None:
+if res.classes is not None:
# handle response
pass
```
@@ -50,7 +50,12 @@ if res.transaction_metadata is not None:
### Response
**[operations.GetSyncTransactionResponse](../../models/operations/getsynctransactionresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| --------------------------- | --------------------------- | --------------------------- |
+| errors.ErrorMessage | 401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
## list_sync_transactions
@@ -93,4 +98,9 @@ if res.transaction_metadata_list is not None:
### Response
**[operations.ListSyncTransactionsResponse](../../models/operations/listsynctransactionsresponse.md)**
+### Errors
+| Error Object | Status Code | Content Type |
+| ------------------------------- | ------------------------------- | ------------------------------- |
+| errors.ErrorMessage | 400,401,402,403,404,429,500,503 | application/json |
+| errors.SDKError | 400-600 | */* |
diff --git a/previous-versions/sync-for-expenses-version-1/files.gen b/previous-versions/sync-for-expenses-version-1/files.gen
index f428a6739..ecfde6471 100755
--- a/previous-versions/sync-for-expenses-version-1/files.gen
+++ b/previous-versions/sync-for-expenses-version-1/files.gen
@@ -1,7 +1,7 @@
src/codatsyncexpenses/sdkconfiguration.py
src/codatsyncexpenses/companies.py
-src/codatsyncexpenses/configuration.py
src/codatsyncexpenses/connections.py
+src/codatsyncexpenses/configuration.py
src/codatsyncexpenses/expenses.py
src/codatsyncexpenses/mapping_options.py
src/codatsyncexpenses/sync.py
@@ -11,24 +11,24 @@ src/codatsyncexpenses/sdk.py
pylintrc
setup.py
src/codatsyncexpenses/__init__.py
-src/codatsyncexpenses/models/__init__.py
-src/codatsyncexpenses/models/errors/sdkerror.py
src/codatsyncexpenses/utils/__init__.py
src/codatsyncexpenses/utils/retries.py
src/codatsyncexpenses/utils/utils.py
+src/codatsyncexpenses/models/errors/sdkerror.py
+tests/helpers.py
src/codatsyncexpenses/models/operations/create_company.py
src/codatsyncexpenses/models/operations/delete_company.py
src/codatsyncexpenses/models/operations/get_company.py
src/codatsyncexpenses/models/operations/list_companies.py
src/codatsyncexpenses/models/operations/update_company.py
-src/codatsyncexpenses/models/operations/get_company_configuration.py
-src/codatsyncexpenses/models/operations/save_company_configuration.py
src/codatsyncexpenses/models/operations/create_connection.py
src/codatsyncexpenses/models/operations/create_partner_expense_connection.py
src/codatsyncexpenses/models/operations/delete_connection.py
src/codatsyncexpenses/models/operations/get_connection.py
src/codatsyncexpenses/models/operations/list_connections.py
src/codatsyncexpenses/models/operations/unlink_connection.py
+src/codatsyncexpenses/models/operations/get_company_configuration.py
+src/codatsyncexpenses/models/operations/save_company_configuration.py
src/codatsyncexpenses/models/operations/create_expense_dataset.py
src/codatsyncexpenses/models/operations/update_expense_dataset.py
src/codatsyncexpenses/models/operations/upload_attachment.py
@@ -40,8 +40,6 @@ src/codatsyncexpenses/models/operations/get_sync_by_id.py
src/codatsyncexpenses/models/operations/list_syncs.py
src/codatsyncexpenses/models/operations/get_sync_transaction.py
src/codatsyncexpenses/models/operations/list_sync_transactions.py
-src/codatsyncexpenses/models/operations/__init__.py
-src/codatsyncexpenses/models/shared/errormessage.py
src/codatsyncexpenses/models/shared/company.py
src/codatsyncexpenses/models/shared/connection.py
src/codatsyncexpenses/models/shared/dataconnectionstatus.py
@@ -50,11 +48,11 @@ src/codatsyncexpenses/models/shared/companyrequestbody.py
src/codatsyncexpenses/models/shared/companies.py
src/codatsyncexpenses/models/shared/links.py
src/codatsyncexpenses/models/shared/halref.py
+src/codatsyncexpenses/models/shared/connections.py
src/codatsyncexpenses/models/shared/companyconfiguration.py
src/codatsyncexpenses/models/shared/supplier.py
src/codatsyncexpenses/models/shared/customer.py
src/codatsyncexpenses/models/shared/bankaccount.py
-src/codatsyncexpenses/models/shared/connections.py
src/codatsyncexpenses/models/shared/createexpenseresponse.py
src/codatsyncexpenses/models/shared/createexpenserequest.py
src/codatsyncexpenses/models/shared/expensetransaction.py
@@ -63,11 +61,12 @@ src/codatsyncexpenses/models/shared/recordref.py
src/codatsyncexpenses/models/shared/contactref.py
src/codatsyncexpenses/models/shared/updateexpenserequest.py
src/codatsyncexpenses/models/shared/attachment.py
+src/codatsyncexpenses/models/shared/attachmentupload.py
+src/codatsyncexpenses/models/shared/codatfile.py
src/codatsyncexpenses/models/shared/mappingoptions.py
src/codatsyncexpenses/models/shared/trackingcategorymappinginfo.py
src/codatsyncexpenses/models/shared/taxratemappinginfo.py
src/codatsyncexpenses/models/shared/accountmappinginfo.py
-src/codatsyncexpenses/models/shared/syncinitiated.py
src/codatsyncexpenses/models/shared/postsync.py
src/codatsyncexpenses/models/shared/companysyncstatus.py
src/codatsyncexpenses/models/shared/transactionmetadata.py
@@ -80,13 +79,15 @@ src/codatsyncexpenses/models/shared/synccompletewebhookdata.py
src/codatsyncexpenses/models/shared/syncfailedwebhook.py
src/codatsyncexpenses/models/shared/syncfailedwebhookdata.py
src/codatsyncexpenses/models/shared/syncstartedwebhook.py
-src/codatsyncexpenses/models/shared/__init__.py
+src/codatsyncexpenses/models/errors/errormessage.py
src/codatsyncexpenses/models/webhooks/sync_complete.py
src/codatsyncexpenses/models/webhooks/sync_failed.py
src/codatsyncexpenses/models/webhooks/sync_started.py
-src/codatsyncexpenses/models/webhooks/__init__.py
+src/codatsyncexpenses/models/__init__.py
src/codatsyncexpenses/models/errors/__init__.py
-USAGE.md
+src/codatsyncexpenses/models/operations/__init__.py
+src/codatsyncexpenses/models/shared/__init__.py
+src/codatsyncexpenses/models/webhooks/__init__.py
docs/models/operations/createcompanyresponse.md
docs/models/operations/deletecompanyrequest.md
docs/models/operations/deletecompanyresponse.md
@@ -96,10 +97,6 @@ docs/models/operations/listcompaniesrequest.md
docs/models/operations/listcompaniesresponse.md
docs/models/operations/updatecompanyrequest.md
docs/models/operations/updatecompanyresponse.md
-docs/models/operations/getcompanyconfigurationrequest.md
-docs/models/operations/getcompanyconfigurationresponse.md
-docs/models/operations/savecompanyconfigurationrequest.md
-docs/models/operations/savecompanyconfigurationresponse.md
docs/models/operations/createconnectionrequestbody.md
docs/models/operations/createconnectionrequest.md
docs/models/operations/createconnectionresponse.md
@@ -114,12 +111,15 @@ docs/models/operations/listconnectionsresponse.md
docs/models/operations/unlinkconnectionupdateconnection.md
docs/models/operations/unlinkconnectionrequest.md
docs/models/operations/unlinkconnectionresponse.md
+docs/models/operations/getcompanyconfigurationrequest.md
+docs/models/operations/getcompanyconfigurationresponse.md
+docs/models/operations/savecompanyconfigurationrequest.md
+docs/models/operations/savecompanyconfigurationresponse.md
docs/models/operations/createexpensedatasetrequest.md
docs/models/operations/createexpensedatasetresponse.md
docs/models/operations/updateexpensedatasetrequest.md
-docs/models/operations/updateexpensedataset202applicationjson.md
+docs/models/operations/updateexpensedatasetresponsebody.md
docs/models/operations/updateexpensedatasetresponse.md
-docs/models/operations/uploadattachmentrequestbody.md
docs/models/operations/uploadattachmentrequest.md
docs/models/operations/uploadattachmentresponse.md
docs/models/operations/getmappingoptionsrequest.md
@@ -138,9 +138,8 @@ docs/models/operations/getsynctransactionrequest.md
docs/models/operations/getsynctransactionresponse.md
docs/models/operations/listsynctransactionsrequest.md
docs/models/operations/listsynctransactionsresponse.md
-docs/models/shared/errormessage.md
docs/models/shared/company.md
-docs/models/shared/connectionsourcetype.md
+docs/models/shared/sourcetype.md
docs/models/shared/connection.md
docs/models/shared/dataconnectionstatus.md
docs/models/shared/dataconnectionerror.md
@@ -148,29 +147,30 @@ docs/models/shared/companyrequestbody.md
docs/models/shared/companies.md
docs/models/shared/links.md
docs/models/shared/halref.md
+docs/models/shared/connections.md
docs/models/shared/companyconfiguration.md
docs/models/shared/supplier.md
docs/models/shared/customer.md
docs/models/shared/bankaccount.md
-docs/models/shared/connections.md
docs/models/shared/createexpenseresponse.md
docs/models/shared/createexpenserequest.md
-docs/models/shared/expensetransactiontype.md
+docs/models/shared/type.md
docs/models/shared/expensetransaction.md
docs/models/shared/expensetransactionline.md
docs/models/shared/recordref.md
-docs/models/shared/contactrefcontacttype.md
+docs/models/shared/contacttype.md
docs/models/shared/contactref.md
docs/models/shared/updateexpenserequest.md
docs/models/shared/attachment.md
+docs/models/shared/attachmentupload.md
+docs/models/shared/codatfile.md
docs/models/shared/mappingoptions.md
docs/models/shared/trackingcategorymappinginfo.md
docs/models/shared/taxratemappinginfovalidtransactiontypes.md
docs/models/shared/taxratemappinginfo.md
-docs/models/shared/accountmappinginfoaccounttype.md
-docs/models/shared/accountmappinginfovalidtransactiontypes.md
+docs/models/shared/accounttype.md
+docs/models/shared/validtransactiontypes.md
docs/models/shared/accountmappinginfo.md
-docs/models/shared/syncinitiated.md
docs/models/shared/postsync.md
docs/models/shared/companysyncstatus.md
docs/models/shared/transactionmetadata.md
@@ -182,19 +182,21 @@ docs/models/shared/synccompletewebhook.md
docs/models/shared/synccompletewebhookdata.md
docs/models/shared/syncfailedwebhook.md
docs/models/shared/syncfailedwebhookdata.md
-docs/models/shared/syncstartedwebhookdata.md
+docs/models/shared/data.md
docs/models/shared/syncstartedwebhook.md
+docs/models/errors/errormessage.md
docs/models/webhooks/synccompleteresponse.md
docs/models/webhooks/syncfailedresponse.md
docs/models/webhooks/syncstartedresponse.md
docs/sdks/codatsyncexpenses/README.md
docs/models/utils/retryconfig.md
docs/sdks/companies/README.md
-docs/sdks/configuration/README.md
docs/sdks/connections/README.md
+docs/sdks/configuration/README.md
docs/sdks/expenses/README.md
docs/sdks/mappingoptions/README.md
docs/sdks/sync/README.md
docs/sdks/syncstatus/README.md
docs/sdks/transactionstatus/README.md
+USAGE.md
.gitattributes
\ No newline at end of file
diff --git a/previous-versions/sync-for-expenses-version-1/gen.yaml b/previous-versions/sync-for-expenses-version-1/gen.yaml
index 7c1a003f4..cabd0a195 100644
--- a/previous-versions/sync-for-expenses-version-1/gen.yaml
+++ b/previous-versions/sync-for-expenses-version-1/gen.yaml
@@ -1,26 +1,43 @@
configVersion: 1.0.0
management:
- docChecksum: ffd54cd02d5c90320bd582803513daaa
+ docChecksum: 9401f9bc573bd24555ed14ed9a9edb17
docVersion: prealpha
- speakeasyVersion: 1.100.2
- generationVersion: 2.159.2
+ speakeasyVersion: 1.125.2
+ generationVersion: 2.210.6
generation:
+ comments: {}
sdkClassName: CodatSyncExpenses
- singleTagPerOp: false
+ repoURL: https://github.com/codatio/client-sdk-python.git
+ usageSnippets:
+ optionalPropertyRendering: withExample
telemetryEnabled: true
features:
python:
- core: 3.0.2
+ core: 4.1.6
deprecations: 2.81.1
- examples: 2.81.2
- globalSecurity: 2.82.0
- globalServerURLs: 2.82.0
+ examples: 2.81.3
+ globalSecurity: 2.83.0
+ globalServerURLs: 2.82.1
nameOverrides: 2.81.1
retries: 2.82.0
python:
- version: 0.2.0
+ version: 0.3.0
author: Codat
+ clientServerStatusCodesAsErrors: true
description: Push expenses to accounting platforms.
flattenGlobalSecurity: false
+ imports:
+ option: openapi
+ paths:
+ callbacks: models/callbacks
+ errors: models/errors
+ operations: models/operations
+ shared: models/shared
+ webhooks: models/webhooks
+ inputModelSuffix: input
+ installationURL: https://github.com/codatio/client-sdk-python.git#subdirectory=previous-versions/sync-for-expenses-version-1
maxMethodParams: 0
+ outputModelSuffix: output
packageName: codat-sync-for-expenses-version-1
+ published: true
+ repoSubDirectory: previous-versions/sync-for-expenses-version-1
diff --git a/previous-versions/sync-for-expenses-version-1/pylintrc b/previous-versions/sync-for-expenses-version-1/pylintrc
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/setup.py b/previous-versions/sync-for-expenses-version-1/setup.py
old mode 100755
new mode 100644
index d55abe57e..1819f4014
--- a/previous-versions/sync-for-expenses-version-1/setup.py
+++ b/previous-versions/sync-for-expenses-version-1/setup.py
@@ -10,7 +10,7 @@
setuptools.setup(
name="codat-sync-for-expenses-version-1",
- version="0.2.0",
+ version="0.3.0",
author="Codat",
description="Push expenses to accounting platforms.",
long_description=long_description,
@@ -30,7 +30,7 @@
"six>=1.16.0",
"typing-inspect>=0.9.0",
"typing_extensions>=4.7.1",
- "urllib3>=2.0.4",
+ "urllib3>=1.26.18",
],
extras_require={
"dev":["pylint==2.16.2"]
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/__init__.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/__init__.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/companies.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/companies.py
old mode 100755
new mode 100644
index fef3d1c51..a76556e20
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/companies.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/companies.py
@@ -13,6 +13,7 @@ def __init__(self, sdk_config: SDKConfiguration) -> None:
self.sdk_configuration = sdk_config
+
def create_company(self, request: shared.CompanyRequestBody, retries: Optional[utils.RetryConfig] = None) -> operations.CreateCompanyResponse:
r"""Create company
Creates a new company that can be used to assign connections to.
@@ -29,7 +30,10 @@ def create_company(self, request: shared.CompanyRequestBody, retries: Optional[u
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -48,7 +52,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.CreateCompanyResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -57,16 +61,20 @@ def do_request():
res.company = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [400, 401, 429]:
+ elif http_res.status_code in [400, 401, 402, 403, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def delete_company(self, request: operations.DeleteCompanyRequest, retries: Optional[utils.RetryConfig] = None) -> operations.DeleteCompanyResponse:
r"""Delete a company
Permanently deletes a company, its connections and any cached data. This operation is irreversible. If the company ID does not exist an error is returned.
@@ -78,7 +86,10 @@ def delete_company(self, request: operations.DeleteCompanyRequest, retries: Opti
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -97,21 +108,25 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.DeleteCompanyResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 204:
pass
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def get_company(self, request: operations.GetCompanyRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetCompanyResponse:
r"""Get company
Returns the company for a valid identifier. If the identifier is for a deleted company, a not found response is returned.
@@ -123,7 +138,10 @@ def get_company(self, request: operations.GetCompanyRequest, retries: Optional[u
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -142,7 +160,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.GetCompanyResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -151,16 +169,20 @@ def do_request():
res.company = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def list_companies(self, request: operations.ListCompaniesRequest, retries: Optional[utils.RetryConfig] = None) -> operations.ListCompaniesResponse:
r"""List companies
Returns a list of your companies. The company schema contains a list of [connections](https://docs.codat.io/sync-for-expenses-v1-api#/schemas/Connection) related to the company.
@@ -173,7 +195,10 @@ def list_companies(self, request: operations.ListCompaniesRequest, retries: Opti
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -192,7 +217,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.ListCompaniesResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -201,16 +226,20 @@ def do_request():
res.companies = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [400, 401, 429]:
+ elif http_res.status_code in [400, 401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def update_company(self, request: operations.UpdateCompanyRequest, retries: Optional[utils.RetryConfig] = None) -> operations.UpdateCompanyResponse:
r"""Update company
Updates both the name and description of the company.
@@ -225,7 +254,10 @@ def update_company(self, request: operations.UpdateCompanyRequest, retries: Opti
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -244,7 +276,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.UpdateCompanyResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -253,12 +285,15 @@ def do_request():
res.company = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/configuration.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/configuration.py
old mode 100755
new mode 100644
index 25aaad78a..077fcaa0c
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/configuration.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/configuration.py
@@ -13,6 +13,7 @@ def __init__(self, sdk_config: SDKConfiguration) -> None:
self.sdk_configuration = sdk_config
+
def get_company_configuration(self, request: operations.GetCompanyConfigurationRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetCompanyConfigurationResponse:
r"""Get company configuration
Gets a companies expense sync configuration
@@ -24,7 +25,10 @@ def get_company_configuration(self, request: operations.GetCompanyConfigurationR
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -43,7 +47,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.GetCompanyConfigurationResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -52,16 +56,20 @@ def do_request():
res.company_configuration = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def save_company_configuration(self, request: operations.SaveCompanyConfigurationRequest, retries: Optional[utils.RetryConfig] = None) -> operations.SaveCompanyConfigurationResponse:
r"""Set company configuration
Sets a companies expense sync configuration
@@ -76,7 +84,10 @@ def save_company_configuration(self, request: operations.SaveCompanyConfiguratio
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -95,7 +106,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.SaveCompanyConfigurationResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -104,12 +115,15 @@ def do_request():
res.company_configuration = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [400, 401, 404, 429]:
+ elif http_res.status_code in [400, 401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/connections.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/connections.py
old mode 100755
new mode 100644
index fec0fddf8..77787ed12
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/connections.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/connections.py
@@ -13,6 +13,7 @@ def __init__(self, sdk_config: SDKConfiguration) -> None:
self.sdk_configuration = sdk_config
+
def create_connection(self, request: operations.CreateConnectionRequest, retries: Optional[utils.RetryConfig] = None) -> operations.CreateConnectionResponse:
r"""Create connection
Creates a connection for the company by providing a valid `platformKey`.
@@ -29,7 +30,10 @@ def create_connection(self, request: operations.CreateConnectionRequest, retries
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -48,7 +52,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.CreateConnectionResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -57,16 +61,20 @@ def do_request():
res.connection = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def create_partner_expense_connection(self, request: operations.CreatePartnerExpenseConnectionRequest, retries: Optional[utils.RetryConfig] = None) -> operations.CreatePartnerExpenseConnectionResponse:
r"""Create partner expense connection
Creates a partner expense data connection
@@ -78,7 +86,10 @@ def create_partner_expense_connection(self, request: operations.CreatePartnerExp
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -97,7 +108,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.CreatePartnerExpenseConnectionResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -106,16 +117,20 @@ def do_request():
res.connection = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [400, 401, 404, 429]:
+ elif http_res.status_code in [400, 401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def delete_connection(self, request: operations.DeleteConnectionRequest, retries: Optional[utils.RetryConfig] = None) -> operations.DeleteConnectionResponse:
r"""Delete connection
Revoke and remove a connection from a company.
@@ -128,7 +143,10 @@ def delete_connection(self, request: operations.DeleteConnectionRequest, retries
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -147,21 +165,25 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.DeleteConnectionResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
pass
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def get_connection(self, request: operations.GetConnectionRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetConnectionResponse:
r"""Get connection
Returns a specific connection for a company when valid identifiers are provided. If the identifiers are for a deleted company and/or connection, a not found response is returned.
@@ -173,7 +195,10 @@ def get_connection(self, request: operations.GetConnectionRequest, retries: Opti
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -192,7 +217,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.GetConnectionResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -201,16 +226,20 @@ def do_request():
res.connection = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def list_connections(self, request: operations.ListConnectionsRequest, retries: Optional[utils.RetryConfig] = None) -> operations.ListConnectionsResponse:
r"""List connections
List the connections for a company.
@@ -223,7 +252,10 @@ def list_connections(self, request: operations.ListConnectionsRequest, retries:
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -242,7 +274,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.ListConnectionsResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -251,16 +283,20 @@ def do_request():
res.connections = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [400, 401, 404, 429]:
+ elif http_res.status_code in [400, 401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def unlink(self, request: operations.UnlinkConnectionRequest, retries: Optional[utils.RetryConfig] = None) -> operations.UnlinkConnectionResponse:
r"""Unlink connection
This allows you to deauthorize a connection, without deleting it from Codat. This means you can still view any data that has previously been pulled into Codat, and also lets you re-authorize in future if your customer wishes to resume sharing their data.
@@ -275,7 +311,10 @@ def unlink(self, request: operations.UnlinkConnectionRequest, retries: Optional[
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -294,7 +333,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.UnlinkConnectionResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -303,12 +342,15 @@ def do_request():
res.connection = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/expenses.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/expenses.py
old mode 100755
new mode 100644
index fbd1fb685..064cd7dea
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/expenses.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/expenses.py
@@ -13,6 +13,7 @@ def __init__(self, sdk_config: SDKConfiguration) -> None:
self.sdk_configuration = sdk_config
+
def create_expense_dataset(self, request: operations.CreateExpenseDatasetRequest, retries: Optional[utils.RetryConfig] = None) -> operations.CreateExpenseDatasetResponse:
r"""Create expense-transactions
Create an expense transaction
@@ -27,7 +28,10 @@ def create_expense_dataset(self, request: operations.CreateExpenseDatasetRequest
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -46,7 +50,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.CreateExpenseDatasetResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -55,16 +59,20 @@ def do_request():
res.create_expense_response = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [400, 401, 404, 429]:
+ elif http_res.status_code in [400, 401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def update_expense_dataset(self, request: operations.UpdateExpenseDatasetRequest, retries: Optional[utils.RetryConfig] = None) -> operations.UpdateExpenseDatasetResponse:
r"""Update expense transactions
Update an expense transaction
@@ -79,7 +87,10 @@ def update_expense_dataset(self, request: operations.UpdateExpenseDatasetRequest
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -98,25 +109,29 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.UpdateExpenseDatasetResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 202:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[operations.UpdateExpenseDataset202ApplicationJSON])
- res.update_expense_dataset_202_application_json_object = out
+ out = utils.unmarshal_json(http_res.text, Optional[operations.UpdateExpenseDatasetResponseBody])
+ res.object = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [400, 401, 404, 422, 429]:
+ elif http_res.status_code in [400, 401, 402, 403, 404, 422, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def upload_attachment(self, request: operations.UploadAttachmentRequest, retries: Optional[utils.RetryConfig] = None) -> operations.UploadAttachmentResponse:
r"""Upload attachment
Creates an attachment in the accounting software against the given transactionId
@@ -125,13 +140,16 @@ def upload_attachment(self, request: operations.UploadAttachmentRequest, retries
url = utils.generate_url(operations.UploadAttachmentRequest, base_url, '/companies/{companyId}/sync/expenses/syncs/{syncId}/transactions/{transactionId}/attachments', request)
headers = {}
- req_content_type, data, form = utils.serialize_request_body(request, "request_body", False, True, 'multipart')
+ req_content_type, data, form = utils.serialize_request_body(request, "attachment_upload", False, True, 'multipart')
if req_content_type not in ('multipart/form-data', 'multipart/mixed'):
headers['content-type'] = req_content_type
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -150,7 +168,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.UploadAttachmentResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -159,12 +177,15 @@ def do_request():
res.attachment = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [400, 401, 404, 429]:
+ elif http_res.status_code in [400, 401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/mapping_options.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/mapping_options.py
old mode 100755
new mode 100644
index df6efa7dd..923beded0
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/mapping_options.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/mapping_options.py
@@ -13,6 +13,7 @@ def __init__(self, sdk_config: SDKConfiguration) -> None:
self.sdk_configuration = sdk_config
+
def get_mapping_options(self, request: operations.GetMappingOptionsRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetMappingOptionsResponse:
r"""Mapping options
Gets the expense mapping options for a companies accounting software
@@ -24,7 +25,10 @@ def get_mapping_options(self, request: operations.GetMappingOptionsRequest, retr
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -43,7 +47,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.GetMappingOptionsResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -52,12 +56,15 @@ def do_request():
res.mapping_options = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/__init__.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/__init__.py
old mode 100755
new mode 100644
index 36628d6cc..722bb9982
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/__init__.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/__init__.py
@@ -1,3 +1,4 @@
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
-# __init__.py
+
+# package
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/errors/__init__.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/errors/__init__.py
old mode 100755
new mode 100644
index cfd848441..bf15fd116
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/errors/__init__.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/errors/__init__.py
@@ -1,4 +1,6 @@
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
-from .sdkerror import SDKError
-__all__ = ["SDKError"]
+from .errormessage import *
+from .sdkerror import *
+
+__all__ = ["ErrorMessage","SDKError"]
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/errormessage.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/errors/errormessage.py
old mode 100755
new mode 100644
similarity index 92%
rename from previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/errormessage.py
rename to previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/errors/errormessage.py
index 3e6365dc5..d33e3d0c2
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/errormessage.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/errors/errormessage.py
@@ -8,8 +8,10 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
+
@dataclasses.dataclass
-class ErrorMessage:
+class ErrorMessage(Exception):
+ r"""The request made is not valid."""
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 }})
@@ -24,3 +26,5 @@ class ErrorMessage:
r"""The HTTP status code returned by the error."""
+ def __str__(self) -> str:
+ return utils.marshal_json(self)
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/errors/sdkerror.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/errors/sdkerror.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/__init__.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/__init__.py
old mode 100755
new mode 100644
index a86d45a31..f5fe463a1
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/__init__.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/__init__.py
@@ -25,4 +25,4 @@
from .update_expense_dataset import *
from .upload_attachment import *
-__all__ = ["CreateCompanyResponse","CreateConnectionRequest","CreateConnectionRequestBody","CreateConnectionResponse","CreateExpenseDatasetRequest","CreateExpenseDatasetResponse","CreatePartnerExpenseConnectionRequest","CreatePartnerExpenseConnectionResponse","DeleteCompanyRequest","DeleteCompanyResponse","DeleteConnectionRequest","DeleteConnectionResponse","GetCompanyConfigurationRequest","GetCompanyConfigurationResponse","GetCompanyRequest","GetCompanyResponse","GetConnectionRequest","GetConnectionResponse","GetLastSuccessfulSyncRequest","GetLastSuccessfulSyncResponse","GetLatestSyncRequest","GetLatestSyncResponse","GetMappingOptionsRequest","GetMappingOptionsResponse","GetSyncByIDRequest","GetSyncByIDResponse","GetSyncTransactionRequest","GetSyncTransactionResponse","InitiateSyncRequest","InitiateSyncResponse","ListCompaniesRequest","ListCompaniesResponse","ListConnectionsRequest","ListConnectionsResponse","ListSyncTransactionsRequest","ListSyncTransactionsResponse","ListSyncsRequest","ListSyncsResponse","SaveCompanyConfigurationRequest","SaveCompanyConfigurationResponse","UnlinkConnectionRequest","UnlinkConnectionResponse","UnlinkConnectionUpdateConnection","UpdateCompanyRequest","UpdateCompanyResponse","UpdateExpenseDataset202ApplicationJSON","UpdateExpenseDatasetRequest","UpdateExpenseDatasetResponse","UploadAttachmentRequest","UploadAttachmentRequestBody","UploadAttachmentResponse"]
+__all__ = ["CreateCompanyResponse","CreateConnectionRequest","CreateConnectionRequestBody","CreateConnectionResponse","CreateExpenseDatasetRequest","CreateExpenseDatasetResponse","CreatePartnerExpenseConnectionRequest","CreatePartnerExpenseConnectionResponse","DeleteCompanyRequest","DeleteCompanyResponse","DeleteConnectionRequest","DeleteConnectionResponse","GetCompanyConfigurationRequest","GetCompanyConfigurationResponse","GetCompanyRequest","GetCompanyResponse","GetConnectionRequest","GetConnectionResponse","GetLastSuccessfulSyncRequest","GetLastSuccessfulSyncResponse","GetLatestSyncRequest","GetLatestSyncResponse","GetMappingOptionsRequest","GetMappingOptionsResponse","GetSyncByIDRequest","GetSyncByIDResponse","GetSyncTransactionRequest","GetSyncTransactionResponse","InitiateSyncRequest","InitiateSyncResponse","ListCompaniesRequest","ListCompaniesResponse","ListConnectionsRequest","ListConnectionsResponse","ListSyncTransactionsRequest","ListSyncTransactionsResponse","ListSyncsRequest","ListSyncsResponse","SaveCompanyConfigurationRequest","SaveCompanyConfigurationResponse","UnlinkConnectionRequest","UnlinkConnectionResponse","UnlinkConnectionUpdateConnection","UpdateCompanyRequest","UpdateCompanyResponse","UpdateExpenseDatasetRequest","UpdateExpenseDatasetResponse","UpdateExpenseDatasetResponseBody","UploadAttachmentRequest","UploadAttachmentResponse"]
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_company.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_company.py
old mode 100755
new mode 100644
index 3225796a8..6d6514892
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_company.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_company.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import company as shared_company
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import company as shared_company
from typing import Optional
@@ -12,13 +11,11 @@
class CreateCompanyResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_connection.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_connection.py
old mode 100755
new mode 100644
index 4cea97fdf..17911be2d
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_connection.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_connection.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import connection as shared_connection
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import connection as shared_connection
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import Optional
@@ -32,13 +31,11 @@ class CreateConnectionRequest:
class CreateConnectionResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_expense_dataset.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_expense_dataset.py
old mode 100755
new mode 100644
index 2450719bb..5997b0e4a
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_expense_dataset.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_expense_dataset.py
@@ -3,9 +3,8 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import createexpenserequest as shared_createexpenserequest
-from ..shared import createexpenseresponse as shared_createexpenseresponse
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import createexpenserequest as shared_createexpenserequest
+from ...models.shared import createexpenseresponse as shared_createexpenseresponse
from typing import Optional
@@ -22,13 +21,11 @@ class CreateExpenseDatasetRequest:
class CreateExpenseDatasetResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
create_expense_response: Optional[shared_createexpenseresponse.CreateExpenseResponse] = 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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_partner_expense_connection.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_partner_expense_connection.py
old mode 100755
new mode 100644
index 9df550ec7..bda377eb1
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_partner_expense_connection.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/create_partner_expense_connection.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import connection as shared_connection
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import connection as shared_connection
from typing import Optional
@@ -20,13 +19,11 @@ class CreatePartnerExpenseConnectionRequest:
class CreatePartnerExpenseConnectionResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
connection: Optional[shared_connection.Connection] = 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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/delete_company.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/delete_company.py
old mode 100755
new mode 100644
index 0c7da43c5..cee215d50
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/delete_company.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/delete_company.py
@@ -3,8 +3,6 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import errormessage as shared_errormessage
-from typing import Optional
@dataclasses.dataclass
@@ -19,11 +17,9 @@ class DeleteCompanyRequest:
class DeleteCompanyResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/delete_connection.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/delete_connection.py
old mode 100755
new mode 100644
index 568a81d83..f6c98ce2b
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/delete_connection.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/delete_connection.py
@@ -3,8 +3,6 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import errormessage as shared_errormessage
-from typing import Optional
@dataclasses.dataclass
@@ -21,11 +19,9 @@ class DeleteConnectionRequest:
class DeleteConnectionResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_company.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_company.py
old mode 100755
new mode 100644
index 9660394e9..2938755e5
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_company.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_company.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import company as shared_company
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import company as shared_company
from typing import Optional
@@ -20,13 +19,11 @@ class GetCompanyRequest:
class GetCompanyResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_company_configuration.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_company_configuration.py
old mode 100755
new mode 100644
index 061c6ca65..7bb4d5f62
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_company_configuration.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_company_configuration.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import companyconfiguration as shared_companyconfiguration
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import companyconfiguration as shared_companyconfiguration
from typing import Optional
@@ -20,13 +19,11 @@ class GetCompanyConfigurationRequest:
class GetCompanyConfigurationResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
company_configuration: Optional[shared_companyconfiguration.CompanyConfiguration] = 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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_connection.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_connection.py
old mode 100755
new mode 100644
index c21ca84ed..80642dd26
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_connection.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_connection.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import connection as shared_connection
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import connection as shared_connection
from typing import Optional
@@ -22,13 +21,11 @@ class GetConnectionRequest:
class GetConnectionResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_last_successful_sync.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_last_successful_sync.py
old mode 100755
new mode 100644
index 54808eedc..8bfca0564
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_last_successful_sync.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_last_successful_sync.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import companysyncstatus as shared_companysyncstatus
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import companysyncstatus as shared_companysyncstatus
from typing import Optional
@@ -20,13 +19,11 @@ class GetLastSuccessfulSyncRequest:
class GetLastSuccessfulSyncResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
company_sync_status: Optional[shared_companysyncstatus.CompanySyncStatus] = 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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_latest_sync.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_latest_sync.py
old mode 100755
new mode 100644
index 17e4554f5..d674b7efe
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_latest_sync.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_latest_sync.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import companysyncstatus as shared_companysyncstatus
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import companysyncstatus as shared_companysyncstatus
from typing import Optional
@@ -20,13 +19,11 @@ class GetLatestSyncRequest:
class GetLatestSyncResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
company_sync_status: Optional[shared_companysyncstatus.CompanySyncStatus] = 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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_mapping_options.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_mapping_options.py
old mode 100755
new mode 100644
index d34081207..b173d4afa
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_mapping_options.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_mapping_options.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import errormessage as shared_errormessage
-from ..shared import mappingoptions as shared_mappingoptions
+from ...models.shared import mappingoptions as shared_mappingoptions
from typing import Optional
@@ -20,13 +19,11 @@ class GetMappingOptionsRequest:
class GetMappingOptionsResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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."""
mapping_options: Optional[shared_mappingoptions.MappingOptions] = dataclasses.field(default=None)
r"""Success"""
- raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
- r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_sync_by_id.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_sync_by_id.py
old mode 100755
new mode 100644
index f6dc0159b..8223094f9
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_sync_by_id.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_sync_by_id.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import companysyncstatus as shared_companysyncstatus
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import companysyncstatus as shared_companysyncstatus
from typing import Optional
@@ -22,13 +21,11 @@ class GetSyncByIDRequest:
class GetSyncByIDResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
company_sync_status: Optional[shared_companysyncstatus.CompanySyncStatus] = 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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_sync_transaction.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_sync_transaction.py
old mode 100755
new mode 100644
index 41b490a46..b2e8b2b25
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_sync_transaction.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/get_sync_transaction.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import errormessage as shared_errormessage
-from ..shared import transactionmetadata as shared_transactionmetadata
+from ...models.shared import transactionmetadata as shared_transactionmetadata
from typing import List, Optional
@@ -24,13 +23,11 @@ class GetSyncTransactionRequest:
class GetSyncTransactionResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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"""
- transaction_metadata: Optional[List[shared_transactionmetadata.TransactionMetadata]] = dataclasses.field(default=None)
+ classes: Optional[List[shared_transactionmetadata.TransactionMetadata]] = dataclasses.field(default=None)
r"""Success"""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/initiate_sync.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/initiate_sync.py
old mode 100755
new mode 100644
index d8674b816..a9b90da5b
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/initiate_sync.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/initiate_sync.py
@@ -3,9 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import errormessage as shared_errormessage
-from ..shared import postsync as shared_postsync
-from ..shared import syncinitiated as shared_syncinitiated
+from ...models.shared import postsync as shared_postsync
from typing import Optional
@@ -22,13 +20,9 @@ class InitiateSyncRequest:
class InitiateSyncResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
- error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
- r"""If model is incorrect"""
- raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
- r"""Raw HTTP response; suitable for custom response parsing"""
- sync_initiated: Optional[shared_syncinitiated.SyncInitiated] = dataclasses.field(default=None)
- r"""Returns the newly created SyncId"""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_companies.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_companies.py
old mode 100755
new mode 100644
index 601c3326c..72bcc118a
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_companies.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_companies.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import companies as shared_companies
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import companies as shared_companies
from typing import Optional
@@ -26,13 +25,11 @@ class ListCompaniesRequest:
class ListCompaniesResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_connections.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_connections.py
old mode 100755
new mode 100644
index 8c85c3ad3..24f4c54f5
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_connections.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_connections.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import connections as shared_connections
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import connections as shared_connections
from typing import Optional
@@ -28,13 +27,11 @@ class ListConnectionsRequest:
class ListConnectionsResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_sync_transactions.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_sync_transactions.py
old mode 100755
new mode 100644
index 5ecf32dd2..03c220fe9
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_sync_transactions.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_sync_transactions.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import errormessage as shared_errormessage
-from ..shared import transactionmetadatalist as shared_transactionmetadatalist
+from ...models.shared import transactionmetadatalist as shared_transactionmetadatalist
from typing import Optional
@@ -26,12 +25,10 @@ class ListSyncTransactionsRequest:
class ListSyncTransactionsResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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"""
transaction_metadata_list: Optional[shared_transactionmetadatalist.TransactionMetadataList] = dataclasses.field(default=None)
r"""Success"""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_syncs.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_syncs.py
old mode 100755
new mode 100644
index da54b7875..497fdcac5
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_syncs.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/list_syncs.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import companysyncstatus as shared_companysyncstatus
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import companysyncstatus as shared_companysyncstatus
from typing import List, Optional
@@ -20,13 +19,11 @@ class ListSyncsRequest:
class ListSyncsResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
- company_sync_statuses: Optional[List[shared_companysyncstatus.CompanySyncStatus]] = dataclasses.field(default=None)
+ classes: Optional[List[shared_companysyncstatus.CompanySyncStatus]] = 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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/save_company_configuration.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/save_company_configuration.py
old mode 100755
new mode 100644
index c8bf1c6fe..550857bac
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/save_company_configuration.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/save_company_configuration.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import companyconfiguration as shared_companyconfiguration
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import companyconfiguration as shared_companyconfiguration
from typing import Optional
@@ -21,13 +20,11 @@ class SaveCompanyConfigurationRequest:
class SaveCompanyConfigurationResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
company_configuration: Optional[shared_companyconfiguration.CompanyConfiguration] = 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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/unlink_connection.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/unlink_connection.py
old mode 100755
new mode 100644
index 95d19d557..080564ea5
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/unlink_connection.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/unlink_connection.py
@@ -3,9 +3,8 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import connection as shared_connection
-from ..shared import dataconnectionstatus as shared_dataconnectionstatus
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import connection as shared_connection
+from ...models.shared import dataconnectionstatus as shared_dataconnectionstatus
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import Optional
@@ -35,13 +34,11 @@ class UnlinkConnectionRequest:
class UnlinkConnectionResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/update_company.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/update_company.py
old mode 100755
new mode 100644
index 6f159a98a..3df4f661f
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/update_company.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/update_company.py
@@ -3,9 +3,8 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import company as shared_company
-from ..shared import companyrequestbody as shared_companyrequestbody
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import company as shared_company
+from ...models.shared import companyrequestbody as shared_companyrequestbody
from typing import Optional
@@ -22,13 +21,11 @@ class UpdateCompanyRequest:
class UpdateCompanyResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/update_expense_dataset.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/update_expense_dataset.py
old mode 100755
new mode 100644
index c4f8790db..28f04488c
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/update_expense_dataset.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/update_expense_dataset.py
@@ -3,8 +3,7 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import errormessage as shared_errormessage
-from ..shared import updateexpenserequest as shared_updateexpenserequest
+from ...models.shared import updateexpenserequest as shared_updateexpenserequest
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import Optional
@@ -23,7 +22,7 @@ class UpdateExpenseDatasetRequest:
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
-class UpdateExpenseDataset202ApplicationJSON:
+class UpdateExpenseDatasetResponseBody:
r"""Accepted"""
sync_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncId'), 'exclude': lambda f: f is None }})
r"""Unique identifier for the updated sync."""
@@ -35,13 +34,11 @@ class UpdateExpenseDataset202ApplicationJSON:
class UpdateExpenseDatasetResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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"""
- update_expense_dataset_202_application_json_object: Optional[UpdateExpenseDataset202ApplicationJSON] = dataclasses.field(default=None)
+ object: Optional[UpdateExpenseDatasetResponseBody] = dataclasses.field(default=None)
r"""Accepted"""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/upload_attachment.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/upload_attachment.py
old mode 100755
new mode 100644
index 5561bb26a..81d1b1727
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/upload_attachment.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/operations/upload_attachment.py
@@ -3,19 +3,11 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from ..shared import attachment as shared_attachment
-from ..shared import errormessage as shared_errormessage
+from ...models.shared import attachment as shared_attachment
+from ...models.shared import attachmentupload as shared_attachmentupload
from typing import Optional
-@dataclasses.dataclass
-class UploadAttachmentRequestBody:
- content: bytes = dataclasses.field(metadata={'multipart_form': { 'content': True }})
- request_body: str = dataclasses.field(metadata={'multipart_form': { 'field_name': 'requestBody' }})
-
-
-
-
@dataclasses.dataclass
class UploadAttachmentRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
@@ -24,7 +16,7 @@ class UploadAttachmentRequest:
r"""Unique identifier for a sync."""
transaction_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'transactionId', 'style': 'simple', 'explode': False }})
r"""The unique identifier for your SMB's transaction."""
- request_body: Optional[UploadAttachmentRequestBody] = dataclasses.field(default=None, metadata={'multipart_form': { 'file': True }, 'request': { 'media_type': 'multipart/form-data' }})
+ attachment_upload: Optional[shared_attachmentupload.AttachmentUpload] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'multipart/form-data' }})
@@ -33,13 +25,11 @@ class UploadAttachmentRequest:
class UploadAttachmentResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
status_code: int = dataclasses.field()
r"""HTTP response status code for this operation"""
attachment: Optional[shared_attachment.Attachment] = 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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/__init__.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/__init__.py
old mode 100755
new mode 100644
index 110ef3951..575b7e526
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/__init__.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/__init__.py
@@ -2,7 +2,9 @@
from .accountmappinginfo import *
from .attachment import *
+from .attachmentupload import *
from .bankaccount import *
+from .codatfile import *
from .companies import *
from .company import *
from .companyconfiguration import *
@@ -16,7 +18,6 @@
from .customer import *
from .dataconnectionerror import *
from .dataconnectionstatus import *
-from .errormessage import *
from .expensetransaction import *
from .expensetransactionline import *
from .halref import *
@@ -31,7 +32,6 @@
from .synccompletewebhookdata import *
from .syncfailedwebhook import *
from .syncfailedwebhookdata import *
-from .syncinitiated import *
from .syncstartedwebhook import *
from .taxratemappinginfo import *
from .trackingcategorymappinginfo import *
@@ -40,4 +40,4 @@
from .transactionstatus import *
from .updateexpenserequest import *
-__all__ = ["AccountMappingInfo","AccountMappingInfoAccountType","AccountMappingInfoValidTransactionTypes","Attachment","BankAccount","Companies","Company","CompanyConfiguration","CompanyRequestBody","CompanySyncStatus","Connection","ConnectionSourceType","Connections","ContactRef","ContactRefContactType","CreateExpenseRequest","CreateExpenseResponse","Customer","DataConnectionError","DataConnectionStatus","ErrorMessage","ExpenseTransaction","ExpenseTransactionLine","ExpenseTransactionType","HalRef","IntegrationType","Links","MappingOptions","PostSync","RecordRef","Security","Supplier","SyncCompleteWebhook","SyncCompleteWebhookData","SyncFailedWebhook","SyncFailedWebhookData","SyncInitiated","SyncStartedWebhook","SyncStartedWebhookData","TaxRateMappingInfo","TaxRateMappingInfoValidTransactionTypes","TrackingCategoryMappingInfo","TransactionMetadata","TransactionMetadataList","TransactionStatus","UpdateExpenseRequest"]
+__all__ = ["AccountMappingInfo","AccountType","Attachment","AttachmentUpload","BankAccount","CodatFile","Companies","Company","CompanyConfiguration","CompanyRequestBody","CompanySyncStatus","Connection","Connections","ContactRef","ContactType","CreateExpenseRequest","CreateExpenseResponse","Customer","Data","DataConnectionError","DataConnectionStatus","ExpenseTransaction","ExpenseTransactionLine","HalRef","IntegrationType","Links","MappingOptions","PostSync","RecordRef","Security","SourceType","Supplier","SyncCompleteWebhook","SyncCompleteWebhookData","SyncFailedWebhook","SyncFailedWebhookData","SyncStartedWebhook","TaxRateMappingInfo","TaxRateMappingInfoValidTransactionTypes","TrackingCategoryMappingInfo","TransactionMetadata","TransactionMetadataList","TransactionStatus","Type","UpdateExpenseRequest","ValidTransactionTypes"]
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/accountmappinginfo.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/accountmappinginfo.py
old mode 100755
new mode 100644
index 92f544e2c..ca299c41b
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/accountmappinginfo.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/accountmappinginfo.py
@@ -7,7 +7,7 @@
from enum import Enum
from typing import List, Optional
-class AccountMappingInfoAccountType(str, Enum):
+class AccountType(str, Enum):
r"""Type of the account."""
ASSET = 'Asset'
LIABILITY = 'Liability'
@@ -15,7 +15,7 @@ class AccountMappingInfoAccountType(str, Enum):
EXPENSE = 'Expense'
EQUITY = 'Equity'
-class AccountMappingInfoValidTransactionTypes(str, Enum):
+class ValidTransactionTypes(str, Enum):
PAYMENT = 'Payment'
REFUND = 'Refund'
REWARD = 'Reward'
@@ -29,7 +29,7 @@ class AccountMappingInfoValidTransactionTypes(str, Enum):
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class AccountMappingInfo:
- account_type: Optional[AccountMappingInfoAccountType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountType') }})
+ account_type: Optional[AccountType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountType') }})
r"""Type of the account."""
currency: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currency') }})
r"""Currency of the account."""
@@ -37,7 +37,7 @@ class AccountMappingInfo:
r"""Unique identifier of account."""
name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name') }})
r"""Name of the account as it appears in the companies accounting software."""
- valid_transaction_types: Optional[List[AccountMappingInfoValidTransactionTypes]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('validTransactionTypes') }})
+ valid_transaction_types: Optional[List[ValidTransactionTypes]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('validTransactionTypes') }})
r"""Supported transaction types for the account."""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/attachment.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/attachment.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/attachmentupload.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/attachmentupload.py
new file mode 100644
index 000000000..5ff7f47c9
--- /dev/null
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/attachmentupload.py
@@ -0,0 +1,13 @@
+"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
+
+from __future__ import annotations
+import dataclasses
+from .codatfile import CodatFile
+
+
+@dataclasses.dataclass
+class AttachmentUpload:
+ file: CodatFile = dataclasses.field(metadata={'multipart_form': { 'file': True }})
+ r"""The file to be uploaded as an attachment."""
+
+
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/bankaccount.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/bankaccount.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/codatfile.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/codatfile.py
new file mode 100644
index 000000000..3a08327c7
--- /dev/null
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/codatfile.py
@@ -0,0 +1,12 @@
+"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
+
+from __future__ import annotations
+import dataclasses
+
+
+@dataclasses.dataclass
+class CodatFile:
+ content: bytes = dataclasses.field(metadata={'multipart_form': { 'content': True }})
+ file_name: str = dataclasses.field(metadata={'multipart_form': { 'field_name': 'fileName' }})
+
+
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companies.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companies.py
old mode 100755
new mode 100644
index fbdbc0849..ba2a40289
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companies.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companies.py
@@ -2,8 +2,8 @@
from __future__ import annotations
import dataclasses
-from ..shared import company as shared_company
-from ..shared import links as shared_links
+from .company import Company
+from .links import Links
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import List, Optional
@@ -12,13 +12,13 @@
@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') }})
+ 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') }})
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 }})
+ results: Optional[List[Company]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/company.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/company.py
old mode 100755
new mode 100644
index 70c36f835..3816fa257
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/company.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/company.py
@@ -2,7 +2,7 @@
from __future__ import annotations
import dataclasses
-from ..shared import connection as shared_connection
+from .connection import Connection
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import List, Optional
@@ -46,7 +46,7 @@ class Company:
"""
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 }})
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 }})
+ data_connections: Optional[List[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 }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyconfiguration.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyconfiguration.py
old mode 100755
new mode 100644
index bb5a5df91..72d4f8b20
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyconfiguration.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyconfiguration.py
@@ -2,9 +2,9 @@
from __future__ import annotations
import dataclasses
-from ..shared import bankaccount as shared_bankaccount
-from ..shared import customer as shared_customer
-from ..shared import supplier as shared_supplier
+from .bankaccount import BankAccount
+from .customer import Customer
+from .supplier import Supplier
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
@@ -12,8 +12,8 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class CompanyConfiguration:
- bank_account: shared_bankaccount.BankAccount = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bankAccount') }})
- customer: shared_customer.Customer = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('customer') }})
- supplier: shared_supplier.Supplier = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('supplier') }})
+ bank_account: BankAccount = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bankAccount') }})
+ customer: Customer = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('customer') }})
+ supplier: Supplier = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('supplier') }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyrequestbody.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companyrequestbody.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companysyncstatus.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/companysyncstatus.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connection.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connection.py
old mode 100755
new mode 100644
index f0cc41485..a0b2bb43a
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connection.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connection.py
@@ -2,14 +2,14 @@
from __future__ import annotations
import dataclasses
-from ..shared import dataconnectionerror as shared_dataconnectionerror
-from ..shared import dataconnectionstatus as shared_dataconnectionstatus
+from .dataconnectionerror import DataConnectionError
+from .dataconnectionstatus import DataConnectionStatus
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from enum import Enum
from typing import Any, Dict, List, Optional
-class ConnectionSourceType(str, Enum):
+class SourceType(str, Enum):
r"""The type of platform of the connection."""
ACCOUNTING = 'Accounting'
BANKING = 'Banking'
@@ -65,13 +65,13 @@ class Connection:
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') }})
+ source_type: SourceType = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceType') }})
r"""The type of platform of the connection."""
- status: shared_dataconnectionstatus.DataConnectionStatus = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status') }})
+ status: 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 }})
+ data_connection_errors: Optional[List[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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connections.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connections.py
old mode 100755
new mode 100644
index 5bb865452..78b9ac150
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connections.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/connections.py
@@ -2,8 +2,8 @@
from __future__ import annotations
import dataclasses
-from ..shared import connection as shared_connection
-from ..shared import links as shared_links
+from .connection import Connection
+from .links import Links
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import List, Optional
@@ -12,13 +12,13 @@
@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') }})
+ 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') }})
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 }})
+ results: Optional[List[Connection]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/contactref.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/contactref.py
old mode 100755
new mode 100644
index 27241e2d0..38c713d76
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/contactref.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/contactref.py
@@ -7,7 +7,7 @@
from enum import Enum
from typing import Optional
-class ContactRefContactType(str, Enum):
+class ContactType(str, Enum):
r"""The type of contact."""
SUPPLIER = 'Supplier'
@@ -15,7 +15,7 @@ class ContactRefContactType(str, Enum):
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class ContactRef:
- contact_type: Optional[ContactRefContactType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contactType'), 'exclude': lambda f: f is None }})
+ contact_type: Optional[ContactType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contactType'), 'exclude': lambda f: f is None }})
r"""The type of contact."""
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 of supplier or customer."""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenserequest.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenserequest.py
old mode 100755
new mode 100644
index 8870029dd..b3d74debe
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenserequest.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenserequest.py
@@ -2,7 +2,7 @@
from __future__ import annotations
import dataclasses
-from ..shared import expensetransaction as shared_expensetransaction
+from .expensetransaction import ExpenseTransaction
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import List, Optional
@@ -11,6 +11,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class CreateExpenseRequest:
- items: Optional[List[shared_expensetransaction.ExpenseTransaction]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('items'), 'exclude': lambda f: f is None }})
+ items: Optional[List[ExpenseTransaction]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('items'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenseresponse.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/createexpenseresponse.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/customer.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/customer.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/dataconnectionerror.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/dataconnectionerror.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/dataconnectionstatus.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/dataconnectionstatus.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransaction.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransaction.py
old mode 100755
new mode 100644
index b7d2fa564..9bfdfd476
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransaction.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransaction.py
@@ -2,15 +2,15 @@
from __future__ import annotations
import dataclasses
-from ..shared import contactref as shared_contactref
-from ..shared import expensetransactionline as shared_expensetransactionline
+from .contactref import ContactRef
+from .expensetransactionline import ExpenseTransactionLine
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from decimal import Decimal
from enum import Enum
from typing import List, Optional
-class ExpenseTransactionType(str, Enum):
+class Type(str, Enum):
r"""The type of transaction."""
PAYMENT = 'Payment'
REFUND = 'Refund'
@@ -50,9 +50,9 @@ class ExpenseTransaction:
> 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.
"""
- type: ExpenseTransactionType = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type') }})
+ type: Type = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type') }})
r"""The type of transaction."""
- contact_ref: Optional[shared_contactref.ContactRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contactRef'), 'exclude': lambda f: f is None }})
+ contact_ref: Optional[ContactRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contactRef'), 'exclude': lambda f: f is None }})
currency_rate: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currencyRate'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder }})
r"""Rate to convert the total amount of the payment into the base currency for the company at the time of the payment.
@@ -80,7 +80,7 @@ class ExpenseTransaction:
| **EUR** | €20 | 1.134 | $22.68 |
| **RUB** | ₽20 | 0.015 | $0.30 |
"""
- lines: Optional[List[shared_expensetransactionline.ExpenseTransactionLine]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lines'), 'exclude': lambda f: f is None }})
+ lines: Optional[List[ExpenseTransactionLine]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lines'), 'exclude': lambda f: f is None }})
r"""Array of transaction lines."""
merchant_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('merchantName'), 'exclude': lambda f: f is None }})
r"""Name of the merchant where the purchase took place"""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransactionline.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransactionline.py
old mode 100755
new mode 100644
index 40be0402c..5864eefd4
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransactionline.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/expensetransactionline.py
@@ -2,7 +2,7 @@
from __future__ import annotations
import dataclasses
-from ..shared import recordref as shared_recordref
+from .recordref import RecordRef
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from decimal import Decimal
@@ -12,12 +12,12 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class ExpenseTransactionLine:
- account_ref: shared_recordref.RecordRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountRef') }})
+ account_ref: RecordRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountRef') }})
net_amount: Decimal = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('netAmount'), 'encoder': utils.decimalencoder(False, False), 'decoder': utils.decimaldecoder }})
r"""Amount of the line, exclusive of tax."""
tax_amount: Decimal = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxAmount'), 'encoder': utils.decimalencoder(False, False), 'decoder': utils.decimaldecoder }})
r"""Amount of tax for the line."""
- tax_rate_ref: Optional[shared_recordref.RecordRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxRateRef'), 'exclude': lambda f: f is None }})
- tracking_refs: Optional[List[shared_recordref.RecordRef]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('trackingRefs'), 'exclude': lambda f: f is None }})
+ tax_rate_ref: Optional[RecordRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxRateRef'), 'exclude': lambda f: f is None }})
+ tracking_refs: Optional[List[RecordRef]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('trackingRefs'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/halref.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/halref.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/integrationtype.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/integrationtype.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/links.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/links.py
old mode 100755
new mode 100644
index bfeb0ab08..4c6f117bd
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/links.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/links.py
@@ -2,7 +2,7 @@
from __future__ import annotations
import dataclasses
-from ..shared import halref as shared_halref
+from .halref import HalRef
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import Optional
@@ -11,9 +11,9 @@
@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') }})
- self_: shared_halref.HalRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('self') }})
- next: Optional[shared_halref.HalRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('next'), 'exclude': lambda f: f is None }})
- previous: Optional[shared_halref.HalRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('previous'), 'exclude': lambda f: f is None }})
+ current: HalRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('current') }})
+ self_: HalRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('self') }})
+ next: Optional[HalRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('next'), 'exclude': lambda f: f is None }})
+ previous: Optional[HalRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('previous'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/mappingoptions.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/mappingoptions.py
old mode 100755
new mode 100644
index 6a4856565..e231f5f20
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/mappingoptions.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/mappingoptions.py
@@ -2,9 +2,9 @@
from __future__ import annotations
import dataclasses
-from ..shared import accountmappinginfo as shared_accountmappinginfo
-from ..shared import taxratemappinginfo as shared_taxratemappinginfo
-from ..shared import trackingcategorymappinginfo as shared_trackingcategorymappinginfo
+from .accountmappinginfo import AccountMappingInfo
+from .taxratemappinginfo import TaxRateMappingInfo
+from .trackingcategorymappinginfo import TrackingCategoryMappingInfo
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import List, Optional
@@ -13,13 +13,13 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class MappingOptions:
- accounts: Optional[List[shared_accountmappinginfo.AccountMappingInfo]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accounts') }})
+ accounts: Optional[List[AccountMappingInfo]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accounts') }})
r"""Array of available accounts for mapping."""
expense_provider: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('expenseProvider') }})
r"""Name of the expense integration."""
- tax_rates: Optional[List[shared_taxratemappinginfo.TaxRateMappingInfo]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxRates') }})
+ tax_rates: Optional[List[TaxRateMappingInfo]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxRates') }})
r"""Array of available tax rates for mapping."""
- tracking_categories: Optional[List[shared_trackingcategorymappinginfo.TrackingCategoryMappingInfo]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('trackingCategories') }})
+ tracking_categories: Optional[List[TrackingCategoryMappingInfo]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('trackingCategories') }})
r"""Array of available tracking categories for mapping."""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/postsync.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/postsync.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/recordref.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/recordref.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/security.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/security.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/supplier.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/supplier.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/synccompletewebhook.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/synccompletewebhook.py
old mode 100755
new mode 100644
index 315f2690c..65a08ea16
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/synccompletewebhook.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/synccompletewebhook.py
@@ -2,7 +2,7 @@
from __future__ import annotations
import dataclasses
-from ..shared import synccompletewebhookdata as shared_synccompletewebhookdata
+from .synccompletewebhookdata import SyncCompleteWebhookData
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import Optional
@@ -20,7 +20,7 @@ class SyncCompleteWebhook:
r"""Name of your client in Codat."""
company_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('CompanyId'), 'exclude': lambda f: f is None }})
r"""Unique identifier for your SMB in Codat."""
- data: Optional[shared_synccompletewebhookdata.SyncCompleteWebhookData] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Data'), 'exclude': lambda f: f is None }})
+ data: Optional[SyncCompleteWebhookData] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Data'), '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 }})
r"""A human readable message about the webhook."""
rule_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('RuleId'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/synccompletewebhookdata.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/synccompletewebhookdata.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncfailedwebhook.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncfailedwebhook.py
old mode 100755
new mode 100644
index f82fac24d..f4175f3c6
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncfailedwebhook.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncfailedwebhook.py
@@ -2,7 +2,7 @@
from __future__ import annotations
import dataclasses
-from ..shared import syncfailedwebhookdata as shared_syncfailedwebhookdata
+from .syncfailedwebhookdata import SyncFailedWebhookData
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import Optional
@@ -20,7 +20,7 @@ class SyncFailedWebhook:
r"""Name of your client in Codat."""
company_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('CompanyId'), 'exclude': lambda f: f is None }})
r"""Unique identifier for your SMB in Codat."""
- data: Optional[shared_syncfailedwebhookdata.SyncFailedWebhookData] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Data'), 'exclude': lambda f: f is None }})
+ data: Optional[SyncFailedWebhookData] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Data'), '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 }})
r"""A human readable message about the webhook."""
rule_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('RuleId'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncfailedwebhookdata.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncfailedwebhookdata.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncinitiated.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncinitiated.py
deleted file mode 100755
index b301db2c9..000000000
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncinitiated.py
+++ /dev/null
@@ -1,16 +0,0 @@
-"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
-
-from __future__ import annotations
-import dataclasses
-from codatsyncexpenses import utils
-from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
-
-
-@dataclass_json(undefined=Undefined.EXCLUDE)
-@dataclasses.dataclass
-class SyncInitiated:
- sync_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncId'), 'exclude': lambda f: f is None }})
- r"""Unique identifier for the initiated sync."""
-
-
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncstartedwebhook.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncstartedwebhook.py
old mode 100755
new mode 100644
index 9e1bc1f29..49c6ee268
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncstartedwebhook.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/syncstartedwebhook.py
@@ -9,7 +9,7 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
-class SyncStartedWebhookData:
+class Data:
sync_date_range_finish_utc: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('SyncDateRangeFinishUtc'), '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,7 +72,7 @@ class SyncStartedWebhook:
r"""Name of your client in Codat."""
company_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('CompanyId'), 'exclude': lambda f: f is None }})
r"""Unique identifier for your SMB in Codat."""
- data: Optional[SyncStartedWebhookData] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Data'), 'exclude': lambda f: f is None }})
+ data: Optional[Data] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Data'), '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 }})
r"""A human readable message about the webhook."""
rule_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('RuleId'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/taxratemappinginfo.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/taxratemappinginfo.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/trackingcategorymappinginfo.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/trackingcategorymappinginfo.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadata.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadata.py
old mode 100755
new mode 100644
index cec138de3..8a32d50f2
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadata.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadata.py
@@ -2,8 +2,8 @@
from __future__ import annotations
import dataclasses
-from ..shared import integrationtype as shared_integrationtype
-from ..shared import transactionstatus as shared_transactionstatus
+from .integrationtype import IntegrationType
+from .transactionstatus import TransactionStatus
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import Optional
@@ -12,11 +12,11 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class TransactionMetadata:
- integration_type: Optional[shared_integrationtype.IntegrationType] = dataclasses.field(default=shared_integrationtype.IntegrationType.EXPENSES, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('integrationType') }})
+ integration_type: Optional[IntegrationType] = dataclasses.field(default=IntegrationType.EXPENSES, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('integrationType') }})
r"""Type of transaction that has been processed e.g. Expense or Bank Feed."""
message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message') }})
r"""Metadata such as validation errors or the resulting record created in the accounting software."""
- status: Optional[shared_transactionstatus.TransactionStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status') }})
+ status: Optional[TransactionStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status') }})
r"""Status of the transaction."""
transaction_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('transactionId') }})
r"""Your unique idenfier of the transaction."""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadatalist.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadatalist.py
old mode 100755
new mode 100644
index f36fa41d0..a4cce03e7
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadatalist.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionmetadatalist.py
@@ -2,8 +2,8 @@
from __future__ import annotations
import dataclasses
-from ..shared import links as shared_links
-from ..shared import transactionmetadata as shared_transactionmetadata
+from .links import Links
+from .transactionmetadata import TransactionMetadata
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from typing import List, Optional
@@ -12,13 +12,13 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class TransactionMetadataList:
- links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }})
+ 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') }})
r"""Total number of items."""
- results: Optional[List[shared_transactionmetadata.TransactionMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
+ results: Optional[List[TransactionMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionstatus.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/transactionstatus.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/updateexpenserequest.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/updateexpenserequest.py
old mode 100755
new mode 100644
index e1e1f94b3..341f98e6b
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/updateexpenserequest.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/shared/updateexpenserequest.py
@@ -2,8 +2,8 @@
from __future__ import annotations
import dataclasses
-from ..shared import contactref as shared_contactref
-from ..shared import expensetransactionline as shared_expensetransactionline
+from .contactref import ContactRef
+from .expensetransactionline import ExpenseTransactionLine
from codatsyncexpenses import utils
from dataclasses_json import Undefined, dataclass_json
from decimal import Decimal
@@ -16,7 +16,7 @@ class UpdateExpenseRequest:
issue_date: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('issueDate') }})
r"""Date the transaction was recorded."""
type: Any = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type') }})
- contact_ref: Optional[shared_contactref.ContactRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contactRef'), 'exclude': lambda f: f is None }})
+ contact_ref: Optional[ContactRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contactRef'), 'exclude': lambda f: f is None }})
currency: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currency'), 'exclude': lambda f: f is None }})
r"""Currency the transaction was recorded in."""
currency_rate: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currencyRate'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder }})
@@ -46,7 +46,7 @@ class UpdateExpenseRequest:
| **EUR** | €20 | 1.134 | $22.68 |
| **RUB** | ₽20 | 0.015 | $0.30 |
"""
- lines: Optional[List[shared_expensetransactionline.ExpenseTransactionLine]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lines'), 'exclude': lambda f: f is None }})
+ lines: Optional[List[ExpenseTransactionLine]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lines'), 'exclude': lambda f: f is None }})
r"""Array of transaction lines."""
merchant_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('merchantName'), 'exclude': lambda f: f is None }})
r"""Name of the merchant where the purchase took place"""
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/__init__.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/__init__.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_complete.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_complete.py
old mode 100755
new mode 100644
index 1c12d2a4f..5e7f61f93
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_complete.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_complete.py
@@ -3,16 +3,15 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from typing import Optional
@dataclasses.dataclass
class SyncCompleteResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_failed.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_failed.py
old mode 100755
new mode 100644
index 2b6d068fd..77c4ae00f
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_failed.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_failed.py
@@ -3,16 +3,15 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from typing import Optional
@dataclasses.dataclass
class SyncFailedResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_started.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_started.py
old mode 100755
new mode 100644
index 03a077cdc..b1ccaf7b0
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_started.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/models/webhooks/sync_started.py
@@ -3,16 +3,15 @@
from __future__ import annotations
import dataclasses
import requests as requests_http
-from typing import Optional
@dataclasses.dataclass
class SyncStartedResponse:
content_type: str = dataclasses.field()
r"""HTTP response content type for this operation"""
+ raw_response: requests_http.Response = dataclasses.field()
+ r"""Raw HTTP response; suitable for custom response parsing"""
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/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdk.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdk.py
old mode 100755
new mode 100644
index 448efdeeb..dfcc7f7d9
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdk.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdk.py
@@ -12,7 +12,7 @@
from .transaction_status import TransactionStatus
from codatsyncexpenses import utils
from codatsyncexpenses.models import shared
-from typing import Dict
+from typing import Callable, Dict, Union
class CodatSyncExpenses:
r"""Sync for Expenses (v1): The API for Sync for Expenses.
@@ -25,14 +25,14 @@ class CodatSyncExpenses:
[See our OpenAPI spec](https://github.com/codatio/oas)
- Not seeing what you expect? [See the main Sync for Commerce API](https://docs.codat.io/sync-for-commerce-api).
+ Not seeing what you expect? [See the main Sync for Expenses API](https://docs.codat.io/sync-for-expenses-api).
"""
companies: Companies
r"""Create and manage your Codat companies."""
- configuration: Configuration
- r"""Companies sync configuration."""
connections: Connections
r"""Create and manage partner expense connection."""
+ configuration: Configuration
+ r"""Companies sync configuration."""
expenses: Expenses
r"""Create expense datasets and upload receipts."""
mapping_options: MappingOptions
@@ -47,7 +47,7 @@ class CodatSyncExpenses:
sdk_configuration: SDKConfiguration
def __init__(self,
- security: shared.Security = None,
+ security: Union[shared.Security,Callable[[], shared.Security]] = None,
server_idx: int = None,
server_url: str = None,
url_params: Dict[str, str] = None,
@@ -57,7 +57,7 @@ def __init__(self,
"""Instantiates the SDK configuring it with the provided parameters.
:param security: The security details required for authentication
- :type security: shared.Security
+ :type security: Union[shared.Security,Callable[[], shared.Security]]
:param server_idx: The index of the server to use for all operations
:type server_idx: int
:param server_url: The server URL to use for all operations
@@ -72,22 +72,18 @@ 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)
- self.sdk_configuration = SDKConfiguration(client, security_client, server_url, server_idx, retry_config=retry_config)
+ self.sdk_configuration = SDKConfiguration(client, security, server_url, server_idx, retry_config=retry_config)
self._init_sdks()
def _init_sdks(self):
self.companies = Companies(self.sdk_configuration)
- self.configuration = Configuration(self.sdk_configuration)
self.connections = Connections(self.sdk_configuration)
+ self.configuration = Configuration(self.sdk_configuration)
self.expenses = Expenses(self.sdk_configuration)
self.mapping_options = MappingOptions(self.sdk_configuration)
self.sync = Sync(self.sdk_configuration)
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdkconfiguration.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdkconfiguration.py
old mode 100755
new mode 100644
index 4de91314e..d7b04d6ad
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdkconfiguration.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sdkconfiguration.py
@@ -2,9 +2,10 @@
import requests
from dataclasses import dataclass
-from typing import Dict, Tuple
+from typing import Dict, Tuple, Callable, Union
from .utils.retries import RetryConfig
from .utils import utils
+from codatsyncexpenses.models import shared
SERVERS = [
@@ -15,14 +16,14 @@
@dataclass
class SDKConfiguration:
client: requests.Session
- security_client: requests.Session
+ security: Union[shared.Security,Callable[[], shared.Security]] = None
server_url: str = ''
server_idx: int = 0
language: str = 'python'
openapi_doc_version: str = 'prealpha'
- sdk_version: str = '0.2.0'
- gen_version: str = '2.159.2'
- user_agent: str = 'speakeasy-sdk/python 0.2.0 2.159.2 prealpha codat-sync-for-expenses-version-1'
+ sdk_version: str = '0.3.0'
+ gen_version: str = '2.210.6'
+ user_agent: str = 'speakeasy-sdk/python 0.3.0 2.210.6 prealpha codat-sync-for-expenses-version-1'
retry_config: RetryConfig = None
def get_server_details(self) -> Tuple[str, Dict[str, str]]:
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync.py
old mode 100755
new mode 100644
index 10d76c4e8..8ac8d865f
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync.py
@@ -2,7 +2,7 @@
from .sdkconfiguration import SDKConfiguration
from codatsyncexpenses import utils
-from codatsyncexpenses.models import errors, operations, shared
+from codatsyncexpenses.models import errors, operations
from typing import Optional
class Sync:
@@ -13,6 +13,7 @@ def __init__(self, sdk_config: SDKConfiguration) -> None:
self.sdk_configuration = sdk_config
+
def initiate_sync(self, request: operations.InitiateSyncRequest, retries: Optional[utils.RetryConfig] = None) -> operations.InitiateSyncResponse:
r"""Initiate sync
Initiate sync of pending transactions.
@@ -27,7 +28,10 @@ def initiate_sync(self, request: operations.InitiateSyncRequest, retries: Option
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -46,21 +50,18 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.InitiateSyncResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
- if http_res.status_code == 202:
- if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.SyncInitiated])
- res.sync_initiated = out
- else:
- raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [400, 404, 422]:
+ if http_res.status_code in [400, 401, 402, 403, 404, 422, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync_status.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync_status.py
old mode 100755
new mode 100644
index f80cee698..6eb5572e5
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync_status.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/sync_status.py
@@ -13,6 +13,7 @@ def __init__(self, sdk_config: SDKConfiguration) -> None:
self.sdk_configuration = sdk_config
+
def get_last_successful_sync(self, request: operations.GetLastSuccessfulSyncRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetLastSuccessfulSyncResponse:
r"""Last successful sync
Gets the status of the last successful sync
@@ -24,7 +25,10 @@ def get_last_successful_sync(self, request: operations.GetLastSuccessfulSyncRequ
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -43,7 +47,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.GetLastSuccessfulSyncResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -52,16 +56,20 @@ def do_request():
res.company_sync_status = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def get_latest_sync(self, request: operations.GetLatestSyncRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetLatestSyncResponse:
r"""Latest sync status
Gets the latest sync status
@@ -73,7 +81,10 @@ def get_latest_sync(self, request: operations.GetLatestSyncRequest, retries: Opt
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -92,7 +103,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.GetLatestSyncResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -101,16 +112,20 @@ def do_request():
res.company_sync_status = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def get_sync_by_id(self, request: operations.GetSyncByIDRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetSyncByIDResponse:
r"""Get sync status
Get the sync status for a specified sync
@@ -122,7 +137,10 @@ def get_sync_by_id(self, request: operations.GetSyncByIDRequest, retries: Option
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -141,7 +159,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.GetSyncByIDResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -150,16 +168,20 @@ def do_request():
res.company_sync_status = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def list_syncs(self, request: operations.ListSyncsRequest, retries: Optional[utils.RetryConfig] = None) -> operations.ListSyncsResponse:
r"""List sync statuses
Gets a list of sync statuses
@@ -171,7 +193,10 @@ def list_syncs(self, request: operations.ListSyncsRequest, retries: Optional[uti
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -190,21 +215,24 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.ListSyncsResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
if utils.match_content_type(content_type, 'application/json'):
out = utils.unmarshal_json(http_res.text, Optional[List[shared.CompanySyncStatus]])
- res.company_sync_statuses = out
+ res.classes = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/transaction_status.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/transaction_status.py
old mode 100755
new mode 100644
index 56ddf2ed7..1eecbfa94
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/transaction_status.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/transaction_status.py
@@ -13,6 +13,7 @@ def __init__(self, sdk_config: SDKConfiguration) -> None:
self.sdk_configuration = sdk_config
+
def get_sync_transaction(self, request: operations.GetSyncTransactionRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetSyncTransactionResponse:
r"""Get sync transaction
Gets the status of a transaction for a sync
@@ -24,7 +25,10 @@ def get_sync_transaction(self, request: operations.GetSyncTransactionRequest, re
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -43,25 +47,29 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.GetSyncTransactionResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
if utils.match_content_type(content_type, 'application/json'):
out = utils.unmarshal_json(http_res.text, Optional[List[shared.TransactionMetadata]])
- res.transaction_metadata = out
+ res.classes = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
+
def list_sync_transactions(self, request: operations.ListSyncTransactionsRequest, retries: Optional[utils.RetryConfig] = None) -> operations.ListSyncTransactionsResponse:
r"""Get sync transactions
Get's the transactions and status for a sync
@@ -74,7 +82,10 @@ def list_sync_transactions(self, request: operations.ListSyncTransactionsRequest
headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent
- client = self.sdk_configuration.security_client
+ if callable(self.sdk_configuration.security):
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security())
+ else:
+ client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security)
global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
@@ -93,7 +104,7 @@ def do_request():
'5XX'
]))
content_type = http_res.headers.get('Content-Type')
-
+
res = operations.ListSyncTransactionsResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
if http_res.status_code == 200:
@@ -102,12 +113,15 @@ def do_request():
res.transaction_metadata_list = out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
- elif http_res.status_code in [401, 404, 429]:
+ elif http_res.status_code in [400, 401, 402, 403, 404, 429, 500, 503]:
if utils.match_content_type(content_type, 'application/json'):
- out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
- res.error_message = out
+ out = utils.unmarshal_json(http_res.text, errors.ErrorMessage)
+ out.raw_response = http_res
+ raise out
else:
raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+ elif http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600:
+ raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res)
return res
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/__init__.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/__init__.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/retries.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/retries.py
old mode 100755
new mode 100644
diff --git a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/utils.py b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/utils.py
old mode 100755
new mode 100644
index ccfad9f7a..416ef7949
--- a/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/utils.py
+++ b/previous-versions/sync-for-expenses-version-1/src/codatsyncexpenses/utils/utils.py
@@ -705,7 +705,7 @@ def marshal_json(val, encoder=None):
val = json_dict["res"] if encoder is None else encoder(json_dict["res"])
- return json.dumps(val)
+ return json.dumps(val, separators=(',', ':'), sort_keys=True)
def match_content_type(content_type: str, pattern: str) -> boolean:
@@ -759,6 +759,8 @@ def bigintencode(val: int):
def bigintdecoder(val):
+ if isinstance(val, float):
+ raise ValueError(f"{val} is a float")
return int(val)
@@ -828,6 +830,24 @@ def list_decode(val: List):
return list_decode
+def union_encoder(all_encoders: Dict[str, Callable]):
+ def selective_encoder(val: any):
+ if type(val) in all_encoders:
+ return all_encoders[type(val)](val)
+ return val
+ return selective_encoder
+
+def union_decoder(all_decoders: List[Callable]):
+ def selective_decoder(val: any):
+ decoded = val
+ for decoder in all_decoders:
+ try:
+ decoded = decoder(val)
+ break
+ except (TypeError, ValueError):
+ continue
+ return decoded
+ return selective_decoder
def get_field_name(name):
def override(_, _field_name=name):
diff --git a/previous-versions/sync-for-expenses-version-1/tests/helpers.py b/previous-versions/sync-for-expenses-version-1/tests/helpers.py
new file mode 100644
index 000000000..b3d095040
--- /dev/null
+++ b/previous-versions/sync-for-expenses-version-1/tests/helpers.py
@@ -0,0 +1,61 @@
+"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
+
+import re
+
+
+def sort_query_parameters(url):
+ parts = url.split("?")
+
+ if len(parts) == 1:
+ return url
+
+ query = parts[1]
+ params = query.split("&")
+
+ params.sort(key=lambda x: x.split('=')[0])
+
+ return parts[0] + "?" + "&".join(params)
+
+
+def sort_serialized_maps(inp: any, regex: str, delim: str):
+
+ def sort_map(m):
+ entire_match = m.group(0)
+
+ groups = m.groups()
+
+ for group in groups:
+ pairs = []
+ if '=' in group:
+ pairs = group.split(delim)
+
+ pairs.sort(key=lambda x: x.split('=')[0])
+ else:
+ values = group.split(delim)
+
+ if len(values) == 1:
+ pairs = values
+ else:
+ pairs = [''] * int(len(values)/2)
+ # loop though every 2nd item
+ for i in range(0, len(values), 2):
+ pairs[int(i/2)] = values[i] + delim + values[i+1]
+
+ pairs.sort(key=lambda x: x.split(delim)[0])
+
+ entire_match = entire_match.replace(group, delim.join(pairs))
+
+ return entire_match
+
+ if isinstance(inp, str):
+ return re.sub(regex, sort_map, inp)
+ elif isinstance(inp, list):
+ for i, v in enumerate(inp):
+ inp[i] = sort_serialized_maps(v, regex, delim)
+ return inp
+ elif isinstance(inp, dict):
+ for k, v in inp.items():
+ inp[k] = sort_serialized_maps(v, regex, delim)
+ return inp
+ else:
+ raise Exception("Unsupported type")