diff --git a/auto-generated-sdk/.openapi-generator/FILES b/auto-generated-sdk/.openapi-generator/FILES
index d0f8c5f..69b7780 100644
--- a/auto-generated-sdk/.openapi-generator/FILES
+++ b/auto-generated-sdk/.openapi-generator/FILES
@@ -68,6 +68,8 @@ docs/FIABCalculationStatusSummary.md
docs/FIABCalculationsApi.md
docs/FIABDateParameters.md
docs/FIABIdentifier.md
+docs/FIAttributionForJobSettings.md
+docs/FIAttributionForSecurities.md
docs/FIBalloonExtension.md
docs/FIBankLoans.md
docs/FICalculationParameters.md
@@ -182,6 +184,8 @@ docs/SPARBenchmarkRoot.md
docs/SPARCalculationParameters.md
docs/SPARCalculationParametersRoot.md
docs/SPARCalculationsApi.md
+docs/SPARComponent.md
+docs/SPARComponentRoot.md
docs/SPARDateParameters.md
docs/SPARIdentifier.md
docs/StrategyDocumentsApi.md
@@ -214,6 +218,9 @@ docs/UnlinkedPATemplateSummaryRoot.md
docs/UnlinkedPATemplateUpdateParameters.md
docs/UnlinkedPATemplateUpdateParametersRoot.md
docs/UnlinkedPATemplatesApi.md
+docs/VaultAttributionLoaderApi.md
+docs/VaultAttributionLoaderResponse.md
+docs/VaultAttributionLoaderResponseRoot.md
docs/VaultCalculationParameters.md
docs/VaultCalculationParametersRoot.md
docs/VaultCalculationsApi.md
@@ -257,6 +264,7 @@ fds/analyticsapi/engines/api/spar_calculations_api.py
fds/analyticsapi/engines/api/strategy_documents_api.py
fds/analyticsapi/engines/api/templated_pa_components_api.py
fds/analyticsapi/engines/api/unlinked_pa_templates_api.py
+fds/analyticsapi/engines/api/vault_attribution_loader_api.py
fds/analyticsapi/engines/api/vault_calculations_api.py
fds/analyticsapi/engines/api_client.py
fds/analyticsapi/engines/apis/__init__.py
@@ -309,6 +317,8 @@ fds/analyticsapi/engines/model/document_directories_root.py
fds/analyticsapi/engines/model/error.py
fds/analyticsapi/engines/model/error_source.py
fds/analyticsapi/engines/model/event_summary.py
+fds/analyticsapi/engines/model/fi_attribution_for_job_settings.py
+fds/analyticsapi/engines/model/fi_attribution_for_securities.py
fds/analyticsapi/engines/model/fi_balloon_extension.py
fds/analyticsapi/engines/model/fi_bank_loans.py
fds/analyticsapi/engines/model/fi_calculation_parameters.py
@@ -417,6 +427,8 @@ fds/analyticsapi/engines/model/spar_benchmark.py
fds/analyticsapi/engines/model/spar_benchmark_root.py
fds/analyticsapi/engines/model/spar_calculation_parameters.py
fds/analyticsapi/engines/model/spar_calculation_parameters_root.py
+fds/analyticsapi/engines/model/spar_component.py
+fds/analyticsapi/engines/model/spar_component_root.py
fds/analyticsapi/engines/model/spar_date_parameters.py
fds/analyticsapi/engines/model/spar_identifier.py
fds/analyticsapi/engines/model/template_content_types.py
@@ -446,6 +458,8 @@ fds/analyticsapi/engines/model/unlinked_pa_template_summary.py
fds/analyticsapi/engines/model/unlinked_pa_template_summary_root.py
fds/analyticsapi/engines/model/unlinked_pa_template_update_parameters.py
fds/analyticsapi/engines/model/unlinked_pa_template_update_parameters_root.py
+fds/analyticsapi/engines/model/vault_attribution_loader_response.py
+fds/analyticsapi/engines/model/vault_attribution_loader_response_root.py
fds/analyticsapi/engines/model/vault_calculation_parameters.py
fds/analyticsapi/engines/model/vault_calculation_parameters_root.py
fds/analyticsapi/engines/model/vault_component.py
diff --git a/auto-generated-sdk/README.md b/auto-generated-sdk/README.md
index 28ee6a8..81425fa 100644
--- a/auto-generated-sdk/README.md
+++ b/auto-generated-sdk/README.md
@@ -123,6 +123,7 @@ Class | Method | HTTP request | Description
*ColumnsApi* | [**get_pa_columns**](docs/ColumnsApi.md#get_pa_columns) | **GET** /analytics/engines/pa/v3/columns | Get PA columns
*ComponentsApi* | [**get_pa_component_by_id**](docs/ComponentsApi.md#get_pa_component_by_id) | **GET** /analytics/engines/pa/v3/components/{id} | Get PA component by id
*ComponentsApi* | [**get_pa_components**](docs/ComponentsApi.md#get_pa_components) | **GET** /analytics/engines/pa/v3/components | Get PA components
+*ComponentsApi* | [**get_spar_component_by_id**](docs/ComponentsApi.md#get_spar_component_by_id) | **GET** /analytics/engines/spar/v3/components/{id} | Get SPAR component by id
*ComponentsApi* | [**get_spar_components**](docs/ComponentsApi.md#get_spar_components) | **GET** /analytics/engines/spar/v3/components | Get SPAR components
*ComponentsApi* | [**get_vault_component_by_id**](docs/ComponentsApi.md#get_vault_component_by_id) | **GET** /analytics/engines/vault/v3/components/{id} | Get Vault component by id
*ComponentsApi* | [**get_vault_components**](docs/ComponentsApi.md#get_vault_components) | **GET** /analytics/engines/vault/v3/components | Get Vault components
@@ -221,6 +222,7 @@ Class | Method | HTTP request | Description
*VaultCalculationsApi* | [**get_calculation_unit_result_by_id**](docs/VaultCalculationsApi.md#get_calculation_unit_result_by_id) | **GET** /analytics/engines/vault/v3/calculations/{id}/units/{unitId}/result | Get Vault calculation result by id
*VaultCalculationsApi* | [**post_and_calculate**](docs/VaultCalculationsApi.md#post_and_calculate) | **POST** /analytics/engines/vault/v3/calculations | Create and Run Vault calculation
*VaultCalculationsApi* | [**put_and_calculate**](docs/VaultCalculationsApi.md#put_and_calculate) | **PUT** /analytics/engines/vault/v3/calculations/{id} | Create or Update Vault calculation and run it.
+*VaultAttributionLoaderApi* | [**vault_attribution_loader**](docs/VaultAttributionLoaderApi.md#vault_attribution_loader) | **POST** /analytics/engines/vault/v3/load/{batchId} | Vault - External Attribution Loader
## Documentation For Models
@@ -276,6 +278,8 @@ Class | Method | HTTP request | Description
- [FIABCalculationStatusSummary](docs/FIABCalculationStatusSummary.md)
- [FIABDateParameters](docs/FIABDateParameters.md)
- [FIABIdentifier](docs/FIABIdentifier.md)
+ - [FIAttributionForJobSettings](docs/FIAttributionForJobSettings.md)
+ - [FIAttributionForSecurities](docs/FIAttributionForSecurities.md)
- [FIBalloonExtension](docs/FIBalloonExtension.md)
- [FIBankLoans](docs/FIBankLoans.md)
- [FICalculationParameters](docs/FICalculationParameters.md)
@@ -379,6 +383,8 @@ Class | Method | HTTP request | Description
- [SPARBenchmarkRoot](docs/SPARBenchmarkRoot.md)
- [SPARCalculationParameters](docs/SPARCalculationParameters.md)
- [SPARCalculationParametersRoot](docs/SPARCalculationParametersRoot.md)
+ - [SPARComponent](docs/SPARComponent.md)
+ - [SPARComponentRoot](docs/SPARComponentRoot.md)
- [SPARDateParameters](docs/SPARDateParameters.md)
- [SPARIdentifier](docs/SPARIdentifier.md)
- [TemplateContentTypes](docs/TemplateContentTypes.md)
@@ -408,6 +414,8 @@ Class | Method | HTTP request | Description
- [UnlinkedPATemplateSummaryRoot](docs/UnlinkedPATemplateSummaryRoot.md)
- [UnlinkedPATemplateUpdateParameters](docs/UnlinkedPATemplateUpdateParameters.md)
- [UnlinkedPATemplateUpdateParametersRoot](docs/UnlinkedPATemplateUpdateParametersRoot.md)
+ - [VaultAttributionLoaderResponse](docs/VaultAttributionLoaderResponse.md)
+ - [VaultAttributionLoaderResponseRoot](docs/VaultAttributionLoaderResponseRoot.md)
- [VaultCalculationParameters](docs/VaultCalculationParameters.md)
- [VaultCalculationParametersRoot](docs/VaultCalculationParametersRoot.md)
- [VaultComponent](docs/VaultComponent.md)
diff --git a/auto-generated-sdk/docs/AFIOptimizationParametersRoot.md b/auto-generated-sdk/docs/AFIOptimizationParametersRoot.md
index abfcd79..0f9831f 100644
--- a/auto-generated-sdk/docs/AFIOptimizationParametersRoot.md
+++ b/auto-generated-sdk/docs/AFIOptimizationParametersRoot.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AFIOptimizationParameters**](AFIOptimizationParameters.md) | | [optional]
-**meta** | **bool, date, datetime, dict, float, int, list, str** | | [optional]
+**meta** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/AxiomaEquityOptimizationParametersRoot.md b/auto-generated-sdk/docs/AxiomaEquityOptimizationParametersRoot.md
index 0d14cae..776085f 100644
--- a/auto-generated-sdk/docs/AxiomaEquityOptimizationParametersRoot.md
+++ b/auto-generated-sdk/docs/AxiomaEquityOptimizationParametersRoot.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**AxiomaEquityOptimizationParameters**](AxiomaEquityOptimizationParameters.md) | | [optional]
-**meta** | **bool, date, datetime, dict, float, int, list, str** | | [optional]
+**meta** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/BPMOptimizationParametersRoot.md b/auto-generated-sdk/docs/BPMOptimizationParametersRoot.md
index cb28b12..5624514 100644
--- a/auto-generated-sdk/docs/BPMOptimizationParametersRoot.md
+++ b/auto-generated-sdk/docs/BPMOptimizationParametersRoot.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**BPMOptimizationParameters**](BPMOptimizationParameters.md) | | [optional]
-**meta** | **bool, date, datetime, dict, float, int, list, str** | | [optional]
+**meta** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/CalculationUnitStatus.md b/auto-generated-sdk/docs/CalculationUnitStatus.md
index 54f4f2a..f096865 100644
--- a/auto-generated-sdk/docs/CalculationUnitStatus.md
+++ b/auto-generated-sdk/docs/CalculationUnitStatus.md
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
**result** | **str** | The result URL of the calculation. | [optional]
**progress** | **str** | The progress of the calculation unit. | [optional]
**points** | **int** | The points for the calculation unit. | [optional]
+**warnings** | **[str]** | The warnings in a calculation unit. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/ComponentsApi.md b/auto-generated-sdk/docs/ComponentsApi.md
index 6c1b347..2d4db7e 100644
--- a/auto-generated-sdk/docs/ComponentsApi.md
+++ b/auto-generated-sdk/docs/ComponentsApi.md
@@ -7,6 +7,7 @@ Method | HTTP request | Description
------------- | ------------- | -------------
[**get_pa_component_by_id**](ComponentsApi.md#get_pa_component_by_id) | **GET** /analytics/engines/pa/v3/components/{id} | Get PA component by id
[**get_pa_components**](ComponentsApi.md#get_pa_components) | **GET** /analytics/engines/pa/v3/components | Get PA components
+[**get_spar_component_by_id**](ComponentsApi.md#get_spar_component_by_id) | **GET** /analytics/engines/spar/v3/components/{id} | Get SPAR component by id
[**get_spar_components**](ComponentsApi.md#get_spar_components) | **GET** /analytics/engines/spar/v3/components | Get SPAR components
[**get_vault_component_by_id**](ComponentsApi.md#get_vault_component_by_id) | **GET** /analytics/engines/vault/v3/components/{id} | Get Vault component by id
[**get_vault_components**](ComponentsApi.md#get_vault_components) | **GET** /analytics/engines/vault/v3/components | Get Vault components
@@ -196,6 +197,98 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+# **get_spar_component_by_id**
+> SPARComponentRoot get_spar_component_by_id(id)
+
+Get SPAR component by id
+
+This endpoint returns the default settings of a SPAR component.
+
+### Example
+
+* Basic Authentication (Basic):
+* Bearer Authentication (Bearer):
+```python
+import time
+import fds.analyticsapi.engines
+from fds.analyticsapi.engines.api import components_api
+from fds.analyticsapi.engines.model.spar_component_root import SPARComponentRoot
+from fds.analyticsapi.engines.model.client_error_response import ClientErrorResponse
+from pprint import pprint
+# Defining the host is optional and defaults to https://api.factset.com
+# See configuration.py for a list of all supported configuration parameters.
+configuration = fds.analyticsapi.engines.Configuration(
+ host = "https://api.factset.com"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure HTTP basic authorization: Basic
+configuration = fds.analyticsapi.engines.Configuration(
+ username = 'YOUR_USERNAME',
+ password = 'YOUR_PASSWORD'
+)
+
+# Configure Bearer authorization: Bearer
+configuration = fds.analyticsapi.engines.Configuration(
+ access_token = 'YOUR_BEARER_TOKEN'
+)
+
+# Enter a context with an instance of the API client
+with fds.analyticsapi.engines.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = components_api.ComponentsApi(api_client)
+ id = "id_example" # str | Unique identifier for a SPAR component
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get SPAR component by id
+ api_response = api_instance.get_spar_component_by_id(id)
+ pprint(api_response)
+ except fds.analyticsapi.engines.ApiException as e:
+ print("Exception when calling ComponentsApi->get_spar_component_by_id: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| Unique identifier for a SPAR component |
+
+### Return type
+
+ - A tuple with response data, HTTP status code and response headers.
+ - **Response datatype**: [**SPARComponentRoot**](SPARComponentRoot.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Bearer](../README.md#Bearer)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Expected response, returns the default settings of a SPAR component. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**400** | Invalid SPAR component id. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**404** | Component not found. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**401** | Missing or invalid authentication. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
+**403** | User is forbidden with current credentials | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**406** | Unsupported Accept header. Header needs to be set to application/json. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**429** | Rate limit reached. Wait till the time specified in Retry-After header value to make further requests. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* Retry-After - Time to wait in seconds before making a new request as the rate limit has reached.
|
+**500** | Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
+**503** | Request timed out. Retry the request in sometime. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **get_spar_components**
> ComponentSummaryRoot get_spar_components(document)
diff --git a/auto-generated-sdk/docs/Error.md b/auto-generated-sdk/docs/Error.md
index 8d6ef16..e399958 100644
--- a/auto-generated-sdk/docs/Error.md
+++ b/auto-generated-sdk/docs/Error.md
@@ -5,6 +5,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | | [optional]
+**code** | **str** | | [optional]
+**title** | **str** | | [optional]
**detail** | **str** | | [optional]
**source** | [**ErrorSource**](ErrorSource.md) | | [optional]
diff --git a/auto-generated-sdk/docs/FIAttributionForJobSettings.md b/auto-generated-sdk/docs/FIAttributionForJobSettings.md
new file mode 100644
index 0000000..f95a562
--- /dev/null
+++ b/auto-generated-sdk/docs/FIAttributionForJobSettings.md
@@ -0,0 +1,12 @@
+# FIAttributionForJobSettings
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**start_date** | **str** | Start Date | [optional]
+**end_date** | **str** | End Date | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/auto-generated-sdk/docs/FIAttributionForSecurities.md b/auto-generated-sdk/docs/FIAttributionForSecurities.md
new file mode 100644
index 0000000..836eb99
--- /dev/null
+++ b/auto-generated-sdk/docs/FIAttributionForSecurities.md
@@ -0,0 +1,15 @@
+# FIAttributionForSecurities
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**start_price** | **float** | Start Price | [optional]
+**end_price** | **float** | End Price | [optional]
+**start_spread** | **float** | Start Spread | [optional]
+**end_spread** | **float** | End Spread | [optional]
+**pricing_method** | **str** | Pricing Method | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/auto-generated-sdk/docs/FICalculationsApi.md b/auto-generated-sdk/docs/FICalculationsApi.md
index f17fa23..1ab86a0 100644
--- a/auto-generated-sdk/docs/FICalculationsApi.md
+++ b/auto-generated-sdk/docs/FICalculationsApi.md
@@ -477,6 +477,13 @@ with fds.analyticsapi.engines.ApiClient(configuration) as api_client:
coupon_stepup=3.14,
),
),
+ attribution=FIAttributionForSecurities(
+ start_price=3.14,
+ end_price=3.14,
+ start_spread=3.14,
+ end_spread=3.14,
+ pricing_method="Inputted Price",
+ ),
calc_from_method="calc_from_method_example",
calc_from_value=3.14,
face=1,
@@ -531,6 +538,10 @@ with fds.analyticsapi.engines.ApiClient(configuration) as api_client:
coupon_stepup=3.14,
),
),
+ attribution=FIAttributionForJobSettings(
+ start_date="start_date_example",
+ end_date="end_date_example",
+ ),
),
),
meta=CalculationMeta(
@@ -697,6 +708,13 @@ with fds.analyticsapi.engines.ApiClient(configuration) as api_client:
coupon_stepup=3.14,
),
),
+ attribution=FIAttributionForSecurities(
+ start_price=3.14,
+ end_price=3.14,
+ start_spread=3.14,
+ end_spread=3.14,
+ pricing_method="Inputted Price",
+ ),
calc_from_method="calc_from_method_example",
calc_from_value=3.14,
face=1,
@@ -751,6 +769,10 @@ with fds.analyticsapi.engines.ApiClient(configuration) as api_client:
coupon_stepup=3.14,
),
),
+ attribution=FIAttributionForJobSettings(
+ start_date="start_date_example",
+ end_date="end_date_example",
+ ),
),
),
meta=CalculationMeta(
diff --git a/auto-generated-sdk/docs/FIJobSettings.md b/auto-generated-sdk/docs/FIJobSettings.md
index 6575566..29b80b7 100644
--- a/auto-generated-sdk/docs/FIJobSettings.md
+++ b/auto-generated-sdk/docs/FIJobSettings.md
@@ -13,6 +13,7 @@ Name | Type | Description | Notes
**municipal_bonds** | [**FIMunicipalBondsForJobSettings**](FIMunicipalBondsForJobSettings.md) | | [optional]
**market_environment** | [**FIMarketEnvironment**](FIMarketEnvironment.md) | | [optional]
**structured_products** | [**FIStructuredProductsForJobSettings**](FIStructuredProductsForJobSettings.md) | | [optional]
+**attribution** | [**FIAttributionForJobSettings**](FIAttributionForJobSettings.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/FISecurity.md b/auto-generated-sdk/docs/FISecurity.md
index b1e9bff..dc76056 100644
--- a/auto-generated-sdk/docs/FISecurity.md
+++ b/auto-generated-sdk/docs/FISecurity.md
@@ -16,6 +16,7 @@ Name | Type | Description | Notes
**matrix_spread_adjustment** | **float** | Matrix Spread Adjustment | [optional]
**matrix_multiplier** | **float** | Matrix Multiplier | [optional]
**structured_products** | [**FIStructuredProductsForSecurities**](FIStructuredProductsForSecurities.md) | | [optional]
+**attribution** | [**FIAttributionForSecurities**](FIAttributionForSecurities.md) | | [optional]
**calc_from_method** | **str** | Calculation Method. Methods : Active Spread, Actual Spread, Actual Spread To Worst Call, OAS, Price, Yield, Yield To No Call, Act/Act Yield To No Call, Bond Equivalent Yield, Yield To Worst Call, Discount Yield, Discount Margin, Implied Volatility, Bullet Spread, Bullet Spread To Worst Call, Pricing Matrix | [optional]
**face** | **float** | Face | [optional] if omitted the server will use the default value of 1
**face_type** | **str** | Face type | [optional] if omitted the server will use the default value of "Current"
diff --git a/auto-generated-sdk/docs/FPOOptimizationParametersRoot.md b/auto-generated-sdk/docs/FPOOptimizationParametersRoot.md
index 2015223..d5e65cc 100644
--- a/auto-generated-sdk/docs/FPOOptimizationParametersRoot.md
+++ b/auto-generated-sdk/docs/FPOOptimizationParametersRoot.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**FPOOptimizationParameters**](FPOOptimizationParameters.md) | | [optional]
-**meta** | **bool, date, datetime, dict, float, int, list, str** | | [optional]
+**meta** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/NPOOptimizationParametersRoot.md b/auto-generated-sdk/docs/NPOOptimizationParametersRoot.md
index f5c865c..9feba73 100644
--- a/auto-generated-sdk/docs/NPOOptimizationParametersRoot.md
+++ b/auto-generated-sdk/docs/NPOOptimizationParametersRoot.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**NPOOptimizationParameters**](NPOOptimizationParameters.md) | | [optional]
-**meta** | **bool, date, datetime, dict, float, int, list, str** | | [optional]
+**meta** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/OptimizerOutputTypes.md b/auto-generated-sdk/docs/OptimizerOutputTypes.md
index 4cb298f..16b14f8 100644
--- a/auto-generated-sdk/docs/OptimizerOutputTypes.md
+++ b/auto-generated-sdk/docs/OptimizerOutputTypes.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
**trades** | [**OptimizerTradesList**](OptimizerTradesList.md) | | [optional]
**optimal** | [**OptimizerOptimalHoldings**](OptimizerOptimalHoldings.md) | | [optional]
**account** | [**OptimalPortfolio**](OptimalPortfolio.md) | | [optional]
-**stats** | **bool, date, datetime, dict, float, int, list, str** | | [optional]
+**stats** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/PACalculationsApi.md b/auto-generated-sdk/docs/PACalculationsApi.md
index f21173f..9a36a55 100644
--- a/auto-generated-sdk/docs/PACalculationsApi.md
+++ b/auto-generated-sdk/docs/PACalculationsApi.md
@@ -471,7 +471,7 @@ Name | Type | Description | Notes
Create and Run PA calculation
-This endpoint runs the PA calculation specified in the POST body parameters. It can take one or more calculation units as input. Remarks: * Any settings in POST body will act as a one-time override over the settings saved in the PA template. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
+This endpoint runs the PA calculation specified in the POST body parameters. It can take one or more calculation units as input. Remarks: * Any settings in POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component.
### Example
@@ -630,7 +630,7 @@ Name | Type | Description | Notes
Create or Update PA calculation and run it.
-This endpoint updates and run the PA calculation specified in the PUT body parameters. This also allows creating new PA calculations with custom ids. It can take one or more calculation units as input. Remarks: * Any settings in PUT body will act as a one-time override over the settings saved in the PA template. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
+This endpoint updates and run the PA calculation specified in the PUT body parameters. This also allows creating new PA calculations with custom ids. It can take one or more calculation units as input. Remarks: * Any settings in PUT body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component.
### Example
diff --git a/auto-generated-sdk/docs/PAComponentData.md b/auto-generated-sdk/docs/PAComponentData.md
index 0c7183c..24ce86d 100644
--- a/auto-generated-sdk/docs/PAComponentData.md
+++ b/auto-generated-sdk/docs/PAComponentData.md
@@ -11,7 +11,7 @@ Name | Type | Description | Notes
**dates** | [**PADateParameters**](PADateParameters.md) | | [optional]
**datasources** | [**PACalculationDataSources**](PACalculationDataSources.md) | | [optional]
**currencyisocode** | **str** | Currency ISO code for calculation. | [optional]
-**componentdetail** | **str** | PA Storage type. It can be GROUPS or TOTALS or SECURITIES. | [optional]
+**componentdetail** | **str** | PA Storage type. It can be GROUPS or GROUPSALL or TOTALS or SECURITIES. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/PubCalculationParametersRoot.md b/auto-generated-sdk/docs/PubCalculationParametersRoot.md
index f2db35a..bb797ca 100644
--- a/auto-generated-sdk/docs/PubCalculationParametersRoot.md
+++ b/auto-generated-sdk/docs/PubCalculationParametersRoot.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**{str: (PubCalculationParameters,)}**](PubCalculationParameters.md) | List of calculation parameters. | [optional]
-**meta** | **bool, date, datetime, dict, float, int, list, str** | | [optional]
+**meta** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/QuantAllUniversalScreenParameters.md b/auto-generated-sdk/docs/QuantAllUniversalScreenParameters.md
index 059356c..d19e45e 100644
--- a/auto-generated-sdk/docs/QuantAllUniversalScreenParameters.md
+++ b/auto-generated-sdk/docs/QuantAllUniversalScreenParameters.md
@@ -5,6 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**source** | **str** | |
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/QuantCalculationsApi.md b/auto-generated-sdk/docs/QuantCalculationsApi.md
index 7f90f40..4d8402c 100644
--- a/auto-generated-sdk/docs/QuantCalculationsApi.md
+++ b/auto-generated-sdk/docs/QuantCalculationsApi.md
@@ -450,7 +450,7 @@ Name | Type | Description | Notes
### HTTP request headers
- **Content-Type**: Not defined
- - **Accept**: application/json, application/x-protobuf, application/octet-stream
+ - **Accept**: application/octet-stream, application/json
### HTTP response details
@@ -458,9 +458,9 @@ Name | Type | Description | Notes
|-------------|-------------|------------------|
**200** | Expected response once calculation is completed. | * Content-Encoding - Standard HTTP header. Header value based on Accept-Encoding Request header.
* Content-Type - Standard HTTP header.
* Transfer-Encoding - Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.
* X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**400** | Invalid identifier provided. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
-**404** | Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**401** | Missing or invalid authentication. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
**403** | User is forbidden with current credentials | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**404** | Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**500** | Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
**503** | Request timed out. Retry the request in sometime. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
@@ -541,7 +541,7 @@ Name | Type | Description | Notes
### HTTP request headers
- **Content-Type**: Not defined
- - **Accept**: application/json, application/x-protobuf, application/octet-stream
+ - **Accept**: application/octet-stream, application/json
### HTTP response details
@@ -549,9 +549,9 @@ Name | Type | Description | Notes
|-------------|-------------|------------------|
**200** | Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters. | * Content-Encoding - Standard HTTP header. Header value based on Accept-Encoding Request header.
* Content-Type - Standard HTTP header.
* Transfer-Encoding - Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.
* X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**400** | Invalid identifier provided. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
-**404** | Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**401** | Missing or invalid authentication. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
**403** | User is forbidden with current credentials | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**404** | Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**500** | Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
**503** | Request timed out. Retry the request in sometime. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
@@ -573,7 +573,6 @@ import time
import fds.analyticsapi.engines
from fds.analyticsapi.engines.api import quant_calculations_api
from fds.analyticsapi.engines.model.calculation_status_root import CalculationStatusRoot
-from fds.analyticsapi.engines.model.object_root import ObjectRoot
from fds.analyticsapi.engines.model.quant_calculation_parameters_root import QuantCalculationParametersRoot
from fds.analyticsapi.engines.model.client_error_response import ClientErrorResponse
from pprint import pprint
@@ -652,7 +651,7 @@ Name | Type | Description | Notes
### Return type
- A tuple with response data, HTTP status code and response headers.
- - **Response datatype**: (For 202 status - [**CalculationStatusRoot**](CalculationStatusRoot.md))(For 201 status - [**ObjectRoot**](ObjectRoot.md))(For 200 status - [**CalculationStatusRoot**](CalculationStatusRoot.md))
+ - **Response datatype**: (For 200 status - [**CalculationStatusRoot**](CalculationStatusRoot.md))(For 201 status - File )(For 202 status - [**CalculationStatusRoot**](CalculationStatusRoot.md))
### Authorization
@@ -661,19 +660,20 @@ Name | Type | Description | Notes
### HTTP request headers
- **Content-Type**: application/json
- - **Accept**: application/json, application/x-protobuf
+ - **Accept**: application/json, application/octet-stream
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**202** | Expected response, contains the poll URL in the Location header. | * Location - URL to poll for the resulting calculation
* X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
-**201** | Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**200** | Expected response if the calculation has one unit and is completed with an error. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**201** | Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**202** | Expected response, contains the poll URL in the Location header. | * Location - URL to poll for the resulting calculation
* X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**400** | Invalid calculation parameters. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
-**404** | One or more calculation settings were unavailable. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**401** | Missing or invalid authentication. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
**403** | User is forbidden with current credentials | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**404** | One or more calculation settings were unavailable. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**413** | Request body too large | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**415** | Missing/Invalid Content-Type header. Header needs to be set to application/json. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**429** | Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
* Retry-After - Time to wait in seconds before making a new request as the rate limit has reached.
|
**500** | Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
@@ -697,7 +697,6 @@ import time
import fds.analyticsapi.engines
from fds.analyticsapi.engines.api import quant_calculations_api
from fds.analyticsapi.engines.model.calculation_status_root import CalculationStatusRoot
-from fds.analyticsapi.engines.model.object_root import ObjectRoot
from fds.analyticsapi.engines.model.quant_calculation_parameters_root import QuantCalculationParametersRoot
from fds.analyticsapi.engines.model.client_error_response import ClientErrorResponse
from pprint import pprint
@@ -786,7 +785,7 @@ Name | Type | Description | Notes
### Return type
- A tuple with response data, HTTP status code and response headers.
- - **Response datatype**: (For 202 status - [**CalculationStatusRoot**](CalculationStatusRoot.md))(For 200 status - [**CalculationStatusRoot**](CalculationStatusRoot.md))(For 201 status - [**ObjectRoot**](ObjectRoot.md))
+ - **Response datatype**: (For 200 status - [**CalculationStatusRoot**](CalculationStatusRoot.md))(For 201 status - File )(For 202 status - [**CalculationStatusRoot**](CalculationStatusRoot.md))
### Authorization
@@ -795,20 +794,21 @@ Name | Type | Description | Notes
### HTTP request headers
- **Content-Type**: application/json
- - **Accept**: application/json, application/x-protobuf
+ - **Accept**: application/json, application/octet-stream
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**202** | Expected response, contains the poll URL in the Location header. | * Location - URL to poll for the resulting calculation
* X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**200** | Expected response if the calculation has one unit and is completed with an error. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**201** | Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**202** | Expected response, contains the poll URL in the Location header. | * Location - URL to poll for the resulting calculation
* X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**400** | Invalid Calculation Parameters. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
-**404** | One or more calculation settings were unavailable. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
-**409** | Duplicate calculation exists with same parameters. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**401** | Missing or invalid authentication. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
**403** | User is forbidden with current credentials | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**404** | One or more calculation settings were unavailable. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**409** | Duplicate calculation exists with same parameters. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**413** | Request body too large | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**415** | Missing/Invalid Content-Type header. Header needs to be set to application/json. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
**429** | Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
* Retry-After - Time to wait in seconds before making a new request as the rate limit has reached.
|
**500** | Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
diff --git a/auto-generated-sdk/docs/QuantDateList.md b/auto-generated-sdk/docs/QuantDateList.md
index 8d94172..96b5d49 100644
--- a/auto-generated-sdk/docs/QuantDateList.md
+++ b/auto-generated-sdk/docs/QuantDateList.md
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
**calendar** | **str** | |
**dates** | **[str]** | | [optional]
**override_universal_screen_calendar** | **bool** | | [optional]
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/QuantFdsDate.md b/auto-generated-sdk/docs/QuantFdsDate.md
index 2475664..e20854f 100644
--- a/auto-generated-sdk/docs/QuantFdsDate.md
+++ b/auto-generated-sdk/docs/QuantFdsDate.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**frequency** | **str** | |
**calendar** | **str** | |
**override_universal_screen_calendar** | **bool** | | [optional]
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/QuantFqlExpression.md b/auto-generated-sdk/docs/QuantFqlExpression.md
index 737d3d1..18f8fa1 100644
--- a/auto-generated-sdk/docs/QuantFqlExpression.md
+++ b/auto-generated-sdk/docs/QuantFqlExpression.md
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
**source** | **str** | |
**date_offset** | **str** | | [optional]
**is_array_return_type** | **bool** | | [optional]
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/QuantIdentifierUniverse.md b/auto-generated-sdk/docs/QuantIdentifierUniverse.md
index 0c3a7f9..baa772a 100644
--- a/auto-generated-sdk/docs/QuantIdentifierUniverse.md
+++ b/auto-generated-sdk/docs/QuantIdentifierUniverse.md
@@ -7,6 +7,7 @@ Name | Type | Description | Notes
**universe_type** | **str** | |
**identifiers** | **[str]** | |
**source** | **str** | |
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/QuantScreeningExpression.md b/auto-generated-sdk/docs/QuantScreeningExpression.md
index ebf55e9..c0f144f 100644
--- a/auto-generated-sdk/docs/QuantScreeningExpression.md
+++ b/auto-generated-sdk/docs/QuantScreeningExpression.md
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
**name** | **str** | |
**source** | **str** | |
**date_offset** | **str** | | [optional]
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/QuantScreeningExpressionUniverse.md b/auto-generated-sdk/docs/QuantScreeningExpressionUniverse.md
index 54c9750..6990e82 100644
--- a/auto-generated-sdk/docs/QuantScreeningExpressionUniverse.md
+++ b/auto-generated-sdk/docs/QuantScreeningExpressionUniverse.md
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
**universe_type** | **str** | |
**source** | **str** | |
**security_expr** | **str** | | [optional]
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/QuantUniversalScreenParameter.md b/auto-generated-sdk/docs/QuantUniversalScreenParameter.md
index 7124de5..48ecdb5 100644
--- a/auto-generated-sdk/docs/QuantUniversalScreenParameter.md
+++ b/auto-generated-sdk/docs/QuantUniversalScreenParameter.md
@@ -7,6 +7,7 @@ Name | Type | Description | Notes
**reference_name** | **str** | |
**name** | **str** | |
**source** | **str** | |
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/QuantUniversalScreenUniverse.md b/auto-generated-sdk/docs/QuantUniversalScreenUniverse.md
index 7a7c6d8..efd2ce9 100644
--- a/auto-generated-sdk/docs/QuantUniversalScreenUniverse.md
+++ b/auto-generated-sdk/docs/QuantUniversalScreenUniverse.md
@@ -6,6 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**screen** | **str** | |
**source** | **str** | |
+**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/SPARComponent.md b/auto-generated-sdk/docs/SPARComponent.md
new file mode 100644
index 0000000..7a3e747
--- /dev/null
+++ b/auto-generated-sdk/docs/SPARComponent.md
@@ -0,0 +1,17 @@
+# SPARComponent
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Component identifier. | [optional]
+**accounts** | [**[SPARIdentifier]**](SPARIdentifier.md) | List of accounts in SPAR document. | [optional]
+**benchmarks** | [**SPARIdentifier**](SPARIdentifier.md) | | [optional]
+**currency_iso_code** | **str** | CurrencyCode in SPAR document. | [optional]
+**path** | **str** | The path to the document | [optional]
+**name** | **str** | Component name. | [optional]
+**category** | **str** | Component category. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/auto-generated-sdk/docs/SPARComponentRoot.md b/auto-generated-sdk/docs/SPARComponentRoot.md
new file mode 100644
index 0000000..cc2b632
--- /dev/null
+++ b/auto-generated-sdk/docs/SPARComponentRoot.md
@@ -0,0 +1,11 @@
+# SPARComponentRoot
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**data** | [**SPARComponent**](SPARComponent.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/auto-generated-sdk/docs/TemplatedPAComponentsApi.md b/auto-generated-sdk/docs/TemplatedPAComponentsApi.md
index bdc658e..43be69e 100644
--- a/auto-generated-sdk/docs/TemplatedPAComponentsApi.md
+++ b/auto-generated-sdk/docs/TemplatedPAComponentsApi.md
@@ -17,7 +17,7 @@ Method | HTTP request | Description
Create templated PA component
-This endpoint creates new component based off of linked PA template or unlinked PA template. Remarks: * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
+This endpoint creates new component based off of linked PA template or unlinked PA template. Remarks: * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
### Example
@@ -438,7 +438,7 @@ Name | Type | Description | Notes
Update templated PA component
-This endpoint allows the user to change the request body from an existing templated PA component. Remarks: * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
+This endpoint allows the user to change the request body from an existing templated PA component. Remarks: * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
### Example
diff --git a/auto-generated-sdk/docs/UnlinkedPATemplate.md b/auto-generated-sdk/docs/UnlinkedPATemplate.md
index 0d282f4..222c2ce 100644
--- a/auto-generated-sdk/docs/UnlinkedPATemplate.md
+++ b/auto-generated-sdk/docs/UnlinkedPATemplate.md
@@ -15,7 +15,7 @@ Name | Type | Description | Notes
**groups** | [**[PACalculationGroup]**](PACalculationGroup.md) | List of groupings for the PA calculation | [optional]
**datasources** | [**PACalculationDataSources**](PACalculationDataSources.md) | | [optional]
**currencyisocode** | **str** | Currency ISO code for calculation. | [optional]
-**componentdetail** | **str** | PA storage type. It can be GROUPS or TOTALS or SECURITIES. | [optional]
+**componentdetail** | **str** | PA storage type. It can be GROUPS or GROUPSALL or TOTALS or SECURITIES. | [optional]
**content** | [**TemplateContentTypes**](TemplateContentTypes.md) | | [optional]
**description** | **str** | Template description. | [optional]
**name** | **str** | Template name. | [optional]
diff --git a/auto-generated-sdk/docs/UnlinkedPATemplateParameters.md b/auto-generated-sdk/docs/UnlinkedPATemplateParameters.md
index 39d64ba..910d354 100644
--- a/auto-generated-sdk/docs/UnlinkedPATemplateParameters.md
+++ b/auto-generated-sdk/docs/UnlinkedPATemplateParameters.md
@@ -14,7 +14,7 @@ Name | Type | Description | Notes
**groups** | [**[PACalculationGroup]**](PACalculationGroup.md) | List of groupings for the PA calculation | [optional]
**datasources** | [**PACalculationDataSources**](PACalculationDataSources.md) | | [optional]
**currencyisocode** | **str** | Currency ISO code for calculation. | [optional]
-**componentdetail** | **str** | PA storage type. It can be GROUPS or TOTALS or SECURITIES. | [optional]
+**componentdetail** | **str** | PA storage type. It can be GROUPS or GROUPSALL or TOTALS or SECURITIES. | [optional]
**content** | [**TemplateContentTypes**](TemplateContentTypes.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/UnlinkedPATemplateUpdateParameters.md b/auto-generated-sdk/docs/UnlinkedPATemplateUpdateParameters.md
index 96e1e4b..7308520 100644
--- a/auto-generated-sdk/docs/UnlinkedPATemplateUpdateParameters.md
+++ b/auto-generated-sdk/docs/UnlinkedPATemplateUpdateParameters.md
@@ -12,7 +12,7 @@ Name | Type | Description | Notes
**groups** | [**[PACalculationGroup]**](PACalculationGroup.md) | List of groupings for the PA calculation | [optional]
**datasources** | [**PACalculationDataSources**](PACalculationDataSources.md) | | [optional]
**currencyisocode** | **str** | Currency ISO code for calculation. | [optional]
-**componentdetail** | **str** | PA storage type. It can be GROUPS or TOTALS or SECURITIES. | [optional]
+**componentdetail** | **str** | PA storage type. It can be GROUPS or GROUPSALL or TOTALS or SECURITIES. | [optional]
**content** | [**TemplateContentTypes**](TemplateContentTypes.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/auto-generated-sdk/docs/UnlinkedPATemplatesApi.md b/auto-generated-sdk/docs/UnlinkedPATemplatesApi.md
index 7bff03d..e65392d 100644
--- a/auto-generated-sdk/docs/UnlinkedPATemplatesApi.md
+++ b/auto-generated-sdk/docs/UnlinkedPATemplatesApi.md
@@ -19,7 +19,7 @@ Method | HTTP request | Description
Create unlinked PA template
-This endpoint creates a template which is not linked to any specific PA3 tile. Remarks: * Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. If no mandatory fields are passed, then we can use the template as a component and skip the component creation. * Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\". * We cannot override the Locked fields when creating the Component. * Mandatory and locked strings are mutually exclusive. * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
+This endpoint creates a template which is not linked to any specific PA3 tile. Remarks: * Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. If no mandatory fields are passed, then we can use the template as a component and skip the component creation. * Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\". * We cannot override the Locked fields when creating the Component. * Mandatory and locked strings are mutually exclusive. * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
### Example
@@ -628,7 +628,7 @@ Name | Type | Description | Notes
Update unlinked PA template
-This endpoint updates an existing unlinked PA template. Remarks: * Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. If no mandatory fields are passed, then we can use the template as a component and skip the component creation. * Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\". * We cannot override the Locked fields when creating the Component. * Mandatory and locked strings are mutually exclusive. * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
+This endpoint updates an existing unlinked PA template. Remarks: * Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. If no mandatory fields are passed, then we can use the template as a component and skip the component creation. * Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\". * We cannot override the Locked fields when creating the Component. * Mandatory and locked strings are mutually exclusive. * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.
### Example
diff --git a/auto-generated-sdk/docs/VaultAttributionLoaderApi.md b/auto-generated-sdk/docs/VaultAttributionLoaderApi.md
new file mode 100644
index 0000000..6937cd6
--- /dev/null
+++ b/auto-generated-sdk/docs/VaultAttributionLoaderApi.md
@@ -0,0 +1,112 @@
+
+# fds.analyticsapi.engines.VaultAttributionLoaderApi
+
+All URIs are relative to *https://api.factset.com*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**vault_attribution_loader**](VaultAttributionLoaderApi.md#vault_attribution_loader) | **POST** /analytics/engines/vault/v3/load/{batchId} | Vault - External Attribution Loader
+
+
+# **vault_attribution_loader**
+> VaultAttributionLoaderResponseRoot vault_attribution_loader(batch_id)
+
+Vault - External Attribution Loader
+
+This endpoint loads Vault External Attributions.
+
+### Example
+
+* Basic Authentication (Basic):
+* Bearer Authentication (Bearer):
+```python
+import time
+import fds.analyticsapi.engines
+from fds.analyticsapi.engines.api import vault_attribution_loader_api
+from fds.analyticsapi.engines.model.vault_attribution_loader_response_root import VaultAttributionLoaderResponseRoot
+from fds.analyticsapi.engines.model.client_error_response import ClientErrorResponse
+from pprint import pprint
+# Defining the host is optional and defaults to https://api.factset.com
+# See configuration.py for a list of all supported configuration parameters.
+configuration = fds.analyticsapi.engines.Configuration(
+ host = "https://api.factset.com"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure HTTP basic authorization: Basic
+configuration = fds.analyticsapi.engines.Configuration(
+ username = 'YOUR_USERNAME',
+ password = 'YOUR_PASSWORD'
+)
+
+# Configure Bearer authorization: Bearer
+configuration = fds.analyticsapi.engines.Configuration(
+ access_token = 'YOUR_BEARER_TOKEN'
+)
+
+# Enter a context with an instance of the API client
+with fds.analyticsapi.engines.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = vault_attribution_loader_api.VaultAttributionLoaderApi(api_client)
+ batch_id = "batchId_example" # str |
+ file = open('/path/to/file', 'rb') # file_type, none_type | (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Vault - External Attribution Loader
+ api_response = api_instance.vault_attribution_loader(batch_id)
+ pprint(api_response)
+ except fds.analyticsapi.engines.ApiException as e:
+ print("Exception when calling VaultAttributionLoaderApi->vault_attribution_loader: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Vault - External Attribution Loader
+ api_response = api_instance.vault_attribution_loader(batch_id, file=file)
+ pprint(api_response)
+ except fds.analyticsapi.engines.ApiException as e:
+ print("Exception when calling VaultAttributionLoaderApi->vault_attribution_loader: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **batch_id** | **str**| |
+ **file** | **file_type, none_type**| | [optional]
+
+### Return type
+
+ - A tuple with response data, HTTP status code and response headers.
+ - **Response datatype**: [**VaultAttributionLoaderResponseRoot**](VaultAttributionLoaderResponseRoot.md)
+
+### Authorization
+
+[Basic](../README.md#Basic), [Bearer](../README.md#Bearer)
+
+### HTTP request headers
+
+ - **Content-Type**: multipart/form-data
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Expected response, returns a status of operation along with errors and warnings if found any. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**400** | Bad Request | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**401** | Missing or invalid authentication. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
+**403** | User is forbidden with current credentials | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**406** | Unsupported Accept header. Header needs to be set to application/json. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* X-FactSet-Api-RateLimit-Limit - Number of allowed requests for the time window.
* X-FactSet-Api-RateLimit-Remaining - Number of requests left for the time window.
* X-FactSet-Api-RateLimit-Reset - Number of seconds remaining till rate limit resets.
|
+**429** | Rate limit reached. Wait till the time specified in Retry-After header value to make further requests. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
* Retry-After - Time to wait in seconds before making a new request as the rate limit has reached.
|
+**500** | Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
+**503** | Request timed out. Retry the request in sometime. | * X-DataDirect-Request-Key - FactSet's request key header.
* X-FactSet-Api-Request-Key - Key to uniquely identify an Analytics API request. Only available after successful authentication.
|
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/auto-generated-sdk/docs/VaultAttributionLoaderResponse.md b/auto-generated-sdk/docs/VaultAttributionLoaderResponse.md
new file mode 100644
index 0000000..7d4e074
--- /dev/null
+++ b/auto-generated-sdk/docs/VaultAttributionLoaderResponse.md
@@ -0,0 +1,13 @@
+# VaultAttributionLoaderResponse
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**process_id** | **str** | ProcessId. | [optional]
+**group_id** | **str** | GroupId. | [optional]
+**object_id** | **str** | ObjectId. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/auto-generated-sdk/docs/VaultAttributionLoaderResponseRoot.md b/auto-generated-sdk/docs/VaultAttributionLoaderResponseRoot.md
new file mode 100644
index 0000000..9576a88
--- /dev/null
+++ b/auto-generated-sdk/docs/VaultAttributionLoaderResponseRoot.md
@@ -0,0 +1,12 @@
+# VaultAttributionLoaderResponseRoot
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**data** | [**VaultAttributionLoaderResponse**](VaultAttributionLoaderResponse.md) | |
+**meta** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/api/components_api.py b/auto-generated-sdk/fds/analyticsapi/engines/api/components_api.py
index 78105a5..5f3c398 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/api/components_api.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/api/components_api.py
@@ -25,6 +25,7 @@
from fds.analyticsapi.engines.model.client_error_response import ClientErrorResponse
from fds.analyticsapi.engines.model.component_summary_root import ComponentSummaryRoot
from fds.analyticsapi.engines.model.pa_component_root import PAComponentRoot
+from fds.analyticsapi.engines.model.spar_component_root import SPARComponentRoot
from fds.analyticsapi.engines.model.vault_component_root import VaultComponentRoot
@@ -280,6 +281,126 @@ def __get_pa_components(
callable=__get_pa_components
)
+ def __get_spar_component_by_id(
+ self,
+ id,
+ **kwargs
+ ):
+ """Get SPAR component by id # noqa: E501
+
+ This endpoint returns the default settings of a SPAR component. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.get_spar_component_by_id(id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ id (str): Unique identifier for a SPAR component
+
+ Keyword Args:
+ _return_http_data_only (bool): response data without head status
+ code and headers. Default is False.
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
+ will be returned without reading/decoding response data.
+ Default is True.
+ _request_timeout (float/tuple): timeout setting for this request. If one
+ number provided, it will be total request timeout. It can also
+ be a pair (tuple) of (connection, read) timeouts.
+ Default is None.
+ _check_input_type (bool): specifies if type checking
+ should be done one the data sent to the server.
+ Default is True.
+ _check_return_type (bool): specifies if type checking
+ should be done one the data received from the server.
+ Default is True.
+ _host_index (int/None): specifies the index of the server
+ that we want to use.
+ Default is read from the configuration.
+ async_req (bool): execute request asynchronously
+
+ Returns:
+ SPARComponentRoot
+ If the method is called asynchronously, returns the request
+ thread.
+ """
+ kwargs['async_req'] = kwargs.get(
+ 'async_req', False
+ )
+ kwargs['_return_http_data_only'] = kwargs.get(
+ '_return_http_data_only', False
+ )
+ kwargs['_preload_content'] = kwargs.get(
+ '_preload_content', True
+ )
+ kwargs['_request_timeout'] = kwargs.get(
+ '_request_timeout', None
+ )
+ kwargs['_check_input_type'] = kwargs.get(
+ '_check_input_type', True
+ )
+ kwargs['_check_return_type'] = kwargs.get(
+ '_check_return_type', True
+ )
+ kwargs['_host_index'] = kwargs.get('_host_index')
+ kwargs['id'] = \
+ id
+ return self.call_with_http_info(**kwargs)
+
+ self.get_spar_component_by_id = _Endpoint(
+ settings={
+ 'response_type': dict({ 200:(SPARComponentRoot,), }),
+ 'auth': [
+ 'Basic',
+ 'Bearer'
+ ],
+ 'endpoint_path': '/analytics/engines/spar/v3/components/{id}',
+ 'operation_id': 'get_spar_component_by_id',
+ 'http_method': 'GET',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'id',
+ ],
+ 'required': [
+ 'id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'id':
+ (str,),
+ },
+ 'attribute_map': {
+ 'id': 'id',
+ },
+ 'location_map': {
+ 'id': 'path',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [],
+ },
+ api_client=api_client,
+ callable=__get_spar_component_by_id
+ )
+
def __get_spar_components(
self,
document,
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/api/pa_calculations_api.py b/auto-generated-sdk/fds/analyticsapi/engines/api/pa_calculations_api.py
index 6ffd48c..3f1a45e 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/api/pa_calculations_api.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/api/pa_calculations_api.py
@@ -660,7 +660,7 @@ def __post_and_calculate(
):
"""Create and Run PA calculation # noqa: E501
- This endpoint runs the PA calculation specified in the POST body parameters. It can take one or more calculation units as input. Remarks: * Any settings in POST body will act as a one-time override over the settings saved in the PA template. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
+ This endpoint runs the PA calculation specified in the POST body parameters. It can take one or more calculation units as input. Remarks: * Any settings in POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
@@ -789,7 +789,7 @@ def __put_and_calculate(
):
"""Create or Update PA calculation and run it. # noqa: E501
- This endpoint updates and run the PA calculation specified in the PUT body parameters. This also allows creating new PA calculations with custom ids. It can take one or more calculation units as input. Remarks: * Any settings in PUT body will act as a one-time override over the settings saved in the PA template. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
+ This endpoint updates and run the PA calculation specified in the PUT body parameters. This also allows creating new PA calculations with custom ids. It can take one or more calculation units as input. Remarks: * Any settings in PUT body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/api/quant_calculations_api.py b/auto-generated-sdk/fds/analyticsapi/engines/api/quant_calculations_api.py
index 2250dad..07ffd52 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/api/quant_calculations_api.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/api/quant_calculations_api.py
@@ -25,7 +25,6 @@
from fds.analyticsapi.engines.model.calculation_status_root import CalculationStatusRoot
from fds.analyticsapi.engines.model.calculations_summary_root import CalculationsSummaryRoot
from fds.analyticsapi.engines.model.client_error_response import ClientErrorResponse
-from fds.analyticsapi.engines.model.object_root import ObjectRoot
from fds.analyticsapi.engines.model.quant_calculation_parameters_root import QuantCalculationParametersRoot
@@ -645,9 +644,8 @@ def __get_calculation_unit_info_by_id(
},
headers_map={
'accept': [
- 'application/json',
- 'application/x-protobuf',
- 'application/octet-stream'
+ 'application/octet-stream',
+ 'application/json'
],
'content_type': [],
},
@@ -777,9 +775,8 @@ def __get_calculation_unit_result_by_id(
},
headers_map={
'accept': [
- 'application/json',
- 'application/x-protobuf',
- 'application/octet-stream'
+ 'application/octet-stream',
+ 'application/json'
],
'content_type': [],
},
@@ -825,7 +822,7 @@ def __post_and_calculate(
async_req (bool): execute request asynchronously
Returns:
- (For 202 status - CalculationStatusRoot)(For 201 status - ObjectRoot)(For 200 status - CalculationStatusRoot)
+ (For 200 status - CalculationStatusRoot)(For 201 status - File)(For 202 status - CalculationStatusRoot)
If the method is called asynchronously, returns the request
thread.
"""
@@ -852,7 +849,7 @@ def __post_and_calculate(
self.post_and_calculate = _Endpoint(
settings={
- 'response_type': dict({ 202:(CalculationStatusRoot,), 201:(ObjectRoot,), 200:(CalculationStatusRoot,), }),
+ 'response_type': dict({ 200:(CalculationStatusRoot,), 201:(file_type,), 202:(CalculationStatusRoot,), }),
'auth': [
'Basic',
'Bearer'
@@ -899,7 +896,7 @@ def __post_and_calculate(
headers_map={
'accept': [
'application/json',
- 'application/x-protobuf'
+ 'application/octet-stream'
],
'content_type': [
'application/json'
@@ -950,7 +947,7 @@ def __put_and_calculate(
async_req (bool): execute request asynchronously
Returns:
- (For 202 status - CalculationStatusRoot)(For 200 status - CalculationStatusRoot)(For 201 status - ObjectRoot)
+ (For 200 status - CalculationStatusRoot)(For 201 status - File)(For 202 status - CalculationStatusRoot)
If the method is called asynchronously, returns the request
thread.
"""
@@ -979,7 +976,7 @@ def __put_and_calculate(
self.put_and_calculate = _Endpoint(
settings={
- 'response_type': dict({ 202:(CalculationStatusRoot,), 200:(CalculationStatusRoot,), 201:(ObjectRoot,), }),
+ 'response_type': dict({ 200:(CalculationStatusRoot,), 201:(file_type,), 202:(CalculationStatusRoot,), }),
'auth': [
'Basic',
'Bearer'
@@ -1033,7 +1030,7 @@ def __put_and_calculate(
headers_map={
'accept': [
'application/json',
- 'application/x-protobuf'
+ 'application/octet-stream'
],
'content_type': [
'application/json'
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/api/templated_pa_components_api.py b/auto-generated-sdk/fds/analyticsapi/engines/api/templated_pa_components_api.py
index 21680aa..588a3ad 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/api/templated_pa_components_api.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/api/templated_pa_components_api.py
@@ -49,7 +49,7 @@ def __create_templated_pa_components(
):
"""Create templated PA component # noqa: E501
- This endpoint creates new component based off of linked PA template or unlinked PA template. Remarks: * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
+ This endpoint creates new component based off of linked PA template or unlinked PA template. Remarks: * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
@@ -535,7 +535,7 @@ def __update_templated_pa_components(
):
"""Update templated PA component # noqa: E501
- This endpoint allows the user to change the request body from an existing templated PA component. Remarks: * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
+ This endpoint allows the user to change the request body from an existing templated PA component. Remarks: * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/api/unlinked_pa_templates_api.py b/auto-generated-sdk/fds/analyticsapi/engines/api/unlinked_pa_templates_api.py
index ca58af2..de0156b 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/api/unlinked_pa_templates_api.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/api/unlinked_pa_templates_api.py
@@ -51,7 +51,7 @@ def __create_unlinked_pa_templates(
):
"""Create unlinked PA template # noqa: E501
- This endpoint creates a template which is not linked to any specific PA3 tile. Remarks: * Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. If no mandatory fields are passed, then we can use the template as a component and skip the component creation. * Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\". * We cannot override the Locked fields when creating the Component. * Mandatory and locked strings are mutually exclusive. * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
+ This endpoint creates a template which is not linked to any specific PA3 tile. Remarks: * Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. If no mandatory fields are passed, then we can use the template as a component and skip the component creation. * Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\". * We cannot override the Locked fields when creating the Component. * Mandatory and locked strings are mutually exclusive. * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
@@ -761,7 +761,7 @@ def __update_unlinked_pa_templates(
):
"""Update unlinked PA template # noqa: E501
- This endpoint updates an existing unlinked PA template. Remarks: * Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. If no mandatory fields are passed, then we can use the template as a component and skip the component creation. * Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\". * We cannot override the Locked fields when creating the Component. * Mandatory and locked strings are mutually exclusive. * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
+ This endpoint updates an existing unlinked PA template. Remarks: * Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. If no mandatory fields are passed, then we can use the template as a component and skip the component creation. * Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\". * We cannot override the Locked fields when creating the Component. * Mandatory and locked strings are mutually exclusive. * Any settings in the POST body will act as a one-time override over the settings saved in the PA template. * Account identifiers must have .ACCT or .ACTM extension or BENCH: prefix. Holdings mode can be optionally set for every account. Possible values for holdings mode are B&H (Buy and Hold), TBR (Transaction based returns), OMS (Order Management System), VLT (Vaulted returns) or EXT (External Returns Data). Default holdings mode value is B&H. * Multi-horizon frequencies are not supported through this endpoint. * Componentdetail supports securities, groups, groupsall, and totals levels of granularity. However, if no value is passed, the default value is 'securities'. Additionally, while 'groupsall' returns all the group levels in the PA component, setting componentdetail to 'groups' only returns the expanded or collapsed group levels within the PA component. * If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding the default frequency of the Beginning of Period to whatever we pass in the request body. * If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/api/vault_attribution_loader_api.py b/auto-generated-sdk/fds/analyticsapi/engines/api/vault_attribution_loader_api.py
new file mode 100644
index 0000000..6b695e7
--- /dev/null
+++ b/auto-generated-sdk/fds/analyticsapi/engines/api/vault_attribution_loader_api.py
@@ -0,0 +1,168 @@
+"""
+ Engines API
+
+ Allow clients to fetch Analytics through APIs. # noqa: E501
+
+ The version of the OpenAPI document: v3:[pa,spar,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,others],v1:[fiab]
+ Contact: api@factset.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from fds.analyticsapi.engines.api_client import ApiClient, Endpoint as _Endpoint
+from fds.analyticsapi.engines.model_utils import ( # noqa: F401
+ check_allowed_values,
+ check_validations,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_and_convert_types
+)
+from fds.analyticsapi.engines.model.client_error_response import ClientErrorResponse
+from fds.analyticsapi.engines.model.vault_attribution_loader_response_root import VaultAttributionLoaderResponseRoot
+
+
+class VaultAttributionLoaderApi(object):
+ """NOTE: This class is auto generated by OpenAPI Generator
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+ """
+
+ def __init__(self, api_client=None):
+ if api_client is None:
+ api_client = ApiClient()
+ self.api_client = api_client
+
+ def __vault_attribution_loader(
+ self,
+ batch_id,
+ **kwargs
+ ):
+ """Vault - External Attribution Loader # noqa: E501
+
+ This endpoint loads Vault External Attributions. # noqa: E501
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.vault_attribution_loader(batch_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ batch_id (str):
+
+ Keyword Args:
+ file (file_type, none_type): [optional]
+ _return_http_data_only (bool): response data without head status
+ code and headers. Default is False.
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
+ will be returned without reading/decoding response data.
+ Default is True.
+ _request_timeout (float/tuple): timeout setting for this request. If one
+ number provided, it will be total request timeout. It can also
+ be a pair (tuple) of (connection, read) timeouts.
+ Default is None.
+ _check_input_type (bool): specifies if type checking
+ should be done one the data sent to the server.
+ Default is True.
+ _check_return_type (bool): specifies if type checking
+ should be done one the data received from the server.
+ Default is True.
+ _host_index (int/None): specifies the index of the server
+ that we want to use.
+ Default is read from the configuration.
+ async_req (bool): execute request asynchronously
+
+ Returns:
+ VaultAttributionLoaderResponseRoot
+ If the method is called asynchronously, returns the request
+ thread.
+ """
+ kwargs['async_req'] = kwargs.get(
+ 'async_req', False
+ )
+ kwargs['_return_http_data_only'] = kwargs.get(
+ '_return_http_data_only', False
+ )
+ kwargs['_preload_content'] = kwargs.get(
+ '_preload_content', True
+ )
+ kwargs['_request_timeout'] = kwargs.get(
+ '_request_timeout', None
+ )
+ kwargs['_check_input_type'] = kwargs.get(
+ '_check_input_type', True
+ )
+ kwargs['_check_return_type'] = kwargs.get(
+ '_check_return_type', True
+ )
+ kwargs['_host_index'] = kwargs.get('_host_index')
+ kwargs['batch_id'] = \
+ batch_id
+ return self.call_with_http_info(**kwargs)
+
+ self.vault_attribution_loader = _Endpoint(
+ settings={
+ 'response_type': dict({ 200:(VaultAttributionLoaderResponseRoot,), }),
+ 'auth': [
+ 'Basic',
+ 'Bearer'
+ ],
+ 'endpoint_path': '/analytics/engines/vault/v3/load/{batchId}',
+ 'operation_id': 'vault_attribution_loader',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'batch_id',
+ 'file',
+ ],
+ 'required': [
+ 'batch_id',
+ ],
+ 'nullable': [
+ 'file',
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'batch_id':
+ (str,),
+ 'file':
+ (file_type, none_type,),
+ },
+ 'attribute_map': {
+ 'batch_id': 'batchId',
+ 'file': 'file',
+ },
+ 'location_map': {
+ 'batch_id': 'path',
+ 'file': 'form',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'multipart/form-data'
+ ]
+ },
+ api_client=api_client,
+ callable=__vault_attribution_loader
+ )
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/apis/__init__.py b/auto-generated-sdk/fds/analyticsapi/engines/apis/__init__.py
index fb697d8..4049803 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/apis/__init__.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/apis/__init__.py
@@ -43,3 +43,4 @@
from fds.analyticsapi.engines.api.templated_pa_components_api import TemplatedPAComponentsApi
from fds.analyticsapi.engines.api.unlinked_pa_templates_api import UnlinkedPATemplatesApi
from fds.analyticsapi.engines.api.vault_calculations_api import VaultCalculationsApi
+from fds.analyticsapi.engines.api.vault_attribution_loader_api import VaultAttributionLoaderApi
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/afi_optimization_parameters_root.py b/auto-generated-sdk/fds/analyticsapi/engines/model/afi_optimization_parameters_root.py
index 4339f33..ed0399a 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/afi_optimization_parameters_root.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/afi_optimization_parameters_root.py
@@ -79,7 +79,7 @@ def openapi_types():
lazy_import()
return {
'data': (AFIOptimizationParameters,), # noqa: E501
- 'meta': (bool, date, datetime, dict, float, int, list, str,), # noqa: E501
+ 'meta': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
}
@cached_property
@@ -139,7 +139,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
data (AFIOptimizationParameters): [optional] # noqa: E501
- meta (bool, date, datetime, dict, float, int, list, str): [optional] # noqa: E501
+ meta ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/axioma_equity_optimization_parameters_root.py b/auto-generated-sdk/fds/analyticsapi/engines/model/axioma_equity_optimization_parameters_root.py
index e4895ef..2cf5c42 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/axioma_equity_optimization_parameters_root.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/axioma_equity_optimization_parameters_root.py
@@ -79,7 +79,7 @@ def openapi_types():
lazy_import()
return {
'data': (AxiomaEquityOptimizationParameters,), # noqa: E501
- 'meta': (bool, date, datetime, dict, float, int, list, str,), # noqa: E501
+ 'meta': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
}
@cached_property
@@ -139,7 +139,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
data (AxiomaEquityOptimizationParameters): [optional] # noqa: E501
- meta (bool, date, datetime, dict, float, int, list, str): [optional] # noqa: E501
+ meta ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/bpm_optimization_parameters_root.py b/auto-generated-sdk/fds/analyticsapi/engines/model/bpm_optimization_parameters_root.py
index 35a9088..200c291 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/bpm_optimization_parameters_root.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/bpm_optimization_parameters_root.py
@@ -79,7 +79,7 @@ def openapi_types():
lazy_import()
return {
'data': (BPMOptimizationParameters,), # noqa: E501
- 'meta': (bool, date, datetime, dict, float, int, list, str,), # noqa: E501
+ 'meta': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
}
@cached_property
@@ -139,7 +139,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
data (BPMOptimizationParameters): [optional] # noqa: E501
- meta (bool, date, datetime, dict, float, int, list, str): [optional] # noqa: E501
+ meta ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/calculation_unit_status.py b/auto-generated-sdk/fds/analyticsapi/engines/model/calculation_unit_status.py
index 6ba476d..7e4550b 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/calculation_unit_status.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/calculation_unit_status.py
@@ -90,6 +90,7 @@ def openapi_types():
'result': (str,), # noqa: E501
'progress': (str,), # noqa: E501
'points': (int,), # noqa: E501
+ 'warnings': ([str],), # noqa: E501
}
@cached_property
@@ -103,6 +104,7 @@ def discriminator():
'result': 'result', # noqa: E501
'progress': 'progress', # noqa: E501
'points': 'points', # noqa: E501
+ 'warnings': 'warnings', # noqa: E501
}
_composed_schemas = {}
@@ -156,6 +158,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
result (str): The result URL of the calculation.. [optional] # noqa: E501
progress (str): The progress of the calculation unit.. [optional] # noqa: E501
points (int): The points for the calculation unit.. [optional] # noqa: E501
+ warnings ([str]): The warnings in a calculation unit.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/error.py b/auto-generated-sdk/fds/analyticsapi/engines/model/error.py
index 1999a61..c06d499 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/error.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/error.py
@@ -79,6 +79,8 @@ def openapi_types():
lazy_import()
return {
'id': (str,), # noqa: E501
+ 'code': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
'detail': (str,), # noqa: E501
'source': (ErrorSource,), # noqa: E501
}
@@ -90,6 +92,8 @@ def discriminator():
attribute_map = {
'id': 'id', # noqa: E501
+ 'code': 'code', # noqa: E501
+ 'title': 'title', # noqa: E501
'detail': 'detail', # noqa: E501
'source': 'source', # noqa: E501
}
@@ -141,6 +145,8 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
id (str): [optional] # noqa: E501
+ code (str): [optional] # noqa: E501
+ title (str): [optional] # noqa: E501
detail (str): [optional] # noqa: E501
source (ErrorSource): [optional] # noqa: E501
"""
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/fi_attribution_for_job_settings.py b/auto-generated-sdk/fds/analyticsapi/engines/model/fi_attribution_for_job_settings.py
new file mode 100644
index 0000000..e29a589
--- /dev/null
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/fi_attribution_for_job_settings.py
@@ -0,0 +1,170 @@
+"""
+ Engines API
+
+ Allow clients to fetch Analytics through APIs. # noqa: E501
+
+ The version of the OpenAPI document: v3:[pa,spar,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,others],v1:[fiab]
+ Contact: api@factset.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from fds.analyticsapi.engines.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+)
+
+
+class FIAttributionForJobSettings(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ additional_properties_type = None
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ return {
+ 'start_date': (str,), # noqa: E501
+ 'end_date': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'start_date': 'startDate', # noqa: E501
+ 'end_date': 'endDate', # noqa: E501
+ }
+
+ _composed_schemas = {}
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """FIAttributionForJobSettings - a model defined in OpenAPI
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ start_date (str): Start Date. [optional] # noqa: E501
+ end_date (str): End Date. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/fi_attribution_for_securities.py b/auto-generated-sdk/fds/analyticsapi/engines/model/fi_attribution_for_securities.py
new file mode 100644
index 0000000..9b65ec3
--- /dev/null
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/fi_attribution_for_securities.py
@@ -0,0 +1,185 @@
+"""
+ Engines API
+
+ Allow clients to fetch Analytics through APIs. # noqa: E501
+
+ The version of the OpenAPI document: v3:[pa,spar,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,others],v1:[fiab]
+ Contact: api@factset.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from fds.analyticsapi.engines.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+)
+
+
+class FIAttributionForSecurities(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ ('pricing_method',): {
+ 'INPUTTED_PRICE': "Inputted Price",
+ 'PRICING_MATRIX': "Pricing Matrix",
+ 'ACTUAL_SPREAD': "Actual Spread",
+ 'OAS': "OAS",
+ },
+ }
+
+ validations = {
+ }
+
+ additional_properties_type = None
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ return {
+ 'start_price': (float,), # noqa: E501
+ 'end_price': (float,), # noqa: E501
+ 'start_spread': (float,), # noqa: E501
+ 'end_spread': (float,), # noqa: E501
+ 'pricing_method': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'start_price': 'startPrice', # noqa: E501
+ 'end_price': 'endPrice', # noqa: E501
+ 'start_spread': 'startSpread', # noqa: E501
+ 'end_spread': 'endSpread', # noqa: E501
+ 'pricing_method': 'pricingMethod', # noqa: E501
+ }
+
+ _composed_schemas = {}
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """FIAttributionForSecurities - a model defined in OpenAPI
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ start_price (float): Start Price. [optional] # noqa: E501
+ end_price (float): End Price. [optional] # noqa: E501
+ start_spread (float): Start Spread. [optional] # noqa: E501
+ end_spread (float): End Spread. [optional] # noqa: E501
+ pricing_method (str): Pricing Method. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/fi_job_settings.py b/auto-generated-sdk/fds/analyticsapi/engines/model/fi_job_settings.py
index 3e9e0e1..28b33f8 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/fi_job_settings.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/fi_job_settings.py
@@ -28,10 +28,12 @@
)
def lazy_import():
+ from fds.analyticsapi.engines.model.fi_attribution_for_job_settings import FIAttributionForJobSettings
from fds.analyticsapi.engines.model.fi_bank_loans import FIBankLoans
from fds.analyticsapi.engines.model.fi_market_environment import FIMarketEnvironment
from fds.analyticsapi.engines.model.fi_municipal_bonds_for_job_settings import FIMunicipalBondsForJobSettings
from fds.analyticsapi.engines.model.fi_structured_products_for_job_settings import FIStructuredProductsForJobSettings
+ globals()['FIAttributionForJobSettings'] = FIAttributionForJobSettings
globals()['FIBankLoans'] = FIBankLoans
globals()['FIMarketEnvironment'] = FIMarketEnvironment
globals()['FIMunicipalBondsForJobSettings'] = FIMunicipalBondsForJobSettings
@@ -99,6 +101,7 @@ def openapi_types():
'municipal_bonds': (FIMunicipalBondsForJobSettings,), # noqa: E501
'market_environment': (FIMarketEnvironment,), # noqa: E501
'structured_products': (FIStructuredProductsForJobSettings,), # noqa: E501
+ 'attribution': (FIAttributionForJobSettings,), # noqa: E501
}
@cached_property
@@ -116,6 +119,7 @@ def discriminator():
'municipal_bonds': 'municipalBonds', # noqa: E501
'market_environment': 'marketEnvironment', # noqa: E501
'structured_products': 'structuredProducts', # noqa: E501
+ 'attribution': 'attribution', # noqa: E501
}
_composed_schemas = {}
@@ -175,6 +179,7 @@ def __init__(self, as_of_date, *args, **kwargs): # noqa: E501
municipal_bonds (FIMunicipalBondsForJobSettings): [optional] # noqa: E501
market_environment (FIMarketEnvironment): [optional] # noqa: E501
structured_products (FIStructuredProductsForJobSettings): [optional] # noqa: E501
+ attribution (FIAttributionForJobSettings): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/fi_security.py b/auto-generated-sdk/fds/analyticsapi/engines/model/fi_security.py
index 8cbbe6b..6a5d29a 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/fi_security.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/fi_security.py
@@ -28,12 +28,14 @@
)
def lazy_import():
+ from fds.analyticsapi.engines.model.fi_attribution_for_securities import FIAttributionForSecurities
from fds.analyticsapi.engines.model.fi_bank_loans import FIBankLoans
from fds.analyticsapi.engines.model.fi_loss import FILoss
from fds.analyticsapi.engines.model.fi_municipal_bonds import FIMunicipalBonds
from fds.analyticsapi.engines.model.fi_prepay import FIPrepay
from fds.analyticsapi.engines.model.fi_reference_security import FIReferenceSecurity
from fds.analyticsapi.engines.model.fi_structured_products_for_securities import FIStructuredProductsForSecurities
+ globals()['FIAttributionForSecurities'] = FIAttributionForSecurities
globals()['FIBankLoans'] = FIBankLoans
globals()['FILoss'] = FILoss
globals()['FIMunicipalBonds'] = FIMunicipalBonds
@@ -110,6 +112,7 @@ def openapi_types():
'matrix_spread_adjustment': (float,), # noqa: E501
'matrix_multiplier': (float,), # noqa: E501
'structured_products': (FIStructuredProductsForSecurities,), # noqa: E501
+ 'attribution': (FIAttributionForSecurities,), # noqa: E501
'calc_from_method': (str,), # noqa: E501
'face': (float,), # noqa: E501
'face_type': (str,), # noqa: E501
@@ -134,6 +137,7 @@ def discriminator():
'matrix_spread_adjustment': 'matrixSpreadAdjustment', # noqa: E501
'matrix_multiplier': 'matrixMultiplier', # noqa: E501
'structured_products': 'structuredProducts', # noqa: E501
+ 'attribution': 'attribution', # noqa: E501
'calc_from_method': 'calcFromMethod', # noqa: E501
'face': 'face', # noqa: E501
'face_type': 'faceType', # noqa: E501
@@ -200,6 +204,7 @@ def __init__(self, calc_from_value, symbol, *args, **kwargs): # noqa: E501
matrix_spread_adjustment (float): Matrix Spread Adjustment. [optional] # noqa: E501
matrix_multiplier (float): Matrix Multiplier. [optional] # noqa: E501
structured_products (FIStructuredProductsForSecurities): [optional] # noqa: E501
+ attribution (FIAttributionForSecurities): [optional] # noqa: E501
calc_from_method (str): Calculation Method. Methods : Active Spread, Actual Spread, Actual Spread To Worst Call, OAS, Price, Yield, Yield To No Call, Act/Act Yield To No Call, Bond Equivalent Yield, Yield To Worst Call, Discount Yield, Discount Margin, Implied Volatility, Bullet Spread, Bullet Spread To Worst Call, Pricing Matrix. [optional] # noqa: E501
face (float): Face. [optional] if omitted the server will use the default value of 1 # noqa: E501
face_type (str): Face type. [optional] if omitted the server will use the default value of "Current" # noqa: E501
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/fpo_optimization_parameters_root.py b/auto-generated-sdk/fds/analyticsapi/engines/model/fpo_optimization_parameters_root.py
index a0fbbd0..2bbe820 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/fpo_optimization_parameters_root.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/fpo_optimization_parameters_root.py
@@ -79,7 +79,7 @@ def openapi_types():
lazy_import()
return {
'data': (FPOOptimizationParameters,), # noqa: E501
- 'meta': (bool, date, datetime, dict, float, int, list, str,), # noqa: E501
+ 'meta': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
}
@cached_property
@@ -139,7 +139,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
data (FPOOptimizationParameters): [optional] # noqa: E501
- meta (bool, date, datetime, dict, float, int, list, str): [optional] # noqa: E501
+ meta ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/npo_optimization_parameters_root.py b/auto-generated-sdk/fds/analyticsapi/engines/model/npo_optimization_parameters_root.py
index 9f6e44f..e7c29a5 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/npo_optimization_parameters_root.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/npo_optimization_parameters_root.py
@@ -79,7 +79,7 @@ def openapi_types():
lazy_import()
return {
'data': (NPOOptimizationParameters,), # noqa: E501
- 'meta': (bool, date, datetime, dict, float, int, list, str,), # noqa: E501
+ 'meta': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
}
@cached_property
@@ -139,7 +139,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
data (NPOOptimizationParameters): [optional] # noqa: E501
- meta (bool, date, datetime, dict, float, int, list, str): [optional] # noqa: E501
+ meta ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/optimizer_output_types.py b/auto-generated-sdk/fds/analyticsapi/engines/model/optimizer_output_types.py
index 506219c..f0e3931 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/optimizer_output_types.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/optimizer_output_types.py
@@ -85,7 +85,7 @@ def openapi_types():
'trades': (OptimizerTradesList,), # noqa: E501
'optimal': (OptimizerOptimalHoldings,), # noqa: E501
'account': (OptimalPortfolio,), # noqa: E501
- 'stats': (bool, date, datetime, dict, float, int, list, str,), # noqa: E501
+ 'stats': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
}
@cached_property
@@ -149,7 +149,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
trades (OptimizerTradesList): [optional] # noqa: E501
optimal (OptimizerOptimalHoldings): [optional] # noqa: E501
account (OptimalPortfolio): [optional] # noqa: E501
- stats (bool, date, datetime, dict, float, int, list, str): [optional] # noqa: E501
+ stats ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/pa_component_data.py b/auto-generated-sdk/fds/analyticsapi/engines/model/pa_component_data.py
index 0ee56f8..da54419 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/pa_component_data.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/pa_component_data.py
@@ -165,7 +165,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
dates (PADateParameters): [optional] # noqa: E501
datasources (PACalculationDataSources): [optional] # noqa: E501
currencyisocode (str): Currency ISO code for calculation.. [optional] # noqa: E501
- componentdetail (str): PA Storage type. It can be GROUPS or TOTALS or SECURITIES.. [optional] # noqa: E501
+ componentdetail (str): PA Storage type. It can be GROUPS or GROUPSALL or TOTALS or SECURITIES.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/pub_calculation_parameters_root.py b/auto-generated-sdk/fds/analyticsapi/engines/model/pub_calculation_parameters_root.py
index b145d3e..31477c3 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/pub_calculation_parameters_root.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/pub_calculation_parameters_root.py
@@ -79,7 +79,7 @@ def openapi_types():
lazy_import()
return {
'data': ({str: (PubCalculationParameters,)},), # noqa: E501
- 'meta': (bool, date, datetime, dict, float, int, list, str,), # noqa: E501
+ 'meta': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
}
@cached_property
@@ -139,7 +139,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
data ({str: (PubCalculationParameters,)}): List of calculation parameters.. [optional] # noqa: E501
- meta (bool, date, datetime, dict, float, int, list, str): [optional] # noqa: E501
+ meta ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_all_universal_screen_parameters.py b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_all_universal_screen_parameters.py
index 2cdd8af..dcb7107 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_all_universal_screen_parameters.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_all_universal_screen_parameters.py
@@ -68,7 +68,14 @@ class QuantAllUniversalScreenParameters(ModelComposed):
validations = {
}
- additional_properties_type = None
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_date_list.py b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_date_list.py
index 0febf7e..7e43409 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_date_list.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_date_list.py
@@ -66,7 +66,14 @@ class QuantDateList(ModelComposed):
validations = {
}
- additional_properties_type = None
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_fds_date.py b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_fds_date.py
index d3b4ac3..d3501d9 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_fds_date.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_fds_date.py
@@ -66,7 +66,14 @@ class QuantFdsDate(ModelComposed):
validations = {
}
- additional_properties_type = None
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_fql_expression.py b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_fql_expression.py
index d761f0d..f66f7ea 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_fql_expression.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_fql_expression.py
@@ -68,7 +68,14 @@ class QuantFqlExpression(ModelComposed):
validations = {
}
- additional_properties_type = None
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_identifier_universe.py b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_identifier_universe.py
index 103ee40..ef191a5 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_identifier_universe.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_identifier_universe.py
@@ -71,7 +71,14 @@ class QuantIdentifierUniverse(ModelComposed):
validations = {
}
- additional_properties_type = None
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_screening_expression.py b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_screening_expression.py
index a82f808..3308f0b 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_screening_expression.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_screening_expression.py
@@ -68,7 +68,14 @@ class QuantScreeningExpression(ModelComposed):
validations = {
}
- additional_properties_type = None
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_screening_expression_universe.py b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_screening_expression_universe.py
index e1fb7ac..a9294f0 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_screening_expression_universe.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_screening_expression_universe.py
@@ -71,7 +71,14 @@ class QuantScreeningExpressionUniverse(ModelComposed):
validations = {
}
- additional_properties_type = None
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_universal_screen_parameter.py b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_universal_screen_parameter.py
index 3189a1b..77de6ec 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_universal_screen_parameter.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_universal_screen_parameter.py
@@ -68,7 +68,14 @@ class QuantUniversalScreenParameter(ModelComposed):
validations = {
}
- additional_properties_type = None
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_universal_screen_universe.py b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_universal_screen_universe.py
index 0325b1b..030fcd5 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/quant_universal_screen_universe.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/quant_universal_screen_universe.py
@@ -67,7 +67,14 @@ class QuantUniversalScreenUniverse(ModelComposed):
validations = {
}
- additional_properties_type = None
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
_nullable = False
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/spar_component.py b/auto-generated-sdk/fds/analyticsapi/engines/model/spar_component.py
new file mode 100644
index 0000000..f50e6e5
--- /dev/null
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/spar_component.py
@@ -0,0 +1,190 @@
+"""
+ Engines API
+
+ Allow clients to fetch Analytics through APIs. # noqa: E501
+
+ The version of the OpenAPI document: v3:[pa,spar,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,others],v1:[fiab]
+ Contact: api@factset.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from fds.analyticsapi.engines.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+)
+
+def lazy_import():
+ from fds.analyticsapi.engines.model.spar_identifier import SPARIdentifier
+ globals()['SPARIdentifier'] = SPARIdentifier
+
+
+class SPARComponent(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ additional_properties_type = None
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ lazy_import()
+ return {
+ 'id': (str,), # noqa: E501
+ 'accounts': ([SPARIdentifier],), # noqa: E501
+ 'benchmarks': (SPARIdentifier,), # noqa: E501
+ 'currency_iso_code': (str,), # noqa: E501
+ 'path': (str,), # noqa: E501
+ 'name': (str,), # noqa: E501
+ 'category': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'accounts': 'accounts', # noqa: E501
+ 'benchmarks': 'benchmarks', # noqa: E501
+ 'currency_iso_code': 'currencyIsoCode', # noqa: E501
+ 'path': 'path', # noqa: E501
+ 'name': 'name', # noqa: E501
+ 'category': 'category', # noqa: E501
+ }
+
+ _composed_schemas = {}
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """SPARComponent - a model defined in OpenAPI
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ id (str): Component identifier.. [optional] # noqa: E501
+ accounts ([SPARIdentifier]): List of accounts in SPAR document.. [optional] # noqa: E501
+ benchmarks (SPARIdentifier): [optional] # noqa: E501
+ currency_iso_code (str): CurrencyCode in SPAR document.. [optional] # noqa: E501
+ path (str): The path to the document. [optional] # noqa: E501
+ name (str): Component name.. [optional] # noqa: E501
+ category (str): Component category.. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/spar_component_root.py b/auto-generated-sdk/fds/analyticsapi/engines/model/spar_component_root.py
new file mode 100644
index 0000000..bfa5ae0
--- /dev/null
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/spar_component_root.py
@@ -0,0 +1,172 @@
+"""
+ Engines API
+
+ Allow clients to fetch Analytics through APIs. # noqa: E501
+
+ The version of the OpenAPI document: v3:[pa,spar,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,others],v1:[fiab]
+ Contact: api@factset.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from fds.analyticsapi.engines.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+)
+
+def lazy_import():
+ from fds.analyticsapi.engines.model.spar_component import SPARComponent
+ globals()['SPARComponent'] = SPARComponent
+
+
+class SPARComponentRoot(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ additional_properties_type = None
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ lazy_import()
+ return {
+ 'data': (SPARComponent,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'data': 'data', # noqa: E501
+ }
+
+ _composed_schemas = {}
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """SPARComponentRoot - a model defined in OpenAPI
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ data (SPARComponent): [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template.py b/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template.py
index d025d99..f6d57bf 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template.py
@@ -187,7 +187,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
groups ([PACalculationGroup]): List of groupings for the PA calculation. [optional] # noqa: E501
datasources (PACalculationDataSources): [optional] # noqa: E501
currencyisocode (str): Currency ISO code for calculation.. [optional] # noqa: E501
- componentdetail (str): PA storage type. It can be GROUPS or TOTALS or SECURITIES.. [optional] # noqa: E501
+ componentdetail (str): PA storage type. It can be GROUPS or GROUPSALL or TOTALS or SECURITIES.. [optional] # noqa: E501
content (TemplateContentTypes): [optional] # noqa: E501
description (str): Template description.. [optional] # noqa: E501
name (str): Template name.. [optional] # noqa: E501
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template_parameters.py b/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template_parameters.py
index 1758552..58d2d20 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template_parameters.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template_parameters.py
@@ -180,7 +180,7 @@ def __init__(self, directory, template_type_id, *args, **kwargs): # noqa: E501
groups ([PACalculationGroup]): List of groupings for the PA calculation. [optional] # noqa: E501
datasources (PACalculationDataSources): [optional] # noqa: E501
currencyisocode (str): Currency ISO code for calculation.. [optional] # noqa: E501
- componentdetail (str): PA storage type. It can be GROUPS or TOTALS or SECURITIES.. [optional] # noqa: E501
+ componentdetail (str): PA storage type. It can be GROUPS or GROUPSALL or TOTALS or SECURITIES.. [optional] # noqa: E501
content (TemplateContentTypes): [optional] # noqa: E501
"""
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template_update_parameters.py b/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template_update_parameters.py
index 92b8f63..bdc81b2 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template_update_parameters.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/unlinked_pa_template_update_parameters.py
@@ -172,7 +172,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
groups ([PACalculationGroup]): List of groupings for the PA calculation. [optional] # noqa: E501
datasources (PACalculationDataSources): [optional] # noqa: E501
currencyisocode (str): Currency ISO code for calculation.. [optional] # noqa: E501
- componentdetail (str): PA storage type. It can be GROUPS or TOTALS or SECURITIES.. [optional] # noqa: E501
+ componentdetail (str): PA storage type. It can be GROUPS or GROUPSALL or TOTALS or SECURITIES.. [optional] # noqa: E501
content (TemplateContentTypes): [optional] # noqa: E501
"""
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/vault_attribution_loader_response.py b/auto-generated-sdk/fds/analyticsapi/engines/model/vault_attribution_loader_response.py
new file mode 100644
index 0000000..c9c675a
--- /dev/null
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/vault_attribution_loader_response.py
@@ -0,0 +1,173 @@
+"""
+ Engines API
+
+ Allow clients to fetch Analytics through APIs. # noqa: E501
+
+ The version of the OpenAPI document: v3:[pa,spar,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,others],v1:[fiab]
+ Contact: api@factset.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from fds.analyticsapi.engines.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+)
+
+
+class VaultAttributionLoaderResponse(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ additional_properties_type = None
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ return {
+ 'process_id': (str,), # noqa: E501
+ 'group_id': (str,), # noqa: E501
+ 'object_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'process_id': 'processId', # noqa: E501
+ 'group_id': 'groupId', # noqa: E501
+ 'object_id': 'objectId', # noqa: E501
+ }
+
+ _composed_schemas = {}
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, *args, **kwargs): # noqa: E501
+ """VaultAttributionLoaderResponse - a model defined in OpenAPI
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ process_id (str): ProcessId.. [optional] # noqa: E501
+ group_id (str): GroupId.. [optional] # noqa: E501
+ object_id (str): ObjectId.. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/model/vault_attribution_loader_response_root.py b/auto-generated-sdk/fds/analyticsapi/engines/model/vault_attribution_loader_response_root.py
new file mode 100644
index 0000000..000a7df
--- /dev/null
+++ b/auto-generated-sdk/fds/analyticsapi/engines/model/vault_attribution_loader_response_root.py
@@ -0,0 +1,178 @@
+"""
+ Engines API
+
+ Allow clients to fetch Analytics through APIs. # noqa: E501
+
+ The version of the OpenAPI document: v3:[pa,spar,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,others],v1:[fiab]
+ Contact: api@factset.com
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from fds.analyticsapi.engines.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+)
+
+def lazy_import():
+ from fds.analyticsapi.engines.model.vault_attribution_loader_response import VaultAttributionLoaderResponse
+ globals()['VaultAttributionLoaderResponse'] = VaultAttributionLoaderResponse
+
+
+class VaultAttributionLoaderResponseRoot(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ additional_properties_type = None
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ lazy_import()
+ return {
+ 'data': (VaultAttributionLoaderResponse,), # noqa: E501
+ 'meta': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'data': 'data', # noqa: E501
+ 'meta': 'meta', # noqa: E501
+ }
+
+ _composed_schemas = {}
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, data, *args, **kwargs): # noqa: E501
+ """VaultAttributionLoaderResponseRoot - a model defined in OpenAPI
+
+ Args:
+ data (VaultAttributionLoaderResponse):
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ meta (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.data = data
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
diff --git a/auto-generated-sdk/fds/analyticsapi/engines/models/__init__.py b/auto-generated-sdk/fds/analyticsapi/engines/models/__init__.py
index d976d41..5302e16 100644
--- a/auto-generated-sdk/fds/analyticsapi/engines/models/__init__.py
+++ b/auto-generated-sdk/fds/analyticsapi/engines/models/__init__.py
@@ -60,6 +60,8 @@
from fds.analyticsapi.engines.model.fiab_calculation_status_summary import FIABCalculationStatusSummary
from fds.analyticsapi.engines.model.fiab_date_parameters import FIABDateParameters
from fds.analyticsapi.engines.model.fiab_identifier import FIABIdentifier
+from fds.analyticsapi.engines.model.fi_attribution_for_job_settings import FIAttributionForJobSettings
+from fds.analyticsapi.engines.model.fi_attribution_for_securities import FIAttributionForSecurities
from fds.analyticsapi.engines.model.fi_balloon_extension import FIBalloonExtension
from fds.analyticsapi.engines.model.fi_bank_loans import FIBankLoans
from fds.analyticsapi.engines.model.fi_calculation_parameters import FICalculationParameters
@@ -163,6 +165,8 @@
from fds.analyticsapi.engines.model.spar_benchmark_root import SPARBenchmarkRoot
from fds.analyticsapi.engines.model.spar_calculation_parameters import SPARCalculationParameters
from fds.analyticsapi.engines.model.spar_calculation_parameters_root import SPARCalculationParametersRoot
+from fds.analyticsapi.engines.model.spar_component import SPARComponent
+from fds.analyticsapi.engines.model.spar_component_root import SPARComponentRoot
from fds.analyticsapi.engines.model.spar_date_parameters import SPARDateParameters
from fds.analyticsapi.engines.model.spar_identifier import SPARIdentifier
from fds.analyticsapi.engines.model.template_content_types import TemplateContentTypes
@@ -192,6 +196,8 @@
from fds.analyticsapi.engines.model.unlinked_pa_template_summary_root import UnlinkedPATemplateSummaryRoot
from fds.analyticsapi.engines.model.unlinked_pa_template_update_parameters import UnlinkedPATemplateUpdateParameters
from fds.analyticsapi.engines.model.unlinked_pa_template_update_parameters_root import UnlinkedPATemplateUpdateParametersRoot
+from fds.analyticsapi.engines.model.vault_attribution_loader_response import VaultAttributionLoaderResponse
+from fds.analyticsapi.engines.model.vault_attribution_loader_response_root import VaultAttributionLoaderResponseRoot
from fds.analyticsapi.engines.model.vault_calculation_parameters import VaultCalculationParameters
from fds.analyticsapi.engines.model.vault_calculation_parameters_root import VaultCalculationParametersRoot
from fds.analyticsapi.engines.model.vault_component import VaultComponent