diff --git a/previous-versions/assess/README.md b/previous-versions/assess/README.md
index 2e44dc85e..50edda8a8 100644
--- a/previous-versions/assess/README.md
+++ b/previous-versions/assess/README.md
@@ -8,15 +8,84 @@ Assess helps you make smarter credit decisions on small businesses by enabling y
You can use that data for automating decisioning and surfacing new insights on the customer, all via one API.
-replace me
+## SDK Installation
+
+```bash
+pip install codat-assess
+```
## Example Usage
-replace me
+```python
+import codatassess
+from codatassess.models import operations, shared
+
+s = codatassess.CodatAssess(
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
+)
+
+req = operations.ListDataTypeDataIntegrityDetailsRequest(
+ company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
+ data_type=shared.DataIntegrityDataType.BANKING_ACCOUNTS,
+ order_by='-modifiedDate',
+ page=1,
+ page_size=100,
+)
+
+res = s.data_integrity.details(req)
+
+if res.details is not None:
+ # handle response
+ pass
+```
-replace me
+## Available Resources and Operations
+
+
+### [data_integrity](docs/sdks/dataintegrity/README.md)
+
+* [details](docs/sdks/dataintegrity/README.md#details) - List data type data integrity
+* [status](docs/sdks/dataintegrity/README.md#status) - Get data integrity status
+* [summary](docs/sdks/dataintegrity/README.md#summary) - Get data integrity summary
+
+### [excel_reports](docs/sdks/excelreports/README.md)
+
+* [generate_excel_report](docs/sdks/excelreports/README.md#generate_excel_report) - Generate Excel report
+* [get_accounting_marketing_metrics](docs/sdks/excelreports/README.md#get_accounting_marketing_metrics) - Get marketing metrics report
+* [get_excel_report](docs/sdks/excelreports/README.md#get_excel_report) - Download Excel report
+* [get_excel_report_generation_status](docs/sdks/excelreports/README.md#get_excel_report_generation_status) - Get Excel report status
+
+### [reports](docs/sdks/reports/README.md)
+
+* [generate_loan_summary](docs/sdks/reports/README.md#generate_loan_summary) - Generate loan summaries report
+* [generate_loan_transactions](docs/sdks/reports/README.md#generate_loan_transactions) - Generate loan transactions report
+* [get_accounts_for_enhanced_balance_sheet](docs/sdks/reports/README.md#get_accounts_for_enhanced_balance_sheet) - Get enhanced balance sheet accounts
+* [get_accounts_for_enhanced_profit_and_loss](docs/sdks/reports/README.md#get_accounts_for_enhanced_profit_and_loss) - Get enhanced profit and loss accounts
+* [get_commerce_customer_retention_metrics](docs/sdks/reports/README.md#get_commerce_customer_retention_metrics) - Get customer retention metrics
+* [get_commerce_lifetime_value_metrics](docs/sdks/reports/README.md#get_commerce_lifetime_value_metrics) - Get lifetime value metric
+* [get_commerce_orders_metrics](docs/sdks/reports/README.md#get_commerce_orders_metrics) - Get orders report
+* [get_commerce_refunds_metrics](docs/sdks/reports/README.md#get_commerce_refunds_metrics) - Get refunds report
+* [get_commerce_revenue_metrics](docs/sdks/reports/README.md#get_commerce_revenue_metrics) - Get commerce revenue metrics
+* [get_enhanced_cash_flow_transactions](docs/sdks/reports/README.md#get_enhanced_cash_flow_transactions) - Get enhanced cash flow report
+* [get_enhanced_invoices_report](docs/sdks/reports/README.md#get_enhanced_invoices_report) - Get enhanced invoices report
+* [get_loan_summary](docs/sdks/reports/README.md#get_loan_summary) - Get loan summaries
+* [get_recurring_revenue_metrics](docs/sdks/reports/README.md#get_recurring_revenue_metrics) - Get key subscription revenue metrics
+* [list_loan_transactions](docs/sdks/reports/README.md#list_loan_transactions) - List loan transactions
+* [request_recurring_revenue_metrics](docs/sdks/reports/README.md#request_recurring_revenue_metrics) - Generate key subscription revenue metrics
+
+
+
+
+
+
+
+
+
+
+
+
### Library generated by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks)
\ No newline at end of file
diff --git a/previous-versions/assess/RELEASES.md b/previous-versions/assess/RELEASES.md
new file mode 100644
index 000000000..62564aa54
--- /dev/null
+++ b/previous-versions/assess/RELEASES.md
@@ -0,0 +1,11 @@
+
+
+## 2023-10-17 14:15:57
+### Changes
+Based on:
+- OpenAPI Doc 1.0 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Assess.yaml
+- Speakeasy CLI 1.100.2 (2.159.2) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v0.32.0] previous-versions/assess
+### Releases
+- [PyPI v0.32.0] https://pypi.org/project/codat-assess/0.32.0 - previous-versions/assess
\ No newline at end of file
diff --git a/previous-versions/assess/USAGE.md b/previous-versions/assess/USAGE.md
index 28a09e2bc..ef762c1db 100755
--- a/previous-versions/assess/USAGE.md
+++ b/previous-versions/assess/USAGE.md
@@ -6,9 +6,7 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.ListDataTypeDataIntegrityDetailsRequest(
@@ -17,12 +15,12 @@ req = operations.ListDataTypeDataIntegrityDetailsRequest(
order_by='-modifiedDate',
page=1,
page_size=100,
- query='corrupti',
)
res = s.data_integrity.details(req)
if res.details is not None:
# handle response
+ pass
```
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/generateexcelreportrequest.md b/previous-versions/assess/docs/models/operations/generateexcelreportrequest.md
index 55119bb55..574ac5f4e 100755
--- a/previous-versions/assess/docs/models/operations/generateexcelreportrequest.md
+++ b/previous-versions/assess/docs/models/operations/generateexcelreportrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `report_type` | [shared.ExcelReportType](../../models/shared/excelreporttype.md) | :heavy_check_mark: | The type of report you want to generate and download. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/generateexcelreportresponse.md b/previous-versions/assess/docs/models/operations/generateexcelreportresponse.md
index 30d67fe93..0d700555e 100755
--- a/previous-versions/assess/docs/models/operations/generateexcelreportresponse.md
+++ b/previous-versions/assess/docs/models/operations/generateexcelreportresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `excel_status` | [Optional[shared.ExcelStatus]](../../models/shared/excelstatus.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/generateloansummaryrequest.md b/previous-versions/assess/docs/models/operations/generateloansummaryrequest.md
new file mode 100755
index 000000000..c5ce041fe
--- /dev/null
+++ b/previous-versions/assess/docs/models/operations/generateloansummaryrequest.md
@@ -0,0 +1,9 @@
+# GenerateLoanSummaryRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `source_type` | [GenerateLoanSummarySourceType](../../models/operations/generateloansummarysourcetype.md) | :heavy_check_mark: | Data source type. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/generateloansummaryresponse.md b/previous-versions/assess/docs/models/operations/generateloansummaryresponse.md
new file mode 100755
index 000000000..fa984829f
--- /dev/null
+++ b/previous-versions/assess/docs/models/operations/generateloansummaryresponse.md
@@ -0,0 +1,11 @@
+# GenerateLoanSummaryResponse
+
+
+## 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: | 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
diff --git a/previous-versions/assess/docs/models/operations/generateloansummarysourcetype.md b/previous-versions/assess/docs/models/operations/generateloansummarysourcetype.md
new file mode 100755
index 000000000..1fb8dfad0
--- /dev/null
+++ b/previous-versions/assess/docs/models/operations/generateloansummarysourcetype.md
@@ -0,0 +1,12 @@
+# GenerateLoanSummarySourceType
+
+Data source type.
+
+
+## Values
+
+| Name | Value |
+| ------------ | ------------ |
+| `BANKING` | banking |
+| `COMMERCE` | commerce |
+| `ACCOUNTING` | accounting |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/generateloantransactionsrequest.md b/previous-versions/assess/docs/models/operations/generateloantransactionsrequest.md
new file mode 100755
index 000000000..0dd5363c6
--- /dev/null
+++ b/previous-versions/assess/docs/models/operations/generateloantransactionsrequest.md
@@ -0,0 +1,9 @@
+# GenerateLoanTransactionsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `source_type` | [GenerateLoanTransactionsSourceType](../../models/operations/generateloantransactionssourcetype.md) | :heavy_check_mark: | Data source type | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/generateloantransactionsresponse.md b/previous-versions/assess/docs/models/operations/generateloantransactionsresponse.md
new file mode 100755
index 000000000..7c9dc16a4
--- /dev/null
+++ b/previous-versions/assess/docs/models/operations/generateloantransactionsresponse.md
@@ -0,0 +1,11 @@
+# GenerateLoanTransactionsResponse
+
+
+## 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: | 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
diff --git a/previous-versions/assess/docs/models/operations/generateloantransactionssourcetype.md b/previous-versions/assess/docs/models/operations/generateloantransactionssourcetype.md
new file mode 100755
index 000000000..c9709caf0
--- /dev/null
+++ b/previous-versions/assess/docs/models/operations/generateloantransactionssourcetype.md
@@ -0,0 +1,12 @@
+# GenerateLoanTransactionsSourceType
+
+Data source type
+
+
+## Values
+
+| Name | Value |
+| ------------ | ------------ |
+| `BANKING` | banking |
+| `COMMERCE` | commerce |
+| `ACCOUNTING` | accounting |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getaccountingmarketingmetricsrequest.md b/previous-versions/assess/docs/models/operations/getaccountingmarketingmetricsrequest.md
index fa0b8e979..2bb8880c5 100755
--- a/previous-versions/assess/docs/models/operations/getaccountingmarketingmetricsrequest.md
+++ b/previous-versions/assess/docs/models/operations/getaccountingmarketingmetricsrequest.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
+| `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 |
| `include_display_names` | *Optional[bool]* | :heavy_minus_sign: | Shows the dimensionDisplayName and itemDisplayName in measures to make the report data human-readable. | |
| `number_of_periods` | *int* | :heavy_check_mark: | The number of periods to return. There will be no pagination as a query parameter. | |
| `period_length` | *int* | :heavy_check_mark: | The number of months per period. E.g. 2 = 2 months per period. | |
diff --git a/previous-versions/assess/docs/models/operations/getaccountingmarketingmetricsresponse.md b/previous-versions/assess/docs/models/operations/getaccountingmarketingmetricsresponse.md
index 22f090672..c3461bc2e 100755
--- a/previous-versions/assess/docs/models/operations/getaccountingmarketingmetricsresponse.md
+++ b/previous-versions/assess/docs/models/operations/getaccountingmarketingmetricsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `report` | [Optional[shared.Report]](../../models/shared/report.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getaccountsforenhancedbalancesheetrequest.md b/previous-versions/assess/docs/models/operations/getaccountsforenhancedbalancesheetrequest.md
index 169b066d3..aaeed8142 100755
--- a/previous-versions/assess/docs/models/operations/getaccountsforenhancedbalancesheetrequest.md
+++ b/previous-versions/assess/docs/models/operations/getaccountsforenhancedbalancesheetrequest.md
@@ -5,6 +5,6 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `number_of_periods` | *Optional[int]* | :heavy_minus_sign: | The number of periods to return. If not provided, 12 periods will be used as the default value. | |
| `report_date` | *str* | :heavy_check_mark: | The date in which the report is created up to. Users must specify a specific date, however the response will be provided for the full month. | 29-09-2020 |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getaccountsforenhancedbalancesheetresponse.md b/previous-versions/assess/docs/models/operations/getaccountsforenhancedbalancesheetresponse.md
index 80692f63e..a112ff8bf 100755
--- a/previous-versions/assess/docs/models/operations/getaccountsforenhancedbalancesheetresponse.md
+++ b/previous-versions/assess/docs/models/operations/getaccountsforenhancedbalancesheetresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `enhanced_report` | [Optional[shared.EnhancedReport]](../../models/shared/enhancedreport.md) | :heavy_minus_sign: | OK |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getaccountsforenhancedprofitandlossrequest.md b/previous-versions/assess/docs/models/operations/getaccountsforenhancedprofitandlossrequest.md
index f6a07460a..7ee6d0c97 100755
--- a/previous-versions/assess/docs/models/operations/getaccountsforenhancedprofitandlossrequest.md
+++ b/previous-versions/assess/docs/models/operations/getaccountsforenhancedprofitandlossrequest.md
@@ -5,6 +5,6 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `number_of_periods` | *Optional[int]* | :heavy_minus_sign: | The number of periods to return. If not provided, 12 periods will be used as the default value. | |
| `report_date` | *str* | :heavy_check_mark: | The date in which the report is created up to. Users must specify a specific date, however the response will be provided for the full month. | 29-09-2020 |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getaccountsforenhancedprofitandlossresponse.md b/previous-versions/assess/docs/models/operations/getaccountsforenhancedprofitandlossresponse.md
index cbfc1c4a4..4fb2075e4 100755
--- a/previous-versions/assess/docs/models/operations/getaccountsforenhancedprofitandlossresponse.md
+++ b/previous-versions/assess/docs/models/operations/getaccountsforenhancedprofitandlossresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `enhanced_report` | [Optional[shared.EnhancedReport]](../../models/shared/enhancedreport.md) | :heavy_minus_sign: | OK |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getcommercecustomerretentionmetricsrequest.md b/previous-versions/assess/docs/models/operations/getcommercecustomerretentionmetricsrequest.md
index afce992a0..af30fa0c5 100755
--- a/previous-versions/assess/docs/models/operations/getcommercecustomerretentionmetricsrequest.md
+++ b/previous-versions/assess/docs/models/operations/getcommercecustomerretentionmetricsrequest.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
+| `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 |
| `include_display_names` | *Optional[bool]* | :heavy_minus_sign: | Shows the dimensionDisplayName and itemDisplayName in measures to make the report data human-readable. | |
| `number_of_periods` | *int* | :heavy_check_mark: | The number of periods to return. There will be no pagination as a query parameter. | |
| `period_length` | *int* | :heavy_check_mark: | The number of months per period. E.g. 2 = 2 months per period. | |
diff --git a/previous-versions/assess/docs/models/operations/getcommercecustomerretentionmetricsresponse.md b/previous-versions/assess/docs/models/operations/getcommercecustomerretentionmetricsresponse.md
index 67f3155fd..d00974730 100755
--- a/previous-versions/assess/docs/models/operations/getcommercecustomerretentionmetricsresponse.md
+++ b/previous-versions/assess/docs/models/operations/getcommercecustomerretentionmetricsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `report` | [Optional[shared.Report]](../../models/shared/report.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getcommercelifetimevaluemetricsrequest.md b/previous-versions/assess/docs/models/operations/getcommercelifetimevaluemetricsrequest.md
index f0708286b..0872d8bc9 100755
--- a/previous-versions/assess/docs/models/operations/getcommercelifetimevaluemetricsrequest.md
+++ b/previous-versions/assess/docs/models/operations/getcommercelifetimevaluemetricsrequest.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
+| `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 |
| `include_display_names` | *Optional[bool]* | :heavy_minus_sign: | Shows the dimensionDisplayName and itemDisplayName in measures to make the report data human-readable. | |
| `number_of_periods` | *int* | :heavy_check_mark: | The number of periods to return. There will be no pagination as a query parameter. | |
| `period_length` | *int* | :heavy_check_mark: | The number of months per period. E.g. 2 = 2 months per period. | |
diff --git a/previous-versions/assess/docs/models/operations/getcommercelifetimevaluemetricsresponse.md b/previous-versions/assess/docs/models/operations/getcommercelifetimevaluemetricsresponse.md
index fa731c396..16c7194ce 100755
--- a/previous-versions/assess/docs/models/operations/getcommercelifetimevaluemetricsresponse.md
+++ b/previous-versions/assess/docs/models/operations/getcommercelifetimevaluemetricsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `report` | [Optional[shared.Report]](../../models/shared/report.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getcommerceordersmetricsrequest.md b/previous-versions/assess/docs/models/operations/getcommerceordersmetricsrequest.md
index 6c5d5482a..ab1a9dabc 100755
--- a/previous-versions/assess/docs/models/operations/getcommerceordersmetricsrequest.md
+++ b/previous-versions/assess/docs/models/operations/getcommerceordersmetricsrequest.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
+| `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 |
| `include_display_names` | *Optional[bool]* | :heavy_minus_sign: | Shows the dimensionDisplayName and itemDisplayName in measures to make the report data human-readable. | |
| `number_of_periods` | *int* | :heavy_check_mark: | The number of periods to return. There will be no pagination as a query parameter. | |
| `period_length` | *int* | :heavy_check_mark: | The number of months per period. E.g. 2 = 2 months per period. | |
diff --git a/previous-versions/assess/docs/models/operations/getcommerceordersmetricsresponse.md b/previous-versions/assess/docs/models/operations/getcommerceordersmetricsresponse.md
index 1c7985f41..be378eff2 100755
--- a/previous-versions/assess/docs/models/operations/getcommerceordersmetricsresponse.md
+++ b/previous-versions/assess/docs/models/operations/getcommerceordersmetricsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `report` | [Optional[shared.Report]](../../models/shared/report.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getcommercerefundsmetricsrequest.md b/previous-versions/assess/docs/models/operations/getcommercerefundsmetricsrequest.md
index da28c78bf..2230eee36 100755
--- a/previous-versions/assess/docs/models/operations/getcommercerefundsmetricsrequest.md
+++ b/previous-versions/assess/docs/models/operations/getcommercerefundsmetricsrequest.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
+| `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 |
| `include_display_names` | *Optional[bool]* | :heavy_minus_sign: | Shows the dimensionDisplayName and itemDisplayName in measures to make the report data human-readable. | |
| `number_of_periods` | *int* | :heavy_check_mark: | The number of periods to return. There will be no pagination as a query parameter. | |
| `period_length` | *int* | :heavy_check_mark: | The number of months per period. E.g. 2 = 2 months per period. | |
diff --git a/previous-versions/assess/docs/models/operations/getcommercerefundsmetricsresponse.md b/previous-versions/assess/docs/models/operations/getcommercerefundsmetricsresponse.md
index b01923b17..77f11e1ba 100755
--- a/previous-versions/assess/docs/models/operations/getcommercerefundsmetricsresponse.md
+++ b/previous-versions/assess/docs/models/operations/getcommercerefundsmetricsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `report` | [Optional[shared.Report]](../../models/shared/report.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getcommercerevenuemetricsrequest.md b/previous-versions/assess/docs/models/operations/getcommercerevenuemetricsrequest.md
index 87b37095c..44c5f5d67 100755
--- a/previous-versions/assess/docs/models/operations/getcommercerevenuemetricsrequest.md
+++ b/previous-versions/assess/docs/models/operations/getcommercerevenuemetricsrequest.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
+| `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 |
| `include_display_names` | *Optional[bool]* | :heavy_minus_sign: | Shows the dimensionDisplayName and itemDisplayName in measures to make the report data human-readable. | |
| `number_of_periods` | *int* | :heavy_check_mark: | The number of periods to return. There will be no pagination as a query parameter. | |
| `period_length` | *int* | :heavy_check_mark: | The number of months per period. E.g. 2 = 2 months per period. | |
diff --git a/previous-versions/assess/docs/models/operations/getcommercerevenuemetricsresponse.md b/previous-versions/assess/docs/models/operations/getcommercerevenuemetricsresponse.md
index ce8ea9351..a9649ac1b 100755
--- a/previous-versions/assess/docs/models/operations/getcommercerevenuemetricsresponse.md
+++ b/previous-versions/assess/docs/models/operations/getcommercerevenuemetricsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `report` | [Optional[shared.Report]](../../models/shared/report.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getdataintegritystatusrequest.md b/previous-versions/assess/docs/models/operations/getdataintegritystatusrequest.md
index 108258bf4..5946caef7 100755
--- a/previous-versions/assess/docs/models/operations/getdataintegritystatusrequest.md
+++ b/previous-versions/assess/docs/models/operations/getdataintegritystatusrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `data_type` | [shared.DataIntegrityDataType](../../models/shared/dataintegritydatatype.md) | :heavy_check_mark: | A key for a Codat data type. | banking-accounts |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getdataintegritystatusresponse.md b/previous-versions/assess/docs/models/operations/getdataintegritystatusresponse.md
index 37e332102..a58789938 100755
--- a/previous-versions/assess/docs/models/operations/getdataintegritystatusresponse.md
+++ b/previous-versions/assess/docs/models/operations/getdataintegritystatusresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `status` | [Optional[shared.Status]](../../models/shared/status.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getdataintegritysummariesrequest.md b/previous-versions/assess/docs/models/operations/getdataintegritysummariesrequest.md
index f749c6b20..8c5b5e0da 100755
--- a/previous-versions/assess/docs/models/operations/getdataintegritysummariesrequest.md
+++ b/previous-versions/assess/docs/models/operations/getdataintegritysummariesrequest.md
@@ -5,6 +5,6 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `data_type` | [shared.DataIntegrityDataType](../../models/shared/dataintegritydatatype.md) | :heavy_check_mark: | A key for a Codat data type. | banking-accounts |
| `query` | *Optional[str]* | :heavy_minus_sign: | Codat query string. [Read more](https://docs.codat.io/using-the-api/querying). | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getdataintegritysummariesresponse.md b/previous-versions/assess/docs/models/operations/getdataintegritysummariesresponse.md
index a4f1ee71f..6a14571b7 100755
--- a/previous-versions/assess/docs/models/operations/getdataintegritysummariesresponse.md
+++ b/previous-versions/assess/docs/models/operations/getdataintegritysummariesresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
+| `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 |
| `summaries` | [Optional[shared.Summaries]](../../models/shared/summaries.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getenhancedcashflowtransactionsrequest.md b/previous-versions/assess/docs/models/operations/getenhancedcashflowtransactionsrequest.md
index c41a70ae2..b06623a8d 100755
--- a/previous-versions/assess/docs/models/operations/getenhancedcashflowtransactionsrequest.md
+++ b/previous-versions/assess/docs/models/operations/getenhancedcashflowtransactionsrequest.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `page` | *Optional[int]* | :heavy_minus_sign: | Page number. [Read more](https://docs.codat.io/using-the-api/paging). | 1 |
| `page_size` | *Optional[int]* | :heavy_minus_sign: | Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging). | 100 |
| `query` | *Optional[str]* | :heavy_minus_sign: | Codat query string. [Read more](https://docs.codat.io/using-the-api/querying). | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getenhancedcashflowtransactionsresponse.md b/previous-versions/assess/docs/models/operations/getenhancedcashflowtransactionsresponse.md
index c4cfb8d0e..51f918be7 100755
--- a/previous-versions/assess/docs/models/operations/getenhancedcashflowtransactionsresponse.md
+++ b/previous-versions/assess/docs/models/operations/getenhancedcashflowtransactionsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `enhanced_cash_flow_transactions` | [Optional[shared.EnhancedCashFlowTransactions]](../../models/shared/enhancedcashflowtransactions.md) | :heavy_minus_sign: | OK |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getenhancedinvoicesreportrequest.md b/previous-versions/assess/docs/models/operations/getenhancedinvoicesreportrequest.md
index e0f749818..4e0668c26 100755
--- a/previous-versions/assess/docs/models/operations/getenhancedinvoicesreportrequest.md
+++ b/previous-versions/assess/docs/models/operations/getenhancedinvoicesreportrequest.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `page` | *Optional[int]* | :heavy_minus_sign: | Page number. [Read more](https://docs.codat.io/using-the-api/paging). | 1 |
| `page_size` | *Optional[int]* | :heavy_minus_sign: | Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging). | 100 |
| `query` | *Optional[str]* | :heavy_minus_sign: | Codat query string. [Read more](https://docs.codat.io/using-the-api/querying). | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getenhancedinvoicesreportresponse.md b/previous-versions/assess/docs/models/operations/getenhancedinvoicesreportresponse.md
index 0bd526f65..60144b257 100755
--- a/previous-versions/assess/docs/models/operations/getenhancedinvoicesreportresponse.md
+++ b/previous-versions/assess/docs/models/operations/getenhancedinvoicesreportresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `enhanced_invoices_report` | [Optional[shared.EnhancedInvoicesReport]](../../models/shared/enhancedinvoicesreport.md) | :heavy_minus_sign: | OK |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getexcelreportgenerationstatusrequest.md b/previous-versions/assess/docs/models/operations/getexcelreportgenerationstatusrequest.md
index 58737457e..e3b9123e2 100755
--- a/previous-versions/assess/docs/models/operations/getexcelreportgenerationstatusrequest.md
+++ b/previous-versions/assess/docs/models/operations/getexcelreportgenerationstatusrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `report_type` | [shared.ExcelReportType](../../models/shared/excelreporttype.md) | :heavy_check_mark: | The type of report you want to generate and download. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getexcelreportgenerationstatusresponse.md b/previous-versions/assess/docs/models/operations/getexcelreportgenerationstatusresponse.md
index 60768049a..ba144607b 100755
--- a/previous-versions/assess/docs/models/operations/getexcelreportgenerationstatusresponse.md
+++ b/previous-versions/assess/docs/models/operations/getexcelreportgenerationstatusresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `excel_status` | [Optional[shared.ExcelStatus]](../../models/shared/excelstatus.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getexcelreportrequest.md b/previous-versions/assess/docs/models/operations/getexcelreportrequest.md
index 9ae1c5625..afba14cbb 100755
--- a/previous-versions/assess/docs/models/operations/getexcelreportrequest.md
+++ b/previous-versions/assess/docs/models/operations/getexcelreportrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `report_type` | [shared.ExcelReportType](../../models/shared/excelreporttype.md) | :heavy_check_mark: | The type of report you want to generate and download. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getexcelreportresponse.md b/previous-versions/assess/docs/models/operations/getexcelreportresponse.md
index 902fa61a4..32ffdaff8 100755
--- a/previous-versions/assess/docs/models/operations/getexcelreportresponse.md
+++ b/previous-versions/assess/docs/models/operations/getexcelreportresponse.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `body` | *Optional[bytes]* | :heavy_minus_sign: | N/A |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getloansummaryrequest.md b/previous-versions/assess/docs/models/operations/getloansummaryrequest.md
index ea396051e..655f0cca8 100755
--- a/previous-versions/assess/docs/models/operations/getloansummaryrequest.md
+++ b/previous-versions/assess/docs/models/operations/getloansummaryrequest.md
@@ -3,6 +3,7 @@
## Fields
-| Field | Type | Required | Description | Example |
-| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `source_type` | [GetLoanSummarySourceType](../../models/operations/getloansummarysourcetype.md) | :heavy_check_mark: | Data source type. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getloansummaryresponse.md b/previous-versions/assess/docs/models/operations/getloansummaryresponse.md
index 5d06031f5..b007d1c19 100755
--- a/previous-versions/assess/docs/models/operations/getloansummaryresponse.md
+++ b/previous-versions/assess/docs/models/operations/getloansummaryresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `loan_summary` | [Optional[shared.LoanSummary]](../../models/shared/loansummary.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getloansummarysourcetype.md b/previous-versions/assess/docs/models/operations/getloansummarysourcetype.md
new file mode 100755
index 000000000..f6681e59c
--- /dev/null
+++ b/previous-versions/assess/docs/models/operations/getloansummarysourcetype.md
@@ -0,0 +1,12 @@
+# GetLoanSummarySourceType
+
+Data source type.
+
+
+## Values
+
+| Name | Value |
+| ------------ | ------------ |
+| `BANKING` | banking |
+| `COMMERCE` | commerce |
+| `ACCOUNTING` | accounting |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getrecurringrevenuemetricsrequest.md b/previous-versions/assess/docs/models/operations/getrecurringrevenuemetricsrequest.md
index 2fa70fac7..3f5022139 100755
--- a/previous-versions/assess/docs/models/operations/getrecurringrevenuemetricsrequest.md
+++ b/previous-versions/assess/docs/models/operations/getrecurringrevenuemetricsrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/getrecurringrevenuemetricsresponse.md b/previous-versions/assess/docs/models/operations/getrecurringrevenuemetricsresponse.md
index 196e334bb..8daee3e2b 100755
--- a/previous-versions/assess/docs/models/operations/getrecurringrevenuemetricsresponse.md
+++ b/previous-versions/assess/docs/models/operations/getrecurringrevenuemetricsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `report` | [Optional[shared.Report]](../../models/shared/report.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/listdatatypedataintegritydetailsrequest.md b/previous-versions/assess/docs/models/operations/listdatatypedataintegritydetailsrequest.md
index b04ff6e44..cbc25fffe 100755
--- a/previous-versions/assess/docs/models/operations/listdatatypedataintegritydetailsrequest.md
+++ b/previous-versions/assess/docs/models/operations/listdatatypedataintegritydetailsrequest.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `data_type` | [shared.DataIntegrityDataType](../../models/shared/dataintegritydatatype.md) | :heavy_check_mark: | A key for a Codat data type. | banking-accounts |
| `order_by` | *Optional[str]* | :heavy_minus_sign: | Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results). | -modifiedDate |
| `page` | *Optional[int]* | :heavy_minus_sign: | Page number. [Read more](https://docs.codat.io/using-the-api/paging). | 1 |
diff --git a/previous-versions/assess/docs/models/operations/listdatatypedataintegritydetailsresponse.md b/previous-versions/assess/docs/models/operations/listdatatypedataintegritydetailsresponse.md
index d1df35b1c..775f0d033 100755
--- a/previous-versions/assess/docs/models/operations/listdatatypedataintegritydetailsresponse.md
+++ b/previous-versions/assess/docs/models/operations/listdatatypedataintegritydetailsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `details` | [Optional[shared.Details]](../../models/shared/details.md) | :heavy_minus_sign: | OK |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/listloantransactionsrequest.md b/previous-versions/assess/docs/models/operations/listloantransactionsrequest.md
index 1cf83c687..aadeb390d 100755
--- a/previous-versions/assess/docs/models/operations/listloantransactionsrequest.md
+++ b/previous-versions/assess/docs/models/operations/listloantransactionsrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
| `source_type` | [ListLoanTransactionsSourceType](../../models/operations/listloantransactionssourcetype.md) | :heavy_check_mark: | Data source type | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/listloantransactionsresponse.md b/previous-versions/assess/docs/models/operations/listloantransactionsresponse.md
index 8ee977bb7..bf5515d58 100755
--- a/previous-versions/assess/docs/models/operations/listloantransactionsresponse.md
+++ b/previous-versions/assess/docs/models/operations/listloantransactionsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `loan_transactions` | [Optional[shared.LoanTransactions]](../../models/shared/loantransactions.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/requestrecurringrevenuemetricsrequest.md b/previous-versions/assess/docs/models/operations/requestrecurringrevenuemetricsrequest.md
index c4642fb62..e41d24c01 100755
--- a/previous-versions/assess/docs/models/operations/requestrecurringrevenuemetricsrequest.md
+++ b/previous-versions/assess/docs/models/operations/requestrecurringrevenuemetricsrequest.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
-| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 |
-| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
+| `company_id` | *str* | :heavy_check_mark: | Unique identifier for a company. | 8a210b68-6988-11ed-a1eb-0242ac120002 |
+| `connection_id` | *str* | :heavy_check_mark: | Unique identifier for a connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/operations/requestrecurringrevenuemetricsresponse.md b/previous-versions/assess/docs/models/operations/requestrecurringrevenuemetricsresponse.md
index 390042501..504535eba 100755
--- a/previous-versions/assess/docs/models/operations/requestrecurringrevenuemetricsresponse.md
+++ b/previous-versions/assess/docs/models/operations/requestrecurringrevenuemetricsresponse.md
@@ -5,8 +5,8 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. |
| `report` | [Optional[shared.Report]](../../models/shared/report.md) | :heavy_minus_sign: | OK |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/accountcategoriesupdatedwebhook.md b/previous-versions/assess/docs/models/shared/accountcategoriesupdatedwebhook.md
index 0a49c1d79..bbc4a17d3 100755
--- a/previous-versions/assess/docs/models/shared/accountcategoriesupdatedwebhook.md
+++ b/previous-versions/assess/docs/models/shared/accountcategoriesupdatedwebhook.md
@@ -15,4 +15,4 @@ Webhook request body for account categories updated.
| `data_connection_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for a company's data connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 |
| `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. | |
-| `type` | *Optional[str]* | :heavy_minus_sign: | The type of rule. | |
\ No newline at end of file
+| `rule_type` | *Optional[str]* | :heavy_minus_sign: | The type of rule. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/accountcategorylevel.md b/previous-versions/assess/docs/models/shared/accountcategorylevel.md
index cfa32e3ce..54b00ef77 100755
--- a/previous-versions/assess/docs/models/shared/accountcategorylevel.md
+++ b/previous-versions/assess/docs/models/shared/accountcategorylevel.md
@@ -7,5 +7,5 @@ An object containing an ordered list of account category levels.
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `confidence` | *Optional[float]* | :heavy_minus_sign: | Confidence level of the category. This will only be populated where `status` is `Suggested`. |
+| `confidence` | *Optional[Decimal]* | :heavy_minus_sign: | Confidence level of the category. This will only be populated where `status` is `Suggested`. |
| `level_name` | *Optional[str]* | :heavy_minus_sign: | Account category name. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/accounts.md b/previous-versions/assess/docs/models/shared/accounts.md
index b125128d4..3eff08838 100755
--- a/previous-versions/assess/docs/models/shared/accounts.md
+++ b/previous-versions/assess/docs/models/shared/accounts.md
@@ -9,6 +9,6 @@
| `account_provider` | *Optional[str]* | :heavy_minus_sign: | The bank or other financial institution providing the account. | |
| `account_type` | *Optional[str]* | :heavy_minus_sign: | The type of banking account, e.g. credit or debit. | |
| `currency` | *Optional[str]* | :heavy_minus_sign: | The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
## Unknown currencies
In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
There are only a very small number of edge cases where this currency code is returned by the Codat system. | GBP |
-| `current_balance` | *Optional[float]* | :heavy_minus_sign: | The balance of the bank account. | |
+| `current_balance` | *Optional[Decimal]* | :heavy_minus_sign: | The balance of the bank account. | |
| `platform_name` | *Optional[str]* | :heavy_minus_sign: | Name of the banking data source, e.g. "Plaid". | |
| `source_ref` | [Optional[SourceRef]](../../models/shared/sourceref.md) | :heavy_minus_sign: | A source reference containing the `sourceType` object "Banking". | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/bankingtransactionref.md b/previous-versions/assess/docs/models/shared/bankingtransactionref.md
index 4aaf4dc46..e721f86c1 100755
--- a/previous-versions/assess/docs/models/shared/bankingtransactionref.md
+++ b/previous-versions/assess/docs/models/shared/bankingtransactionref.md
@@ -5,10 +5,10 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `account_id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `account_name` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `amount` | *Optional[float]* | :heavy_minus_sign: | N/A | |
-| `data_connection_id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
+| `account_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the bank transaction's account. | |
+| `account_name` | *Optional[str]* | :heavy_minus_sign: | Name given to account. | |
+| `amount` | *Optional[Decimal]* | :heavy_minus_sign: | Bank transaction amount. | |
+| `data_connection_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier of the bank transaction's connection. | |
| `date_` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `description` | *Optional[str]* | :heavy_minus_sign: | Description given to bank transaction. | |
+| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the bank transaction. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/commercereportcomponent.md b/previous-versions/assess/docs/models/shared/commercereportcomponent.md
index 7c1074a2b..bfdb6a8aa 100755
--- a/previous-versions/assess/docs/models/shared/commercereportcomponent.md
+++ b/previous-versions/assess/docs/models/shared/commercereportcomponent.md
@@ -5,9 +5,9 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
-| `components` | list[[CommerceReportComponent](../../models/shared/commercereportcomponent.md)] | :heavy_minus_sign: | N/A |
-| `dimension` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `dimension_display_name` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `item` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `item_display_name` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `measures` | list[[ReportComponentMeasure](../../models/shared/reportcomponentmeasure.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `components` | List[[CommerceReportComponent](../../models/shared/commercereportcomponent.md)] | :heavy_minus_sign: | N/A |
+| `dimension` | *Optional[int]* | :heavy_minus_sign: | The component's dimension. |
+| `dimension_display_name` | *Optional[str]* | :heavy_minus_sign: | The component's display name. |
+| `item` | *Optional[int]* | :heavy_minus_sign: | The component's item number. |
+| `item_display_name` | *Optional[str]* | :heavy_minus_sign: | The component's item display name. |
+| `measures` | List[[ReportComponentMeasure](../../models/shared/reportcomponentmeasure.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/commercereportdimension.md b/previous-versions/assess/docs/models/shared/commercereportdimension.md
index 16bd136eb..d97101c1d 100755
--- a/previous-versions/assess/docs/models/shared/commercereportdimension.md
+++ b/previous-versions/assess/docs/models/shared/commercereportdimension.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
-| `display_name` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `index` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `items` | list[[CommerceReportDimensionItems](../../models/shared/commercereportdimensionitems.md)] | :heavy_minus_sign: | N/A |
-| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `display_name` | *Optional[str]* | :heavy_minus_sign: | The dimension's display name. |
+| `index` | *Optional[int]* | :heavy_minus_sign: | The dimension's index. |
+| `items` | List[[CommerceReportDimensionItems](../../models/shared/commercereportdimensionitems.md)] | :heavy_minus_sign: | N/A |
+| `type` | *Optional[str]* | :heavy_minus_sign: | The dimension's type. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/commercereportdimensionitems.md b/previous-versions/assess/docs/models/shared/commercereportdimensionitems.md
index 0bf2f60ef..6dd2d2f97 100755
--- a/previous-versions/assess/docs/models/shared/commercereportdimensionitems.md
+++ b/previous-versions/assess/docs/models/shared/commercereportdimensionitems.md
@@ -3,6 +3,6 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------ | ------------------ | ------------------ | ------------------ |
-| `index` | *Optional[int]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- |
+| `index` | *Optional[int]* | :heavy_minus_sign: | The dimension's items index. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/commercereporterror.md b/previous-versions/assess/docs/models/shared/commercereporterror.md
index 0ff78d8b4..b4e20f1c6 100755
--- a/previous-versions/assess/docs/models/shared/commercereporterror.md
+++ b/previous-versions/assess/docs/models/shared/commercereporterror.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description |
-| ---------------------- | ---------------------- | ---------------------- | ---------------------- |
-| `details` | dict[str, list[*str*]] | :heavy_minus_sign: | N/A |
-| `message` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
+| `details` | Dict[str, List[*str*]] | :heavy_minus_sign: | Additional details on the error. |
+| `message` | *Optional[str]* | :heavy_minus_sign: | Message returned by error. |
+| `type` | *Optional[str]* | :heavy_minus_sign: | The type of error. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/commercereportmeasure.md b/previous-versions/assess/docs/models/shared/commercereportmeasure.md
index 72e261fbb..368742f88 100755
--- a/previous-versions/assess/docs/models/shared/commercereportmeasure.md
+++ b/previous-versions/assess/docs/models/shared/commercereportmeasure.md
@@ -3,9 +3,9 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------ | ------------------ | ------------------ | ------------------ |
-| `display_name` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `index` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `type` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `units` | *Optional[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| `display_name` | *Optional[str]* | :heavy_minus_sign: | The measure's display name. |
+| `index` | *Optional[int]* | :heavy_minus_sign: | The measure's index. |
+| `type` | *Optional[str]* | :heavy_minus_sign: | The measure's type. |
+| `units` | *Optional[str]* | :heavy_minus_sign: | The measure's units e.g. percentage (%). |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/dataintegrityamounts.md b/previous-versions/assess/docs/models/shared/dataintegrityamounts.md
index 008320ff6..0d0301fd3 100755
--- a/previous-versions/assess/docs/models/shared/dataintegrityamounts.md
+++ b/previous-versions/assess/docs/models/shared/dataintegrityamounts.md
@@ -8,5 +8,5 @@ Only returned for transactions. For accounts, there is nothing returned.
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `currency` | *Optional[str]* | :heavy_minus_sign: | The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
## Unknown currencies
In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
There are only a very small number of edge cases where this currency code is returned by the Codat system. | GBP |
-| `max` | *Optional[float]* | :heavy_minus_sign: | Highest value of transaction set. | |
-| `min` | *Optional[float]* | :heavy_minus_sign: | Lowest value of transaction set. | |
\ No newline at end of file
+| `max` | *Optional[Decimal]* | :heavy_minus_sign: | Highest value of transaction set. | |
+| `min` | *Optional[Decimal]* | :heavy_minus_sign: | Lowest value of transaction set. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/dataintegritybyamount.md b/previous-versions/assess/docs/models/shared/dataintegritybyamount.md
index b8991f852..354d4c7d8 100755
--- a/previous-versions/assess/docs/models/shared/dataintegritybyamount.md
+++ b/previous-versions/assess/docs/models/shared/dataintegritybyamount.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `currency` | *Optional[str]* | :heavy_minus_sign: | The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
## Unknown currencies
In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
There are only a very small number of edge cases where this currency code is returned by the Codat system. | GBP |
-| `match_percentage` | *Optional[float]* | :heavy_minus_sign: | The percentage of the absolute value of transactions of the type specified in the route which have a match. | |
-| `matched` | *Optional[float]* | :heavy_minus_sign: | The sum of the absolute value of transactions of the type specified in the route which have a match. | |
-| `total` | *Optional[float]* | :heavy_minus_sign: | The total of unmatched and matched. | |
-| `unmatched` | *Optional[float]* | :heavy_minus_sign: | The sum of the absolute value of transactions of the type specified in the route which don't have a match. | |
\ No newline at end of file
+| `match_percentage` | *Optional[Decimal]* | :heavy_minus_sign: | The percentage of the absolute value of transactions of the type specified in the route which have a match. | |
+| `matched` | *Optional[Decimal]* | :heavy_minus_sign: | The sum of the absolute value of transactions of the type specified in the route which have a match. | |
+| `total` | *Optional[Decimal]* | :heavy_minus_sign: | The total of unmatched and matched. | |
+| `unmatched` | *Optional[Decimal]* | :heavy_minus_sign: | The sum of the absolute value of transactions of the type specified in the route which don't have a match. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/dataintegritybycount.md b/previous-versions/assess/docs/models/shared/dataintegritybycount.md
index c06dc7116..e1f5f33bf 100755
--- a/previous-versions/assess/docs/models/shared/dataintegritybycount.md
+++ b/previous-versions/assess/docs/models/shared/dataintegritybycount.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `match_percentage` | *Optional[float]* | :heavy_minus_sign: | The percentage of records of the type specified in the route which have a match. |
-| `matched` | *Optional[float]* | :heavy_minus_sign: | The number of records of the type specified in the route which do have a match. |
-| `total` | *Optional[float]* | :heavy_minus_sign: | The total of unmatched and matched. |
-| `unmatched` | *Optional[float]* | :heavy_minus_sign: | The number of records of the type specified in the route which don't have a match. |
\ No newline at end of file
+| `match_percentage` | *Optional[Decimal]* | :heavy_minus_sign: | The percentage of records of the type specified in the route which have a match. |
+| `matched` | *Optional[Decimal]* | :heavy_minus_sign: | The number of records of the type specified in the route which do have a match. |
+| `total` | *Optional[Decimal]* | :heavy_minus_sign: | The total of unmatched and matched. |
+| `unmatched` | *Optional[Decimal]* | :heavy_minus_sign: | The number of records of the type specified in the route which don't have a match. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/dataintegrityconnectionid.md b/previous-versions/assess/docs/models/shared/dataintegrityconnectionid.md
index 9897ee7af..cfa30c8ca 100755
--- a/previous-versions/assess/docs/models/shared/dataintegrityconnectionid.md
+++ b/previous-versions/assess/docs/models/shared/dataintegrityconnectionid.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
-| `source` | list[*str*] | :heavy_minus_sign: | An array of strings. The connection IDs for the type specified in the url. |
-| `target` | list[*str*] | :heavy_minus_sign: | An array of strings. The connection IDs for the type being matched to. |
\ No newline at end of file
+| `source` | List[*str*] | :heavy_minus_sign: | An array of strings. The connection IDs for the type specified in the url. |
+| `target` | List[*str*] | :heavy_minus_sign: | An array of strings. The connection IDs for the type being matched to. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/dataintegritydatatype.md b/previous-versions/assess/docs/models/shared/dataintegritydatatype.md
index 9a28e2353..973bafc1c 100755
--- a/previous-versions/assess/docs/models/shared/dataintegritydatatype.md
+++ b/previous-versions/assess/docs/models/shared/dataintegritydatatype.md
@@ -1,7 +1,5 @@
# DataIntegrityDataType
-A key for a Codat data type.
-
## Values
diff --git a/previous-versions/assess/docs/models/shared/dataintegritydetails.md b/previous-versions/assess/docs/models/shared/dataintegritydetails.md
index 2cb701684..2c4a109f8 100755
--- a/previous-versions/assess/docs/models/shared/dataintegritydetails.md
+++ b/previous-versions/assess/docs/models/shared/dataintegritydetails.md
@@ -5,11 +5,11 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `amount` | *Optional[float]* | :heavy_minus_sign: | The transaction value. | |
+| `amount` | *Optional[Decimal]* | :heavy_minus_sign: | The transaction value. | |
| `connection_id` | *Optional[str]* | :heavy_minus_sign: | ID GUID representing the connection of the accounting or banking platform. | |
| `currency` | *Optional[str]* | :heavy_minus_sign: | The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
## Unknown currencies
In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
There are only a very small number of edge cases where this currency code is returned by the Codat system. | GBP |
| `date_` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
| `description` | *Optional[str]* | :heavy_minus_sign: | The transaction description. | |
| `id` | *Optional[str]* | :heavy_minus_sign: | ID GUID of the transaction. | |
-| `matches` | list[[DataIntegrityMatch](../../models/shared/dataintegritymatch.md)] | :heavy_minus_sign: | N/A | |
+| `matches` | List[[DataIntegrityMatch](../../models/shared/dataintegritymatch.md)] | :heavy_minus_sign: | N/A | |
| `type` | *Optional[str]* | :heavy_minus_sign: | The data type of the record. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/datasource.md b/previous-versions/assess/docs/models/shared/datasource.md
index 126c0ff25..2152d333c 100755
--- a/previous-versions/assess/docs/models/shared/datasource.md
+++ b/previous-versions/assess/docs/models/shared/datasource.md
@@ -5,4 +5,4 @@
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `accounts` | list[[Accounts](../../models/shared/accounts.md)] | :heavy_minus_sign: | An array containing bank account data for each connected banking data source that have the following data types enabled: `banking-accounts`, `banking-transactions`. |
\ No newline at end of file
+| `accounts` | List[[Accounts](../../models/shared/accounts.md)] | :heavy_minus_sign: | An array containing bank account data for each connected banking data source that have the following data types enabled: `banking-accounts`, `banking-transactions`. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/details.md b/previous-versions/assess/docs/models/shared/details.md
index 4ea2cdbdb..e01c446a0 100755
--- a/previous-versions/assess/docs/models/shared/details.md
+++ b/previous-versions/assess/docs/models/shared/details.md
@@ -1,14 +1,12 @@
# Details
-OK
-
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A |
-| `page_number` | *int* | :heavy_check_mark: | N/A |
-| `page_size` | *int* | :heavy_check_mark: | N/A |
-| `results` | list[[DataIntegrityDetails](../../models/shared/dataintegritydetails.md)] | :heavy_minus_sign: | N/A |
-| `total_results` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `page_number` | *int* | :heavy_check_mark: | Current page number. |
+| `page_size` | *int* | :heavy_check_mark: | Number of items to return in results array. |
+| `results` | List[[DataIntegrityDetails](../../models/shared/dataintegritydetails.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/assess/docs/models/shared/enhancedcashflowitem.md b/previous-versions/assess/docs/models/shared/enhancedcashflowitem.md
index 059dcf13f..99b05b723 100755
--- a/previous-versions/assess/docs/models/shared/enhancedcashflowitem.md
+++ b/previous-versions/assess/docs/models/shared/enhancedcashflowitem.md
@@ -5,4 +5,4 @@
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
-| `transactions` | list[[EnhancedCashFlowTransaction](../../models/shared/enhancedcashflowtransaction.md)] | :heavy_minus_sign: | An array of transaction data. |
\ No newline at end of file
+| `transactions` | List[[EnhancedCashFlowTransaction](../../models/shared/enhancedcashflowtransaction.md)] | :heavy_minus_sign: | An array of transaction data. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/enhancedcashflowtransaction.md b/previous-versions/assess/docs/models/shared/enhancedcashflowtransaction.md
index 48eda2af4..11af4ff6e 100755
--- a/previous-versions/assess/docs/models/shared/enhancedcashflowtransaction.md
+++ b/previous-versions/assess/docs/models/shared/enhancedcashflowtransaction.md
@@ -6,8 +6,8 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account_ref` | [Optional[AccountRef]](../../models/shared/accountref.md) | :heavy_minus_sign: | An account reference containing the account id and name. | |
-| `amount` | *Optional[float]* | :heavy_minus_sign: | The bank transaction amount. | |
-| `currency` | *Optional[str]* | :heavy_minus_sign: | N/A | |
+| `amount` | *Optional[Decimal]* | :heavy_minus_sign: | The bank transaction amount. | |
+| `currency` | *Optional[str]* | :heavy_minus_sign: | The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
## Unknown currencies
In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
There are only a very small number of edge cases where this currency code is returned by the Codat system. | GBP |
| `date_` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
| `description` | *Optional[str]* | :heavy_minus_sign: | The description of the bank transaction. | |
| `id` | *Optional[str]* | :heavy_minus_sign: | The unique identifier of the bank transaction. | |
diff --git a/previous-versions/assess/docs/models/shared/enhancedcashflowtransactions.md b/previous-versions/assess/docs/models/shared/enhancedcashflowtransactions.md
index ccaff4fb3..05a5a3682 100755
--- a/previous-versions/assess/docs/models/shared/enhancedcashflowtransactions.md
+++ b/previous-versions/assess/docs/models/shared/enhancedcashflowtransactions.md
@@ -11,6 +11,6 @@ The Enhanced Cash Flow Transactions endpoint provides a fully categorized list o
| Field | Type | Required | Description |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
-| `data_sources` | list[[DataSource](../../models/shared/datasource.md)] | :heavy_minus_sign: | N/A |
-| `report_info` | [Optional[ReportInfo]](../../models/shared/reportinfo.md) | :heavy_minus_sign: | Report additional information, which is specific to Assess reports |
-| `report_items` | list[[EnhancedCashFlowItem](../../models/shared/enhancedcashflowitem.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `data_sources` | List[[DataSource](../../models/shared/datasource.md)] | :heavy_minus_sign: | N/A |
+| `report_info` | [Optional[ReportInfo]](../../models/shared/reportinfo.md) | :heavy_minus_sign: | Report additional information, which is specific to Lending API reports. |
+| `report_items` | List[[EnhancedCashFlowItem](../../models/shared/enhancedcashflowitem.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/enhancedinvoicereportitem.md b/previous-versions/assess/docs/models/shared/enhancedinvoicereportitem.md
index d46575165..3047eea69 100755
--- a/previous-versions/assess/docs/models/shared/enhancedinvoicereportitem.md
+++ b/previous-versions/assess/docs/models/shared/enhancedinvoicereportitem.md
@@ -5,16 +5,16 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `amount_due` | *Optional[float]* | :heavy_minus_sign: | N/A | |
+| `amount_due` | *Optional[Decimal]* | :heavy_minus_sign: | Invoice's total amount due. | |
| `currency` | *Optional[str]* | :heavy_minus_sign: | The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
## Unknown currencies
In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
There are only a very small number of edge cases where this currency code is returned by the Codat system. | GBP |
| `customer_ref` | [Optional[LendingCustomerRef]](../../models/shared/lendingcustomerref.md) | :heavy_minus_sign: | N/A | |
| `due_date` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `id` | *Optional[str]* | :heavy_minus_sign: | ID of the invoice, which may be a GUID but it may be something else depending on the accounting platdform | |
-| `invoice_number` | *Optional[str]* | :heavy_minus_sign: | N/A | |
+| `id` | *Optional[str]* | :heavy_minus_sign: | ID of the invoice, which may be a GUID but it may be something else depending on the accounting platform. | |
+| `invoice_number` | *Optional[str]* | :heavy_minus_sign: | Invoice number. | |
| `issue_date` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
| `modified_date` | *Optional[str]* | :heavy_minus_sign: | N/A | 2022-10-23T00:00:00.000Z |
| `paid_on_date` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `payments` | list[[Payment](../../models/shared/payment.md)] | :heavy_minus_sign: | N/A | |
+| `payments` | List[[Payment](../../models/shared/payment.md)] | :heavy_minus_sign: | N/A | |
| `source_modified_date` | *Optional[str]* | :heavy_minus_sign: | N/A | 2022-10-23T00:00:00.000Z |
| `status` | [Optional[InvoiceStatus]](../../models/shared/invoicestatus.md) | :heavy_minus_sign: | Current state of the invoice:
- `Draft` - Invoice hasn't been submitted to the supplier. It may be in a pending state or is scheduled for future submission, for example by email.
- `Submitted` - Invoice is no longer a draft. It has been processed and, or, sent to the customer. In this state, it will impact the ledger. It also has no payments made against it (amountDue == totalAmount).
- `PartiallyPaid` - The balance paid against the invoice is positive, but less than the total invoice amount (0 < amountDue < totalAmount).
- `Paid` - Invoice is paid in full. This includes if the invoice has been credited or overpaid (amountDue == 0).
- `Void` - An invoice can become Void when it's deleted, refunded, written off, or cancelled. A voided invoice may still be PartiallyPaid, and so all outstanding amounts on voided invoices are removed from the accounts receivable account. | |
-| `total_amount` | *Optional[float]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `total_amount` | *Optional[Decimal]* | :heavy_minus_sign: | Invoice's total amount. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/enhancedinvoicesreport.md b/previous-versions/assess/docs/models/shared/enhancedinvoicesreport.md
index 861e662b8..e64964c88 100755
--- a/previous-versions/assess/docs/models/shared/enhancedinvoicesreport.md
+++ b/previous-versions/assess/docs/models/shared/enhancedinvoicesreport.md
@@ -7,5 +7,5 @@ The enhanced invoices report takes the key elements of the Invoices report verif
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
-| `report_info` | [Optional[ReportInfo]](../../models/shared/reportinfo.md) | :heavy_minus_sign: | Report additional information, which is specific to Assess reports |
-| `report_items` | list[[EnhancedInvoiceReportItem](../../models/shared/enhancedinvoicereportitem.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `report_info` | [Optional[ReportInfo]](../../models/shared/reportinfo.md) | :heavy_minus_sign: | Report additional information, which is specific to Lending API reports. |
+| `report_items` | List[[EnhancedInvoiceReportItem](../../models/shared/enhancedinvoicereportitem.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/enhancedreport.md b/previous-versions/assess/docs/models/shared/enhancedreport.md
index ff21024dc..b1433184d 100755
--- a/previous-versions/assess/docs/models/shared/enhancedreport.md
+++ b/previous-versions/assess/docs/models/shared/enhancedreport.md
@@ -1,11 +1,9 @@
# EnhancedReport
-OK
-
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `report_info` | [Optional[EnhancedReportInfo]](../../models/shared/enhancedreportinfo.md) | :heavy_minus_sign: | N/A |
-| `report_items` | list[[EnhancedReportReportItem](../../models/shared/enhancedreportreportitem.md)] | :heavy_minus_sign: | An array of report items. |
\ No newline at end of file
+| `report_items` | List[[EnhancedReportReportItem](../../models/shared/enhancedreportreportitem.md)] | :heavy_minus_sign: | An array of report items. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/enhancedreportaccountcategory.md b/previous-versions/assess/docs/models/shared/enhancedreportaccountcategory.md
index efcff8966..5655c1db2 100755
--- a/previous-versions/assess/docs/models/shared/enhancedreportaccountcategory.md
+++ b/previous-versions/assess/docs/models/shared/enhancedreportaccountcategory.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
-| `levels` | list[[AccountCategoryLevel](../../models/shared/accountcategorylevel.md)] | :heavy_minus_sign: | N/A |
+| `levels` | List[[AccountCategoryLevel](../../models/shared/accountcategorylevel.md)] | :heavy_minus_sign: | N/A |
| `status` | *Optional[str]* | :heavy_minus_sign: | Returns a status of "Suggested" or "Confirmed". If an account has a confirmed category, it will replace any suggested category returned. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/enhancedreportreportitem.md b/previous-versions/assess/docs/models/shared/enhancedreportreportitem.md
index b59184177..7cbbb3144 100755
--- a/previous-versions/assess/docs/models/shared/enhancedreportreportitem.md
+++ b/previous-versions/assess/docs/models/shared/enhancedreportreportitem.md
@@ -8,5 +8,5 @@
| `account_category` | [Optional[EnhancedReportAccountCategory]](../../models/shared/enhancedreportaccountcategory.md) | :heavy_minus_sign: | N/A | |
| `account_id` | *Optional[str]* | :heavy_minus_sign: | The unique account ID. | |
| `account_name` | *Optional[str]* | :heavy_minus_sign: | Name of the account. | |
-| `balance` | *Optional[float]* | :heavy_minus_sign: | Balance of the account as reported on the profit and loss or Balance sheet. | |
+| `balance` | *Optional[Decimal]* | :heavy_minus_sign: | Balance of the account as reported on the profit and loss or Balance sheet. | |
| `date_` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/errormessage.md b/previous-versions/assess/docs/models/shared/errormessage.md
index 9d49473cf..2d1289c0d 100755
--- a/previous-versions/assess/docs/models/shared/errormessage.md
+++ b/previous-versions/assess/docs/models/shared/errormessage.md
@@ -1,15 +1,13 @@
# ErrorMessage
-Your API request was not properly authorized.
-
## Fields
-| Field | Type | Required | Description |
-| --------------------- | --------------------- | --------------------- | --------------------- |
-| `can_be_retried` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `correlation_id` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `detailed_error_code` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `error` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `service` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `status_code` | *Optional[int]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
+| `can_be_retried` | *Optional[str]* | :heavy_minus_sign: | `True` if the error occurred transiently and can be retried. |
+| `correlation_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier used to propagate to all downstream services and determine the source of the error. |
+| `detailed_error_code` | *Optional[int]* | :heavy_minus_sign: | Machine readable error code used to automate processes based on the code returned. |
+| `error` | *Optional[str]* | :heavy_minus_sign: | A brief description of the error. |
+| `service` | *Optional[str]* | :heavy_minus_sign: | Codat's service the returned the error. |
+| `status_code` | *Optional[int]* | :heavy_minus_sign: | The HTTP status code returned by the error. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/excelreporttype.md b/previous-versions/assess/docs/models/shared/excelreporttype.md
index 80e6724d1..2eef9bb83 100755
--- a/previous-versions/assess/docs/models/shared/excelreporttype.md
+++ b/previous-versions/assess/docs/models/shared/excelreporttype.md
@@ -1,7 +1,5 @@
# ExcelReportType
-The type of report you want to generate and download.
-
## Values
diff --git a/previous-versions/assess/docs/models/shared/excelstatus.md b/previous-versions/assess/docs/models/shared/excelstatus.md
index c92642ef9..c8486102d 100755
--- a/previous-versions/assess/docs/models/shared/excelstatus.md
+++ b/previous-versions/assess/docs/models/shared/excelstatus.md
@@ -1,7 +1,5 @@
# ExcelStatus
-OK
-
## Fields
diff --git a/previous-versions/assess/docs/models/shared/halref.md b/previous-versions/assess/docs/models/shared/halref.md
index fef2ab2fc..94c6476ff 100755
--- a/previous-versions/assess/docs/models/shared/halref.md
+++ b/previous-versions/assess/docs/models/shared/halref.md
@@ -3,6 +3,6 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------ | ------------------ | ------------------ | ------------------ |
-| `href` | *Optional[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ------------------------ | ------------------------ | ------------------------ | ------------------------ |
+| `href` | *Optional[str]* | :heavy_minus_sign: | Uri hypertext reference. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/lendingcustomerref.md b/previous-versions/assess/docs/models/shared/lendingcustomerref.md
index e49c19fe2..74d37b953 100755
--- a/previous-versions/assess/docs/models/shared/lendingcustomerref.md
+++ b/previous-versions/assess/docs/models/shared/lendingcustomerref.md
@@ -3,7 +3,7 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
-| `customer_name` | *Optional[str]* | :heavy_minus_sign: | `customerName` from the Customer data type |
-| `id` | *Optional[str]* | :heavy_minus_sign: | `id` from the Customers data type |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `customer_name` | *Optional[str]* | :heavy_minus_sign: | `customerName` from the Customer data type. |
+| `id` | *Optional[str]* | :heavy_minus_sign: | `id` from the Customers data type. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/loansummary.md b/previous-versions/assess/docs/models/shared/loansummary.md
index 76462fbb1..2095b55b2 100755
--- a/previous-versions/assess/docs/models/shared/loansummary.md
+++ b/previous-versions/assess/docs/models/shared/loansummary.md
@@ -1,11 +1,9 @@
# LoanSummary
-OK
-
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `report_info` | [Optional[LoanSummaryReportInfo]](../../models/shared/loansummaryreportinfo.md) | :heavy_minus_sign: | N/A |
-| `report_items` | list[[LoanSummaryReportItem](../../models/shared/loansummaryreportitem.md)] | :heavy_minus_sign: | Returns a summary of all loan activity for that integration type |
\ No newline at end of file
+| `report_items` | List[[LoanSummaryReportItem](../../models/shared/loansummaryreportitem.md)] | :heavy_minus_sign: | Returns a summary of all loan activity for that integration type |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/loansummaryreportitem.md b/previous-versions/assess/docs/models/shared/loansummaryreportitem.md
index 5bda1243b..7330021b3 100755
--- a/previous-versions/assess/docs/models/shared/loansummaryreportitem.md
+++ b/previous-versions/assess/docs/models/shared/loansummaryreportitem.md
@@ -5,9 +5,10 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `balance` | *Optional[float]* | :heavy_minus_sign: | The loan outstanding balance. This may not equal totalDrawdowns - totalRepayments due to interest which has been accrued. | |
+| `balance` | *Optional[Decimal]* | :heavy_minus_sign: | The loan outstanding balance. This may not equal totalDrawdowns - totalRepayments due to interest which has been accrued. | |
| `description` | *Optional[str]* | :heavy_minus_sign: | The description of the object being referred to. E.g. the account. | |
+| `lender_name` | *Optional[str]* | :heavy_minus_sign: | The name of lender providing the loan. | |
| `record_ref` | [Optional[LoanSummaryRecordRef]](../../models/shared/loansummaryrecordref.md) | :heavy_minus_sign: | N/A | |
| `start_date` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `total_drawdowns` | *Optional[float]* | :heavy_minus_sign: | The total loan drawdowns. | |
-| `total_repayments` | *Optional[float]* | :heavy_minus_sign: | The total loan repayments which includes capital plus any interest. | |
\ No newline at end of file
+| `total_drawdowns` | *Optional[Decimal]* | :heavy_minus_sign: | The total loan drawdowns. | |
+| `total_repayments` | *Optional[Decimal]* | :heavy_minus_sign: | The total loan repayments which includes capital plus any interest. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/loantransactions.md b/previous-versions/assess/docs/models/shared/loantransactions.md
index d1a24cd1d..866b23b34 100755
--- a/previous-versions/assess/docs/models/shared/loantransactions.md
+++ b/previous-versions/assess/docs/models/shared/loantransactions.md
@@ -1,12 +1,10 @@
# LoanTransactions
-OK
-
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
-| `errors` | list[*Any*] | :heavy_minus_sign: | If there are no errors, an empty array is returned. |
+| `errors` | List[*Any*] | :heavy_minus_sign: | If there are no errors, an empty array is returned. |
| `report_info` | [Optional[LoanTransactionsReportInfo]](../../models/shared/loantransactionsreportinfo.md) | :heavy_minus_sign: | N/A |
-| `report_items` | list[[ReportItems](../../models/shared/reportitems.md)] | :heavy_minus_sign: | Contains object of reporting properties. The loan ref will reference a different object depending on the integration type. |
\ No newline at end of file
+| `report_items` | List[[ReportItems](../../models/shared/reportitems.md)] | :heavy_minus_sign: | Contains object of reporting properties. The loan ref will reference a different object depending on the integration type. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/payment.md b/previous-versions/assess/docs/models/shared/payment.md
index a6195e96e..b1d90f1c1 100755
--- a/previous-versions/assess/docs/models/shared/payment.md
+++ b/previous-versions/assess/docs/models/shared/payment.md
@@ -5,10 +5,10 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `amount` | *Optional[float]* | :heavy_minus_sign: | N/A | |
-| `banking_transaction_refs` | list[[BankingTransactionRef](../../models/shared/bankingtransactionref.md)] | :heavy_minus_sign: | N/A | |
+| `amount` | *Optional[Decimal]* | :heavy_minus_sign: | Payment amount. | |
+| `banking_transaction_refs` | List[[BankingTransactionRef](../../models/shared/bankingtransactionref.md)] | :heavy_minus_sign: | N/A | |
| `currency` | *Optional[str]* | :heavy_minus_sign: | The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
## Unknown currencies
In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
There are only a very small number of edge cases where this currency code is returned by the Codat system. | GBP |
-| `currency_rate` | *Optional[float]* | :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 \| | |
+| `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 \| | |
| `date_` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
-| `id` | *Optional[str]* | :heavy_minus_sign: | ID of the invoice, which may be a GUID but it may be something else depending on the accounting platform | |
-| `payment_type` | *Optional[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `id` | *Optional[str]* | :heavy_minus_sign: | ID of the invoice, which may be a GUID but it may be something else depending on the accounting platform. | |
+| `payment_type` | *Optional[str]* | :heavy_minus_sign: | The type of payment. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/periodunit.md b/previous-versions/assess/docs/models/shared/periodunit.md
index 23b933a67..16c4ad092 100755
--- a/previous-versions/assess/docs/models/shared/periodunit.md
+++ b/previous-versions/assess/docs/models/shared/periodunit.md
@@ -1,7 +1,5 @@
# PeriodUnit
-The period unit of time returned.
-
## Values
diff --git a/previous-versions/assess/docs/models/shared/report.md b/previous-versions/assess/docs/models/shared/report.md
index be831c5f2..b7647ffed 100755
--- a/previous-versions/assess/docs/models/shared/report.md
+++ b/previous-versions/assess/docs/models/shared/report.md
@@ -47,8 +47,8 @@ Reports can be rendered as follows (ordering is implicit rather than explicit):
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
-| `dimensions` | list[[CommerceReportDimension](../../models/shared/commercereportdimension.md)] | :heavy_minus_sign: | N/A |
-| `errors` | list[[CommerceReportError](../../models/shared/commercereporterror.md)] | :heavy_minus_sign: | N/A |
-| `measures` | list[[CommerceReportMeasure](../../models/shared/commercereportmeasure.md)] | :heavy_minus_sign: | N/A |
-| `report_data` | list[[CommerceReportComponent](../../models/shared/commercereportcomponent.md)] | :heavy_minus_sign: | N/A |
-| `report_info` | dict[str, *str*] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `dimensions` | List[[CommerceReportDimension](../../models/shared/commercereportdimension.md)] | :heavy_minus_sign: | N/A |
+| `errors` | List[[CommerceReportError](../../models/shared/commercereporterror.md)] | :heavy_minus_sign: | N/A |
+| `measures` | List[[CommerceReportMeasure](../../models/shared/commercereportmeasure.md)] | :heavy_minus_sign: | N/A |
+| `report_data` | List[[CommerceReportComponent](../../models/shared/commercereportcomponent.md)] | :heavy_minus_sign: | N/A |
+| `report_info` | Dict[str, *str*] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/reportcomponentmeasure.md b/previous-versions/assess/docs/models/shared/reportcomponentmeasure.md
index 361c139d4..327497d75 100755
--- a/previous-versions/assess/docs/models/shared/reportcomponentmeasure.md
+++ b/previous-versions/assess/docs/models/shared/reportcomponentmeasure.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description |
-| ---------------------- | ---------------------- | ---------------------- | ---------------------- |
-| `index` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `measure_display_name` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `value` | *Optional[float]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| Field | Type | Required | Description |
+| --------------------------- | --------------------------- | --------------------------- | --------------------------- |
+| `index` | *Optional[int]* | :heavy_minus_sign: | The measure's index. |
+| `measure_display_name` | *Optional[str]* | :heavy_minus_sign: | The measure's display name. |
+| `value` | *Optional[Decimal]* | :heavy_minus_sign: | The measure's value. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/reportinfo.md b/previous-versions/assess/docs/models/shared/reportinfo.md
index fba508f2e..47fb031db 100755
--- a/previous-versions/assess/docs/models/shared/reportinfo.md
+++ b/previous-versions/assess/docs/models/shared/reportinfo.md
@@ -1,6 +1,6 @@
# ReportInfo
-Report additional information, which is specific to Assess reports
+Report additional information, which is specific to Lending API reports.
## Fields
@@ -8,8 +8,8 @@ Report additional information, which is specific to Assess reports
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `company_name` | *Optional[str]* | :heavy_minus_sign: | The name of the company being queried. |
-| `generated_date` | *Optional[str]* | :heavy_minus_sign: | Date the report was generated |
+| `generated_date` | *Optional[str]* | :heavy_minus_sign: | Date the report was generated. |
| `page_number` | *Optional[int]* | :heavy_minus_sign: | The number of the page queried. |
| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of transactions returned per page. |
-| `report_name` | *Optional[str]* | :heavy_minus_sign: | Name of the report |
+| `report_name` | *Optional[str]* | :heavy_minus_sign: | Name of the report. |
| `total_results` | *Optional[int]* | :heavy_minus_sign: | The total number of transactions available for a company for the period specified in the query string. |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/reportitems.md b/previous-versions/assess/docs/models/shared/reportitems.md
index 95150aeeb..ea6488ef7 100755
--- a/previous-versions/assess/docs/models/shared/reportitems.md
+++ b/previous-versions/assess/docs/models/shared/reportitems.md
@@ -5,8 +5,9 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `amount` | *Optional[float]* | :heavy_minus_sign: | The loan transaction amount. | |
+| `amount` | *Optional[Decimal]* | :heavy_minus_sign: | The loan transaction amount. | |
| `date_` | *Optional[str]* | :heavy_minus_sign: | In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```
When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:
- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`
> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z |
| `item_ref` | [Optional[ItemRef]](../../models/shared/itemref.md) | :heavy_minus_sign: | N/A | |
+| `lender_name` | *Optional[str]* | :heavy_minus_sign: | The name of lender providing the loan. | |
| `loan_ref` | [Optional[LoanRef]](../../models/shared/loanref.md) | :heavy_minus_sign: | N/A | |
-| `loan_transaction_type` | [Optional[ReportItemsLoanTransactionType]](../../models/shared/reportitemsloantransactiontype.md) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `loan_transaction_type` | [Optional[ReportItemsLoanTransactionType]](../../models/shared/reportitemsloantransactiontype.md) | :heavy_minus_sign: | The type of loan transaction. | |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/reportitemsloantransactiontype.md b/previous-versions/assess/docs/models/shared/reportitemsloantransactiontype.md
index 897053b9a..548c10b9a 100755
--- a/previous-versions/assess/docs/models/shared/reportitemsloantransactiontype.md
+++ b/previous-versions/assess/docs/models/shared/reportitemsloantransactiontype.md
@@ -1,5 +1,7 @@
# ReportItemsLoanTransactionType
+The type of loan transaction.
+
## Values
diff --git a/previous-versions/assess/docs/models/shared/status.md b/previous-versions/assess/docs/models/shared/status.md
index 0213d35fe..7754df434 100755
--- a/previous-versions/assess/docs/models/shared/status.md
+++ b/previous-versions/assess/docs/models/shared/status.md
@@ -1,10 +1,8 @@
# Status
-OK
-
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
-| `metadata` | list[[DataIntegrityStatus](../../models/shared/dataintegritystatus.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `metadata` | List[[DataIntegrityStatus](../../models/shared/dataintegritystatus.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/summaries.md b/previous-versions/assess/docs/models/shared/summaries.md
index 0b705705e..bd534e529 100755
--- a/previous-versions/assess/docs/models/shared/summaries.md
+++ b/previous-versions/assess/docs/models/shared/summaries.md
@@ -1,10 +1,8 @@
# Summaries
-OK
-
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
-| `summaries` | list[[DataIntegritySummary](../../models/shared/dataintegritysummary.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `summaries` | List[[DataIntegritySummary](../../models/shared/dataintegritysummary.md)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/shared/transactioncategory.md b/previous-versions/assess/docs/models/shared/transactioncategory.md
index 642aa85fb..2583d176e 100755
--- a/previous-versions/assess/docs/models/shared/transactioncategory.md
+++ b/previous-versions/assess/docs/models/shared/transactioncategory.md
@@ -5,5 +5,5 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `confidence` | *Optional[float]* | :heavy_minus_sign: | Returns the confidence of the suggested category for the transaction. The value is between 0 and 100. |
-| `levels` | list[*str*] | :heavy_minus_sign: | The suggested category is an ordered array of category levels where each element (or level) is a subcategory of the previous element (or level). |
\ No newline at end of file
+| `confidence` | *Optional[Decimal]* | :heavy_minus_sign: | Returns the confidence of the suggested category for the transaction. The value is between 0 and 100. |
+| `levels` | List[*str*] | :heavy_minus_sign: | The suggested category is an ordered array of category levels where each element (or level) is a subcategory of the previous element (or level). |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/models/webhooks/accountcategoriesupdatedresponse.md b/previous-versions/assess/docs/models/webhooks/accountcategoriesupdatedresponse.md
index b9e4a9611..4f66e0321 100755
--- a/previous-versions/assess/docs/models/webhooks/accountcategoriesupdatedresponse.md
+++ b/previous-versions/assess/docs/models/webhooks/accountcategoriesupdatedresponse.md
@@ -5,6 +5,6 @@
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `content_type` | *str* | :heavy_check_mark: | N/A |
-| `status_code` | *int* | :heavy_check_mark: | N/A |
-| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation |
+| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/previous-versions/assess/docs/sdks/codatassess/README.md b/previous-versions/assess/docs/sdks/codatassess/README.md
index 4bd2e8a69..ce5acf091 100755
--- a/previous-versions/assess/docs/sdks/codatassess/README.md
+++ b/previous-versions/assess/docs/sdks/codatassess/README.md
@@ -1,5 +1,6 @@
# CodatAssess SDK
+
## Overview
Check that you have enabled the [data types required by Assess](https://docs.codat.io/assess/get-started#prerequisites) for all of its features to work.
diff --git a/previous-versions/assess/docs/sdks/dataintegrity/README.md b/previous-versions/assess/docs/sdks/dataintegrity/README.md
index 9242b1f8f..9d97729d8 100755
--- a/previous-versions/assess/docs/sdks/dataintegrity/README.md
+++ b/previous-versions/assess/docs/sdks/dataintegrity/README.md
@@ -1,4 +1,5 @@
-# data_integrity
+# DataIntegrity
+(*data_integrity*)
## Overview
@@ -21,9 +22,7 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.ListDataTypeDataIntegrityDetailsRequest(
@@ -32,13 +31,13 @@ req = operations.ListDataTypeDataIntegrityDetailsRequest(
order_by='-modifiedDate',
page=1,
page_size=100,
- query='provident',
)
res = s.data_integrity.details(req)
if res.details is not None:
# handle response
+ pass
```
### Parameters
@@ -65,9 +64,7 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetDataIntegrityStatusRequest(
@@ -79,6 +76,7 @@ res = s.data_integrity.status(req)
if res.status is not None:
# handle response
+ pass
```
### Parameters
@@ -105,21 +103,19 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetDataIntegritySummariesRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
data_type=shared.DataIntegrityDataType.BANKING_ACCOUNTS,
- query='distinctio',
)
res = s.data_integrity.summary(req)
if res.summaries is not None:
# handle response
+ pass
```
### Parameters
diff --git a/previous-versions/assess/docs/sdks/excelreports/README.md b/previous-versions/assess/docs/sdks/excelreports/README.md
index c6b2feb9f..19652e4f1 100755
--- a/previous-versions/assess/docs/sdks/excelreports/README.md
+++ b/previous-versions/assess/docs/sdks/excelreports/README.md
@@ -1,4 +1,5 @@
-# excel_reports
+# ExcelReports
+(*excel_reports*)
## Overview
@@ -22,9 +23,7 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GenerateExcelReportRequest(
@@ -36,6 +35,7 @@ res = s.excel_reports.generate_excel_report(req)
if res.excel_status is not None:
# handle response
+ pass
```
### Parameters
@@ -64,26 +64,23 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetAccountingMarketingMetricsRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
- include_display_names=False,
- number_of_periods=602763,
- period_length=857946,
- period_unit=shared.PeriodUnit.MONTH,
+ number_of_periods=644039,
+ period_length=244044,
+ period_unit=shared.PeriodUnit.WEEK,
report_date='29-09-2020',
- show_input_values=False,
)
res = s.excel_reports.get_accounting_marketing_metrics(req)
if res.report is not None:
# handle response
+ pass
```
### Parameters
@@ -110,9 +107,7 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetExcelReportRequest(
@@ -124,6 +119,7 @@ res = s.excel_reports.get_excel_report(req)
if res.body is not None:
# handle response
+ pass
```
### Parameters
@@ -150,20 +146,19 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetExcelReportGenerationStatusRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
- report_type=shared.ExcelReportType.ENHANCED_FINANCIALS,
+ report_type=shared.ExcelReportType.ENHANCED_INVOICES,
)
res = s.excel_reports.get_excel_report_generation_status(req)
if res.excel_status is not None:
# handle response
+ pass
```
### Parameters
diff --git a/previous-versions/assess/docs/sdks/reports/README.md b/previous-versions/assess/docs/sdks/reports/README.md
index e667bd7ff..a4022e929 100755
--- a/previous-versions/assess/docs/sdks/reports/README.md
+++ b/previous-versions/assess/docs/sdks/reports/README.md
@@ -1,4 +1,5 @@
-# reports
+# Reports
+(*reports*)
## Overview
@@ -6,6 +7,8 @@ Enriched reports and analyses of financial data
### Available Operations
+* [generate_loan_summary](#generate_loan_summary) - Generate loan summaries report
+* [generate_loan_transactions](#generate_loan_transactions) - Generate loan transactions report
* [get_accounts_for_enhanced_balance_sheet](#get_accounts_for_enhanced_balance_sheet) - Get enhanced balance sheet accounts
* [get_accounts_for_enhanced_profit_and_loss](#get_accounts_for_enhanced_profit_and_loss) - Get enhanced profit and loss accounts
* [get_commerce_customer_retention_metrics](#get_commerce_customer_retention_metrics) - Get customer retention metrics
@@ -15,11 +18,99 @@ Enriched reports and analyses of financial data
* [get_commerce_revenue_metrics](#get_commerce_revenue_metrics) - Get commerce revenue metrics
* [get_enhanced_cash_flow_transactions](#get_enhanced_cash_flow_transactions) - Get enhanced cash flow report
* [get_enhanced_invoices_report](#get_enhanced_invoices_report) - Get enhanced invoices report
-* [get_loan_summary](#get_loan_summary) - Get enhanced loan summaries
+* [get_loan_summary](#get_loan_summary) - Get loan summaries
* [get_recurring_revenue_metrics](#get_recurring_revenue_metrics) - Get key subscription revenue metrics
-* [list_loan_transactions](#list_loan_transactions) - List enhanced loan transactions
+* [list_loan_transactions](#list_loan_transactions) - List loan transactions
* [request_recurring_revenue_metrics](#request_recurring_revenue_metrics) - Generate key subscription revenue metrics
+## generate_loan_summary
+
+The _Generate loan summaries_ endpoint requests the generation of the Loan Summaries report.
+
+Learn more about Codat's liabilities feature [here](https://docs.codat.io/lending/features/liabilities-overview).
+
+Make sure you have [synced a company](https://docs.codat.io/codat-api#/operations/refresh-company-data) recently before calling the endpoint.
+
+
+### Example Usage
+
+```python
+import codatassess
+from codatassess.models import operations, shared
+
+s = codatassess.CodatAssess(
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
+)
+
+req = operations.GenerateLoanSummaryRequest(
+ company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
+ source_type=operations.GenerateLoanSummarySourceType.ACCOUNTING,
+)
+
+res = s.reports.generate_loan_summary(req)
+
+if res.status_code == 200:
+ # handle response
+ pass
+```
+
+### Parameters
+
+| Parameter | Type | Required | Description |
+| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
+| `request` | [operations.GenerateLoanSummaryRequest](../../models/operations/generateloansummaryrequest.md) | :heavy_check_mark: | The request object to use for the request. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+
+
+### Response
+
+**[operations.GenerateLoanSummaryResponse](../../models/operations/generateloansummaryresponse.md)**
+
+
+## generate_loan_transactions
+
+The _Generate loan transactions_ endpoint requests the generation of the Loan Transactions report.
+
+Learn more about Codat's liabilities feature [here](https://docs.codat.io/lending/features/liabilities-overview).
+
+Make sure you have [synced a company](https://docs.codat.io/codat-api#/operations/refresh-company-data) recently before calling the endpoint.
+
+
+### Example Usage
+
+```python
+import codatassess
+from codatassess.models import operations, shared
+
+s = codatassess.CodatAssess(
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
+)
+
+req = operations.GenerateLoanTransactionsRequest(
+ company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
+ source_type=operations.GenerateLoanTransactionsSourceType.ACCOUNTING,
+)
+
+res = s.reports.generate_loan_transactions(req)
+
+if res.status_code == 200:
+ # handle response
+ pass
+```
+
+### Parameters
+
+| Parameter | Type | Required | Description |
+| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
+| `request` | [operations.GenerateLoanTransactionsRequest](../../models/operations/generateloantransactionsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+
+
+### Response
+
+**[operations.GenerateLoanTransactionsResponse](../../models/operations/generateloantransactionsresponse.md)**
+
+
## get_accounts_for_enhanced_balance_sheet
The Enhanced Balance Sheet Accounts endpoint returns a list of categorized accounts that appear on a company’s Balance Sheet along with a balance per financial statement date.
@@ -33,14 +124,11 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetAccountsForEnhancedBalanceSheetRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
- number_of_periods=623564,
report_date='29-09-2020',
)
@@ -48,6 +136,7 @@ res = s.reports.get_accounts_for_enhanced_balance_sheet(req)
if res.enhanced_report is not None:
# handle response
+ pass
```
### Parameters
@@ -76,14 +165,11 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetAccountsForEnhancedProfitAndLossRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
- number_of_periods=645894,
report_date='29-09-2020',
)
@@ -91,6 +177,7 @@ res = s.reports.get_accounts_for_enhanced_profit_and_loss(req)
if res.enhanced_report is not None:
# handle response
+ pass
```
### Parameters
@@ -117,18 +204,15 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetCommerceCustomerRetentionMetricsRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
- include_display_names=False,
- number_of_periods=384382,
- period_length=437587,
- period_unit=shared.PeriodUnit.WEEK,
+ number_of_periods=474636,
+ period_length=781048,
+ period_unit=shared.PeriodUnit.DAY,
report_date='29-09-2020',
)
@@ -136,6 +220,7 @@ res = s.reports.get_commerce_customer_retention_metrics(req)
if res.report is not None:
# handle response
+ pass
```
### Parameters
@@ -162,18 +247,15 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetCommerceLifetimeValueMetricsRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
- include_display_names=False,
- number_of_periods=891773,
- period_length=56713,
- period_unit=shared.PeriodUnit.YEAR,
+ number_of_periods=463554,
+ period_length=892968,
+ period_unit=shared.PeriodUnit.DAY,
report_date='29-09-2020',
)
@@ -181,6 +263,7 @@ res = s.reports.get_commerce_lifetime_value_metrics(req)
if res.report is not None:
# handle response
+ pass
```
### Parameters
@@ -207,18 +290,15 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetCommerceOrdersMetricsRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
- include_display_names=False,
- number_of_periods=272656,
- period_length=383441,
- period_unit=shared.PeriodUnit.WEEK,
+ number_of_periods=661381,
+ period_length=875123,
+ period_unit=shared.PeriodUnit.YEAR,
report_date='29-09-2020',
)
@@ -226,6 +306,7 @@ res = s.reports.get_commerce_orders_metrics(req)
if res.report is not None:
# handle response
+ pass
```
### Parameters
@@ -252,18 +333,15 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetCommerceRefundsMetricsRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
- include_display_names=False,
- number_of_periods=791725,
- period_length=812169,
- period_unit=shared.PeriodUnit.MONTH,
+ number_of_periods=806705,
+ period_length=498153,
+ period_unit=shared.PeriodUnit.DAY,
report_date='29-09-2020',
)
@@ -271,6 +349,7 @@ res = s.reports.get_commerce_refunds_metrics(req)
if res.report is not None:
# handle response
+ pass
```
### Parameters
@@ -297,17 +376,14 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetCommerceRevenueMetricsRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171',
- include_display_names=False,
- number_of_periods=479977,
- period_length=568045,
+ number_of_periods=58448,
+ period_length=864392,
period_unit=shared.PeriodUnit.WEEK,
report_date='29-09-2020',
)
@@ -316,6 +392,7 @@ res = s.reports.get_commerce_revenue_metrics(req)
if res.report is not None:
# handle response
+ pass
```
### Parameters
@@ -346,22 +423,20 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetEnhancedCashFlowTransactionsRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
page=1,
page_size=100,
- query='recusandae',
)
res = s.reports.get_enhanced_cash_flow_transactions(req)
if res.enhanced_cash_flow_transactions is not None:
# handle response
+ pass
```
### Parameters
@@ -388,22 +463,20 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetEnhancedInvoicesReportRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
page=1,
page_size=100,
- query='temporibus',
)
res = s.reports.get_enhanced_invoices_report(req)
if res.enhanced_invoices_report is not None:
# handle response
+ pass
```
### Parameters
@@ -421,7 +494,12 @@ if res.enhanced_invoices_report is not None:
## get_loan_summary
-Get enhanced loan summaries
+The *Get loan summaries* endpoint returns a summary by integration type of all loans identified from a company's accounting, banking, and commerce integrations.
+
+The endpoint returns a list of a company's [loan summaries](https://docs.codat.io/codat-api#/schemas/LoanSummary) for each valid data connection.
+
+Make sure you have [synced a company](https://docs.codat.io/codat-api#/operations/refresh-company-data) recently before calling the endpoint.
+
### Example Usage
@@ -430,19 +508,19 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetLoanSummaryRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
+ source_type=operations.GetLoanSummarySourceType.BANKING,
)
res = s.reports.get_loan_summary(req)
if res.loan_summary is not None:
# handle response
+ pass
```
### Parameters
@@ -469,9 +547,7 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.GetRecurringRevenueMetricsRequest(
@@ -483,6 +559,7 @@ res = s.reports.get_recurring_revenue_metrics(req)
if res.report is not None:
# handle response
+ pass
```
### Parameters
@@ -500,7 +577,12 @@ if res.report is not None:
## list_loan_transactions
-List enhanced loan transactions
+The *List loan transactions* endpoint returns all [loan transactions](https://docs.codat.io/codat-api#/schemas/LoanTransactions) identified from a company's accounting, banking, and commerce integrations.
+
+This detail gives analysts a better idea of the loan obligations a company may have.
+
+Make sure you have [synced a company](https://docs.codat.io/codat-api#/operations/refresh-company-data) recently before calling the endpoint.
+
### Example Usage
@@ -509,20 +591,19 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.ListLoanTransactionsRequest(
company_id='8a210b68-6988-11ed-a1eb-0242ac120002',
- source_type=operations.ListLoanTransactionsSourceType.BANKING,
+ source_type=operations.ListLoanTransactionsSourceType.COMMERCE,
)
res = s.reports.list_loan_transactions(req)
if res.loan_transactions is not None:
# handle response
+ pass
```
### Parameters
@@ -549,9 +630,7 @@ import codatassess
from codatassess.models import operations, shared
s = codatassess.CodatAssess(
- security=shared.Security(
- auth_header="Basic BASE_64_ENCODED(API_KEY)",
- ),
+ auth_header="Basic BASE_64_ENCODED(API_KEY)",
)
req = operations.RequestRecurringRevenueMetricsRequest(
@@ -563,6 +642,7 @@ res = s.reports.request_recurring_revenue_metrics(req)
if res.report is not None:
# handle response
+ pass
```
### Parameters
diff --git a/previous-versions/assess/files.gen b/previous-versions/assess/files.gen
index 617eb97d9..f238955a8 100755
--- a/previous-versions/assess/files.gen
+++ b/previous-versions/assess/files.gen
@@ -18,6 +18,8 @@ src/codatassess/models/operations/generate_excel_report.py
src/codatassess/models/operations/get_accounting_marketing_metrics.py
src/codatassess/models/operations/get_excel_report.py
src/codatassess/models/operations/get_excel_report_generation_status.py
+src/codatassess/models/operations/generate_loan_summary.py
+src/codatassess/models/operations/generate_loan_transactions.py
src/codatassess/models/operations/get_accounts_for_enhanced_balance_sheet.py
src/codatassess/models/operations/get_accounts_for_enhanced_profit_and_loss.py
src/codatassess/models/operations/get_commerce_customer_retention_metrics.py
@@ -92,15 +94,11 @@ src/codatassess/models/shared/itemref.py
src/codatassess/models/shared/loantransactionsreportinfo.py
src/codatassess/models/shared/security.py
src/codatassess/models/shared/accountcategoriesupdatedwebhook.py
+src/codatassess/models/shared/accountcategoriesupdatedwebhookdata.py
src/codatassess/models/shared/__init__.py
src/codatassess/models/webhooks/account_categories_updated.py
src/codatassess/models/webhooks/__init__.py
src/codatassess/models/errors/__init__.py
-docs/sdks/codatassess/README.md
-docs/models/utils/retryconfig.md
-docs/sdks/dataintegrity/README.md
-docs/sdks/excelreports/README.md
-docs/sdks/reports/README.md
USAGE.md
docs/models/operations/listdatatypedataintegritydetailsrequest.md
docs/models/operations/listdatatypedataintegritydetailsresponse.md
@@ -117,6 +115,12 @@ docs/models/operations/getexcelreport200applicationoctetstream.md
docs/models/operations/getexcelreportresponse.md
docs/models/operations/getexcelreportgenerationstatusrequest.md
docs/models/operations/getexcelreportgenerationstatusresponse.md
+docs/models/operations/generateloansummarysourcetype.md
+docs/models/operations/generateloansummaryrequest.md
+docs/models/operations/generateloansummaryresponse.md
+docs/models/operations/generateloantransactionssourcetype.md
+docs/models/operations/generateloantransactionsrequest.md
+docs/models/operations/generateloantransactionsresponse.md
docs/models/operations/getaccountsforenhancedbalancesheetrequest.md
docs/models/operations/getaccountsforenhancedbalancesheetresponse.md
docs/models/operations/getaccountsforenhancedprofitandlossrequest.md
@@ -135,6 +139,7 @@ docs/models/operations/getenhancedcashflowtransactionsrequest.md
docs/models/operations/getenhancedcashflowtransactionsresponse.md
docs/models/operations/getenhancedinvoicesreportrequest.md
docs/models/operations/getenhancedinvoicesreportresponse.md
+docs/models/operations/getloansummarysourcetype.md
docs/models/operations/getloansummaryrequest.md
docs/models/operations/getloansummaryresponse.md
docs/models/operations/getrecurringrevenuemetricsrequest.md
@@ -206,7 +211,12 @@ docs/models/shared/loanref.md
docs/models/shared/itemref.md
docs/models/shared/loantransactionsreportinfo.md
docs/models/shared/security.md
-docs/models/shared/accountcategoriesupdatedwebhookdata.md
docs/models/shared/accountcategoriesupdatedwebhook.md
+docs/models/shared/accountcategoriesupdatedwebhookdata.md
docs/models/webhooks/accountcategoriesupdatedresponse.md
+docs/sdks/codatassess/README.md
+docs/models/utils/retryconfig.md
+docs/sdks/dataintegrity/README.md
+docs/sdks/excelreports/README.md
+docs/sdks/reports/README.md
.gitattributes
\ No newline at end of file
diff --git a/previous-versions/assess/gen.yaml b/previous-versions/assess/gen.yaml
index 56ba66708..d4b7a75da 100644
--- a/previous-versions/assess/gen.yaml
+++ b/previous-versions/assess/gen.yaml
@@ -1,17 +1,25 @@
configVersion: 1.0.0
management:
- docChecksum: '00000000000000000000000000000000'
- docVersion: 2.1.0
- speakeasyVersion: 1.53.0
- generationVersion: 2.58.0
+ docChecksum: 40d7558a56416b3de4f8a937420dd470
+ docVersion: "1.0"
+ speakeasyVersion: 1.100.2
+ generationVersion: 2.159.2
generation:
sdkClassName: CodatAssess
singleTagPerOp: false
telemetryEnabled: true
+features:
+ python:
+ core: 3.0.2
+ examples: 2.81.2
+ globalSecurity: 2.82.0
+ globalServerURLs: 2.82.0
+ nameOverrides: 2.81.1
+ retries: 2.82.0
python:
- version: 0.31.1
+ version: 0.32.0
author: Codat
- description: Make credit decisions backed by enhanced financials, metrics, reports,
- and data integrity features.
+ description: Make credit decisions backed by enhanced financials, metrics, reports, and data integrity features.
+ flattenGlobalSecurity: true
maxMethodParams: 0
packageName: codat-assess
diff --git a/previous-versions/assess/pylintrc b/previous-versions/assess/pylintrc
index ab6495dd6..1ed32214e 100755
--- a/previous-versions/assess/pylintrc
+++ b/previous-versions/assess/pylintrc
@@ -88,7 +88,7 @@ persistent=yes
# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.
-py-version=3.9
+py-version=3.8
# Discover python modules and packages in the file system subtree.
recursive=no
@@ -116,12 +116,12 @@ argument-naming-style=snake_case
#argument-rgx=
# Naming style matching correct attribute names.
-attr-naming-style=snake_case
+#attr-naming-style=snake_case
# Regular expression matching correct attribute names. Overrides attr-naming-
# style. If left empty, attribute names will be checked with the set naming
# style.
-#attr-rgx=
+attr-rgx=[^\W\d][^\W]*|__.*__$
# Bad variable names which should always be refused, separated by a comma.
bad-names=
diff --git a/previous-versions/assess/setup.py b/previous-versions/assess/setup.py
index 100ab597c..cc488af5c 100755
--- a/previous-versions/assess/setup.py
+++ b/previous-versions/assess/setup.py
@@ -10,33 +10,31 @@
setuptools.setup(
name="codat-assess",
- version="0.1.0",
+ version="0.32.0",
author="Codat",
description="Make credit decisions backed by enhanced financials, metrics, reports, and data integrity features.",
long_description=long_description,
long_description_content_type="text/markdown",
packages=setuptools.find_packages(where="src"),
install_requires=[
- "certifi>=2022.12.7",
- "charset-normalizer>=2.1.1",
- "dataclasses-json>=0.5.12",
- "idna>=3.3",
+ "certifi>=2023.7.22",
+ "charset-normalizer>=3.2.0",
+ "dataclasses-json>=0.6.1",
+ "idna>=3.4",
"jsonpath-python>=1.0.6 ",
- "marshmallow>=3.17.1",
- "marshmallow-enum>=1.5.1",
- "mypy-extensions>=0.4.3",
- "packaging>=21.3",
- "pyparsing>=3.0.9",
+ "marshmallow>=3.19.0",
+ "mypy-extensions>=1.0.0",
+ "packaging>=23.1",
"python-dateutil>=2.8.2",
- "requests>=2.28.1",
+ "requests>=2.31.0",
"six>=1.16.0",
- "typing-inspect>=0.8.0",
- "typing_extensions>=4.3.0",
- "urllib3>=1.26.12",
+ "typing-inspect>=0.9.0",
+ "typing_extensions>=4.7.1",
+ "urllib3>=2.0.4",
],
extras_require={
"dev":["pylint==2.16.2"]
},
package_dir={'': 'src'},
- python_requires='>=3.9'
+ python_requires='>=3.8'
)
diff --git a/previous-versions/assess/src/codatassess/data_integrity.py b/previous-versions/assess/src/codatassess/data_integrity.py
index d2f142b6f..0b0017f14 100755
--- a/previous-versions/assess/src/codatassess/data_integrity.py
+++ b/previous-versions/assess/src/codatassess/data_integrity.py
@@ -23,17 +23,21 @@ def details(self, request: operations.ListDataTypeDataIntegrityDetailsRequest, r
headers = {}
query_params = utils.get_query_params(operations.ListDataTypeDataIntegrityDetailsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -68,17 +72,21 @@ def status(self, request: operations.GetDataIntegrityStatusRequest, retries: Opt
url = utils.generate_url(operations.GetDataIntegrityStatusRequest, base_url, '/data/companies/{companyId}/assess/dataTypes/{dataType}/dataIntegrity/status', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -114,17 +122,21 @@ def summary(self, request: operations.GetDataIntegritySummariesRequest, retries:
headers = {}
query_params = utils.get_query_params(operations.GetDataIntegritySummariesRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
diff --git a/previous-versions/assess/src/codatassess/excel_reports.py b/previous-versions/assess/src/codatassess/excel_reports.py
index 8ed0b6477..a706d8a87 100755
--- a/previous-versions/assess/src/codatassess/excel_reports.py
+++ b/previous-versions/assess/src/codatassess/excel_reports.py
@@ -28,17 +28,21 @@ def generate_excel_report(self, request: operations.GenerateExcelReportRequest,
headers = {}
query_params = utils.get_query_params(operations.GenerateExcelReportRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('POST', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -76,17 +80,21 @@ def get_accounting_marketing_metrics(self, request: operations.GetAccountingMark
headers = {}
query_params = utils.get_query_params(operations.GetAccountingMarketingMetricsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -125,17 +133,21 @@ def get_excel_report(self, request: operations.GetExcelReportRequest, retries: O
headers['Accept'] = accept_header_override.value
else:
headers['Accept'] = 'application/json;q=1, application/octet-stream;q=0'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -170,17 +182,21 @@ def get_excel_report_generation_status(self, request: operations.GetExcelReportG
headers = {}
query_params = utils.get_query_params(operations.GetExcelReportGenerationStatusRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
diff --git a/previous-versions/assess/src/codatassess/models/__init__.py b/previous-versions/assess/src/codatassess/models/__init__.py
index 889f8adcf..36628d6cc 100755
--- a/previous-versions/assess/src/codatassess/models/__init__.py
+++ b/previous-versions/assess/src/codatassess/models/__init__.py
@@ -1,2 +1,3 @@
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
+# __init__.py
diff --git a/previous-versions/assess/src/codatassess/models/operations/__init__.py b/previous-versions/assess/src/codatassess/models/operations/__init__.py
index 62cc42c3d..ca396782a 100755
--- a/previous-versions/assess/src/codatassess/models/operations/__init__.py
+++ b/previous-versions/assess/src/codatassess/models/operations/__init__.py
@@ -1,6 +1,8 @@
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
from .generate_excel_report import *
+from .generate_loan_summary import *
+from .generate_loan_transactions import *
from .get_accounting_marketing_metrics import *
from .get_accounts_for_enhanced_balance_sheet import *
from .get_accounts_for_enhanced_profit_and_loss import *
@@ -21,4 +23,4 @@
from .list_loan_transactions import *
from .request_recurring_revenue_metrics import *
-__all__ = ["GenerateExcelReportRequest","GenerateExcelReportResponse","GetAccountingMarketingMetricsRequest","GetAccountingMarketingMetricsResponse","GetAccountsForEnhancedBalanceSheetRequest","GetAccountsForEnhancedBalanceSheetResponse","GetAccountsForEnhancedProfitAndLossRequest","GetAccountsForEnhancedProfitAndLossResponse","GetCommerceCustomerRetentionMetricsRequest","GetCommerceCustomerRetentionMetricsResponse","GetCommerceLifetimeValueMetricsRequest","GetCommerceLifetimeValueMetricsResponse","GetCommerceOrdersMetricsRequest","GetCommerceOrdersMetricsResponse","GetCommerceRefundsMetricsRequest","GetCommerceRefundsMetricsResponse","GetCommerceRevenueMetricsRequest","GetCommerceRevenueMetricsResponse","GetDataIntegrityStatusRequest","GetDataIntegrityStatusResponse","GetDataIntegritySummariesRequest","GetDataIntegritySummariesResponse","GetEnhancedCashFlowTransactionsRequest","GetEnhancedCashFlowTransactionsResponse","GetEnhancedInvoicesReportRequest","GetEnhancedInvoicesReportResponse","GetExcelReport200ApplicationOctetStream","GetExcelReportGenerationStatusRequest","GetExcelReportGenerationStatusResponse","GetExcelReportRequest","GetExcelReportResponse","GetLoanSummaryRequest","GetLoanSummaryResponse","GetRecurringRevenueMetricsRequest","GetRecurringRevenueMetricsResponse","ListDataTypeDataIntegrityDetailsRequest","ListDataTypeDataIntegrityDetailsResponse","ListLoanTransactionsRequest","ListLoanTransactionsResponse","ListLoanTransactionsSourceType","RequestRecurringRevenueMetricsRequest","RequestRecurringRevenueMetricsResponse"]
+__all__ = ["GenerateExcelReportRequest","GenerateExcelReportResponse","GenerateLoanSummaryRequest","GenerateLoanSummaryResponse","GenerateLoanSummarySourceType","GenerateLoanTransactionsRequest","GenerateLoanTransactionsResponse","GenerateLoanTransactionsSourceType","GetAccountingMarketingMetricsRequest","GetAccountingMarketingMetricsResponse","GetAccountsForEnhancedBalanceSheetRequest","GetAccountsForEnhancedBalanceSheetResponse","GetAccountsForEnhancedProfitAndLossRequest","GetAccountsForEnhancedProfitAndLossResponse","GetCommerceCustomerRetentionMetricsRequest","GetCommerceCustomerRetentionMetricsResponse","GetCommerceLifetimeValueMetricsRequest","GetCommerceLifetimeValueMetricsResponse","GetCommerceOrdersMetricsRequest","GetCommerceOrdersMetricsResponse","GetCommerceRefundsMetricsRequest","GetCommerceRefundsMetricsResponse","GetCommerceRevenueMetricsRequest","GetCommerceRevenueMetricsResponse","GetDataIntegrityStatusRequest","GetDataIntegrityStatusResponse","GetDataIntegritySummariesRequest","GetDataIntegritySummariesResponse","GetEnhancedCashFlowTransactionsRequest","GetEnhancedCashFlowTransactionsResponse","GetEnhancedInvoicesReportRequest","GetEnhancedInvoicesReportResponse","GetExcelReport200ApplicationOctetStream","GetExcelReportGenerationStatusRequest","GetExcelReportGenerationStatusResponse","GetExcelReportRequest","GetExcelReportResponse","GetLoanSummaryRequest","GetLoanSummaryResponse","GetLoanSummarySourceType","GetRecurringRevenueMetricsRequest","GetRecurringRevenueMetricsResponse","ListDataTypeDataIntegrityDetailsRequest","ListDataTypeDataIntegrityDetailsResponse","ListLoanTransactionsRequest","ListLoanTransactionsResponse","ListLoanTransactionsSourceType","RequestRecurringRevenueMetricsRequest","RequestRecurringRevenueMetricsResponse"]
diff --git a/previous-versions/assess/src/codatassess/models/operations/generate_excel_report.py b/previous-versions/assess/src/codatassess/models/operations/generate_excel_report.py
index 943d64765..6186410fc 100755
--- a/previous-versions/assess/src/codatassess/models/operations/generate_excel_report.py
+++ b/previous-versions/assess/src/codatassess/models/operations/generate_excel_report.py
@@ -9,25 +9,27 @@
from typing import Optional
-
@dataclasses.dataclass
class GenerateExcelReportRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
report_type: shared_excelreporttype.ExcelReportType = dataclasses.field(metadata={'query_param': { 'field_name': 'reportType', 'style': 'form', 'explode': True }})
r"""The type of report you want to generate and download."""
-
@dataclasses.dataclass
class GenerateExcelReportResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
excel_status: Optional[shared_excelstatus.ExcelStatus] = dataclasses.field(default=None)
r"""OK"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/generate_loan_summary.py b/previous-versions/assess/src/codatassess/models/operations/generate_loan_summary.py
new file mode 100755
index 000000000..a8372fcd6
--- /dev/null
+++ b/previous-versions/assess/src/codatassess/models/operations/generate_loan_summary.py
@@ -0,0 +1,38 @@
+"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
+
+from __future__ import annotations
+import dataclasses
+import requests as requests_http
+from ..shared import errormessage as shared_errormessage
+from enum import Enum
+from typing import Optional
+
+class GenerateLoanSummarySourceType(str, Enum):
+ r"""Data source type."""
+ BANKING = 'banking'
+ COMMERCE = 'commerce'
+ ACCOUNTING = 'accounting'
+
+
+@dataclasses.dataclass
+class GenerateLoanSummaryRequest:
+ company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
+ source_type: GenerateLoanSummarySourceType = dataclasses.field(metadata={'query_param': { 'field_name': 'sourceType', 'style': 'form', 'explode': True }})
+ r"""Data source type."""
+
+
+
+
+@dataclasses.dataclass
+class GenerateLoanSummaryResponse:
+ content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
+ status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
+ error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
+ r"""Your API request was not properly authorized."""
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
+
+
diff --git a/previous-versions/assess/src/codatassess/models/operations/generate_loan_transactions.py b/previous-versions/assess/src/codatassess/models/operations/generate_loan_transactions.py
new file mode 100755
index 000000000..f722f4d2a
--- /dev/null
+++ b/previous-versions/assess/src/codatassess/models/operations/generate_loan_transactions.py
@@ -0,0 +1,38 @@
+"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
+
+from __future__ import annotations
+import dataclasses
+import requests as requests_http
+from ..shared import errormessage as shared_errormessage
+from enum import Enum
+from typing import Optional
+
+class GenerateLoanTransactionsSourceType(str, Enum):
+ r"""Data source type"""
+ BANKING = 'banking'
+ COMMERCE = 'commerce'
+ ACCOUNTING = 'accounting'
+
+
+@dataclasses.dataclass
+class GenerateLoanTransactionsRequest:
+ company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
+ source_type: GenerateLoanTransactionsSourceType = dataclasses.field(metadata={'query_param': { 'field_name': 'sourceType', 'style': 'form', 'explode': True }})
+ r"""Data source type"""
+
+
+
+
+@dataclasses.dataclass
+class GenerateLoanTransactionsResponse:
+ content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
+ status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
+ error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
+ r"""Your API request was not properly authorized."""
+ raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
+
+
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_accounting_marketing_metrics.py b/previous-versions/assess/src/codatassess/models/operations/get_accounting_marketing_metrics.py
index f259264a5..ad09f7da4 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_accounting_marketing_metrics.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_accounting_marketing_metrics.py
@@ -9,11 +9,12 @@
from typing import Optional
-
@dataclasses.dataclass
class GetAccountingMarketingMetricsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
number_of_periods: int = dataclasses.field(metadata={'query_param': { 'field_name': 'numberOfPeriods', 'style': 'form', 'explode': True }})
r"""The number of periods to return. There will be no pagination as a query parameter."""
period_length: int = dataclasses.field(metadata={'query_param': { 'field_name': 'periodLength', 'style': 'form', 'explode': True }})
@@ -30,14 +31,16 @@ class GetAccountingMarketingMetricsRequest:
-
@dataclasses.dataclass
class GetAccountingMarketingMetricsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
report: Optional[shared_report.Report] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_accounts_for_enhanced_balance_sheet.py b/previous-versions/assess/src/codatassess/models/operations/get_accounts_for_enhanced_balance_sheet.py
index 0334b6a01..dc7329c24 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_accounts_for_enhanced_balance_sheet.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_accounts_for_enhanced_balance_sheet.py
@@ -8,10 +8,10 @@
from typing import Optional
-
@dataclasses.dataclass
class GetAccountsForEnhancedBalanceSheetRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
report_date: str = dataclasses.field(metadata={'query_param': { 'field_name': 'reportDate', 'style': 'form', 'explode': True }})
r"""The date in which the report is created up to. Users must specify a specific date, however the response will be provided for the full month."""
number_of_periods: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'numberOfPeriods', 'style': 'form', 'explode': True }})
@@ -20,15 +20,17 @@ class GetAccountsForEnhancedBalanceSheetRequest:
-
@dataclasses.dataclass
class GetAccountsForEnhancedBalanceSheetResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
enhanced_report: Optional[shared_enhancedreport.EnhancedReport] = 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/assess/src/codatassess/models/operations/get_accounts_for_enhanced_profit_and_loss.py b/previous-versions/assess/src/codatassess/models/operations/get_accounts_for_enhanced_profit_and_loss.py
index ad2c0c15d..fc415e0a7 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_accounts_for_enhanced_profit_and_loss.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_accounts_for_enhanced_profit_and_loss.py
@@ -8,10 +8,10 @@
from typing import Optional
-
@dataclasses.dataclass
class GetAccountsForEnhancedProfitAndLossRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
report_date: str = dataclasses.field(metadata={'query_param': { 'field_name': 'reportDate', 'style': 'form', 'explode': True }})
r"""The date in which the report is created up to. Users must specify a specific date, however the response will be provided for the full month."""
number_of_periods: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'numberOfPeriods', 'style': 'form', 'explode': True }})
@@ -20,15 +20,17 @@ class GetAccountsForEnhancedProfitAndLossRequest:
-
@dataclasses.dataclass
class GetAccountsForEnhancedProfitAndLossResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
enhanced_report: Optional[shared_enhancedreport.EnhancedReport] = 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/assess/src/codatassess/models/operations/get_commerce_customer_retention_metrics.py b/previous-versions/assess/src/codatassess/models/operations/get_commerce_customer_retention_metrics.py
index a3aca647b..84c9c0631 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_commerce_customer_retention_metrics.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_commerce_customer_retention_metrics.py
@@ -9,11 +9,12 @@
from typing import Optional
-
@dataclasses.dataclass
class GetCommerceCustomerRetentionMetricsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
number_of_periods: int = dataclasses.field(metadata={'query_param': { 'field_name': 'numberOfPeriods', 'style': 'form', 'explode': True }})
r"""The number of periods to return. There will be no pagination as a query parameter."""
period_length: int = dataclasses.field(metadata={'query_param': { 'field_name': 'periodLength', 'style': 'form', 'explode': True }})
@@ -28,14 +29,16 @@ class GetCommerceCustomerRetentionMetricsRequest:
-
@dataclasses.dataclass
class GetCommerceCustomerRetentionMetricsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
report: Optional[shared_report.Report] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_commerce_lifetime_value_metrics.py b/previous-versions/assess/src/codatassess/models/operations/get_commerce_lifetime_value_metrics.py
index 4d1cefa60..a1914aaf0 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_commerce_lifetime_value_metrics.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_commerce_lifetime_value_metrics.py
@@ -9,11 +9,12 @@
from typing import Optional
-
@dataclasses.dataclass
class GetCommerceLifetimeValueMetricsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
number_of_periods: int = dataclasses.field(metadata={'query_param': { 'field_name': 'numberOfPeriods', 'style': 'form', 'explode': True }})
r"""The number of periods to return. There will be no pagination as a query parameter."""
period_length: int = dataclasses.field(metadata={'query_param': { 'field_name': 'periodLength', 'style': 'form', 'explode': True }})
@@ -28,14 +29,16 @@ class GetCommerceLifetimeValueMetricsRequest:
-
@dataclasses.dataclass
class GetCommerceLifetimeValueMetricsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
report: Optional[shared_report.Report] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_commerce_orders_metrics.py b/previous-versions/assess/src/codatassess/models/operations/get_commerce_orders_metrics.py
index 72d5bb4b1..65346a060 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_commerce_orders_metrics.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_commerce_orders_metrics.py
@@ -9,11 +9,12 @@
from typing import Optional
-
@dataclasses.dataclass
class GetCommerceOrdersMetricsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
number_of_periods: int = dataclasses.field(metadata={'query_param': { 'field_name': 'numberOfPeriods', 'style': 'form', 'explode': True }})
r"""The number of periods to return. There will be no pagination as a query parameter."""
period_length: int = dataclasses.field(metadata={'query_param': { 'field_name': 'periodLength', 'style': 'form', 'explode': True }})
@@ -28,14 +29,16 @@ class GetCommerceOrdersMetricsRequest:
-
@dataclasses.dataclass
class GetCommerceOrdersMetricsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
report: Optional[shared_report.Report] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_commerce_refunds_metrics.py b/previous-versions/assess/src/codatassess/models/operations/get_commerce_refunds_metrics.py
index fd852a10a..0d1f91706 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_commerce_refunds_metrics.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_commerce_refunds_metrics.py
@@ -9,11 +9,12 @@
from typing import Optional
-
@dataclasses.dataclass
class GetCommerceRefundsMetricsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
number_of_periods: int = dataclasses.field(metadata={'query_param': { 'field_name': 'numberOfPeriods', 'style': 'form', 'explode': True }})
r"""The number of periods to return. There will be no pagination as a query parameter."""
period_length: int = dataclasses.field(metadata={'query_param': { 'field_name': 'periodLength', 'style': 'form', 'explode': True }})
@@ -28,14 +29,16 @@ class GetCommerceRefundsMetricsRequest:
-
@dataclasses.dataclass
class GetCommerceRefundsMetricsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
report: Optional[shared_report.Report] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_commerce_revenue_metrics.py b/previous-versions/assess/src/codatassess/models/operations/get_commerce_revenue_metrics.py
index 2ed0a20a2..e383ed5cc 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_commerce_revenue_metrics.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_commerce_revenue_metrics.py
@@ -9,11 +9,12 @@
from typing import Optional
-
@dataclasses.dataclass
class GetCommerceRevenueMetricsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
number_of_periods: int = dataclasses.field(metadata={'query_param': { 'field_name': 'numberOfPeriods', 'style': 'form', 'explode': True }})
r"""The number of periods to return. There will be no pagination as a query parameter."""
period_length: int = dataclasses.field(metadata={'query_param': { 'field_name': 'periodLength', 'style': 'form', 'explode': True }})
@@ -28,14 +29,16 @@ class GetCommerceRevenueMetricsRequest:
-
@dataclasses.dataclass
class GetCommerceRevenueMetricsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
report: Optional[shared_report.Report] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_data_integrity_status.py b/previous-versions/assess/src/codatassess/models/operations/get_data_integrity_status.py
index f2f8e3825..8669b37de 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_data_integrity_status.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_data_integrity_status.py
@@ -9,24 +9,26 @@
from typing import Optional
-
@dataclasses.dataclass
class GetDataIntegrityStatusRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
data_type: shared_dataintegritydatatype.DataIntegrityDataType = dataclasses.field(metadata={'path_param': { 'field_name': 'dataType', 'style': 'simple', 'explode': False }})
r"""A key for a Codat data type."""
-
@dataclasses.dataclass
class GetDataIntegrityStatusResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
status: Optional[shared_status.Status] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_data_integrity_summaries.py b/previous-versions/assess/src/codatassess/models/operations/get_data_integrity_summaries.py
index ef2d79f02..e3ac80889 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_data_integrity_summaries.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_data_integrity_summaries.py
@@ -9,10 +9,10 @@
from typing import Optional
-
@dataclasses.dataclass
class GetDataIntegritySummariesRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
data_type: shared_dataintegritydatatype.DataIntegrityDataType = dataclasses.field(metadata={'path_param': { 'field_name': 'dataType', 'style': 'simple', 'explode': False }})
r"""A key for a Codat data type."""
query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }})
@@ -21,14 +21,16 @@ class GetDataIntegritySummariesRequest:
-
@dataclasses.dataclass
class GetDataIntegritySummariesResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
summaries: Optional[shared_summaries.Summaries] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_enhanced_cash_flow_transactions.py b/previous-versions/assess/src/codatassess/models/operations/get_enhanced_cash_flow_transactions.py
index 541c7d71c..1e317fa4e 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_enhanced_cash_flow_transactions.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_enhanced_cash_flow_transactions.py
@@ -8,13 +8,13 @@
from typing import Optional
-
@dataclasses.dataclass
class GetEnhancedCashFlowTransactionsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
- page: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
+ r"""Unique identifier for a company."""
+ page: Optional[int] = dataclasses.field(default=1, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
r"""Page number. [Read more](https://docs.codat.io/using-the-api/paging)."""
- page_size: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
+ page_size: Optional[int] = dataclasses.field(default=100, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
r"""Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)."""
query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }})
r"""Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)."""
@@ -22,15 +22,17 @@ class GetEnhancedCashFlowTransactionsRequest:
-
@dataclasses.dataclass
class GetEnhancedCashFlowTransactionsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
enhanced_cash_flow_transactions: Optional[shared_enhancedcashflowtransactions.EnhancedCashFlowTransactions] = 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/assess/src/codatassess/models/operations/get_enhanced_invoices_report.py b/previous-versions/assess/src/codatassess/models/operations/get_enhanced_invoices_report.py
index a3f31ed2f..90340b8c3 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_enhanced_invoices_report.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_enhanced_invoices_report.py
@@ -8,13 +8,13 @@
from typing import Optional
-
@dataclasses.dataclass
class GetEnhancedInvoicesReportRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
- page: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
+ r"""Unique identifier for a company."""
+ page: Optional[int] = dataclasses.field(default=1, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
r"""Page number. [Read more](https://docs.codat.io/using-the-api/paging)."""
- page_size: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
+ page_size: Optional[int] = dataclasses.field(default=100, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
r"""Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)."""
query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }})
r"""Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)."""
@@ -22,15 +22,17 @@ class GetEnhancedInvoicesReportRequest:
-
@dataclasses.dataclass
class GetEnhancedInvoicesReportResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
enhanced_invoices_report: Optional[shared_enhancedinvoicesreport.EnhancedInvoicesReport] = 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/assess/src/codatassess/models/operations/get_excel_report.py b/previous-versions/assess/src/codatassess/models/operations/get_excel_report.py
index 6b4bc62e7..c3ff90c6b 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_excel_report.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_excel_report.py
@@ -8,17 +8,16 @@
from typing import Optional
-
@dataclasses.dataclass
class GetExcelReportRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
report_type: shared_excelreporttype.ExcelReportType = dataclasses.field(metadata={'query_param': { 'field_name': 'reportType', 'style': 'form', 'explode': True }})
r"""The type of report you want to generate and download."""
-
@dataclasses.dataclass
class GetExcelReport200ApplicationOctetStream:
r"""OK"""
@@ -26,14 +25,16 @@ class GetExcelReport200ApplicationOctetStream:
-
@dataclasses.dataclass
class GetExcelReportResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
body: Optional[bytes] = dataclasses.field(default=None)
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/assess/src/codatassess/models/operations/get_excel_report_generation_status.py b/previous-versions/assess/src/codatassess/models/operations/get_excel_report_generation_status.py
index efa2ffb1e..19b354ccb 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_excel_report_generation_status.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_excel_report_generation_status.py
@@ -9,25 +9,27 @@
from typing import Optional
-
@dataclasses.dataclass
class GetExcelReportGenerationStatusRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
report_type: shared_excelreporttype.ExcelReportType = dataclasses.field(metadata={'query_param': { 'field_name': 'reportType', 'style': 'form', 'explode': True }})
r"""The type of report you want to generate and download."""
-
@dataclasses.dataclass
class GetExcelReportGenerationStatusResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
excel_status: Optional[shared_excelstatus.ExcelStatus] = dataclasses.field(default=None)
r"""OK"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_loan_summary.py b/previous-versions/assess/src/codatassess/models/operations/get_loan_summary.py
index d08c25650..abb8b1962 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_loan_summary.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_loan_summary.py
@@ -5,26 +5,37 @@
import requests as requests_http
from ..shared import errormessage as shared_errormessage
from ..shared import loansummary as shared_loansummary
+from enum import Enum
from typing import Optional
+class GetLoanSummarySourceType(str, Enum):
+ r"""Data source type."""
+ BANKING = 'banking'
+ COMMERCE = 'commerce'
+ ACCOUNTING = 'accounting'
@dataclasses.dataclass
class GetLoanSummaryRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
+ source_type: GetLoanSummarySourceType = dataclasses.field(metadata={'query_param': { 'field_name': 'sourceType', 'style': 'form', 'explode': True }})
+ r"""Data source type."""
-
@dataclasses.dataclass
class GetLoanSummaryResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
loan_summary: Optional[shared_loansummary.LoanSummary] = dataclasses.field(default=None)
r"""OK"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/get_recurring_revenue_metrics.py b/previous-versions/assess/src/codatassess/models/operations/get_recurring_revenue_metrics.py
index 3c4bcd4fa..871b4f5d6 100755
--- a/previous-versions/assess/src/codatassess/models/operations/get_recurring_revenue_metrics.py
+++ b/previous-versions/assess/src/codatassess/models/operations/get_recurring_revenue_metrics.py
@@ -8,23 +8,26 @@
from typing import Optional
-
@dataclasses.dataclass
class GetRecurringRevenueMetricsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
-
@dataclasses.dataclass
class GetRecurringRevenueMetricsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
report: Optional[shared_report.Report] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/list_data_type_data_integrity_details.py b/previous-versions/assess/src/codatassess/models/operations/list_data_type_data_integrity_details.py
index 8f5a9320a..f30b9cc60 100755
--- a/previous-versions/assess/src/codatassess/models/operations/list_data_type_data_integrity_details.py
+++ b/previous-versions/assess/src/codatassess/models/operations/list_data_type_data_integrity_details.py
@@ -9,17 +9,17 @@
from typing import Optional
-
@dataclasses.dataclass
class ListDataTypeDataIntegrityDetailsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
data_type: shared_dataintegritydatatype.DataIntegrityDataType = dataclasses.field(metadata={'path_param': { 'field_name': 'dataType', 'style': 'simple', 'explode': False }})
r"""A key for a Codat data type."""
order_by: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'orderBy', 'style': 'form', 'explode': True }})
r"""Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results)."""
- page: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
+ page: Optional[int] = dataclasses.field(default=1, metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }})
r"""Page number. [Read more](https://docs.codat.io/using-the-api/paging)."""
- page_size: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
+ page_size: Optional[int] = dataclasses.field(default=100, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }})
r"""Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)."""
query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }})
r"""Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)."""
@@ -27,15 +27,17 @@ class ListDataTypeDataIntegrityDetailsRequest:
-
@dataclasses.dataclass
class ListDataTypeDataIntegrityDetailsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
details: Optional[shared_details.Details] = 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/assess/src/codatassess/models/operations/list_loan_transactions.py b/previous-versions/assess/src/codatassess/models/operations/list_loan_transactions.py
index 2b6212e61..5fba39ba9 100755
--- a/previous-versions/assess/src/codatassess/models/operations/list_loan_transactions.py
+++ b/previous-versions/assess/src/codatassess/models/operations/list_loan_transactions.py
@@ -15,25 +15,27 @@ class ListLoanTransactionsSourceType(str, Enum):
ACCOUNTING = 'accounting'
-
@dataclasses.dataclass
class ListLoanTransactionsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
source_type: ListLoanTransactionsSourceType = dataclasses.field(metadata={'query_param': { 'field_name': 'sourceType', 'style': 'form', 'explode': True }})
r"""Data source type"""
-
@dataclasses.dataclass
class ListLoanTransactionsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
loan_transactions: Optional[shared_loantransactions.LoanTransactions] = dataclasses.field(default=None)
r"""OK"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/previous-versions/assess/src/codatassess/models/operations/request_recurring_revenue_metrics.py b/previous-versions/assess/src/codatassess/models/operations/request_recurring_revenue_metrics.py
index bc5b23958..0d7b2a0b9 100755
--- a/previous-versions/assess/src/codatassess/models/operations/request_recurring_revenue_metrics.py
+++ b/previous-versions/assess/src/codatassess/models/operations/request_recurring_revenue_metrics.py
@@ -8,23 +8,26 @@
from typing import Optional
-
@dataclasses.dataclass
class RequestRecurringRevenueMetricsRequest:
company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a company."""
connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }})
+ r"""Unique identifier for a connection."""
-
@dataclasses.dataclass
class RequestRecurringRevenueMetricsResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None)
r"""Your API request was not properly authorized."""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
report: Optional[shared_report.Report] = dataclasses.field(default=None)
r"""OK"""
diff --git a/previous-versions/assess/src/codatassess/models/shared/__init__.py b/previous-versions/assess/src/codatassess/models/shared/__init__.py
index 493b45a84..ca84be55c 100755
--- a/previous-versions/assess/src/codatassess/models/shared/__init__.py
+++ b/previous-versions/assess/src/codatassess/models/shared/__init__.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
from .accountcategoriesupdatedwebhook import *
+from .accountcategoriesupdatedwebhookdata import *
from .accountcategorylevel import *
from .accountref import *
from .accounts import *
diff --git a/previous-versions/assess/src/codatassess/models/shared/accountcategoriesupdatedwebhook.py b/previous-versions/assess/src/codatassess/models/shared/accountcategoriesupdatedwebhook.py
index 0b1b3b0bb..8c85e5967 100755
--- a/previous-versions/assess/src/codatassess/models/shared/accountcategoriesupdatedwebhook.py
+++ b/previous-versions/assess/src/codatassess/models/shared/accountcategoriesupdatedwebhook.py
@@ -2,23 +2,13 @@
from __future__ import annotations
import dataclasses
+from ..shared import accountcategoriesupdatedwebhookdata as shared_accountcategoriesupdatedwebhookdata
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
-@dataclasses.dataclass
-class AccountCategoriesUpdatedWebhookData:
- modified_date: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('modifiedDate'), 'exclude': lambda f: f is None }})
- r"""The date on which this account categories were last modified in Codat."""
-
-
-
-
-@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class AccountCategoriesUpdatedWebhook:
r"""Webhook request body for account categories updated."""
@@ -30,14 +20,14 @@ class AccountCategoriesUpdatedWebhook:
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[AccountCategoriesUpdatedWebhookData] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Data'), 'exclude': lambda f: f is None }})
+ data: Optional[shared_accountcategoriesupdatedwebhookdata.AccountCategoriesUpdatedWebhookData] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Data'), 'exclude': lambda f: f is None }})
data_connection_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('DataConnectionId'), 'exclude': lambda f: f is None }})
r"""Unique identifier for a company's data connection."""
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 }})
r"""Unique identifier for the rule."""
- type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Type'), 'exclude': lambda f: f is None }})
+ rule_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('RuleType'), 'exclude': lambda f: f is None }})
r"""The type of rule."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/accountcategoriesupdatedwebhookdata.py b/previous-versions/assess/src/codatassess/models/shared/accountcategoriesupdatedwebhookdata.py
new file mode 100755
index 000000000..08e766b07
--- /dev/null
+++ b/previous-versions/assess/src/codatassess/models/shared/accountcategoriesupdatedwebhookdata.py
@@ -0,0 +1,16 @@
+"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""
+
+from __future__ import annotations
+import dataclasses
+from codatassess import utils
+from dataclasses_json import Undefined, dataclass_json
+from typing import Optional
+
+
+@dataclass_json(undefined=Undefined.EXCLUDE)
+@dataclasses.dataclass
+class AccountCategoriesUpdatedWebhookData:
+ modified_date: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('modifiedDate'), 'exclude': lambda f: f is None }})
+ r"""The date on which this account categories were last modified in Codat."""
+
+
diff --git a/previous-versions/assess/src/codatassess/models/shared/accountcategorylevel.py b/previous-versions/assess/src/codatassess/models/shared/accountcategorylevel.py
index 4c4fc7705..588899e28 100755
--- a/previous-versions/assess/src/codatassess/models/shared/accountcategorylevel.py
+++ b/previous-versions/assess/src/codatassess/models/shared/accountcategorylevel.py
@@ -4,15 +4,15 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class AccountCategoryLevel:
r"""An object containing an ordered list of account category levels."""
- confidence: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('confidence'), 'exclude': lambda f: f is None }})
+ confidence: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('confidence'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""Confidence level of the category. This will only be populated where `status` is `Suggested`."""
level_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('levelName'), 'exclude': lambda f: f is None }})
r"""Account category name."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/accountref.py b/previous-versions/assess/src/codatassess/models/shared/accountref.py
index 0de1888b6..51d5f8de3 100755
--- a/previous-versions/assess/src/codatassess/models/shared/accountref.py
+++ b/previous-versions/assess/src/codatassess/models/shared/accountref.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class AccountRef:
r"""An account reference containing the account id and name."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/accounts.py b/previous-versions/assess/src/codatassess/models/shared/accounts.py
index 500f2449f..1ef48567a 100755
--- a/previous-versions/assess/src/codatassess/models/shared/accounts.py
+++ b/previous-versions/assess/src/codatassess/models/shared/accounts.py
@@ -5,11 +5,11 @@
from ..shared import sourceref as shared_sourceref
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Accounts:
account_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountName'), 'exclude': lambda f: f is None }})
@@ -27,7 +27,7 @@ class Accounts:
There are only a very small number of edge cases where this currency code is returned by the Codat system.
"""
- current_balance: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currentBalance'), 'exclude': lambda f: f is None }})
+ current_balance: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currentBalance'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The balance of the bank account."""
platform_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platformName'), 'exclude': lambda f: f is None }})
r"""Name of the banking data source, e.g. \\"Plaid\\"."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/bankingtransactionref.py b/previous-versions/assess/src/codatassess/models/shared/bankingtransactionref.py
index d65d629e7..6e4f51496 100755
--- a/previous-versions/assess/src/codatassess/models/shared/bankingtransactionref.py
+++ b/previous-versions/assess/src/codatassess/models/shared/bankingtransactionref.py
@@ -4,17 +4,21 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class BankingTransactionRef:
account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountId'), 'exclude': lambda f: f is None }})
+ r"""Unique identifier of the bank transaction's account."""
account_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountName'), 'exclude': lambda f: f is None }})
- amount: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'exclude': lambda f: f is None }})
+ r"""Name given to account."""
+ amount: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
+ r"""Bank transaction amount."""
data_connection_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionId'), 'exclude': lambda f: f is None }})
+ r"""Unique identifier of the bank transaction's connection."""
date_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('date'), 'exclude': lambda f: f is None }})
r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
@@ -37,6 +41,8 @@ class BankingTransactionRef:
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
description: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('description'), 'exclude': lambda f: f is None }})
+ r"""Description given to bank transaction."""
id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }})
+ r"""Unique identifier for the bank transaction."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/commercereportcomponent.py b/previous-versions/assess/src/codatassess/models/shared/commercereportcomponent.py
index 8dfb77da1..105ca2fc5 100755
--- a/previous-versions/assess/src/codatassess/models/shared/commercereportcomponent.py
+++ b/previous-versions/assess/src/codatassess/models/shared/commercereportcomponent.py
@@ -5,18 +5,21 @@
from ..shared import reportcomponentmeasure as shared_reportcomponentmeasure
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CommerceReportComponent:
- components: Optional[list[CommerceReportComponent]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('components'), 'exclude': lambda f: f is None }})
+ components: Optional[List[CommerceReportComponent]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('components'), 'exclude': lambda f: f is None }})
dimension: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dimension'), 'exclude': lambda f: f is None }})
+ r"""The component's dimension."""
dimension_display_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dimensionDisplayName'), 'exclude': lambda f: f is None }})
+ r"""The component's display name."""
item: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('item'), 'exclude': lambda f: f is None }})
+ r"""The component's item number."""
item_display_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('itemDisplayName'), 'exclude': lambda f: f is None }})
- measures: Optional[list[shared_reportcomponentmeasure.ReportComponentMeasure]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('measures'), 'exclude': lambda f: f is None }})
+ r"""The component's item display name."""
+ measures: Optional[List[shared_reportcomponentmeasure.ReportComponentMeasure]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('measures'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/commercereportdimension.py b/previous-versions/assess/src/codatassess/models/shared/commercereportdimension.py
index 2cae797c6..1795041bc 100755
--- a/previous-versions/assess/src/codatassess/models/shared/commercereportdimension.py
+++ b/previous-versions/assess/src/codatassess/models/shared/commercereportdimension.py
@@ -4,25 +4,27 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CommerceReportDimensionItems:
index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }})
+ r"""The dimension's items index."""
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CommerceReportDimension:
display_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('displayName'), 'exclude': lambda f: f is None }})
+ r"""The dimension's display name."""
index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }})
- items: Optional[list[CommerceReportDimensionItems]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('items'), 'exclude': lambda f: f is None }})
+ r"""The dimension's index."""
+ items: Optional[List[CommerceReportDimensionItems]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('items'), 'exclude': lambda f: f is None }})
type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }})
+ r"""The dimension's type."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/commercereporterror.py b/previous-versions/assess/src/codatassess/models/shared/commercereporterror.py
index 87dfa7c43..cdf69b348 100755
--- a/previous-versions/assess/src/codatassess/models/shared/commercereporterror.py
+++ b/previous-versions/assess/src/codatassess/models/shared/commercereporterror.py
@@ -4,15 +4,17 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import Dict, List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CommerceReportError:
- details: Optional[dict[str, list[str]]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('details'), 'exclude': lambda f: f is None }})
+ details: Optional[Dict[str, List[str]]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('details'), 'exclude': lambda f: f is None }})
+ r"""Additional details on the error."""
message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }})
+ r"""Message returned by error."""
type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }})
+ r"""The type of error."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/commercereportmeasure.py b/previous-versions/assess/src/codatassess/models/shared/commercereportmeasure.py
index d726d49d2..38eedbd8c 100755
--- a/previous-versions/assess/src/codatassess/models/shared/commercereportmeasure.py
+++ b/previous-versions/assess/src/codatassess/models/shared/commercereportmeasure.py
@@ -8,12 +8,15 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class CommerceReportMeasure:
display_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('displayName'), 'exclude': lambda f: f is None }})
+ r"""The measure's display name."""
index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }})
+ r"""The measure's index."""
type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }})
+ r"""The measure's type."""
units: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('units'), 'exclude': lambda f: f is None }})
+ r"""The measure's units e.g. percentage (%)."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegrityamounts.py b/previous-versions/assess/src/codatassess/models/shared/dataintegrityamounts.py
index 55a5f425c..98db840ae 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegrityamounts.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegrityamounts.py
@@ -4,11 +4,11 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegrityAmounts:
r"""Only returned for transactions. For accounts, there is nothing returned."""
@@ -21,9 +21,9 @@ class DataIntegrityAmounts:
There are only a very small number of edge cases where this currency code is returned by the Codat system.
"""
- max: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('max'), 'exclude': lambda f: f is None }})
+ max: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('max'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""Highest value of transaction set."""
- min: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('min'), 'exclude': lambda f: f is None }})
+ min: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('min'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""Lowest value of transaction set."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegritybyamount.py b/previous-versions/assess/src/codatassess/models/shared/dataintegritybyamount.py
index 6ccbe6c6a..3d3fea1e2 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegritybyamount.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegritybyamount.py
@@ -4,11 +4,11 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegrityByAmount:
currency: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currency'), 'exclude': lambda f: f is None }})
@@ -20,13 +20,13 @@ class DataIntegrityByAmount:
There are only a very small number of edge cases where this currency code is returned by the Codat system.
"""
- matched: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matched'), 'exclude': lambda f: f is None }})
+ matched: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matched'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The sum of the absolute value of transactions of the type specified in the route which have a match."""
- match_percentage: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matchPercentage'), 'exclude': lambda f: f is None }})
+ match_percentage: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matchPercentage'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The percentage of the absolute value of transactions of the type specified in the route which have a match."""
- total: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('total'), 'exclude': lambda f: f is None }})
+ total: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('total'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The total of unmatched and matched."""
- unmatched: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('unmatched'), 'exclude': lambda f: f is None }})
+ unmatched: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('unmatched'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The sum of the absolute value of transactions of the type specified in the route which don't have a match."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegritybycount.py b/previous-versions/assess/src/codatassess/models/shared/dataintegritybycount.py
index bb2281a3f..72137313a 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegritybycount.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegritybycount.py
@@ -4,20 +4,20 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegrityByCount:
- matched: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matched'), 'exclude': lambda f: f is None }})
+ matched: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matched'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The number of records of the type specified in the route which do have a match."""
- match_percentage: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matchPercentage'), 'exclude': lambda f: f is None }})
+ match_percentage: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matchPercentage'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The percentage of records of the type specified in the route which have a match."""
- total: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('total'), 'exclude': lambda f: f is None }})
+ total: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('total'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The total of unmatched and matched."""
- unmatched: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('unmatched'), 'exclude': lambda f: f is None }})
+ unmatched: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('unmatched'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The number of records of the type specified in the route which don't have a match."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegrityconnectionid.py b/previous-versions/assess/src/codatassess/models/shared/dataintegrityconnectionid.py
index a6c337146..68921ad51 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegrityconnectionid.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegrityconnectionid.py
@@ -4,16 +4,15 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegrityConnectionID:
- source: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('source'), 'exclude': lambda f: f is None }})
+ source: Optional[List[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('source'), 'exclude': lambda f: f is None }})
r"""An array of strings. The connection IDs for the type specified in the url."""
- target: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('target'), 'exclude': lambda f: f is None }})
+ target: Optional[List[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('target'), 'exclude': lambda f: f is None }})
r"""An array of strings. The connection IDs for the type being matched to."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegritydatatype.py b/previous-versions/assess/src/codatassess/models/shared/dataintegritydatatype.py
index d7016c801..7d5db4b8c 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegritydatatype.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegritydatatype.py
@@ -4,7 +4,6 @@
from enum import Enum
class DataIntegrityDataType(str, Enum):
- r"""A key for a Codat data type."""
BANKING_ACCOUNTS = 'banking-accounts'
BANKING_TRANSACTIONS = 'banking-transactions'
BANK_ACCOUNTS = 'bankAccounts'
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegritydates.py b/previous-versions/assess/src/codatassess/models/shared/dataintegritydates.py
index c315411e9..26dcff49e 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegritydates.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegritydates.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegrityDates:
r"""Only returned for transactions. For accounts, there is nothing returned."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegritydetails.py b/previous-versions/assess/src/codatassess/models/shared/dataintegritydetails.py
index 4f898606d..5a0ad19eb 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegritydetails.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegritydetails.py
@@ -5,14 +5,14 @@
from ..shared import dataintegritymatch as shared_dataintegritymatch
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from decimal import Decimal
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegrityDetails:
- amount: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'exclude': lambda f: f is None }})
+ amount: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The transaction value."""
connection_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('connectionId'), 'exclude': lambda f: f is None }})
r"""ID GUID representing the connection of the accounting or banking platform."""
@@ -50,7 +50,7 @@ class DataIntegrityDetails:
r"""The transaction description."""
id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }})
r"""ID GUID of the transaction."""
- matches: Optional[list[shared_dataintegritymatch.DataIntegrityMatch]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matches'), 'exclude': lambda f: f is None }})
+ matches: Optional[List[shared_dataintegritymatch.DataIntegrityMatch]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('matches'), 'exclude': lambda f: f is None }})
type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }})
r"""The data type of the record."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegritymatch.py b/previous-versions/assess/src/codatassess/models/shared/dataintegritymatch.py
index d8d204e73..6fb32c25a 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegritymatch.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegritymatch.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegrityMatch:
amount: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegritystatus.py b/previous-versions/assess/src/codatassess/models/shared/dataintegritystatus.py
index 32719d93a..674c5b2fa 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegritystatus.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegritystatus.py
@@ -12,7 +12,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegrityStatus:
amounts: Optional[shared_dataintegrityamounts.DataIntegrityAmounts] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amounts'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegritystatusinfo.py b/previous-versions/assess/src/codatassess/models/shared/dataintegritystatusinfo.py
index 4fd6be89e..8ecf6d67e 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegritystatusinfo.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegritystatusinfo.py
@@ -9,7 +9,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegrityStatusInfo:
current_status: Optional[shared_integritystatus.IntegrityStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currentStatus'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/dataintegritysummary.py b/previous-versions/assess/src/codatassess/models/shared/dataintegritysummary.py
index 8d817656a..db4ff6642 100755
--- a/previous-versions/assess/src/codatassess/models/shared/dataintegritysummary.py
+++ b/previous-versions/assess/src/codatassess/models/shared/dataintegritysummary.py
@@ -10,7 +10,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataIntegritySummary:
by_amount: Optional[shared_dataintegritybyamount.DataIntegrityByAmount] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('byAmount'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/datasource.py b/previous-versions/assess/src/codatassess/models/shared/datasource.py
index e605281b7..63817e2eb 100755
--- a/previous-versions/assess/src/codatassess/models/shared/datasource.py
+++ b/previous-versions/assess/src/codatassess/models/shared/datasource.py
@@ -5,14 +5,13 @@
from ..shared import accounts as shared_accounts
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class DataSource:
- accounts: Optional[list[shared_accounts.Accounts]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accounts'), 'exclude': lambda f: f is None }})
+ accounts: Optional[List[shared_accounts.Accounts]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accounts'), 'exclude': lambda f: f is None }})
r"""An array containing bank account data for each connected banking data source that have the following data types enabled: `banking-accounts`, `banking-transactions`."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/details.py b/previous-versions/assess/src/codatassess/models/shared/details.py
index 22d8fbe54..5077d84a1 100755
--- a/previous-versions/assess/src/codatassess/models/shared/details.py
+++ b/previous-versions/assess/src/codatassess/models/shared/details.py
@@ -6,18 +6,19 @@
from ..shared import links as shared_links
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Details:
- r"""OK"""
links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }})
page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }})
+ r"""Current page number."""
page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }})
+ r"""Number of items to return in results array."""
total_results: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalResults') }})
- results: Optional[list[shared_dataintegritydetails.DataIntegrityDetails]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }})
+ r"""Total number of items."""
+ results: Optional[List[shared_dataintegritydetails.DataIntegrityDetails]] = 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/assess/src/codatassess/models/shared/enhancedcashflowitem.py b/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowitem.py
index 0f4b03c61..3f0b8b7b2 100755
--- a/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowitem.py
+++ b/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowitem.py
@@ -5,14 +5,13 @@
from ..shared import enhancedcashflowtransaction as shared_enhancedcashflowtransaction
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class EnhancedCashFlowItem:
- transactions: Optional[list[shared_enhancedcashflowtransaction.EnhancedCashFlowTransaction]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('transactions'), 'exclude': lambda f: f is None }})
+ transactions: Optional[List[shared_enhancedcashflowtransaction.EnhancedCashFlowTransaction]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('transactions'), 'exclude': lambda f: f is None }})
r"""An array of transaction data."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowtransaction.py b/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowtransaction.py
index 6dab8e7e8..3fe1c4f02 100755
--- a/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowtransaction.py
+++ b/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowtransaction.py
@@ -7,18 +7,26 @@
from ..shared import transactioncategory as shared_transactioncategory
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class EnhancedCashFlowTransaction:
account_ref: Optional[shared_accountref.AccountRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountRef'), 'exclude': lambda f: f is None }})
r"""An account reference containing the account id and name."""
- amount: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'exclude': lambda f: f is None }})
+ amount: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The bank transaction amount."""
currency: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currency'), 'exclude': lambda f: f is None }})
+ r"""The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
+
+ ## Unknown currencies
+
+ In line with the ISO 4217 specification, the code _XXX_ is used when the data source does not return a currency for a transaction.
+
+ There are only a very small number of edge cases where this currency code is returned by the Codat system.
+ """
date_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('date'), 'exclude': lambda f: f is None }})
r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
diff --git a/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowtransactions.py b/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowtransactions.py
index f1fab6283..4e5b54979 100755
--- a/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowtransactions.py
+++ b/previous-versions/assess/src/codatassess/models/shared/enhancedcashflowtransactions.py
@@ -7,11 +7,10 @@
from ..shared import reportinfo as shared_reportinfo
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class EnhancedCashFlowTransactions:
r"""> **Categorization engine**
@@ -20,9 +19,9 @@ class EnhancedCashFlowTransactions:
The Enhanced Cash Flow Transactions endpoint provides a fully categorized list of banking transactions for a company. Accounts and transaction data are obtained from the company's banking data sources.
"""
- data_sources: Optional[list[shared_datasource.DataSource]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataSources'), 'exclude': lambda f: f is None }})
+ data_sources: Optional[List[shared_datasource.DataSource]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataSources'), 'exclude': lambda f: f is None }})
report_info: Optional[shared_reportinfo.ReportInfo] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportInfo'), 'exclude': lambda f: f is None }})
- r"""Report additional information, which is specific to Assess reports"""
- report_items: Optional[list[shared_enhancedcashflowitem.EnhancedCashFlowItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
+ r"""Report additional information, which is specific to Lending API reports."""
+ report_items: Optional[List[shared_enhancedcashflowitem.EnhancedCashFlowItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/enhancedinvoicereportitem.py b/previous-versions/assess/src/codatassess/models/shared/enhancedinvoicereportitem.py
index 154f82733..766bf6a44 100755
--- a/previous-versions/assess/src/codatassess/models/shared/enhancedinvoicereportitem.py
+++ b/previous-versions/assess/src/codatassess/models/shared/enhancedinvoicereportitem.py
@@ -7,14 +7,15 @@
from ..shared import payment as shared_payment
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from decimal import Decimal
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class EnhancedInvoiceReportItem:
- amount_due: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amountDue'), 'exclude': lambda f: f is None }})
+ amount_due: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amountDue'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
+ r"""Invoice's total amount due."""
currency: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currency'), 'exclude': lambda f: f is None }})
r"""The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
@@ -47,8 +48,9 @@ class EnhancedInvoiceReportItem:
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }})
- r"""ID of the invoice, which may be a GUID but it may be something else depending on the accounting platdform"""
+ r"""ID of the invoice, which may be a GUID but it may be something else depending on the accounting platform."""
invoice_number: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('invoiceNumber'), 'exclude': lambda f: f is None }})
+ r"""Invoice number."""
issue_date: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('issueDate'), '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:
@@ -92,7 +94,7 @@ class EnhancedInvoiceReportItem:
> 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.
"""
- payments: Optional[list[shared_payment.Payment]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('payments'), 'exclude': lambda f: f is None }})
+ payments: Optional[List[shared_payment.Payment]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('payments'), 'exclude': lambda f: f is None }})
source_modified_date: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceModifiedDate'), 'exclude': lambda f: f is None }})
status: Optional[shared_invoicestatus.InvoiceStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
r"""Current state of the invoice:
@@ -103,6 +105,7 @@ class EnhancedInvoiceReportItem:
- `Paid` - Invoice is paid in full. This includes if the invoice has been credited or overpaid (amountDue == 0).
- `Void` - An invoice can become Void when it's deleted, refunded, written off, or cancelled. A voided invoice may still be PartiallyPaid, and so all outstanding amounts on voided invoices are removed from the accounts receivable account.
"""
- total_amount: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalAmount'), 'exclude': lambda f: f is None }})
+ total_amount: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalAmount'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
+ r"""Invoice's total amount."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/enhancedinvoicesreport.py b/previous-versions/assess/src/codatassess/models/shared/enhancedinvoicesreport.py
index 03f2ed2b6..6e68d83aa 100755
--- a/previous-versions/assess/src/codatassess/models/shared/enhancedinvoicesreport.py
+++ b/previous-versions/assess/src/codatassess/models/shared/enhancedinvoicesreport.py
@@ -6,16 +6,15 @@
from ..shared import reportinfo as shared_reportinfo
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class EnhancedInvoicesReport:
r"""The enhanced invoices report takes the key elements of the Invoices report verifying those marked as paid in the accounting platform have actually been paid by matching with the bank statement."""
report_info: Optional[shared_reportinfo.ReportInfo] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportInfo'), 'exclude': lambda f: f is None }})
- r"""Report additional information, which is specific to Assess reports"""
- report_items: Optional[list[shared_enhancedinvoicereportitem.EnhancedInvoiceReportItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
+ r"""Report additional information, which is specific to Lending API reports."""
+ report_items: Optional[List[shared_enhancedinvoicereportitem.EnhancedInvoiceReportItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/enhancedreport.py b/previous-versions/assess/src/codatassess/models/shared/enhancedreport.py
index a0bede4ad..e5dc8bacb 100755
--- a/previous-versions/assess/src/codatassess/models/shared/enhancedreport.py
+++ b/previous-versions/assess/src/codatassess/models/shared/enhancedreport.py
@@ -6,11 +6,11 @@
from ..shared import enhancedreportinfo as shared_enhancedreportinfo
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from decimal import Decimal
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class EnhancedReportReportItem:
account_category: Optional[shared_enhancedreportaccountcategory.EnhancedReportAccountCategory] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountCategory'), 'exclude': lambda f: f is None }})
@@ -18,7 +18,7 @@ class EnhancedReportReportItem:
r"""The unique account ID."""
account_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountName'), 'exclude': lambda f: f is None }})
r"""Name of the account."""
- balance: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('balance'), 'exclude': lambda f: f is None }})
+ balance: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('balance'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""Balance of the account as reported on the profit and loss or Balance sheet."""
date_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('date'), 'exclude': lambda f: f is None }})
r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
@@ -46,12 +46,10 @@ class EnhancedReportReportItem:
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class EnhancedReport:
- r"""OK"""
report_info: Optional[shared_enhancedreportinfo.EnhancedReportInfo] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportInfo'), 'exclude': lambda f: f is None }})
- report_items: Optional[list[EnhancedReportReportItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
+ report_items: Optional[List[EnhancedReportReportItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
r"""An array of report items."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/enhancedreportaccountcategory.py b/previous-versions/assess/src/codatassess/models/shared/enhancedreportaccountcategory.py
index d9a17b9c8..42893b1a4 100755
--- a/previous-versions/assess/src/codatassess/models/shared/enhancedreportaccountcategory.py
+++ b/previous-versions/assess/src/codatassess/models/shared/enhancedreportaccountcategory.py
@@ -5,14 +5,13 @@
from ..shared import accountcategorylevel as shared_accountcategorylevel
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class EnhancedReportAccountCategory:
- levels: Optional[list[shared_accountcategorylevel.AccountCategoryLevel]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('levels'), 'exclude': lambda f: f is None }})
+ levels: Optional[List[shared_accountcategorylevel.AccountCategoryLevel]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('levels'), 'exclude': lambda f: f is None }})
status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }})
r"""Returns a status of \\"Suggested\\" or \\"Confirmed\\". If an account has a confirmed category, it will replace any suggested category returned."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/enhancedreportinfo.py b/previous-versions/assess/src/codatassess/models/shared/enhancedreportinfo.py
index fdd6c9c81..6edc72bdf 100755
--- a/previous-versions/assess/src/codatassess/models/shared/enhancedreportinfo.py
+++ b/previous-versions/assess/src/codatassess/models/shared/enhancedreportinfo.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class EnhancedReportInfo:
company_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyName'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/errormessage.py b/previous-versions/assess/src/codatassess/models/shared/errormessage.py
index 71be5b431..d663da52e 100755
--- a/previous-versions/assess/src/codatassess/models/shared/errormessage.py
+++ b/previous-versions/assess/src/codatassess/models/shared/errormessage.py
@@ -8,15 +8,19 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ErrorMessage:
- r"""Your API request was not properly authorized."""
can_be_retried: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('canBeRetried'), 'exclude': lambda f: f is None }})
+ r"""`True` if the error occurred transiently and can be retried."""
correlation_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('correlationId'), 'exclude': lambda f: f is None }})
+ r"""Unique identifier used to propagate to all downstream services and determine the source of the error."""
detailed_error_code: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('detailedErrorCode'), 'exclude': lambda f: f is None }})
+ r"""Machine readable error code used to automate processes based on the code returned."""
error: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('error'), 'exclude': lambda f: f is None }})
+ r"""A brief description of the error."""
service: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('service'), 'exclude': lambda f: f is None }})
+ r"""Codat's service the returned the error."""
status_code: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('statusCode'), 'exclude': lambda f: f is None }})
+ r"""The HTTP status code returned by the error."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/excelreporttype.py b/previous-versions/assess/src/codatassess/models/shared/excelreporttype.py
index 942ad4cb6..402910c2d 100755
--- a/previous-versions/assess/src/codatassess/models/shared/excelreporttype.py
+++ b/previous-versions/assess/src/codatassess/models/shared/excelreporttype.py
@@ -4,7 +4,6 @@
from enum import Enum
class ExcelReportType(str, Enum):
- r"""The type of report you want to generate and download."""
ASSESS = 'assess'
AUDIT = 'audit'
ENHANCED_FINANCIALS = 'enhancedFinancials'
diff --git a/previous-versions/assess/src/codatassess/models/shared/excelstatus.py b/previous-versions/assess/src/codatassess/models/shared/excelstatus.py
index 79327efd0..20ee2fcb9 100755
--- a/previous-versions/assess/src/codatassess/models/shared/excelstatus.py
+++ b/previous-versions/assess/src/codatassess/models/shared/excelstatus.py
@@ -9,13 +9,11 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ExcelStatus:
- r"""OK"""
error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage'), 'exclude': lambda f: f is None }})
r"""Error details in case the report generation request was unsuccessful."""
- file_size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('fileSize'), 'exclude': lambda f: f is None }})
+ file_size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('fileSize') }})
r"""The file size in Bytes is populated upon successful generation of the report."""
in_progress: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('inProgress'), 'exclude': lambda f: f is None }})
r"""When true, the request was successful and the report is being generated. If false, the request was unsuccessful and the report is not being generated."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/halref.py b/previous-versions/assess/src/codatassess/models/shared/halref.py
index 6d91620a5..d4c3d7932 100755
--- a/previous-versions/assess/src/codatassess/models/shared/halref.py
+++ b/previous-versions/assess/src/codatassess/models/shared/halref.py
@@ -8,9 +8,9 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class HalRef:
href: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('href'), 'exclude': lambda f: f is None }})
+ r"""Uri hypertext reference."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/itemref.py b/previous-versions/assess/src/codatassess/models/shared/itemref.py
index a2e57f577..f6d839901 100755
--- a/previous-versions/assess/src/codatassess/models/shared/itemref.py
+++ b/previous-versions/assess/src/codatassess/models/shared/itemref.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ItemRef:
data_connection_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionId'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/lendingcustomerref.py b/previous-versions/assess/src/codatassess/models/shared/lendingcustomerref.py
index 14bd07e8f..d15988808 100755
--- a/previous-versions/assess/src/codatassess/models/shared/lendingcustomerref.py
+++ b/previous-versions/assess/src/codatassess/models/shared/lendingcustomerref.py
@@ -8,12 +8,11 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class LendingCustomerRef:
- customer_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('customerName'), 'exclude': lambda f: f is None }})
- r"""`customerName` from the Customer data type"""
+ customer_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('customerName') }})
+ r"""`customerName` from the Customer data type."""
id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }})
- r"""`id` from the Customers data type"""
+ r"""`id` from the Customers data type."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/links.py b/previous-versions/assess/src/codatassess/models/shared/links.py
index 8b0e1069e..633a7b39b 100755
--- a/previous-versions/assess/src/codatassess/models/shared/links.py
+++ b/previous-versions/assess/src/codatassess/models/shared/links.py
@@ -9,7 +9,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Links:
current: shared_halref.HalRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('current') }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/loanref.py b/previous-versions/assess/src/codatassess/models/shared/loanref.py
index 58218d2b1..a83ec194b 100755
--- a/previous-versions/assess/src/codatassess/models/shared/loanref.py
+++ b/previous-versions/assess/src/codatassess/models/shared/loanref.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class LoanRef:
data_connection_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionId'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/loansummary.py b/previous-versions/assess/src/codatassess/models/shared/loansummary.py
index 5174e71e5..b25c6892a 100755
--- a/previous-versions/assess/src/codatassess/models/shared/loansummary.py
+++ b/previous-versions/assess/src/codatassess/models/shared/loansummary.py
@@ -6,16 +6,14 @@
from ..shared import loansummaryreportitem as shared_loansummaryreportitem
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class LoanSummary:
- r"""OK"""
report_info: Optional[shared_loansummaryreportinfo.LoanSummaryReportInfo] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportInfo'), 'exclude': lambda f: f is None }})
- report_items: Optional[list[shared_loansummaryreportitem.LoanSummaryReportItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
+ report_items: Optional[List[shared_loansummaryreportitem.LoanSummaryReportItem]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
r"""Returns a summary of all loan activity for that integration type"""
diff --git a/previous-versions/assess/src/codatassess/models/shared/loansummaryrecordref.py b/previous-versions/assess/src/codatassess/models/shared/loansummaryrecordref.py
index bbec9645f..c0b5e8e65 100755
--- a/previous-versions/assess/src/codatassess/models/shared/loansummaryrecordref.py
+++ b/previous-versions/assess/src/codatassess/models/shared/loansummaryrecordref.py
@@ -10,7 +10,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class LoanSummaryRecordRef:
data_connection_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionId'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/loansummaryreportinfo.py b/previous-versions/assess/src/codatassess/models/shared/loansummaryreportinfo.py
index 0d9f2ba4d..2f03dcbb5 100755
--- a/previous-versions/assess/src/codatassess/models/shared/loansummaryreportinfo.py
+++ b/previous-versions/assess/src/codatassess/models/shared/loansummaryreportinfo.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class LoanSummaryReportInfo:
company_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyName'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/loansummaryreportitem.py b/previous-versions/assess/src/codatassess/models/shared/loansummaryreportitem.py
index e4a179f4a..fdc4b2383 100755
--- a/previous-versions/assess/src/codatassess/models/shared/loansummaryreportitem.py
+++ b/previous-versions/assess/src/codatassess/models/shared/loansummaryreportitem.py
@@ -5,17 +5,19 @@
from ..shared import loansummaryrecordref as shared_loansummaryrecordref
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class LoanSummaryReportItem:
- balance: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('balance'), 'exclude': lambda f: f is None }})
+ balance: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('balance'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The loan outstanding balance. This may not equal totalDrawdowns - totalRepayments due to interest which has been accrued."""
description: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('description'), 'exclude': lambda f: f is None }})
r"""The description of the object being referred to. E.g. the account."""
+ lender_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lenderName'), 'exclude': lambda f: f is None }})
+ r"""The name of lender providing the loan."""
record_ref: Optional[shared_loansummaryrecordref.LoanSummaryRecordRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('recordRef'), 'exclude': lambda f: f is None }})
start_date: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('startDate'), '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:
@@ -38,9 +40,9 @@ class LoanSummaryReportItem:
> 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.
"""
- total_drawdowns: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalDrawdowns'), 'exclude': lambda f: f is None }})
+ total_drawdowns: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalDrawdowns'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The total loan drawdowns."""
- total_repayments: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalRepayments'), 'exclude': lambda f: f is None }})
+ total_repayments: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalRepayments'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The total loan repayments which includes capital plus any interest."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/loantransactions.py b/previous-versions/assess/src/codatassess/models/shared/loantransactions.py
index 5716353dc..1510505db 100755
--- a/previous-versions/assess/src/codatassess/models/shared/loantransactions.py
+++ b/previous-versions/assess/src/codatassess/models/shared/loantransactions.py
@@ -6,18 +6,16 @@
from ..shared import reportitems as shared_reportitems
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Any, Optional
+from typing import Any, List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class LoanTransactions:
- r"""OK"""
- errors: Optional[list[Any]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
+ errors: Optional[List[Any]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
r"""If there are no errors, an empty array is returned."""
report_info: Optional[shared_loantransactionsreportinfo.LoanTransactionsReportInfo] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportInfo'), 'exclude': lambda f: f is None }})
- report_items: Optional[list[shared_reportitems.ReportItems]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
+ report_items: Optional[List[shared_reportitems.ReportItems]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportItems'), 'exclude': lambda f: f is None }})
r"""Contains object of reporting properties. The loan ref will reference a different object depending on the integration type."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/loantransactionsreportinfo.py b/previous-versions/assess/src/codatassess/models/shared/loantransactionsreportinfo.py
index 14a13fd6f..4e070509e 100755
--- a/previous-versions/assess/src/codatassess/models/shared/loantransactionsreportinfo.py
+++ b/previous-versions/assess/src/codatassess/models/shared/loantransactionsreportinfo.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class LoanTransactionsReportInfo:
company_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyName'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/payment.py b/previous-versions/assess/src/codatassess/models/shared/payment.py
index fec1d0f35..c12278b87 100755
--- a/previous-versions/assess/src/codatassess/models/shared/payment.py
+++ b/previous-versions/assess/src/codatassess/models/shared/payment.py
@@ -5,15 +5,16 @@
from ..shared import bankingtransactionref as shared_bankingtransactionref
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from decimal import Decimal
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Payment:
- amount: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'exclude': lambda f: f is None }})
- banking_transaction_refs: Optional[list[shared_bankingtransactionref.BankingTransactionRef]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bankingTransactionRefs'), 'exclude': lambda f: f is None }})
+ amount: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
+ r"""Payment amount."""
+ banking_transaction_refs: Optional[List[shared_bankingtransactionref.BankingTransactionRef]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bankingTransactionRefs'), '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"""The currency data type in Codat is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, e.g. _GBP_.
@@ -23,7 +24,7 @@ class Payment:
There are only a very small number of edge cases where this currency code is returned by the Codat system.
"""
- currency_rate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('currencyRate'), '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.
Currency rates in Codat are implemented as the multiple of foreign currency units to each base currency unit.
@@ -72,7 +73,8 @@ class Payment:
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }})
- r"""ID of the invoice, which may be a GUID but it may be something else depending on the accounting platform"""
+ r"""ID of the invoice, which may be a GUID but it may be something else depending on the accounting platform."""
payment_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('paymentType'), 'exclude': lambda f: f is None }})
+ r"""The type of payment."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/periodunit.py b/previous-versions/assess/src/codatassess/models/shared/periodunit.py
index 47c73849c..331f13810 100755
--- a/previous-versions/assess/src/codatassess/models/shared/periodunit.py
+++ b/previous-versions/assess/src/codatassess/models/shared/periodunit.py
@@ -4,7 +4,6 @@
from enum import Enum
class PeriodUnit(str, Enum):
- r"""The period unit of time returned."""
DAY = 'Day'
WEEK = 'Week'
MONTH = 'Month'
diff --git a/previous-versions/assess/src/codatassess/models/shared/report.py b/previous-versions/assess/src/codatassess/models/shared/report.py
index 4356eeeaa..33bfd233c 100755
--- a/previous-versions/assess/src/codatassess/models/shared/report.py
+++ b/previous-versions/assess/src/codatassess/models/shared/report.py
@@ -8,11 +8,10 @@
from ..shared import commercereportmeasure as shared_commercereportmeasure
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import Dict, List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Report:
r"""## Structure
@@ -57,10 +56,10 @@ class Report:
## Dimensions
"""
- dimensions: Optional[list[shared_commercereportdimension.CommerceReportDimension]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dimensions'), 'exclude': lambda f: f is None }})
- errors: Optional[list[shared_commercereporterror.CommerceReportError]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
- measures: Optional[list[shared_commercereportmeasure.CommerceReportMeasure]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('measures'), 'exclude': lambda f: f is None }})
- report_data: Optional[list[shared_commercereportcomponent.CommerceReportComponent]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportData'), 'exclude': lambda f: f is None }})
- report_info: Optional[dict[str, str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportInfo'), 'exclude': lambda f: f is None }})
+ dimensions: Optional[List[shared_commercereportdimension.CommerceReportDimension]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dimensions'), 'exclude': lambda f: f is None }})
+ errors: Optional[List[shared_commercereporterror.CommerceReportError]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }})
+ measures: Optional[List[shared_commercereportmeasure.CommerceReportMeasure]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('measures'), 'exclude': lambda f: f is None }})
+ report_data: Optional[List[shared_commercereportcomponent.CommerceReportComponent]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportData'), 'exclude': lambda f: f is None }})
+ report_info: Optional[Dict[str, str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportInfo'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/reportcomponentmeasure.py b/previous-versions/assess/src/codatassess/models/shared/reportcomponentmeasure.py
index e0db40be6..2eace5a14 100755
--- a/previous-versions/assess/src/codatassess/models/shared/reportcomponentmeasure.py
+++ b/previous-versions/assess/src/codatassess/models/shared/reportcomponentmeasure.py
@@ -4,15 +4,18 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from typing import Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ReportComponentMeasure:
index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }})
+ r"""The measure's index."""
measure_display_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('measureDisplayName'), 'exclude': lambda f: f is None }})
- value: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('value'), 'exclude': lambda f: f is None }})
+ r"""The measure's display name."""
+ value: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('value'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
+ r"""The measure's value."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/reportinfo.py b/previous-versions/assess/src/codatassess/models/shared/reportinfo.py
index 82b0c2a6d..abfec35be 100755
--- a/previous-versions/assess/src/codatassess/models/shared/reportinfo.py
+++ b/previous-versions/assess/src/codatassess/models/shared/reportinfo.py
@@ -8,20 +8,19 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ReportInfo:
- r"""Report additional information, which is specific to Assess reports"""
+ r"""Report additional information, which is specific to Lending API reports."""
company_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyName'), 'exclude': lambda f: f is None }})
r"""The name of the company being queried."""
generated_date: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('generatedDate'), 'exclude': lambda f: f is None }})
- r"""Date the report was generated"""
+ r"""Date the report was generated."""
page_number: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber'), 'exclude': lambda f: f is None }})
r"""The number of the page queried."""
page_size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize'), 'exclude': lambda f: f is None }})
r"""The number of transactions returned per page."""
report_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('reportName'), 'exclude': lambda f: f is None }})
- r"""Name of the report"""
+ r"""Name of the report."""
total_results: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalResults'), 'exclude': lambda f: f is None }})
r"""The total number of transactions available for a company for the period specified in the query string."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/reportitems.py b/previous-versions/assess/src/codatassess/models/shared/reportitems.py
index 508e74a1f..cc1ef6c85 100755
--- a/previous-versions/assess/src/codatassess/models/shared/reportitems.py
+++ b/previous-versions/assess/src/codatassess/models/shared/reportitems.py
@@ -6,10 +6,12 @@
from ..shared import loanref as shared_loanref
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
+from decimal import Decimal
from enum import Enum
from typing import Optional
class ReportItemsLoanTransactionType(str, Enum):
+ r"""The type of loan transaction."""
INVESTMENT = 'Investment'
REPAYMENT = 'Repayment'
INTEREST = 'Interest'
@@ -17,10 +19,9 @@ class ReportItemsLoanTransactionType(str, Enum):
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class ReportItems:
- amount: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'exclude': lambda f: f is None }})
+ amount: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('amount'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""The loan transaction amount."""
date_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('date'), 'exclude': lambda f: f is None }})
r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example:
@@ -44,7 +45,10 @@ class ReportItems:
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.
"""
item_ref: Optional[shared_itemref.ItemRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('itemRef'), 'exclude': lambda f: f is None }})
+ lender_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lenderName'), 'exclude': lambda f: f is None }})
+ r"""The name of lender providing the loan."""
loan_ref: Optional[shared_loanref.LoanRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('loanRef'), 'exclude': lambda f: f is None }})
loan_transaction_type: Optional[ReportItemsLoanTransactionType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('loanTransactionType'), 'exclude': lambda f: f is None }})
+ r"""The type of loan transaction."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/security.py b/previous-versions/assess/src/codatassess/models/shared/security.py
index a72246378..1d57f5faa 100755
--- a/previous-versions/assess/src/codatassess/models/shared/security.py
+++ b/previous-versions/assess/src/codatassess/models/shared/security.py
@@ -4,7 +4,6 @@
import dataclasses
-
@dataclasses.dataclass
class Security:
auth_header: str = dataclasses.field(metadata={'security': { 'scheme': True, 'type': 'apiKey', 'sub_type': 'header', 'field_name': 'Authorization' }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/sourceref.py b/previous-versions/assess/src/codatassess/models/shared/sourceref.py
index ebedbbd4a..9f8611fd2 100755
--- a/previous-versions/assess/src/codatassess/models/shared/sourceref.py
+++ b/previous-versions/assess/src/codatassess/models/shared/sourceref.py
@@ -8,7 +8,6 @@
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class SourceRef:
r"""A source reference containing the `sourceType` object \\"Banking\\"."""
diff --git a/previous-versions/assess/src/codatassess/models/shared/status.py b/previous-versions/assess/src/codatassess/models/shared/status.py
index 1e7cab166..6b978e5b3 100755
--- a/previous-versions/assess/src/codatassess/models/shared/status.py
+++ b/previous-versions/assess/src/codatassess/models/shared/status.py
@@ -5,14 +5,12 @@
from ..shared import dataintegritystatus as shared_dataintegritystatus
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Status:
- r"""OK"""
- metadata: Optional[list[shared_dataintegritystatus.DataIntegrityStatus]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('metadata'), 'exclude': lambda f: f is None }})
+ metadata: Optional[List[shared_dataintegritystatus.DataIntegrityStatus]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('metadata'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/summaries.py b/previous-versions/assess/src/codatassess/models/shared/summaries.py
index d3effde35..908f7af95 100755
--- a/previous-versions/assess/src/codatassess/models/shared/summaries.py
+++ b/previous-versions/assess/src/codatassess/models/shared/summaries.py
@@ -5,14 +5,12 @@
from ..shared import dataintegritysummary as shared_dataintegritysummary
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class Summaries:
- r"""OK"""
- summaries: Optional[list[shared_dataintegritysummary.DataIntegritySummary]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summaries'), 'exclude': lambda f: f is None }})
+ summaries: Optional[List[shared_dataintegritysummary.DataIntegritySummary]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summaries'), 'exclude': lambda f: f is None }})
diff --git a/previous-versions/assess/src/codatassess/models/shared/transactioncategory.py b/previous-versions/assess/src/codatassess/models/shared/transactioncategory.py
index 659a8b861..cee30ee51 100755
--- a/previous-versions/assess/src/codatassess/models/shared/transactioncategory.py
+++ b/previous-versions/assess/src/codatassess/models/shared/transactioncategory.py
@@ -4,16 +4,16 @@
import dataclasses
from codatassess import utils
from dataclasses_json import Undefined, dataclass_json
-from typing import Optional
+from decimal import Decimal
+from typing import List, Optional
@dataclass_json(undefined=Undefined.EXCLUDE)
-
@dataclasses.dataclass
class TransactionCategory:
- confidence: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('confidence'), 'exclude': lambda f: f is None }})
+ confidence: Optional[Decimal] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('confidence'), 'encoder': utils.decimalencoder(True, False), 'decoder': utils.decimaldecoder, 'exclude': lambda f: f is None }})
r"""Returns the confidence of the suggested category for the transaction. The value is between 0 and 100."""
- levels: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('levels'), 'exclude': lambda f: f is None }})
+ levels: Optional[List[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('levels'), 'exclude': lambda f: f is None }})
r"""The suggested category is an ordered array of category levels where each element (or level) is a subcategory of the previous element (or level)."""
diff --git a/previous-versions/assess/src/codatassess/models/webhooks/account_categories_updated.py b/previous-versions/assess/src/codatassess/models/webhooks/account_categories_updated.py
index b6a270f5b..0e103b30c 100755
--- a/previous-versions/assess/src/codatassess/models/webhooks/account_categories_updated.py
+++ b/previous-versions/assess/src/codatassess/models/webhooks/account_categories_updated.py
@@ -6,11 +6,13 @@
from typing import Optional
-
@dataclasses.dataclass
class AccountCategoriesUpdatedResponse:
content_type: str = dataclasses.field()
+ r"""HTTP response content type for this operation"""
status_code: int = dataclasses.field()
+ r"""HTTP response status code for this operation"""
raw_response: Optional[requests_http.Response] = dataclasses.field(default=None)
+ r"""Raw HTTP response; suitable for custom response parsing"""
diff --git a/previous-versions/assess/src/codatassess/reports.py b/previous-versions/assess/src/codatassess/reports.py
index 132391b61..69e95a8f3 100755
--- a/previous-versions/assess/src/codatassess/reports.py
+++ b/previous-versions/assess/src/codatassess/reports.py
@@ -13,6 +13,106 @@ def __init__(self, sdk_config: SDKConfiguration) -> None:
self.sdk_configuration = sdk_config
+ def generate_loan_summary(self, request: operations.GenerateLoanSummaryRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GenerateLoanSummaryResponse:
+ r"""Generate loan summaries report
+ The _Generate loan summaries_ endpoint requests the generation of the Loan Summaries report.
+
+ Learn more about Codat's liabilities feature [here](https://docs.codat.io/lending/features/liabilities-overview).
+
+ Make sure you have [synced a company](https://docs.codat.io/codat-api#/operations/refresh-company-data) recently before calling the endpoint.
+ """
+ base_url = utils.template_url(*self.sdk_configuration.get_server_details())
+
+ url = utils.generate_url(operations.GenerateLoanSummaryRequest, base_url, '/companies/{companyId}/reports/liabilities/loans', request)
+ headers = {}
+ query_params = utils.get_query_params(operations.GenerateLoanSummaryRequest, request)
+ headers['Accept'] = 'application/json'
+ headers['user-agent'] = self.sdk_configuration.user_agent
+
+ client = self.sdk_configuration.security_client
+
+ global_retry_config = self.sdk_configuration.retry_config
+ retry_config = retries
+ if retry_config is None:
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+
+ def do_request():
+ return client.request('POST', url, params=query_params, headers=headers)
+
+ http_res = utils.retry(do_request, utils.Retries(retry_config, [
+ '408',
+ '429',
+ '5XX'
+ ]))
+ content_type = http_res.headers.get('Content-Type')
+
+ res = operations.GenerateLoanSummaryResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
+
+ if http_res.status_code == 202:
+ pass
+ elif http_res.status_code in [401, 404]:
+ if utils.match_content_type(content_type, 'application/json'):
+ out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
+ res.error_message = out
+ else:
+ raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+
+ return res
+
+
+ def generate_loan_transactions(self, request: operations.GenerateLoanTransactionsRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GenerateLoanTransactionsResponse:
+ r"""Generate loan transactions report
+ The _Generate loan transactions_ endpoint requests the generation of the Loan Transactions report.
+
+ Learn more about Codat's liabilities feature [here](https://docs.codat.io/lending/features/liabilities-overview).
+
+ Make sure you have [synced a company](https://docs.codat.io/codat-api#/operations/refresh-company-data) recently before calling the endpoint.
+ """
+ base_url = utils.template_url(*self.sdk_configuration.get_server_details())
+
+ url = utils.generate_url(operations.GenerateLoanTransactionsRequest, base_url, '/companies/{companyId}/reports/liabilities/loans/transactions', request)
+ headers = {}
+ query_params = utils.get_query_params(operations.GenerateLoanTransactionsRequest, request)
+ headers['Accept'] = 'application/json'
+ headers['user-agent'] = self.sdk_configuration.user_agent
+
+ client = self.sdk_configuration.security_client
+
+ global_retry_config = self.sdk_configuration.retry_config
+ retry_config = retries
+ if retry_config is None:
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+
+ def do_request():
+ return client.request('POST', url, params=query_params, headers=headers)
+
+ http_res = utils.retry(do_request, utils.Retries(retry_config, [
+ '408',
+ '429',
+ '5XX'
+ ]))
+ content_type = http_res.headers.get('Content-Type')
+
+ res = operations.GenerateLoanTransactionsResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res)
+
+ if http_res.status_code == 202:
+ pass
+ elif http_res.status_code in [401, 404]:
+ if utils.match_content_type(content_type, 'application/json'):
+ out = utils.unmarshal_json(http_res.text, Optional[shared.ErrorMessage])
+ res.error_message = out
+ else:
+ raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res)
+
+ return res
+
+
def get_accounts_for_enhanced_balance_sheet(self, request: operations.GetAccountsForEnhancedBalanceSheetRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetAccountsForEnhancedBalanceSheetResponse:
r"""Get enhanced balance sheet accounts
The Enhanced Balance Sheet Accounts endpoint returns a list of categorized accounts that appear on a company’s Balance Sheet along with a balance per financial statement date.
@@ -25,17 +125,21 @@ def get_accounts_for_enhanced_balance_sheet(self, request: operations.GetAccount
headers = {}
query_params = utils.get_query_params(operations.GetAccountsForEnhancedBalanceSheetRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -73,17 +177,21 @@ def get_accounts_for_enhanced_profit_and_loss(self, request: operations.GetAccou
headers = {}
query_params = utils.get_query_params(operations.GetAccountsForEnhancedProfitAndLossRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -119,17 +227,21 @@ def get_commerce_customer_retention_metrics(self, request: operations.GetCommerc
headers = {}
query_params = utils.get_query_params(operations.GetCommerceCustomerRetentionMetricsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -165,17 +277,21 @@ def get_commerce_lifetime_value_metrics(self, request: operations.GetCommerceLif
headers = {}
query_params = utils.get_query_params(operations.GetCommerceLifetimeValueMetricsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -211,17 +327,21 @@ def get_commerce_orders_metrics(self, request: operations.GetCommerceOrdersMetri
headers = {}
query_params = utils.get_query_params(operations.GetCommerceOrdersMetricsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -257,17 +377,21 @@ def get_commerce_refunds_metrics(self, request: operations.GetCommerceRefundsMet
headers = {}
query_params = utils.get_query_params(operations.GetCommerceRefundsMetricsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -303,17 +427,21 @@ def get_commerce_revenue_metrics(self, request: operations.GetCommerceRevenueMet
headers = {}
query_params = utils.get_query_params(operations.GetCommerceRevenueMetricsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -353,17 +481,21 @@ def get_enhanced_cash_flow_transactions(self, request: operations.GetEnhancedCas
headers = {}
query_params = utils.get_query_params(operations.GetEnhancedCashFlowTransactionsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -399,17 +531,21 @@ def get_enhanced_invoices_report(self, request: operations.GetEnhancedInvoicesRe
headers = {}
query_params = utils.get_query_params(operations.GetEnhancedInvoicesReportRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -436,23 +572,34 @@ def do_request():
def get_loan_summary(self, request: operations.GetLoanSummaryRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetLoanSummaryResponse:
- r"""Get enhanced loan summaries"""
+ r"""Get loan summaries
+ The *Get loan summaries* endpoint returns a summary by integration type of all loans identified from a company's accounting, banking, and commerce integrations.
+
+ The endpoint returns a list of a company's [loan summaries](https://docs.codat.io/codat-api#/schemas/LoanSummary) for each valid data connection.
+
+ Make sure you have [synced a company](https://docs.codat.io/codat-api#/operations/refresh-company-data) recently before calling the endpoint.
+ """
base_url = utils.template_url(*self.sdk_configuration.get_server_details())
- url = utils.generate_url(operations.GetLoanSummaryRequest, base_url, '/companies/{companyId}/reports/enhancedLiabilities/loan', request)
+ url = utils.generate_url(operations.GetLoanSummaryRequest, base_url, '/companies/{companyId}/reports/liabilities/loans', request)
headers = {}
+ query_params = utils.get_query_params(operations.GetLoanSummaryRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
- return client.request('GET', url, headers=headers)
-
+ return client.request('GET', url, params=query_params, headers=headers)
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -487,17 +634,21 @@ def get_recurring_revenue_metrics(self, request: operations.GetRecurringRevenueM
url = utils.generate_url(operations.GetRecurringRevenueMetricsRequest, base_url, '/data/companies/{companyId}/connections/{connectionId}/assess/subscriptions/mrr', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -524,24 +675,34 @@ def do_request():
def list_loan_transactions(self, request: operations.ListLoanTransactionsRequest, retries: Optional[utils.RetryConfig] = None) -> operations.ListLoanTransactionsResponse:
- r"""List enhanced loan transactions"""
+ r"""List loan transactions
+ The *List loan transactions* endpoint returns all [loan transactions](https://docs.codat.io/codat-api#/schemas/LoanTransactions) identified from a company's accounting, banking, and commerce integrations.
+
+ This detail gives analysts a better idea of the loan obligations a company may have.
+
+ Make sure you have [synced a company](https://docs.codat.io/codat-api#/operations/refresh-company-data) recently before calling the endpoint.
+ """
base_url = utils.template_url(*self.sdk_configuration.get_server_details())
- url = utils.generate_url(operations.ListLoanTransactionsRequest, base_url, '/companies/{companyId}/reports/enhancedLiabilities/loan/transactions', request)
+ url = utils.generate_url(operations.ListLoanTransactionsRequest, base_url, '/companies/{companyId}/reports/liabilities/loans/transactions', request)
headers = {}
query_params = utils.get_query_params(operations.ListLoanTransactionsRequest, request)
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, params=query_params, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
@@ -576,17 +737,21 @@ def request_recurring_revenue_metrics(self, request: operations.RequestRecurring
url = utils.generate_url(operations.RequestRecurringRevenueMetricsRequest, base_url, '/data/companies/{companyId}/connections/{connectionId}/assess/subscriptions/process', request)
headers = {}
headers['Accept'] = 'application/json'
- headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version} {self.sdk_configuration.openapi_doc_version}'
+ headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.security_client
+ global_retry_config = self.sdk_configuration.retry_config
retry_config = retries
if retry_config is None:
- retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
+ if global_retry_config:
+ retry_config = global_retry_config
+ else:
+ retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True)
def do_request():
return client.request('GET', url, headers=headers)
-
+
http_res = utils.retry(do_request, utils.Retries(retry_config, [
'408',
'429',
diff --git a/previous-versions/assess/src/codatassess/sdk.py b/previous-versions/assess/src/codatassess/sdk.py
index c205695bb..529e47483 100755
--- a/previous-versions/assess/src/codatassess/sdk.py
+++ b/previous-versions/assess/src/codatassess/sdk.py
@@ -7,6 +7,7 @@
from .sdkconfiguration import SDKConfiguration
from codatassess import utils
from codatassess.models import shared
+from typing import Dict
class CodatAssess:
r"""Assess API: Codat's financial insights API
@@ -26,35 +27,40 @@ class CodatAssess:
sdk_configuration: SDKConfiguration
def __init__(self,
- security: shared.Security = None,
+ auth_header: str,
server_idx: int = None,
server_url: str = None,
- url_params: dict[str, str] = None,
- client: requests_http.Session = None
+ url_params: Dict[str, str] = None,
+ client: requests_http.Session = None,
+ retry_config: utils.RetryConfig = None
) -> None:
"""Instantiates the SDK configuring it with the provided parameters.
- :param security: The security details required for authentication
- :type security: shared.Security
+ :param auth_header: The auth_header required for authentication
+ :type auth_header: str
: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
:type server_url: str
:param url_params: Parameters to optionally template the server URL with
- :type url_params: dict[str, str]
+ :type url_params: Dict[str, str]
:param client: The requests.Session HTTP client to use for all operations
- :type client: requests_http.Session
+ :type client: requests_http.Session
+ :param retry_config: The utils.RetryConfig to use globally
+ :type retry_config: utils.RetryConfig
"""
if client is None:
client = requests_http.Session()
- security_client = utils.configure_security_client(client, security)
+
+ security_client = utils.configure_security_client(client, shared.Security(auth_header = auth_header))
+
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)
+ self.sdk_configuration = SDKConfiguration(client, security_client, server_url, server_idx, retry_config=retry_config)
self._init_sdks()
diff --git a/previous-versions/assess/src/codatassess/sdkconfiguration.py b/previous-versions/assess/src/codatassess/sdkconfiguration.py
index 3bd2d4167..c539ad5dc 100755
--- a/previous-versions/assess/src/codatassess/sdkconfiguration.py
+++ b/previous-versions/assess/src/codatassess/sdkconfiguration.py
@@ -2,6 +2,9 @@
import requests
from dataclasses import dataclass
+from typing import Dict, Tuple
+from .utils.retries import RetryConfig
+from .utils import utils
SERVERS = [
@@ -18,12 +21,14 @@ class SDKConfiguration:
server_idx: int = 0
language: str = 'python'
openapi_doc_version: str = '1.0'
- sdk_version: str = '0.1.0'
- gen_version: str = '2.91.4'
+ sdk_version: str = '0.32.0'
+ gen_version: str = '2.159.2'
+ user_agent: str = 'speakeasy-sdk/python 0.32.0 2.159.2 1.0 codat-assess'
+ retry_config: RetryConfig = None
- def get_server_details(self) -> tuple[str, dict[str, str]]:
+ def get_server_details(self) -> Tuple[str, Dict[str, str]]:
if self.server_url:
- return self.server_url.removesuffix('/'), {}
+ return utils.remove_suffix(self.server_url, '/'), {}
if self.server_idx is None:
self.server_idx = 0
diff --git a/previous-versions/assess/src/codatassess/utils/retries.py b/previous-versions/assess/src/codatassess/utils/retries.py
index 2138c1b5e..25f49a1f2 100755
--- a/previous-versions/assess/src/codatassess/utils/retries.py
+++ b/previous-versions/assess/src/codatassess/utils/retries.py
@@ -2,6 +2,7 @@
import random
import time
+from typing import List
import requests
@@ -32,9 +33,9 @@ def __init__(self, strategy: str, backoff: BackoffStrategy, retry_connection_err
class Retries:
config: RetryConfig
- status_codes: list[str]
+ status_codes: List[str]
- def __init__(self, config: RetryConfig, status_codes: list[str]):
+ def __init__(self, config: RetryConfig, status_codes: List[str]):
self.config = config
self.status_codes = status_codes
diff --git a/previous-versions/assess/src/codatassess/utils/utils.py b/previous-versions/assess/src/codatassess/utils/utils.py
index ea9792d0d..ccfad9f7a 100755
--- a/previous-versions/assess/src/codatassess/utils/utils.py
+++ b/previous-versions/assess/src/codatassess/utils/utils.py
@@ -3,11 +3,14 @@
import base64
import json
import re
+import sys
from dataclasses import Field, dataclass, fields, is_dataclass, make_dataclass
from datetime import date, datetime
+from decimal import Decimal
from email.message import Message
from enum import Enum
-from typing import Any, Callable, Optional, Tuple, Union, get_args, get_origin
+from typing import (Any, Callable, Dict, List, Optional, Tuple, Union,
+ get_args, get_origin)
from xmlrpc.client import boolean
import dateutil.parser
@@ -17,14 +20,14 @@
class SecurityClient:
client: requests.Session
- query_params: dict[str, str] = {}
+ query_params: Dict[str, str] = {}
def __init__(self, client: requests.Session):
self.client = client
def request(self, method, url, **kwargs):
params = kwargs.get('params', {})
- kwargs["params"] = self.query_params | params
+ kwargs["params"] = {**self.query_params, **params}
return self.client.request(method, url, **kwargs)
@@ -67,7 +70,7 @@ def _parse_security_option(client: SecurityClient, option: dataclass):
client, metadata, getattr(option, opt_field.name))
-def _parse_security_scheme(client: SecurityClient, scheme_metadata: dict, scheme: any):
+def _parse_security_scheme(client: SecurityClient, scheme_metadata: Dict, scheme: any):
scheme_type = scheme_metadata.get('type')
sub_type = scheme_metadata.get('sub_type')
@@ -91,7 +94,7 @@ def _parse_security_scheme(client: SecurityClient, scheme_metadata: dict, scheme
client, scheme_metadata, scheme_metadata, scheme)
-def _parse_security_scheme_value(client: SecurityClient, scheme_metadata: dict, security_metadata: dict, value: any):
+def _parse_security_scheme_value(client: SecurityClient, scheme_metadata: Dict, security_metadata: Dict, value: any):
scheme_type = scheme_metadata.get('type')
sub_type = scheme_metadata.get('sub_type')
@@ -112,7 +115,8 @@ def _parse_security_scheme_value(client: SecurityClient, scheme_metadata: dict,
client.client.headers[header_name] = value
elif scheme_type == 'http':
if sub_type == 'bearer':
- client.client.headers[header_name] = value.lower().startswith('bearer ') and value or f'Bearer {value}'
+ client.client.headers[header_name] = value.lower().startswith(
+ 'bearer ') and value or f'Bearer {value}'
else:
raise Exception('not supported')
else:
@@ -142,7 +146,7 @@ def _parse_basic_auth_scheme(client: SecurityClient, scheme: dataclass):
def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass,
- gbls: dict[str, dict[str, dict[str, Any]]] = None) -> str:
+ gbls: Dict[str, Dict[str, Dict[str, Any]]] = None) -> str:
path_param_fields: Tuple[Field, ...] = fields(clazz)
for field in path_param_fields:
request_metadata = field.metadata.get('request')
@@ -171,16 +175,16 @@ def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass
'{' + key + '}', value, 1)
else:
if param_metadata.get('style', 'simple') == 'simple':
- if isinstance(param, list):
- pp_vals: list[str] = []
+ if isinstance(param, List):
+ pp_vals: List[str] = []
for pp_val in param:
if pp_val is None:
continue
pp_vals.append(_val_to_string(pp_val))
path = path.replace(
'{' + param_metadata.get('field_name', field.name) + '}', ",".join(pp_vals), 1)
- elif isinstance(param, dict):
- pp_vals: list[str] = []
+ elif isinstance(param, Dict):
+ pp_vals: List[str] = []
for pp_key in param:
if param[pp_key] is None:
continue
@@ -192,8 +196,8 @@ def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass
f"{pp_key},{_val_to_string(param[pp_key])}")
path = path.replace(
'{' + param_metadata.get('field_name', field.name) + '}', ",".join(pp_vals), 1)
- elif not isinstance(param, (str, int, float, complex, bool)):
- pp_vals: list[str] = []
+ elif not isinstance(param, (str, int, float, complex, bool, Decimal)):
+ pp_vals: List[str] = []
param_fields: Tuple[Field, ...] = fields(param)
for param_field in param_fields:
param_value_metadata = param_field.metadata.get(
@@ -219,14 +223,14 @@ def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass
path = path.replace(
'{' + param_metadata.get('field_name', field.name) + '}', _val_to_string(param), 1)
- return server_url.removesuffix("/") + path
+ return remove_suffix(server_url, '/') + path
def is_optional(field):
return get_origin(field) is Union and type(None) in get_args(field)
-def template_url(url_with_params: str, params: dict[str, str]) -> str:
+def template_url(url_with_params: str, params: Dict[str, str]) -> str:
for key, value in params.items():
url_with_params = url_with_params.replace(
'{' + key + '}', value)
@@ -234,9 +238,9 @@ def template_url(url_with_params: str, params: dict[str, str]) -> str:
return url_with_params
-def get_query_params(clazz: type, query_params: dataclass, gbls: dict[str, dict[str, dict[str, Any]]] = None) -> dict[
- str, list[str]]:
- params: dict[str, list[str]] = {}
+def get_query_params(clazz: type, query_params: dataclass, gbls: Dict[str, Dict[str, Dict[str, Any]]] = None) -> Dict[
+ str, List[str]]:
+ params: Dict[str, List[str]] = {}
param_fields: Tuple[Field, ...] = fields(clazz)
for field in param_fields:
@@ -266,24 +270,24 @@ def get_query_params(clazz: type, query_params: dataclass, gbls: dict[str, dict[
else:
style = metadata.get('style', 'form')
if style == 'deepObject':
- params = params | _get_deep_object_query_params(
- metadata, f_name, value)
+ params = {**params, **_get_deep_object_query_params(
+ metadata, f_name, value)}
elif style == 'form':
- params = params | _get_delimited_query_params(
- metadata, f_name, value, ",")
+ params = {**params, **_get_delimited_query_params(
+ metadata, f_name, value, ",")}
elif style == 'pipeDelimited':
- params = params | _get_delimited_query_params(
- metadata, f_name, value, "|")
+ params = {**params, **_get_delimited_query_params(
+ metadata, f_name, value, "|")}
else:
raise Exception('not yet implemented')
return params
-def get_headers(headers_params: dataclass) -> dict[str, str]:
+def get_headers(headers_params: dataclass) -> Dict[str, str]:
if headers_params is None:
return {}
- headers: dict[str, str] = {}
+ headers: Dict[str, str] = {}
param_fields: Tuple[Field, ...] = fields(headers_params)
for field in param_fields:
@@ -300,8 +304,8 @@ def get_headers(headers_params: dataclass) -> dict[str, str]:
return headers
-def _get_serialized_params(metadata: dict, field_name: str, obj: any) -> dict[str, str]:
- params: dict[str, str] = {}
+def _get_serialized_params(metadata: Dict, field_name: str, obj: any) -> Dict[str, str]:
+ params: Dict[str, str] = {}
serialization = metadata.get('serialization', '')
if serialization == 'json':
@@ -310,8 +314,8 @@ def _get_serialized_params(metadata: dict, field_name: str, obj: any) -> dict[st
return params
-def _get_deep_object_query_params(metadata: dict, field_name: str, obj: any) -> dict[str, list[str]]:
- params: dict[str, list[str]] = {}
+def _get_deep_object_query_params(metadata: Dict, field_name: str, obj: any) -> Dict[str, List[str]]:
+ params: Dict[str, List[str]] = {}
if obj is None:
return params
@@ -327,7 +331,7 @@ def _get_deep_object_query_params(metadata: dict, field_name: str, obj: any) ->
if obj_val is None:
continue
- if isinstance(obj_val, list):
+ if isinstance(obj_val, List):
for val in obj_val:
if val is None:
continue
@@ -345,12 +349,12 @@ def _get_deep_object_query_params(metadata: dict, field_name: str, obj: any) ->
params[
f'{metadata.get("field_name", field_name)}[{obj_param_metadata.get("field_name", obj_field.name)}]'] = [
_val_to_string(obj_val)]
- elif isinstance(obj, dict):
+ elif isinstance(obj, Dict):
for key, value in obj.items():
if value is None:
continue
- if isinstance(value, list):
+ if isinstance(value, List):
for val in value:
if val is None:
continue
@@ -376,8 +380,8 @@ def _get_query_param_field_name(obj_field: Field) -> str:
return obj_param_metadata.get("field_name", obj_field.name)
-def _get_delimited_query_params(metadata: dict, field_name: str, obj: any, delimiter: str) -> dict[
- str, list[str]]:
+def _get_delimited_query_params(metadata: Dict, field_name: str, obj: any, delimiter: str) -> Dict[
+ str, List[str]]:
return _populate_form(field_name, metadata.get("explode", True), obj, _get_query_param_field_name, delimiter)
@@ -390,17 +394,22 @@ def _get_delimited_query_params(metadata: dict, field_name: str, obj: any, delim
}
-def serialize_request_body(request: dataclass, request_field_name: str, serialization_method: str) -> Tuple[
- str, any, any]:
+def serialize_request_body(request: dataclass, request_field_name: str, nullable: bool, optional: bool, serialization_method: str, encoder=None) -> Tuple[
+ str, any, any]:
if request is None:
- return None, None, None, None
+ if not nullable and optional:
+ return None, None, None
if not is_dataclass(request) or not hasattr(request, request_field_name):
return serialize_content_type(request_field_name, SERIALIZATION_METHOD_TO_CONTENT_TYPE[serialization_method],
- request)
+ request, encoder)
request_val = getattr(request, request_field_name)
+ if request_val is None:
+ if not nullable and optional:
+ return None, None, None
+
request_fields: Tuple[Field, ...] = fields(request)
request_metadata = None
@@ -416,9 +425,9 @@ def serialize_request_body(request: dataclass, request_field_name: str, serializ
request_val)
-def serialize_content_type(field_name: str, media_type: str, request: dataclass) -> Tuple[str, any, list[list[any]]]:
+def serialize_content_type(field_name: str, media_type: str, request: dataclass, encoder=None) -> Tuple[str, any, List[List[any]]]:
if re.match(r'(application|text)\/.*?\+*json.*', media_type) is not None:
- return media_type, marshal_json(request), None
+ return media_type, marshal_json(request, encoder), None
if re.match(r'multipart\/.*', media_type) is not None:
return serialize_multipart_form(media_type, request)
if re.match(r'application\/x-www-form-urlencoded.*', media_type) is not None:
@@ -432,8 +441,8 @@ def serialize_content_type(field_name: str, media_type: str, request: dataclass)
f"invalid request body type {type(request)} for mediaType {media_type}")
-def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str, any, list[list[any]]]:
- form: list[list[any]] = []
+def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str, any, List[List[any]]]:
+ form: List[List[any]] = []
request_fields = fields(request)
for field in request_fields:
@@ -474,7 +483,7 @@ def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str,
else:
field_name = field_metadata.get(
"field_name", field.name)
- if isinstance(val, list):
+ if isinstance(val, List):
for value in val:
if value is None:
continue
@@ -485,8 +494,8 @@ def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str,
return media_type, None, form
-def serialize_dict(original: dict, explode: bool, field_name, existing: Optional[dict[str, list[str]]]) -> dict[
- str, list[str]]:
+def serialize_dict(original: Dict, explode: bool, field_name, existing: Optional[Dict[str, List[str]]]) -> Dict[
+ str, List[str]]:
if existing is None:
existing = []
@@ -506,8 +515,8 @@ def serialize_dict(original: dict, explode: bool, field_name, existing: Optional
return existing
-def serialize_form_data(field_name: str, data: dataclass) -> dict[str, any]:
- form: dict[str, list[str]] = {}
+def serialize_form_data(field_name: str, data: dataclass) -> Dict[str, any]:
+ form: Dict[str, List[str]] = {}
if is_dataclass(data):
for field in fields(data):
@@ -525,12 +534,12 @@ def serialize_form_data(field_name: str, data: dataclass) -> dict[str, any]:
form[field_name] = [marshal_json(val)]
else:
if metadata.get('style', 'form') == 'form':
- form = form | _populate_form(
- field_name, metadata.get('explode', True), val, _get_form_field_name, ",")
+ form = {**form, **_populate_form(
+ field_name, metadata.get('explode', True), val, _get_form_field_name, ",")}
else:
raise Exception(
f'Invalid form style for field {field.name}')
- elif isinstance(data, dict):
+ elif isinstance(data, Dict):
for key, value in data.items():
form[key] = [_val_to_string(value)]
else:
@@ -549,8 +558,8 @@ def _get_form_field_name(obj_field: Field) -> str:
def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_func: Callable, delimiter: str) -> \
- dict[str, list[str]]:
- params: dict[str, list[str]] = {}
+ Dict[str, List[str]]:
+ params: Dict[str, List[str]] = {}
if obj is None:
return params
@@ -576,7 +585,7 @@ def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_f
if len(items) > 0:
params[field_name] = [delimiter.join(items)]
- elif isinstance(obj, dict):
+ elif isinstance(obj, Dict):
items = []
for key, value in obj.items():
if value is None:
@@ -589,7 +598,7 @@ def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_f
if len(items) > 0:
params[field_name] = [delimiter.join(items)]
- elif isinstance(obj, list):
+ elif isinstance(obj, List):
items = []
for value in obj:
@@ -604,7 +613,8 @@ def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_f
items.append(_val_to_string(value))
if len(items) > 0:
- params[field_name] = [delimiter.join([str(item) for item in items])]
+ params[field_name] = [delimiter.join(
+ [str(item) for item in items])]
else:
params[field_name] = [_val_to_string(obj)]
@@ -642,7 +652,7 @@ def _serialize_header(explode: bool, obj: any) -> str:
if len(items) > 0:
return ','.join(items)
- elif isinstance(obj, dict):
+ elif isinstance(obj, Dict):
items = []
for key, value in obj.items():
@@ -657,7 +667,7 @@ def _serialize_header(explode: bool, obj: any) -> str:
if len(items) > 0:
return ','.join([str(item) for item in items])
- elif isinstance(obj, list):
+ elif isinstance(obj, List):
items = []
for value in obj:
@@ -674,23 +684,28 @@ def _serialize_header(explode: bool, obj: any) -> str:
return ''
-def unmarshal_json(data, typ):
+def unmarshal_json(data, typ, decoder=None):
unmarshal = make_dataclass('Unmarshal', [('res', typ)],
bases=(DataClassJsonMixin,))
json_dict = json.loads(data)
try:
out = unmarshal.from_dict({"res": json_dict})
except AttributeError as attr_err:
- raise AttributeError(f'unable to unmarshal {data} as {typ}') from attr_err
- return out.res
+ raise AttributeError(
+ f'unable to unmarshal {data} as {typ}') from attr_err
+
+ return out.res if decoder is None else decoder(out.res)
-def marshal_json(val):
+def marshal_json(val, encoder=None):
marshal = make_dataclass('Marshal', [('res', type(val))],
bases=(DataClassJsonMixin,))
marshaller = marshal(res=val)
json_dict = marshaller.to_dict()
- return json.dumps(json_dict["res"])
+
+ val = json_dict["res"] if encoder is None else encoder(json_dict["res"])
+
+ return json.dumps(val)
def match_content_type(content_type: str, pattern: str) -> boolean:
@@ -734,6 +749,86 @@ def datefromisoformat(date_str: str):
return dateutil.parser.parse(date_str).date()
+def bigintencoder(optional: bool):
+ def bigintencode(val: int):
+ if optional and val is None:
+ return None
+ return str(val)
+
+ return bigintencode
+
+
+def bigintdecoder(val):
+ return int(val)
+
+
+def decimalencoder(optional: bool, as_str: bool):
+ def decimalencode(val: Decimal):
+ if optional and val is None:
+ return None
+
+ if as_str:
+ return str(val)
+
+ return float(val)
+
+ return decimalencode
+
+
+def decimaldecoder(val):
+ return Decimal(str(val))
+
+
+def map_encoder(optional: bool, value_encoder: Callable):
+ def map_encode(val: Dict):
+ if optional and val is None:
+ return None
+
+ encoded = {}
+ for key, value in val.items():
+ encoded[key] = value_encoder(value)
+
+ return encoded
+
+ return map_encode
+
+
+def map_decoder(value_decoder: Callable):
+ def map_decode(val: Dict):
+ decoded = {}
+ for key, value in val.items():
+ decoded[key] = value_decoder(value)
+
+ return decoded
+
+ return map_decode
+
+
+def list_encoder(optional: bool, value_encoder: Callable):
+ def list_encode(val: List):
+ if optional and val is None:
+ return None
+
+ encoded = []
+ for value in val:
+ encoded.append(value_encoder(value))
+
+ return encoded
+
+ return list_encode
+
+
+def list_decoder(value_decoder: Callable):
+ def list_decode(val: List):
+ decoded = []
+ for value in val:
+ decoded.append(value_decoder(value))
+
+ return decoded
+
+ return list_decode
+
+
def get_field_name(name):
def override(_, _field_name=name):
return _field_name
@@ -752,7 +847,7 @@ def _val_to_string(val):
return str(val)
-def _populate_from_globals(param_name: str, value: any, param_type: str, gbls: dict[str, dict[str, dict[str, Any]]]):
+def _populate_from_globals(param_name: str, value: any, param_type: str, gbls: Dict[str, Dict[str, Dict[str, Any]]]):
if value is None and gbls is not None:
if 'parameters' in gbls:
if param_type in gbls['parameters']:
@@ -762,3 +857,16 @@ def _populate_from_globals(param_name: str, value: any, param_type: str, gbls: d
value = global_value
return value
+
+
+def decoder_with_discriminator(field_name):
+ def decode_fx(obj):
+ kls = getattr(sys.modules['sdk.models.shared'], obj[field_name])
+ return unmarshal_json(json.dumps(obj), kls)
+ return decode_fx
+
+
+def remove_suffix(input_string, suffix):
+ if suffix and input_string.endswith(suffix):
+ return input_string[:-len(suffix)]
+ return input_string