diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 8036a14..b294851 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -15,6 +15,13 @@ docs/AuthorizationCodeRequest.md docs/AuthorizationCodeRequestBody.md docs/AuthorizationCodeResponse.md docs/AuthorizationCodeResponseBody.md +docs/BudgetCreateRequest.md +docs/BudgetCreateRequestBody.md +docs/BudgetResponse.md +docs/BudgetResponseBody.md +docs/BudgetUpdateRequest.md +docs/BudgetUpdateRequestBody.md +docs/BudgetsApi.md docs/CategoriesResponseBody.md docs/CategoryCreateRequest.md docs/CategoryCreateRequestBody.md @@ -37,6 +44,13 @@ docs/EnhanceTransactionResponse.md docs/EnhanceTransactionsRequest.md docs/EnhanceTransactionsRequestBody.md docs/EnhanceTransactionsResponseBody.md +docs/GoalRequest.md +docs/GoalRequestBody.md +docs/GoalResponse.md +docs/GoalResponseBody.md +docs/GoalsApi.md +docs/GoalsResponse.md +docs/GoalsResponseBody.md docs/HoldingResponse.md docs/HoldingResponseBody.md docs/HoldingsResponseBody.md @@ -77,6 +91,10 @@ docs/MerchantLocationResponseBody.md docs/MerchantResponse.md docs/MerchantResponseBody.md docs/MerchantsResponseBody.md +docs/MonthlyCashFlowProfileRequest.md +docs/MonthlyCashFlowProfileRequestBody.md +docs/MonthlyCashFlowResponse.md +docs/MonthlyCashFlowResponseBody.md docs/MxPlatformApi.md docs/OAuthWindowResponse.md docs/OAuthWindowResponseBody.md @@ -86,6 +104,9 @@ docs/PaymentProcessorAuthorizationCodeRequest.md docs/PaymentProcessorAuthorizationCodeRequestBody.md docs/PaymentProcessorAuthorizationCodeResponse.md docs/PaymentProcessorAuthorizationCodeResponseBody.md +docs/RepositionRequest.md +docs/RepositionRequestBody.md +docs/RepositionResponseBody.md docs/RewardResponse.md docs/RewardResponseBody.md docs/RewardsResponse.md @@ -102,6 +123,9 @@ docs/SpendingPlanIterationResponse.md docs/SpendingPlanIterationsResponse.md docs/SpendingPlanResponse.md docs/SpendingPlansResponseBody.md +docs/SplitTransactionRequest.md +docs/SplitTransactionRequestBody.md +docs/SplitTransactionsResponseBody.md docs/StatementResponse.md docs/StatementResponseBody.md docs/StatementsResponseBody.md @@ -134,6 +158,8 @@ docs/TransactionRulesResponseBody.md docs/TransactionUpdateRequest.md docs/TransactionUpdateRequestBody.md docs/TransactionsResponseBody.md +docs/UpdateGoalRequest.md +docs/UpdateGoalRequestBody.md docs/UserCreateRequest.md docs/UserCreateRequestBody.md docs/UserResponse.md @@ -147,6 +173,8 @@ docs/WidgetResponse.md docs/WidgetResponseBody.md mx_platform_python/__init__.py mx_platform_python/api/__init__.py +mx_platform_python/api/budgets_api.py +mx_platform_python/api/goals_api.py mx_platform_python/api/insights_api.py mx_platform_python/api/mx_platform_api.py mx_platform_python/api/spending_plan_api.py @@ -170,6 +198,12 @@ mx_platform_python/models/authorization_code_request.py mx_platform_python/models/authorization_code_request_body.py mx_platform_python/models/authorization_code_response.py mx_platform_python/models/authorization_code_response_body.py +mx_platform_python/models/budget_create_request.py +mx_platform_python/models/budget_create_request_body.py +mx_platform_python/models/budget_response.py +mx_platform_python/models/budget_response_body.py +mx_platform_python/models/budget_update_request.py +mx_platform_python/models/budget_update_request_body.py mx_platform_python/models/categories_response_body.py mx_platform_python/models/category_create_request.py mx_platform_python/models/category_create_request_body.py @@ -192,6 +226,12 @@ mx_platform_python/models/enhance_transaction_response.py mx_platform_python/models/enhance_transactions_request.py mx_platform_python/models/enhance_transactions_request_body.py mx_platform_python/models/enhance_transactions_response_body.py +mx_platform_python/models/goal_request.py +mx_platform_python/models/goal_request_body.py +mx_platform_python/models/goal_response.py +mx_platform_python/models/goal_response_body.py +mx_platform_python/models/goals_response.py +mx_platform_python/models/goals_response_body.py mx_platform_python/models/holding_response.py mx_platform_python/models/holding_response_body.py mx_platform_python/models/holdings_response_body.py @@ -231,6 +271,10 @@ mx_platform_python/models/merchant_location_response_body.py mx_platform_python/models/merchant_response.py mx_platform_python/models/merchant_response_body.py mx_platform_python/models/merchants_response_body.py +mx_platform_python/models/monthly_cash_flow_profile_request.py +mx_platform_python/models/monthly_cash_flow_profile_request_body.py +mx_platform_python/models/monthly_cash_flow_response.py +mx_platform_python/models/monthly_cash_flow_response_body.py mx_platform_python/models/o_auth_window_response.py mx_platform_python/models/o_auth_window_response_body.py mx_platform_python/models/option_response.py @@ -239,6 +283,9 @@ mx_platform_python/models/payment_processor_authorization_code_request.py mx_platform_python/models/payment_processor_authorization_code_request_body.py mx_platform_python/models/payment_processor_authorization_code_response.py mx_platform_python/models/payment_processor_authorization_code_response_body.py +mx_platform_python/models/reposition_request.py +mx_platform_python/models/reposition_request_body.py +mx_platform_python/models/reposition_response_body.py mx_platform_python/models/reward_response.py mx_platform_python/models/reward_response_body.py mx_platform_python/models/rewards_response.py @@ -254,6 +301,9 @@ mx_platform_python/models/spending_plan_iteration_response.py mx_platform_python/models/spending_plan_iterations_response.py mx_platform_python/models/spending_plan_response.py mx_platform_python/models/spending_plans_response_body.py +mx_platform_python/models/split_transaction_request.py +mx_platform_python/models/split_transaction_request_body.py +mx_platform_python/models/split_transactions_response_body.py mx_platform_python/models/statement_response.py mx_platform_python/models/statement_response_body.py mx_platform_python/models/statements_response_body.py @@ -286,6 +336,8 @@ mx_platform_python/models/transaction_rules_response_body.py mx_platform_python/models/transaction_update_request.py mx_platform_python/models/transaction_update_request_body.py mx_platform_python/models/transactions_response_body.py +mx_platform_python/models/update_goal_request.py +mx_platform_python/models/update_goal_request_body.py mx_platform_python/models/user_create_request.py mx_platform_python/models/user_create_request_body.py mx_platform_python/models/user_response.py @@ -320,6 +372,13 @@ test/test_authorization_code_request.py test/test_authorization_code_request_body.py test/test_authorization_code_response.py test/test_authorization_code_response_body.py +test/test_budget_create_request.py +test/test_budget_create_request_body.py +test/test_budget_response.py +test/test_budget_response_body.py +test/test_budget_update_request.py +test/test_budget_update_request_body.py +test/test_budgets_api.py test/test_categories_response_body.py test/test_category_create_request.py test/test_category_create_request_body.py @@ -342,6 +401,13 @@ test/test_enhance_transaction_response.py test/test_enhance_transactions_request.py test/test_enhance_transactions_request_body.py test/test_enhance_transactions_response_body.py +test/test_goal_request.py +test/test_goal_request_body.py +test/test_goal_response.py +test/test_goal_response_body.py +test/test_goals_api.py +test/test_goals_response.py +test/test_goals_response_body.py test/test_holding_response.py test/test_holding_response_body.py test/test_holdings_response_body.py @@ -382,6 +448,10 @@ test/test_merchant_location_response_body.py test/test_merchant_response.py test/test_merchant_response_body.py test/test_merchants_response_body.py +test/test_monthly_cash_flow_profile_request.py +test/test_monthly_cash_flow_profile_request_body.py +test/test_monthly_cash_flow_response.py +test/test_monthly_cash_flow_response_body.py test/test_mx_platform_api.py test/test_o_auth_window_response.py test/test_o_auth_window_response_body.py @@ -391,6 +461,9 @@ test/test_payment_processor_authorization_code_request.py test/test_payment_processor_authorization_code_request_body.py test/test_payment_processor_authorization_code_response.py test/test_payment_processor_authorization_code_response_body.py +test/test_reposition_request.py +test/test_reposition_request_body.py +test/test_reposition_response_body.py test/test_reward_response.py test/test_reward_response_body.py test/test_rewards_response.py @@ -407,6 +480,9 @@ test/test_spending_plan_iteration_response.py test/test_spending_plan_iterations_response.py test/test_spending_plan_response.py test/test_spending_plans_response_body.py +test/test_split_transaction_request.py +test/test_split_transaction_request_body.py +test/test_split_transactions_response_body.py test/test_statement_response.py test/test_statement_response_body.py test/test_statements_response_body.py @@ -439,6 +515,8 @@ test/test_transaction_rules_response_body.py test/test_transaction_update_request.py test/test_transaction_update_request_body.py test/test_transactions_response_body.py +test/test_update_goal_request.py +test/test_update_goal_request_body.py test/test_user_create_request.py test/test_user_create_request_body.py test/test_user_response.py diff --git a/docs/BudgetCreateRequest.md b/docs/BudgetCreateRequest.md new file mode 100644 index 0000000..e9ea7ae --- /dev/null +++ b/docs/BudgetCreateRequest.md @@ -0,0 +1,32 @@ +# BudgetCreateRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**category_guid** | **str** | Unique identifier of the category. | +**parent_guid** | **str** | Unique identifier of the parent budget. This is only required when creating a budget on a sub-category. | +**amount** | **int** | Amount of the budget. | [optional] +**metadata** | **str** | Additional information a partner can store on the budget. | [optional] +**skip_webhook** | **bool** | When set to true, this parameter will prevent a webhook from being triggered by the request. | [optional] + +## Example + +```python +from mx_platform_python.models.budget_create_request import BudgetCreateRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of BudgetCreateRequest from a JSON string +budget_create_request_instance = BudgetCreateRequest.from_json(json) +# print the JSON string representation of the object +print BudgetCreateRequest.to_json() + +# convert the object into a dict +budget_create_request_dict = budget_create_request_instance.to_dict() +# create an instance of BudgetCreateRequest from a dict +budget_create_request_form_dict = budget_create_request.from_dict(budget_create_request_dict) +``` +[[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/docs/BudgetCreateRequestBody.md b/docs/BudgetCreateRequestBody.md new file mode 100644 index 0000000..b7cddfa --- /dev/null +++ b/docs/BudgetCreateRequestBody.md @@ -0,0 +1,28 @@ +# BudgetCreateRequestBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**budget** | [**BudgetCreateRequest**](BudgetCreateRequest.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.budget_create_request_body import BudgetCreateRequestBody + +# TODO update the JSON string below +json = "{}" +# create an instance of BudgetCreateRequestBody from a JSON string +budget_create_request_body_instance = BudgetCreateRequestBody.from_json(json) +# print the JSON string representation of the object +print BudgetCreateRequestBody.to_json() + +# convert the object into a dict +budget_create_request_body_dict = budget_create_request_body_instance.to_dict() +# create an instance of BudgetCreateRequestBody from a dict +budget_create_request_body_form_dict = budget_create_request_body.from_dict(budget_create_request_body_dict) +``` +[[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/docs/BudgetResponse.md b/docs/BudgetResponse.md new file mode 100644 index 0000000..21e4a48 --- /dev/null +++ b/docs/BudgetResponse.md @@ -0,0 +1,43 @@ +# BudgetResponse + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | **float** | A goal amount set by the user for a category's transaction total during a month. | [optional] +**category_guid** | **str** | Unique identifier for the budget category. Defined by MX. | [optional] +**created_at** | **str** | Date and time the budget was created, represented in ISO 8601 format with timestamp. | [optional] +**guid** | **str** | Unique identifier for the budget. Defined by MX. | [optional] +**is_exceeded** | **bool** | If the budget has been exceeded, this field will be true. Otherwise, this field will be false. | [optional] +**is_off_track** | **bool** | If the budget is off track, this field will be true. Otherwise, this field will be false. | [optional] +**metadata** | **str** | Additional information a partner can store on the budget. | [optional] +**name** | **str** | The name of the budget that is visible to the user (ie \"Food\", \"Bills\", \"Entertainment\", etc). | [optional] +**off_track_percentage** | **float** | The percentage amount of off track spending. (Deprecated). | [optional] +**parent_guid** | **str** | Unique identifier for the parent budget. Defined by MX. | [optional] +**percent_spent** | **float** | The percentage of a budget that has been spent during the current calendar month Calculated as the transaction total divided by the amount and then multiplied by 100.A value of zero will be returned when `amount` is zero. | [optional] +**projected_spending** | **float** | The projected amount of spending for the budget. | [optional] +**revision** | **int** | The revision number of this budget record. | [optional] +**transaction_total** | **object** | The cumulative amount of all transactions under the budget. | [optional] +**updated_at** | **object** | Date and time the budget was updated, represented in ISO 8601 format with timestamp. | [optional] +**user_guid** | **object** | Unique identifier for the user. Defined by MX. | [optional] + +## Example + +```python +from mx_platform_python.models.budget_response import BudgetResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of BudgetResponse from a JSON string +budget_response_instance = BudgetResponse.from_json(json) +# print the JSON string representation of the object +print BudgetResponse.to_json() + +# convert the object into a dict +budget_response_dict = budget_response_instance.to_dict() +# create an instance of BudgetResponse from a dict +budget_response_form_dict = budget_response.from_dict(budget_response_dict) +``` +[[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/docs/BudgetResponseBody.md b/docs/BudgetResponseBody.md new file mode 100644 index 0000000..d81ad64 --- /dev/null +++ b/docs/BudgetResponseBody.md @@ -0,0 +1,28 @@ +# BudgetResponseBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**budget** | [**BudgetResponse**](BudgetResponse.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.budget_response_body import BudgetResponseBody + +# TODO update the JSON string below +json = "{}" +# create an instance of BudgetResponseBody from a JSON string +budget_response_body_instance = BudgetResponseBody.from_json(json) +# print the JSON string representation of the object +print BudgetResponseBody.to_json() + +# convert the object into a dict +budget_response_body_dict = budget_response_body_instance.to_dict() +# create an instance of BudgetResponseBody from a dict +budget_response_body_form_dict = budget_response_body.from_dict(budget_response_body_dict) +``` +[[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/docs/BudgetUpdateRequest.md b/docs/BudgetUpdateRequest.md new file mode 100644 index 0000000..6ec6f5c --- /dev/null +++ b/docs/BudgetUpdateRequest.md @@ -0,0 +1,30 @@ +# BudgetUpdateRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | **int** | Amount of the budget. | [optional] +**metadata** | **str** | Additional information a partner can store on the budget. | [optional] +**skip_webhook** | **bool** | When set to true, this parameter will prevent a webhook from being triggered by the request. | [optional] + +## Example + +```python +from mx_platform_python.models.budget_update_request import BudgetUpdateRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of BudgetUpdateRequest from a JSON string +budget_update_request_instance = BudgetUpdateRequest.from_json(json) +# print the JSON string representation of the object +print BudgetUpdateRequest.to_json() + +# convert the object into a dict +budget_update_request_dict = budget_update_request_instance.to_dict() +# create an instance of BudgetUpdateRequest from a dict +budget_update_request_form_dict = budget_update_request.from_dict(budget_update_request_dict) +``` +[[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/docs/BudgetUpdateRequestBody.md b/docs/BudgetUpdateRequestBody.md new file mode 100644 index 0000000..fc5bd8f --- /dev/null +++ b/docs/BudgetUpdateRequestBody.md @@ -0,0 +1,28 @@ +# BudgetUpdateRequestBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**budget** | [**BudgetUpdateRequest**](BudgetUpdateRequest.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.budget_update_request_body import BudgetUpdateRequestBody + +# TODO update the JSON string below +json = "{}" +# create an instance of BudgetUpdateRequestBody from a JSON string +budget_update_request_body_instance = BudgetUpdateRequestBody.from_json(json) +# print the JSON string representation of the object +print BudgetUpdateRequestBody.to_json() + +# convert the object into a dict +budget_update_request_body_dict = budget_update_request_body_instance.to_dict() +# create an instance of BudgetUpdateRequestBody from a dict +budget_update_request_body_form_dict = budget_update_request_body.from_dict(budget_update_request_body_dict) +``` +[[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/docs/BudgetsApi.md b/docs/BudgetsApi.md new file mode 100644 index 0000000..a57d67b --- /dev/null +++ b/docs/BudgetsApi.md @@ -0,0 +1,491 @@ +# mx_platform_python.BudgetsApi + +All URIs are relative to *https://api.mx.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**users_user_guid_budgets_budget_guid_delete**](BudgetsApi.md#users_user_guid_budgets_budget_guid_delete) | **DELETE** /users/{user_guid}/budgets/{budget_guid} | Delete a budget +[**users_user_guid_budgets_budget_guid_get**](BudgetsApi.md#users_user_guid_budgets_budget_guid_get) | **GET** /users/{user_guid}/budgets/{budget_guid} | Read a specific budget +[**users_user_guid_budgets_budget_guid_put**](BudgetsApi.md#users_user_guid_budgets_budget_guid_put) | **PUT** /users/{user_guid}/budgets/{budget_guid} | Update a specific budget +[**users_user_guid_budgets_generate_post**](BudgetsApi.md#users_user_guid_budgets_generate_post) | **POST** /users/{user_guid}/budgets/generate | Auto-generate budgets +[**users_user_guid_budgets_get**](BudgetsApi.md#users_user_guid_budgets_get) | **GET** /users/{user_guid}/budgets | List all budgets +[**users_user_guid_budgets_post**](BudgetsApi.md#users_user_guid_budgets_post) | **POST** /users/{user_guid}/budgets | Create a budget + + +# **users_user_guid_budgets_budget_guid_delete** +> users_user_guid_budgets_budget_guid_delete(user_guid, budget_guid) + +Delete a budget + +Delete a budget. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.BudgetsApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the budget. Defined by MX. + budget_guid = 'budget_guid_example' # str | The unique identifier for the budget. Defined by MX. + + try: + # Delete a budget + api_instance.users_user_guid_budgets_budget_guid_delete(user_guid, budget_guid) + except Exception as e: + print("Exception when calling BudgetsApi->users_user_guid_budgets_budget_guid_delete: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the budget. Defined by MX. | + **budget_guid** | **str**| The unique identifier for the budget. Defined by MX. | + +### Return type + +void (empty response body) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No content | - | + +[[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) + +# **users_user_guid_budgets_budget_guid_get** +> BudgetResponseBody users_user_guid_budgets_budget_guid_get(budget_guid, user_guid) + +Read a specific budget + +Read a specific budget. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.budget_response_body import BudgetResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.BudgetsApi(api_client) + budget_guid = 'budget_guid_example' # str | The unique identifier for the budget. Defined by MX. + user_guid = 'user_guid_example' # str | The unique identifier for the budget. Defined by MX. + + try: + # Read a specific budget + api_response = api_instance.users_user_guid_budgets_budget_guid_get(budget_guid, user_guid) + print("The response of BudgetsApi->users_user_guid_budgets_budget_guid_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling BudgetsApi->users_user_guid_budgets_budget_guid_get: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **budget_guid** | **str**| The unique identifier for the budget. Defined by MX. | + **user_guid** | **str**| The unique identifier for the budget. Defined by MX. | + +### Return type + +[**BudgetResponseBody**](BudgetResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_budgets_budget_guid_put** +> BudgetResponseBody users_user_guid_budgets_budget_guid_put(user_guid, budget_guid, budget_update_request_body=budget_update_request_body) + +Update a specific budget + +Update a specific budget. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.budget_response_body import BudgetResponseBody +from mx_platform_python.models.budget_update_request_body import BudgetUpdateRequestBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.BudgetsApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the budget. Defined by MX. + budget_guid = 'budget_guid_example' # str | The unique identifier for the budget. Defined by MX. + budget_update_request_body = mx_platform_python.BudgetUpdateRequestBody() # BudgetUpdateRequestBody | (optional) + + try: + # Update a specific budget + api_response = api_instance.users_user_guid_budgets_budget_guid_put(user_guid, budget_guid, budget_update_request_body=budget_update_request_body) + print("The response of BudgetsApi->users_user_guid_budgets_budget_guid_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling BudgetsApi->users_user_guid_budgets_budget_guid_put: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the budget. Defined by MX. | + **budget_guid** | **str**| The unique identifier for the budget. Defined by MX. | + **budget_update_request_body** | [**BudgetUpdateRequestBody**](BudgetUpdateRequestBody.md)| | [optional] + +### Return type + +[**BudgetResponseBody**](BudgetResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_budgets_generate_post** +> BudgetResponseBody users_user_guid_budgets_generate_post(user_guid) + +Auto-generate budgets + +This endpoint will automatically create budgets for several categories based on existing transactions; these budgets are returned as an array. Specifically, budgets will only be generated if the `user` has at least one `transaction` in a given category during each of the two previous calendar months. For example, if the request is made on March 6, and there is at least one \"Bills & Utilities\" `transaction` in both January and February, a budget will be generated for \"Bills & Utilities.\" If there are two \"Bills & Utilities\" transactions in February but none in January, no budget will be generated for that category. If budgets already exist for particular categories, new budgets will be generated and returned based on the available transactions. If one or more budgets remain unchanged, they will nevertheless be returned in the response. If no transaction data for the `user` meet the above criteria, a `422 Unprocessable Entity` error will be returned with status code 4221 along with the message, `There aren't enough transactions to automatically create any budgets`. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.budget_response_body import BudgetResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.BudgetsApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the user. Defined by MX. + + try: + # Auto-generate budgets + api_response = api_instance.users_user_guid_budgets_generate_post(user_guid) + print("The response of BudgetsApi->users_user_guid_budgets_generate_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling BudgetsApi->users_user_guid_budgets_generate_post: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the user. Defined by MX. | + +### Return type + +[**BudgetResponseBody**](BudgetResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_budgets_get** +> BudgetResponseBody users_user_guid_budgets_get(user_guid) + +List all budgets + +List all budgets + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.budget_response_body import BudgetResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.BudgetsApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the user. Defined by MX. + + try: + # List all budgets + api_response = api_instance.users_user_guid_budgets_get(user_guid) + print("The response of BudgetsApi->users_user_guid_budgets_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling BudgetsApi->users_user_guid_budgets_get: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the user. Defined by MX. | + +### Return type + +[**BudgetResponseBody**](BudgetResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_budgets_post** +> BudgetResponseBody users_user_guid_budgets_post(user_guid, budget_create_request_body) + +Create a budget + +Create a budget. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. You cannot create a duplicate budget. For example, if you attempt to create a budget for \"Gas\", but that budget already exist, the request will fail. You can retrieve a list of all existing categories by using the List Categories endpoint. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.budget_create_request_body import BudgetCreateRequestBody +from mx_platform_python.models.budget_response_body import BudgetResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.BudgetsApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the user. Defined by MX. + budget_create_request_body = mx_platform_python.BudgetCreateRequestBody() # BudgetCreateRequestBody | + + try: + # Create a budget + api_response = api_instance.users_user_guid_budgets_post(user_guid, budget_create_request_body) + print("The response of BudgetsApi->users_user_guid_budgets_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling BudgetsApi->users_user_guid_budgets_post: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the user. Defined by MX. | + **budget_create_request_body** | [**BudgetCreateRequestBody**](BudgetCreateRequestBody.md)| | + +### Return type + +[**BudgetResponseBody**](BudgetResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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/docs/CreditCardProduct.md b/docs/CreditCardProduct.md index 51d9fb1..b41e822 100644 --- a/docs/CreditCardProduct.md +++ b/docs/CreditCardProduct.md @@ -4,18 +4,18 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**annual_fee** | **object** | | [optional] -**duration_of_introductory_rate_on_balance_transfer** | **object** | | [optional] -**duration_of_introductory_rate_on_purchases** | **object** | | [optional] -**guid** | **object** | | [optional] +**annual_fee** | **float** | | [optional] +**duration_of_introductory_rate_on_balance_transfer** | **int** | | [optional] +**duration_of_introductory_rate_on_purchases** | **int** | | [optional] +**guid** | **str** | | [optional] **has_cashback_rewards** | **bool** | | [optional] **has_other_rewards** | **bool** | | [optional] **has_travel_rewards** | **bool** | | [optional] **has_zero_introductory_annual_fee** | **bool** | | [optional] **has_zero_percent_introductory_rate** | **bool** | | [optional] **has_zero_percent_introductory_rate_on_balance_transfer** | **bool** | | [optional] -**financial_institution** | **bool** | | [optional] -**is_accepting_applications** | **bool** | | [optional] +**is_accepting_applicants** | **bool** | | [optional] +**is_active_credit_card_product** | **bool** | | [optional] **is_small_business_card** | **bool** | | [optional] **name** | **str** | | [optional] diff --git a/docs/CreditCardProductResponse.md b/docs/CreditCardProductResponse.md index 7514006..7adce86 100644 --- a/docs/CreditCardProductResponse.md +++ b/docs/CreditCardProductResponse.md @@ -4,7 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**reward** | [**CreditCardProduct**](CreditCardProduct.md) | | [optional] +**credit_card_product** | [**CreditCardProduct**](CreditCardProduct.md) | | [optional] ## Example diff --git a/docs/GoalRequest.md b/docs/GoalRequest.md new file mode 100644 index 0000000..3a4a5f6 --- /dev/null +++ b/docs/GoalRequest.md @@ -0,0 +1,38 @@ +# GoalRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_guid** | **str** | Unique identifier of the account for the goal. | +**amount** | **float** | Amount of the goal. | +**goal_type_name** | **str** | The goal type. | +**meta_type_name** | **str** | The category of the goal. | +**name** | **str** | The name of the goal. | +**completed_at** | **str** | Date and time the goal was completed. | [optional] +**has_been_spent** | **bool** | Determines if the goal has been spent. | [optional] +**is_complete** | **bool** | Determines if the goal is complete. | [optional] +**metadata** | **str** | Additional information a partner can store on the goal. | [optional] +**position** | **int** | The priority of the goal in relation to multiple goals. | [optional] +**targeted_to_complete_at** | **str** | Date and time the goal is to complete. Intended for users to set their own goal completion dates. | [optional] + +## Example + +```python +from mx_platform_python.models.goal_request import GoalRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of GoalRequest from a JSON string +goal_request_instance = GoalRequest.from_json(json) +# print the JSON string representation of the object +print GoalRequest.to_json() + +# convert the object into a dict +goal_request_dict = goal_request_instance.to_dict() +# create an instance of GoalRequest from a dict +goal_request_form_dict = goal_request.from_dict(goal_request_dict) +``` +[[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/docs/GoalRequestBody.md b/docs/GoalRequestBody.md new file mode 100644 index 0000000..6c6a1f2 --- /dev/null +++ b/docs/GoalRequestBody.md @@ -0,0 +1,28 @@ +# GoalRequestBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**goal** | [**GoalRequest**](GoalRequest.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.goal_request_body import GoalRequestBody + +# TODO update the JSON string below +json = "{}" +# create an instance of GoalRequestBody from a JSON string +goal_request_body_instance = GoalRequestBody.from_json(json) +# print the JSON string representation of the object +print GoalRequestBody.to_json() + +# convert the object into a dict +goal_request_body_dict = goal_request_body_instance.to_dict() +# create an instance of GoalRequestBody from a dict +goal_request_body_form_dict = goal_request_body.from_dict(goal_request_body_dict) +``` +[[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/docs/GoalResponse.md b/docs/GoalResponse.md new file mode 100644 index 0000000..6cb47c7 --- /dev/null +++ b/docs/GoalResponse.md @@ -0,0 +1,43 @@ +# GoalResponse + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_guid** | **str** | Unique identifier of the account for the goal. | [optional] +**amount** | **float** | Amount of the goal. | [optional] +**completed_at** | **str** | Date and time the goal was completed. | [optional] +**current_amount** | **float** | The current amount of the goal. | [optional] +**goal_type_name** | **str** | The goal type. | [optional] +**guid** | **str** | Unique identifier for the goal. Defined by MX. | [optional] +**has_been_spent** | **bool** | Determines if the goal has been spent. | [optional] +**is_complete** | **bool** | Determines if the goal is complete. | [optional] +**metadata** | **str** | Additional information a partner can store on the goal. | [optional] +**meta_type_name** | **str** | The category of the goal. | [optional] +**name** | **str** | The name of the goal. | [optional] +**position** | **int** | The priority of the goal in relation to multiple goals. | [optional] +**projected_to_complete_at** | **str** | Date and time the goal is projected to be completed. | [optional] +**targeted_to_complete_at** | **str** | Date and time the goal is to complete. Intended for users to set their own goal completion dates. | [optional] +**track_type_name** | **str** | | [optional] +**user_guid** | **str** | The unique identifier for the the user. Defined by MX. | [optional] + +## Example + +```python +from mx_platform_python.models.goal_response import GoalResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GoalResponse from a JSON string +goal_response_instance = GoalResponse.from_json(json) +# print the JSON string representation of the object +print GoalResponse.to_json() + +# convert the object into a dict +goal_response_dict = goal_response_instance.to_dict() +# create an instance of GoalResponse from a dict +goal_response_form_dict = goal_response.from_dict(goal_response_dict) +``` +[[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/docs/GoalResponseBody.md b/docs/GoalResponseBody.md new file mode 100644 index 0000000..30be508 --- /dev/null +++ b/docs/GoalResponseBody.md @@ -0,0 +1,28 @@ +# GoalResponseBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**goal** | [**GoalResponse**](GoalResponse.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.goal_response_body import GoalResponseBody + +# TODO update the JSON string below +json = "{}" +# create an instance of GoalResponseBody from a JSON string +goal_response_body_instance = GoalResponseBody.from_json(json) +# print the JSON string representation of the object +print GoalResponseBody.to_json() + +# convert the object into a dict +goal_response_body_dict = goal_response_body_instance.to_dict() +# create an instance of GoalResponseBody from a dict +goal_response_body_form_dict = goal_response_body.from_dict(goal_response_body_dict) +``` +[[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/docs/GoalsApi.md b/docs/GoalsApi.md new file mode 100644 index 0000000..48bf663 --- /dev/null +++ b/docs/GoalsApi.md @@ -0,0 +1,498 @@ +# mx_platform_python.GoalsApi + +All URIs are relative to *https://api.mx.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**users_user_guid_goals_get**](GoalsApi.md#users_user_guid_goals_get) | **GET** /users/{user_guid}/goals | List goals +[**users_user_guid_goals_goal_guid_delete**](GoalsApi.md#users_user_guid_goals_goal_guid_delete) | **DELETE** /users/{user_guid}/goals/{goal_guid} | Delete a goal +[**users_user_guid_goals_goal_guid_get**](GoalsApi.md#users_user_guid_goals_goal_guid_get) | **GET** /users/{user_guid}/goals/{goal_guid} | Read a goal +[**users_user_guid_goals_goal_guid_put**](GoalsApi.md#users_user_guid_goals_goal_guid_put) | **PUT** /users/{user_guid}/goals/{goal_guid} | Update a goal +[**users_user_guid_goals_post**](GoalsApi.md#users_user_guid_goals_post) | **POST** /users/{user_guid}/goals | Create a goal +[**users_user_guid_goals_reposition_put**](GoalsApi.md#users_user_guid_goals_reposition_put) | **PUT** /users/{user_guid}/goals/reposition | Reposition goals + + +# **users_user_guid_goals_get** +> GoalsResponseBody users_user_guid_goals_get(user_guid, page=page, records_per_age=records_per_age) + +List goals + +List all goals a user can set. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.goals_response_body import GoalsResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.GoalsApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the user. + page = 'page_example' # str | Results are returned in paginated sets, this is the page of the results you would like to view. Defaults to page 1 if no page is specified. (optional) + records_per_age = 'records_per_age_example' # str | The supported range is from 10 to 1000. If the records_per_page parameter is not specified or is outside this range, a default of 25 records per page will be used. (optional) + + try: + # List goals + api_response = api_instance.users_user_guid_goals_get(user_guid, page=page, records_per_age=records_per_age) + print("The response of GoalsApi->users_user_guid_goals_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GoalsApi->users_user_guid_goals_get: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the user. | + **page** | **str**| Results are returned in paginated sets, this is the page of the results you would like to view. Defaults to page 1 if no page is specified. | [optional] + **records_per_age** | **str**| The supported range is from 10 to 1000. If the records_per_page parameter is not specified or is outside this range, a default of 25 records per page will be used. | [optional] + +### Return type + +[**GoalsResponseBody**](GoalsResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_goals_goal_guid_delete** +> users_user_guid_goals_goal_guid_delete(goal_guid, user_guid) + +Delete a goal + +Delete a goal. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.GoalsApi(api_client) + goal_guid = 'goal_guid_example' # str | The unique identifier for a goal. Defined by MX. + user_guid = 'user_guid_example' # str | The unique identifier for a user. + + try: + # Delete a goal + api_instance.users_user_guid_goals_goal_guid_delete(goal_guid, user_guid) + except Exception as e: + print("Exception when calling GoalsApi->users_user_guid_goals_goal_guid_delete: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **goal_guid** | **str**| The unique identifier for a goal. Defined by MX. | + **user_guid** | **str**| The unique identifier for a user. | + +### Return type + +void (empty response body) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No content | - | + +[[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) + +# **users_user_guid_goals_goal_guid_get** +> GoalResponseBody users_user_guid_goals_goal_guid_get(goal_guid, user_guid) + +Read a goal + +Read a specific goal. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.goal_response_body import GoalResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.GoalsApi(api_client) + goal_guid = 'goal_guid_example' # str | The unique identifier for a goal. Defined by MX. + user_guid = 'user_guid_example' # str | The unique identifier for a user. + + try: + # Read a goal + api_response = api_instance.users_user_guid_goals_goal_guid_get(goal_guid, user_guid) + print("The response of GoalsApi->users_user_guid_goals_goal_guid_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GoalsApi->users_user_guid_goals_goal_guid_get: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **goal_guid** | **str**| The unique identifier for a goal. Defined by MX. | + **user_guid** | **str**| The unique identifier for a user. | + +### Return type + +[**GoalResponseBody**](GoalResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_goals_goal_guid_put** +> GoalResponseBody users_user_guid_goals_goal_guid_put(goal_guid, user_guid, update_goal_request_body) + +Update a goal + +This endpoint updates a specific goal. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.goal_response_body import GoalResponseBody +from mx_platform_python.models.update_goal_request_body import UpdateGoalRequestBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.GoalsApi(api_client) + goal_guid = 'goal_guid_example' # str | The unique identifier for a goal. Defined by MX. + user_guid = 'user_guid_example' # str | The unique identifier for a user. + update_goal_request_body = mx_platform_python.UpdateGoalRequestBody() # UpdateGoalRequestBody | + + try: + # Update a goal + api_response = api_instance.users_user_guid_goals_goal_guid_put(goal_guid, user_guid, update_goal_request_body) + print("The response of GoalsApi->users_user_guid_goals_goal_guid_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GoalsApi->users_user_guid_goals_goal_guid_put: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **goal_guid** | **str**| The unique identifier for a goal. Defined by MX. | + **user_guid** | **str**| The unique identifier for a user. | + **update_goal_request_body** | [**UpdateGoalRequestBody**](UpdateGoalRequestBody.md)| | + +### Return type + +[**GoalResponseBody**](GoalResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_goals_post** +> GoalResponseBody users_user_guid_goals_post(user_guid, goal_request_body) + +Create a goal + +Create a goal. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.goal_request_body import GoalRequestBody +from mx_platform_python.models.goal_response_body import GoalResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.GoalsApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the user. + goal_request_body = mx_platform_python.GoalRequestBody() # GoalRequestBody | + + try: + # Create a goal + api_response = api_instance.users_user_guid_goals_post(user_guid, goal_request_body) + print("The response of GoalsApi->users_user_guid_goals_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GoalsApi->users_user_guid_goals_post: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the user. | + **goal_request_body** | [**GoalRequestBody**](GoalRequestBody.md)| | + +### Return type + +[**GoalResponseBody**](GoalResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_goals_reposition_put** +> RepositionResponseBody users_user_guid_goals_reposition_put(user_guid, reposition_request_body) + +Reposition goals + +This endpoint repositions goal priority levels. If one goal is set to a lower priority, then any other goals need to be adjusted accordingly. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.reposition_request_body import RepositionRequestBody +from mx_platform_python.models.reposition_response_body import RepositionResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.GoalsApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the user. + reposition_request_body = mx_platform_python.RepositionRequestBody() # RepositionRequestBody | + + try: + # Reposition goals + api_response = api_instance.users_user_guid_goals_reposition_put(user_guid, reposition_request_body) + print("The response of GoalsApi->users_user_guid_goals_reposition_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GoalsApi->users_user_guid_goals_reposition_put: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the user. | + **reposition_request_body** | [**RepositionRequestBody**](RepositionRequestBody.md)| | + +### Return type + +[**RepositionResponseBody**](RepositionResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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/docs/GoalsResponse.md b/docs/GoalsResponse.md new file mode 100644 index 0000000..11f089c --- /dev/null +++ b/docs/GoalsResponse.md @@ -0,0 +1,43 @@ +# GoalsResponse + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_guid** | **str** | Unique identifier of the account for the goal. | [optional] +**amount** | **float** | Amount of the goal. | [optional] +**current_amount** | **float** | The current amount of the goal. | [optional] +**guid** | **str** | The unique identifier for the goal. Defined by MX. | [optional] +**goal_type_name** | **str** | The goal type. | [optional] +**meta_type_name** | **str** | The category of the goal. | [optional] +**name** | **str** | The name of the goal. | [optional] +**completed_at** | **str** | Date and time the goal was completed. | [optional] +**has_been_spent** | **bool** | Determines if the goal has been spent. | [optional] +**is_complete** | **bool** | Determines if the goal is complete. | [optional] +**metadata** | **str** | Additional information a partner can store on the goal. | [optional] +**position** | **int** | The priority of the goal in relation to multiple goals. | [optional] +**projected_to_complete_at** | **str** | The date on which the project was completed. | [optional] +**targeted_to_complete_at** | **str** | | [optional] +**track_type_name** | **str** | | [optional] +**user_guid** | **str** | The unique identifier for the the user. Defined by MX. | [optional] + +## Example + +```python +from mx_platform_python.models.goals_response import GoalsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GoalsResponse from a JSON string +goals_response_instance = GoalsResponse.from_json(json) +# print the JSON string representation of the object +print GoalsResponse.to_json() + +# convert the object into a dict +goals_response_dict = goals_response_instance.to_dict() +# create an instance of GoalsResponse from a dict +goals_response_form_dict = goals_response.from_dict(goals_response_dict) +``` +[[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/docs/GoalsResponseBody.md b/docs/GoalsResponseBody.md new file mode 100644 index 0000000..9d1f003 --- /dev/null +++ b/docs/GoalsResponseBody.md @@ -0,0 +1,29 @@ +# GoalsResponseBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**goals** | [**List[GoalsResponse]**](GoalsResponse.md) | | [optional] +**pagination** | [**PaginationResponse**](PaginationResponse.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.goals_response_body import GoalsResponseBody + +# TODO update the JSON string below +json = "{}" +# create an instance of GoalsResponseBody from a JSON string +goals_response_body_instance = GoalsResponseBody.from_json(json) +# print the JSON string representation of the object +print GoalsResponseBody.to_json() + +# convert the object into a dict +goals_response_body_dict = goals_response_body_instance.to_dict() +# create an instance of GoalsResponseBody from a dict +goals_response_body_form_dict = goals_response_body.from_dict(goals_response_body_dict) +``` +[[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/docs/MonthlyCashFlowProfileRequest.md b/docs/MonthlyCashFlowProfileRequest.md new file mode 100644 index 0000000..8462ef9 --- /dev/null +++ b/docs/MonthlyCashFlowProfileRequest.md @@ -0,0 +1,29 @@ +# MonthlyCashFlowProfileRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**goals_contribution** | **float** | The monthly dollar amount allocated for goals. | [optional] +**uses_estimated_goals_contribution** | **bool** | Determines if the user uses estimated goals contribution. | [optional] + +## Example + +```python +from mx_platform_python.models.monthly_cash_flow_profile_request import MonthlyCashFlowProfileRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of MonthlyCashFlowProfileRequest from a JSON string +monthly_cash_flow_profile_request_instance = MonthlyCashFlowProfileRequest.from_json(json) +# print the JSON string representation of the object +print MonthlyCashFlowProfileRequest.to_json() + +# convert the object into a dict +monthly_cash_flow_profile_request_dict = monthly_cash_flow_profile_request_instance.to_dict() +# create an instance of MonthlyCashFlowProfileRequest from a dict +monthly_cash_flow_profile_request_form_dict = monthly_cash_flow_profile_request.from_dict(monthly_cash_flow_profile_request_dict) +``` +[[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/docs/MonthlyCashFlowProfileRequestBody.md b/docs/MonthlyCashFlowProfileRequestBody.md new file mode 100644 index 0000000..cce3f34 --- /dev/null +++ b/docs/MonthlyCashFlowProfileRequestBody.md @@ -0,0 +1,28 @@ +# MonthlyCashFlowProfileRequestBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**institution** | [**MonthlyCashFlowProfileRequest**](MonthlyCashFlowProfileRequest.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.monthly_cash_flow_profile_request_body import MonthlyCashFlowProfileRequestBody + +# TODO update the JSON string below +json = "{}" +# create an instance of MonthlyCashFlowProfileRequestBody from a JSON string +monthly_cash_flow_profile_request_body_instance = MonthlyCashFlowProfileRequestBody.from_json(json) +# print the JSON string representation of the object +print MonthlyCashFlowProfileRequestBody.to_json() + +# convert the object into a dict +monthly_cash_flow_profile_request_body_dict = monthly_cash_flow_profile_request_body_instance.to_dict() +# create an instance of MonthlyCashFlowProfileRequestBody from a dict +monthly_cash_flow_profile_request_body_form_dict = monthly_cash_flow_profile_request_body.from_dict(monthly_cash_flow_profile_request_body_dict) +``` +[[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/docs/MonthlyCashFlowResponse.md b/docs/MonthlyCashFlowResponse.md new file mode 100644 index 0000000..5da153c --- /dev/null +++ b/docs/MonthlyCashFlowResponse.md @@ -0,0 +1,34 @@ +# MonthlyCashFlowResponse + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guid** | **str** | Unique identifier for the monthly cash flow profile. Defined by MX. | [optional] +**user_guid** | **str** | Unique identifier for the user the monthly cash flow profile is attached to. Defined by MX. | [optional] +**budgeted_income** | **float** | The amount of the budgeted income for the user. | [optional] +**budgeted_expenses** | **float** | The amount of the budgeted expenses for the user. | [optional] +**goals_contribution** | **float** | The monthly dollar amount allocated for goals. | [optional] +**estimated_goals_contribution** | **int** | The estimated monthly dollar amount allocated for goals calculated from income and budgets. | [optional] +**uses_estimated_goals_contribution** | **bool** | | [optional] + +## Example + +```python +from mx_platform_python.models.monthly_cash_flow_response import MonthlyCashFlowResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of MonthlyCashFlowResponse from a JSON string +monthly_cash_flow_response_instance = MonthlyCashFlowResponse.from_json(json) +# print the JSON string representation of the object +print MonthlyCashFlowResponse.to_json() + +# convert the object into a dict +monthly_cash_flow_response_dict = monthly_cash_flow_response_instance.to_dict() +# create an instance of MonthlyCashFlowResponse from a dict +monthly_cash_flow_response_form_dict = monthly_cash_flow_response.from_dict(monthly_cash_flow_response_dict) +``` +[[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/docs/MonthlyCashFlowResponseBody.md b/docs/MonthlyCashFlowResponseBody.md new file mode 100644 index 0000000..9db894d --- /dev/null +++ b/docs/MonthlyCashFlowResponseBody.md @@ -0,0 +1,28 @@ +# MonthlyCashFlowResponseBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**monthly_cash_flow_profile** | [**MonthlyCashFlowResponse**](MonthlyCashFlowResponse.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.monthly_cash_flow_response_body import MonthlyCashFlowResponseBody + +# TODO update the JSON string below +json = "{}" +# create an instance of MonthlyCashFlowResponseBody from a JSON string +monthly_cash_flow_response_body_instance = MonthlyCashFlowResponseBody.from_json(json) +# print the JSON string representation of the object +print MonthlyCashFlowResponseBody.to_json() + +# convert the object into a dict +monthly_cash_flow_response_body_dict = monthly_cash_flow_response_body_instance.to_dict() +# create an instance of MonthlyCashFlowResponseBody from a dict +monthly_cash_flow_response_body_form_dict = monthly_cash_flow_response_body.from_dict(monthly_cash_flow_response_body_dict) +``` +[[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/docs/MxPlatformApi.md b/docs/MxPlatformApi.md index 24f9ba2..e809e60 100644 --- a/docs/MxPlatformApi.md +++ b/docs/MxPlatformApi.md @@ -106,6 +106,10 @@ Method | HTTP request | Description [**update_transaction**](MxPlatformApi.md#update_transaction) | **PUT** /users/{user_guid}/transactions/{transaction_guid} | Update transaction [**update_transaction_rule**](MxPlatformApi.md#update_transaction_rule) | **PUT** /users/{user_guid}/transaction_rules/{transaction_rule_guid} | Update transaction_rule [**update_user**](MxPlatformApi.md#update_user) | **PUT** /users/{user_guid} | Update user +[**users_user_guid_monthly_cash_flow_profile_get**](MxPlatformApi.md#users_user_guid_monthly_cash_flow_profile_get) | **GET** /users/{user_guid}/monthly_cash_flow_profile | Read monthly cash flow profile +[**users_user_guid_monthly_cash_flow_profile_put**](MxPlatformApi.md#users_user_guid_monthly_cash_flow_profile_put) | **PUT** /users/{user_guid}/monthly_cash_flow_profile | Update monthly cash flow profile +[**users_user_guid_transactions_transaction_guid_split_delete**](MxPlatformApi.md#users_user_guid_transactions_transaction_guid_split_delete) | **DELETE** /users/{user_guid}/transactions/{transaction_guid}/split | Delete split transactions +[**users_user_guid_transactions_transaction_guid_split_post**](MxPlatformApi.md#users_user_guid_transactions_transaction_guid_split_post) | **POST** /users/{user_guid}/transactions/{transaction_guid}/split | Create split transactions [**verify_member**](MxPlatformApi.md#verify_member) | **POST** /users/{user_guid}/members/{member_guid}/verify | Verify member @@ -8448,6 +8452,323 @@ 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) +# **users_user_guid_monthly_cash_flow_profile_get** +> MonthlyCashFlowResponseBody users_user_guid_monthly_cash_flow_profile_get(user_guid) + +Read monthly cash flow profile + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.monthly_cash_flow_response_body import MonthlyCashFlowResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.MxPlatformApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the user. + + try: + # Read monthly cash flow profile + api_response = api_instance.users_user_guid_monthly_cash_flow_profile_get(user_guid) + print("The response of MxPlatformApi->users_user_guid_monthly_cash_flow_profile_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MxPlatformApi->users_user_guid_monthly_cash_flow_profile_get: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the user. | + +### Return type + +[**MonthlyCashFlowResponseBody**](MonthlyCashFlowResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_monthly_cash_flow_profile_put** +> MonthlyCashFlowResponseBody users_user_guid_monthly_cash_flow_profile_put(user_guid, monthly_cash_flow_profile_request_body) + +Update monthly cash flow profile + +Use this endpoint to update the attributes of a `monthly_cash_flow_profile`. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.monthly_cash_flow_profile_request_body import MonthlyCashFlowProfileRequestBody +from mx_platform_python.models.monthly_cash_flow_response_body import MonthlyCashFlowResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.MxPlatformApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the user. + monthly_cash_flow_profile_request_body = mx_platform_python.MonthlyCashFlowProfileRequestBody() # MonthlyCashFlowProfileRequestBody | + + try: + # Update monthly cash flow profile + api_response = api_instance.users_user_guid_monthly_cash_flow_profile_put(user_guid, monthly_cash_flow_profile_request_body) + print("The response of MxPlatformApi->users_user_guid_monthly_cash_flow_profile_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MxPlatformApi->users_user_guid_monthly_cash_flow_profile_put: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the user. | + **monthly_cash_flow_profile_request_body** | [**MonthlyCashFlowProfileRequestBody**](MonthlyCashFlowProfileRequestBody.md)| | + +### Return type + +[**MonthlyCashFlowResponseBody**](MonthlyCashFlowResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **users_user_guid_transactions_transaction_guid_split_delete** +> users_user_guid_transactions_transaction_guid_split_delete(transaction_guid, user_guid) + +Delete split transactions + +This endpoint deletes all split transactions linked to a parent transaction, but it leaves the parent transaction active. This request will also update the parent transaction's has_been_split field to false. This endpoint accepts the optional MX-Skip-Webhook header. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.MxPlatformApi(api_client) + transaction_guid = 'TRN-810828b0-5210-4878-9bd3-f4ce514f90c4' # str | The unique id for a `transaction`. + user_guid = 'USR-85628b0-5210-4878-9bd3-f4ce154f90c4' # str | The unique id for a `user`. + + try: + # Delete split transactions + api_instance.users_user_guid_transactions_transaction_guid_split_delete(transaction_guid, user_guid) + except Exception as e: + print("Exception when calling MxPlatformApi->users_user_guid_transactions_transaction_guid_split_delete: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **transaction_guid** | **str**| The unique id for a `transaction`. | + **user_guid** | **str**| The unique id for a `user`. | + +### Return type + +void (empty response body) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No content | - | + +[[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) + +# **users_user_guid_transactions_transaction_guid_split_post** +> SplitTransactionsResponseBody users_user_guid_transactions_transaction_guid_split_post(user_guid, transaction_guid, split_transaction_request_body=split_transaction_request_body) + +Create split transactions + +This endpoint creates two or more child transactions that are branched from a previous transaction. This endpoint allows you to link multiple categories, descriptions, and amounts to a parent transaction. When a split transaction is created, the parent transaction's `has_been_split` field will automatically be updated to true and the child transactions' `parent_guid` will have the transaction guid of the parent. The total amount of the child transactions must equal the amount of the parent transaction. Once a transaction has been split it can't be split again. In order to re-split a transaction, it must first be un-split. This can be done by calling the Delete Split Transactions endpoint. Calling this endpoint will delete the existing child transactions and update the parent transaction's `has_been_split` field to false. You can then re-split the parent transaction by calling Create Split Transaction again. + +### Example + +* Basic Authentication (basicAuth): +```python +import time +import os +import mx_platform_python +from mx_platform_python.models.split_transaction_request_body import SplitTransactionRequestBody +from mx_platform_python.models.split_transactions_response_body import SplitTransactionsResponseBody +from mx_platform_python.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.mx.com +# See configuration.py for a list of all supported configuration parameters. +configuration = mx_platform_python.Configuration( + host = "https://api.mx.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: basicAuth +configuration = mx_platform_python.Configuration( + username = os.environ["USERNAME"], + password = os.environ["PASSWORD"] +) + +# Enter a context with an instance of the API client +with mx_platform_python.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = mx_platform_python.MxPlatformApi(api_client) + user_guid = 'user_guid_example' # str | The unique identifier for the user. Defined by MX. + transaction_guid = 'transaction_guid_example' # str | The unique identifier for the transaction. Defined by MX. + split_transaction_request_body = mx_platform_python.SplitTransactionRequestBody() # SplitTransactionRequestBody | (optional) + + try: + # Create split transactions + api_response = api_instance.users_user_guid_transactions_transaction_guid_split_post(user_guid, transaction_guid, split_transaction_request_body=split_transaction_request_body) + print("The response of MxPlatformApi->users_user_guid_transactions_transaction_guid_split_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MxPlatformApi->users_user_guid_transactions_transaction_guid_split_post: %s\n" % e) +``` + + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_guid** | **str**| The unique identifier for the user. Defined by MX. | + **transaction_guid** | **str**| The unique identifier for the transaction. Defined by MX. | + **split_transaction_request_body** | [**SplitTransactionRequestBody**](SplitTransactionRequestBody.md)| | [optional] + +### Return type + +[**SplitTransactionsResponseBody**](SplitTransactionsResponseBody.md) + +### Authorization + +[basicAuth](../README.md#basicAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/vnd.mx.api.v1+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + # **verify_member** > MemberResponseBody verify_member(member_guid, user_guid) diff --git a/docs/RepositionRequest.md b/docs/RepositionRequest.md new file mode 100644 index 0000000..057edf7 --- /dev/null +++ b/docs/RepositionRequest.md @@ -0,0 +1,29 @@ +# RepositionRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guid** | **str** | The unique identifier for the goal. Defined by MX. | +**position** | **int** | The priority of the goal in relation to multiple goals. | + +## Example + +```python +from mx_platform_python.models.reposition_request import RepositionRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of RepositionRequest from a JSON string +reposition_request_instance = RepositionRequest.from_json(json) +# print the JSON string representation of the object +print RepositionRequest.to_json() + +# convert the object into a dict +reposition_request_dict = reposition_request_instance.to_dict() +# create an instance of RepositionRequest from a dict +reposition_request_form_dict = reposition_request.from_dict(reposition_request_dict) +``` +[[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/docs/RepositionRequestBody.md b/docs/RepositionRequestBody.md new file mode 100644 index 0000000..5809e8d --- /dev/null +++ b/docs/RepositionRequestBody.md @@ -0,0 +1,28 @@ +# RepositionRequestBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**goals** | [**List[RepositionRequest]**](RepositionRequest.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.reposition_request_body import RepositionRequestBody + +# TODO update the JSON string below +json = "{}" +# create an instance of RepositionRequestBody from a JSON string +reposition_request_body_instance = RepositionRequestBody.from_json(json) +# print the JSON string representation of the object +print RepositionRequestBody.to_json() + +# convert the object into a dict +reposition_request_body_dict = reposition_request_body_instance.to_dict() +# create an instance of RepositionRequestBody from a dict +reposition_request_body_form_dict = reposition_request_body.from_dict(reposition_request_body_dict) +``` +[[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/docs/RepositionResponseBody.md b/docs/RepositionResponseBody.md new file mode 100644 index 0000000..833606e --- /dev/null +++ b/docs/RepositionResponseBody.md @@ -0,0 +1,28 @@ +# RepositionResponseBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**goals** | [**List[GoalsResponse]**](GoalsResponse.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.reposition_response_body import RepositionResponseBody + +# TODO update the JSON string below +json = "{}" +# create an instance of RepositionResponseBody from a JSON string +reposition_response_body_instance = RepositionResponseBody.from_json(json) +# print the JSON string representation of the object +print RepositionResponseBody.to_json() + +# convert the object into a dict +reposition_response_body_dict = reposition_response_body_instance.to_dict() +# create an instance of RepositionResponseBody from a dict +reposition_response_body_form_dict = reposition_response_body.from_dict(reposition_response_body_dict) +``` +[[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/docs/RewardResponse.md b/docs/RewardResponse.md index ad051dc..d796ce2 100644 --- a/docs/RewardResponse.md +++ b/docs/RewardResponse.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **guid** | **str** | | [optional] **member_guid** | **str** | | [optional] **unit_type** | **str** | | [optional] +**updated_at** | **str** | | [optional] **user_guid** | **str** | | [optional] ## Example diff --git a/docs/RewardsResponse.md b/docs/RewardsResponse.md index 558ad17..7c6fdb7 100644 --- a/docs/RewardsResponse.md +++ b/docs/RewardsResponse.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **guid** | **str** | | [optional] **member_guid** | **str** | | [optional] **unit_type** | **str** | | [optional] +**updated_at** | **str** | | [optional] **user_guid** | **str** | | [optional] ## Example diff --git a/docs/SplitTransactionRequest.md b/docs/SplitTransactionRequest.md new file mode 100644 index 0000000..250dc16 --- /dev/null +++ b/docs/SplitTransactionRequest.md @@ -0,0 +1,31 @@ +# SplitTransactionRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | **float** | Amount of money you want to re-categorize. | +**description** | **str** | Description for the split transaction. | [optional] +**category_guid** | **str** | Unique identifier of the category. | [optional] +**memo** | **str** | Memo for the split transaction | [optional] + +## Example + +```python +from mx_platform_python.models.split_transaction_request import SplitTransactionRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of SplitTransactionRequest from a JSON string +split_transaction_request_instance = SplitTransactionRequest.from_json(json) +# print the JSON string representation of the object +print SplitTransactionRequest.to_json() + +# convert the object into a dict +split_transaction_request_dict = split_transaction_request_instance.to_dict() +# create an instance of SplitTransactionRequest from a dict +split_transaction_request_form_dict = split_transaction_request.from_dict(split_transaction_request_dict) +``` +[[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/docs/SplitTransactionRequestBody.md b/docs/SplitTransactionRequestBody.md new file mode 100644 index 0000000..749bdf8 --- /dev/null +++ b/docs/SplitTransactionRequestBody.md @@ -0,0 +1,28 @@ +# SplitTransactionRequestBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**transactions** | [**SplitTransactionRequest**](SplitTransactionRequest.md) | | + +## Example + +```python +from mx_platform_python.models.split_transaction_request_body import SplitTransactionRequestBody + +# TODO update the JSON string below +json = "{}" +# create an instance of SplitTransactionRequestBody from a JSON string +split_transaction_request_body_instance = SplitTransactionRequestBody.from_json(json) +# print the JSON string representation of the object +print SplitTransactionRequestBody.to_json() + +# convert the object into a dict +split_transaction_request_body_dict = split_transaction_request_body_instance.to_dict() +# create an instance of SplitTransactionRequestBody from a dict +split_transaction_request_body_form_dict = split_transaction_request_body.from_dict(split_transaction_request_body_dict) +``` +[[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/docs/SplitTransactionsResponseBody.md b/docs/SplitTransactionsResponseBody.md new file mode 100644 index 0000000..4ec8518 --- /dev/null +++ b/docs/SplitTransactionsResponseBody.md @@ -0,0 +1,28 @@ +# SplitTransactionsResponseBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**transactions** | [**List[TransactionResponse]**](TransactionResponse.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.split_transactions_response_body import SplitTransactionsResponseBody + +# TODO update the JSON string below +json = "{}" +# create an instance of SplitTransactionsResponseBody from a JSON string +split_transactions_response_body_instance = SplitTransactionsResponseBody.from_json(json) +# print the JSON string representation of the object +print SplitTransactionsResponseBody.to_json() + +# convert the object into a dict +split_transactions_response_body_dict = split_transactions_response_body_instance.to_dict() +# create an instance of SplitTransactionsResponseBody from a dict +split_transactions_response_body_form_dict = split_transactions_response_body.from_dict(split_transactions_response_body_dict) +``` +[[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/docs/UpdateGoalRequest.md b/docs/UpdateGoalRequest.md new file mode 100644 index 0000000..2dc4711 --- /dev/null +++ b/docs/UpdateGoalRequest.md @@ -0,0 +1,38 @@ +# UpdateGoalRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_guid** | **str** | Unique identifier of the account for the goal. | [optional] +**amount** | **float** | Amount of the goal. | [optional] +**goal_type_name** | **str** | The goal type. | [optional] +**meta_type_name** | **str** | The category of the goal. | [optional] +**name** | **str** | The name of the goal. | [optional] +**completed_at** | **str** | Date and time the goal was completed. | [optional] +**has_been_spent** | **bool** | Determines if the goal has been spent. | [optional] +**is_complete** | **bool** | Determines if the goal is complete. | [optional] +**metadata** | **str** | Additional information a partner can store on the goal. | [optional] +**position** | **int** | The priority of the goal in relation to multiple goals. | [optional] +**targeted_to_complete_at** | **str** | Date and time the goal is to complete. Intended for users to set their own goal completion dates. | [optional] + +## Example + +```python +from mx_platform_python.models.update_goal_request import UpdateGoalRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateGoalRequest from a JSON string +update_goal_request_instance = UpdateGoalRequest.from_json(json) +# print the JSON string representation of the object +print UpdateGoalRequest.to_json() + +# convert the object into a dict +update_goal_request_dict = update_goal_request_instance.to_dict() +# create an instance of UpdateGoalRequest from a dict +update_goal_request_form_dict = update_goal_request.from_dict(update_goal_request_dict) +``` +[[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/docs/UpdateGoalRequestBody.md b/docs/UpdateGoalRequestBody.md new file mode 100644 index 0000000..3bcf4e0 --- /dev/null +++ b/docs/UpdateGoalRequestBody.md @@ -0,0 +1,28 @@ +# UpdateGoalRequestBody + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**goal** | [**UpdateGoalRequest**](UpdateGoalRequest.md) | | [optional] + +## Example + +```python +from mx_platform_python.models.update_goal_request_body import UpdateGoalRequestBody + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateGoalRequestBody from a JSON string +update_goal_request_body_instance = UpdateGoalRequestBody.from_json(json) +# print the JSON string representation of the object +print UpdateGoalRequestBody.to_json() + +# convert the object into a dict +update_goal_request_body_dict = update_goal_request_body_instance.to_dict() +# create an instance of UpdateGoalRequestBody from a dict +update_goal_request_body_form_dict = update_goal_request_body.from_dict(update_goal_request_body_dict) +``` +[[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/mx_platform_python/__init__.py b/mx_platform_python/__init__.py index f82a94b..df3f66f 100644 --- a/mx_platform_python/__init__.py +++ b/mx_platform_python/__init__.py @@ -14,9 +14,11 @@ """ # noqa: E501 -__version__ = "0.35.0" +__version__ = "0.36.0" # import apis into sdk package +from mx_platform_python.api.budgets_api import BudgetsApi +from mx_platform_python.api.goals_api import GoalsApi from mx_platform_python.api.insights_api import InsightsApi from mx_platform_python.api.mx_platform_api import MxPlatformApi from mx_platform_python.api.spending_plan_api import SpendingPlanApi @@ -48,6 +50,12 @@ from mx_platform_python.models.authorization_code_request_body import AuthorizationCodeRequestBody from mx_platform_python.models.authorization_code_response import AuthorizationCodeResponse from mx_platform_python.models.authorization_code_response_body import AuthorizationCodeResponseBody +from mx_platform_python.models.budget_create_request import BudgetCreateRequest +from mx_platform_python.models.budget_create_request_body import BudgetCreateRequestBody +from mx_platform_python.models.budget_response import BudgetResponse +from mx_platform_python.models.budget_response_body import BudgetResponseBody +from mx_platform_python.models.budget_update_request import BudgetUpdateRequest +from mx_platform_python.models.budget_update_request_body import BudgetUpdateRequestBody from mx_platform_python.models.categories_response_body import CategoriesResponseBody from mx_platform_python.models.category_create_request import CategoryCreateRequest from mx_platform_python.models.category_create_request_body import CategoryCreateRequestBody @@ -70,6 +78,12 @@ from mx_platform_python.models.enhance_transactions_request import EnhanceTransactionsRequest from mx_platform_python.models.enhance_transactions_request_body import EnhanceTransactionsRequestBody from mx_platform_python.models.enhance_transactions_response_body import EnhanceTransactionsResponseBody +from mx_platform_python.models.goal_request import GoalRequest +from mx_platform_python.models.goal_request_body import GoalRequestBody +from mx_platform_python.models.goal_response import GoalResponse +from mx_platform_python.models.goal_response_body import GoalResponseBody +from mx_platform_python.models.goals_response import GoalsResponse +from mx_platform_python.models.goals_response_body import GoalsResponseBody from mx_platform_python.models.holding_response import HoldingResponse from mx_platform_python.models.holding_response_body import HoldingResponseBody from mx_platform_python.models.holdings_response_body import HoldingsResponseBody @@ -109,6 +123,10 @@ from mx_platform_python.models.merchant_response import MerchantResponse from mx_platform_python.models.merchant_response_body import MerchantResponseBody from mx_platform_python.models.merchants_response_body import MerchantsResponseBody +from mx_platform_python.models.monthly_cash_flow_profile_request import MonthlyCashFlowProfileRequest +from mx_platform_python.models.monthly_cash_flow_profile_request_body import MonthlyCashFlowProfileRequestBody +from mx_platform_python.models.monthly_cash_flow_response import MonthlyCashFlowResponse +from mx_platform_python.models.monthly_cash_flow_response_body import MonthlyCashFlowResponseBody from mx_platform_python.models.o_auth_window_response import OAuthWindowResponse from mx_platform_python.models.o_auth_window_response_body import OAuthWindowResponseBody from mx_platform_python.models.option_response import OptionResponse @@ -117,6 +135,9 @@ from mx_platform_python.models.payment_processor_authorization_code_request_body import PaymentProcessorAuthorizationCodeRequestBody from mx_platform_python.models.payment_processor_authorization_code_response import PaymentProcessorAuthorizationCodeResponse from mx_platform_python.models.payment_processor_authorization_code_response_body import PaymentProcessorAuthorizationCodeResponseBody +from mx_platform_python.models.reposition_request import RepositionRequest +from mx_platform_python.models.reposition_request_body import RepositionRequestBody +from mx_platform_python.models.reposition_response_body import RepositionResponseBody from mx_platform_python.models.reward_response import RewardResponse from mx_platform_python.models.reward_response_body import RewardResponseBody from mx_platform_python.models.rewards_response import RewardsResponse @@ -132,6 +153,9 @@ from mx_platform_python.models.spending_plan_iterations_response import SpendingPlanIterationsResponse from mx_platform_python.models.spending_plan_response import SpendingPlanResponse from mx_platform_python.models.spending_plans_response_body import SpendingPlansResponseBody +from mx_platform_python.models.split_transaction_request import SplitTransactionRequest +from mx_platform_python.models.split_transaction_request_body import SplitTransactionRequestBody +from mx_platform_python.models.split_transactions_response_body import SplitTransactionsResponseBody from mx_platform_python.models.statement_response import StatementResponse from mx_platform_python.models.statement_response_body import StatementResponseBody from mx_platform_python.models.statements_response_body import StatementsResponseBody @@ -164,6 +188,8 @@ from mx_platform_python.models.transaction_update_request import TransactionUpdateRequest from mx_platform_python.models.transaction_update_request_body import TransactionUpdateRequestBody from mx_platform_python.models.transactions_response_body import TransactionsResponseBody +from mx_platform_python.models.update_goal_request import UpdateGoalRequest +from mx_platform_python.models.update_goal_request_body import UpdateGoalRequestBody from mx_platform_python.models.user_create_request import UserCreateRequest from mx_platform_python.models.user_create_request_body import UserCreateRequestBody from mx_platform_python.models.user_response import UserResponse diff --git a/mx_platform_python/api/__init__.py b/mx_platform_python/api/__init__.py index 0616b2c..71ee224 100644 --- a/mx_platform_python/api/__init__.py +++ b/mx_platform_python/api/__init__.py @@ -1,6 +1,8 @@ # flake8: noqa # import apis into api package +from mx_platform_python.api.budgets_api import BudgetsApi +from mx_platform_python.api.goals_api import GoalsApi from mx_platform_python.api.insights_api import InsightsApi from mx_platform_python.api.mx_platform_api import MxPlatformApi from mx_platform_python.api.spending_plan_api import SpendingPlanApi diff --git a/mx_platform_python/api/budgets_api.py b/mx_platform_python/api/budgets_api.py new file mode 100644 index 0000000..3337194 --- /dev/null +++ b/mx_platform_python/api/budgets_api.py @@ -0,0 +1,936 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import re # noqa: F401 +import io +import warnings + +from pydantic import validate_arguments, ValidationError + +from typing_extensions import Annotated +from pydantic import Field, StrictStr + +from typing import Optional + +from mx_platform_python.models.budget_create_request_body import BudgetCreateRequestBody +from mx_platform_python.models.budget_response_body import BudgetResponseBody +from mx_platform_python.models.budget_update_request_body import BudgetUpdateRequestBody + +from mx_platform_python.api_client import ApiClient +from mx_platform_python.api_response import ApiResponse +from mx_platform_python.exceptions import ( # noqa: F401 + ApiTypeError, + ApiValueError +) + + +class BudgetsApi: + """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) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + @validate_arguments + def users_user_guid_budgets_budget_guid_delete(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], budget_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], **kwargs) -> None: # noqa: E501 + """Delete a budget # noqa: E501 + + Delete a budget. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_budget_guid_delete(user_guid, budget_guid, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the budget. Defined by MX. (required) + :type user_guid: str + :param budget_guid: The unique identifier for the budget. Defined by MX. (required) + :type budget_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: None + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_budgets_budget_guid_delete_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_budgets_budget_guid_delete_with_http_info(user_guid, budget_guid, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_budgets_budget_guid_delete_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], budget_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], **kwargs) -> ApiResponse: # noqa: E501 + """Delete a budget # noqa: E501 + + Delete a budget. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_budget_guid_delete_with_http_info(user_guid, budget_guid, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the budget. Defined by MX. (required) + :type user_guid: str + :param budget_guid: The unique identifier for the budget. Defined by MX. (required) + :type budget_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: None + """ + + _params = locals() + + _all_params = [ + 'user_guid', + 'budget_guid' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_budgets_budget_guid_delete" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + if _params['budget_guid']: + _path_params['budget_guid'] = _params['budget_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = {} + + return self.api_client.call_api( + '/users/{user_guid}/budgets/{budget_guid}', 'DELETE', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_budgets_budget_guid_get(self, budget_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], **kwargs) -> BudgetResponseBody: # noqa: E501 + """Read a specific budget # noqa: E501 + + Read a specific budget. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_budget_guid_get(budget_guid, user_guid, async_req=True) + >>> result = thread.get() + + :param budget_guid: The unique identifier for the budget. Defined by MX. (required) + :type budget_guid: str + :param user_guid: The unique identifier for the budget. Defined by MX. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: BudgetResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_budgets_budget_guid_get_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_budgets_budget_guid_get_with_http_info(budget_guid, user_guid, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_budgets_budget_guid_get_with_http_info(self, budget_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], **kwargs) -> ApiResponse: # noqa: E501 + """Read a specific budget # noqa: E501 + + Read a specific budget. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_budget_guid_get_with_http_info(budget_guid, user_guid, async_req=True) + >>> result = thread.get() + + :param budget_guid: The unique identifier for the budget. Defined by MX. (required) + :type budget_guid: str + :param user_guid: The unique identifier for the budget. Defined by MX. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(BudgetResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'budget_guid', + 'user_guid' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_budgets_budget_guid_get" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['budget_guid']: + _path_params['budget_guid'] = _params['budget_guid'] + + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "BudgetResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/budgets/{budget_guid}', 'GET', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_budgets_budget_guid_put(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], budget_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], budget_update_request_body : Optional[BudgetUpdateRequestBody] = None, **kwargs) -> BudgetResponseBody: # noqa: E501 + """Update a specific budget # noqa: E501 + + Update a specific budget. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_budget_guid_put(user_guid, budget_guid, budget_update_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the budget. Defined by MX. (required) + :type user_guid: str + :param budget_guid: The unique identifier for the budget. Defined by MX. (required) + :type budget_guid: str + :param budget_update_request_body: + :type budget_update_request_body: BudgetUpdateRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: BudgetResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_budgets_budget_guid_put_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_budgets_budget_guid_put_with_http_info(user_guid, budget_guid, budget_update_request_body, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_budgets_budget_guid_put_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], budget_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the budget. Defined by MX.")], budget_update_request_body : Optional[BudgetUpdateRequestBody] = None, **kwargs) -> ApiResponse: # noqa: E501 + """Update a specific budget # noqa: E501 + + Update a specific budget. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_budget_guid_put_with_http_info(user_guid, budget_guid, budget_update_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the budget. Defined by MX. (required) + :type user_guid: str + :param budget_guid: The unique identifier for the budget. Defined by MX. (required) + :type budget_guid: str + :param budget_update_request_body: + :type budget_update_request_body: BudgetUpdateRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(BudgetResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid', + 'budget_guid', + 'budget_update_request_body' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_budgets_budget_guid_put" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + if _params['budget_guid']: + _path_params['budget_guid'] = _params['budget_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + if _params['budget_update_request_body'] is not None: + _body_params = _params['budget_update_request_body'] + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # set the HTTP header `Content-Type` + _content_types_list = _params.get('_content_type', + self.api_client.select_header_content_type( + ['application/json'])) + if _content_types_list: + _header_params['Content-Type'] = _content_types_list + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "BudgetResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/budgets/{budget_guid}', 'PUT', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_budgets_generate_post(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user. Defined by MX.")], **kwargs) -> BudgetResponseBody: # noqa: E501 + """Auto-generate budgets # noqa: E501 + + This endpoint will automatically create budgets for several categories based on existing transactions; these budgets are returned as an array. Specifically, budgets will only be generated if the `user` has at least one `transaction` in a given category during each of the two previous calendar months. For example, if the request is made on March 6, and there is at least one \"Bills & Utilities\" `transaction` in both January and February, a budget will be generated for \"Bills & Utilities.\" If there are two \"Bills & Utilities\" transactions in February but none in January, no budget will be generated for that category. If budgets already exist for particular categories, new budgets will be generated and returned based on the available transactions. If one or more budgets remain unchanged, they will nevertheless be returned in the response. If no transaction data for the `user` meet the above criteria, a `422 Unprocessable Entity` error will be returned with status code 4221 along with the message, `There aren't enough transactions to automatically create any budgets`. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_generate_post(user_guid, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. Defined by MX. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: BudgetResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_budgets_generate_post_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_budgets_generate_post_with_http_info(user_guid, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_budgets_generate_post_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user. Defined by MX.")], **kwargs) -> ApiResponse: # noqa: E501 + """Auto-generate budgets # noqa: E501 + + This endpoint will automatically create budgets for several categories based on existing transactions; these budgets are returned as an array. Specifically, budgets will only be generated if the `user` has at least one `transaction` in a given category during each of the two previous calendar months. For example, if the request is made on March 6, and there is at least one \"Bills & Utilities\" `transaction` in both January and February, a budget will be generated for \"Bills & Utilities.\" If there are two \"Bills & Utilities\" transactions in February but none in January, no budget will be generated for that category. If budgets already exist for particular categories, new budgets will be generated and returned based on the available transactions. If one or more budgets remain unchanged, they will nevertheless be returned in the response. If no transaction data for the `user` meet the above criteria, a `422 Unprocessable Entity` error will be returned with status code 4221 along with the message, `There aren't enough transactions to automatically create any budgets`. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_generate_post_with_http_info(user_guid, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. Defined by MX. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(BudgetResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_budgets_generate_post" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "BudgetResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/budgets/generate', 'POST', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_budgets_get(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user. Defined by MX.")], **kwargs) -> BudgetResponseBody: # noqa: E501 + """List all budgets # noqa: E501 + + List all budgets # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_get(user_guid, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. Defined by MX. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: BudgetResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_budgets_get_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_budgets_get_with_http_info(user_guid, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_budgets_get_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user. Defined by MX.")], **kwargs) -> ApiResponse: # noqa: E501 + """List all budgets # noqa: E501 + + List all budgets # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_get_with_http_info(user_guid, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. Defined by MX. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(BudgetResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_budgets_get" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "BudgetResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/budgets', 'GET', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_budgets_post(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user. Defined by MX.")], budget_create_request_body : BudgetCreateRequestBody, **kwargs) -> BudgetResponseBody: # noqa: E501 + """Create a budget # noqa: E501 + + Create a budget. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. You cannot create a duplicate budget. For example, if you attempt to create a budget for \"Gas\", but that budget already exist, the request will fail. You can retrieve a list of all existing categories by using the List Categories endpoint. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_post(user_guid, budget_create_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. Defined by MX. (required) + :type user_guid: str + :param budget_create_request_body: (required) + :type budget_create_request_body: BudgetCreateRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: BudgetResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_budgets_post_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_budgets_post_with_http_info(user_guid, budget_create_request_body, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_budgets_post_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user. Defined by MX.")], budget_create_request_body : BudgetCreateRequestBody, **kwargs) -> ApiResponse: # noqa: E501 + """Create a budget # noqa: E501 + + Create a budget. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. You cannot create a duplicate budget. For example, if you attempt to create a budget for \"Gas\", but that budget already exist, the request will fail. You can retrieve a list of all existing categories by using the List Categories endpoint. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_budgets_post_with_http_info(user_guid, budget_create_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. Defined by MX. (required) + :type user_guid: str + :param budget_create_request_body: (required) + :type budget_create_request_body: BudgetCreateRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(BudgetResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid', + 'budget_create_request_body' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_budgets_post" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + if _params['budget_create_request_body'] is not None: + _body_params = _params['budget_create_request_body'] + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # set the HTTP header `Content-Type` + _content_types_list = _params.get('_content_type', + self.api_client.select_header_content_type( + ['application/json'])) + if _content_types_list: + _header_params['Content-Type'] = _content_types_list + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "BudgetResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/budgets', 'POST', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) diff --git a/mx_platform_python/api/goals_api.py b/mx_platform_python/api/goals_api.py new file mode 100644 index 0000000..3ff009b --- /dev/null +++ b/mx_platform_python/api/goals_api.py @@ -0,0 +1,970 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import re # noqa: F401 +import io +import warnings + +from pydantic import validate_arguments, ValidationError + +from typing_extensions import Annotated +from pydantic import Field, StrictStr + +from typing import Optional + +from mx_platform_python.models.goal_request_body import GoalRequestBody +from mx_platform_python.models.goal_response_body import GoalResponseBody +from mx_platform_python.models.goals_response_body import GoalsResponseBody +from mx_platform_python.models.reposition_request_body import RepositionRequestBody +from mx_platform_python.models.reposition_response_body import RepositionResponseBody +from mx_platform_python.models.update_goal_request_body import UpdateGoalRequestBody + +from mx_platform_python.api_client import ApiClient +from mx_platform_python.api_response import ApiResponse +from mx_platform_python.exceptions import ( # noqa: F401 + ApiTypeError, + ApiValueError +) + + +class GoalsApi: + """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) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + @validate_arguments + def users_user_guid_goals_get(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], page : Annotated[Optional[StrictStr], Field(description="Results are returned in paginated sets, this is the page of the results you would like to view. Defaults to page 1 if no page is specified.")] = None, records_per_age : Annotated[Optional[StrictStr], Field(description="The supported range is from 10 to 1000. If the records_per_page parameter is not specified or is outside this range, a default of 25 records per page will be used.")] = None, **kwargs) -> GoalsResponseBody: # noqa: E501 + """List goals # noqa: E501 + + List all goals a user can set. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_get(user_guid, page, records_per_age, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param page: Results are returned in paginated sets, this is the page of the results you would like to view. Defaults to page 1 if no page is specified. + :type page: str + :param records_per_age: The supported range is from 10 to 1000. If the records_per_page parameter is not specified or is outside this range, a default of 25 records per page will be used. + :type records_per_age: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: GoalsResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_goals_get_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_goals_get_with_http_info(user_guid, page, records_per_age, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_goals_get_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], page : Annotated[Optional[StrictStr], Field(description="Results are returned in paginated sets, this is the page of the results you would like to view. Defaults to page 1 if no page is specified.")] = None, records_per_age : Annotated[Optional[StrictStr], Field(description="The supported range is from 10 to 1000. If the records_per_page parameter is not specified or is outside this range, a default of 25 records per page will be used.")] = None, **kwargs) -> ApiResponse: # noqa: E501 + """List goals # noqa: E501 + + List all goals a user can set. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_get_with_http_info(user_guid, page, records_per_age, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param page: Results are returned in paginated sets, this is the page of the results you would like to view. Defaults to page 1 if no page is specified. + :type page: str + :param records_per_age: The supported range is from 10 to 1000. If the records_per_page parameter is not specified or is outside this range, a default of 25 records per page will be used. + :type records_per_age: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(GoalsResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid', + 'page', + 'records_per_age' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_goals_get" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + if _params.get('page') is not None: # noqa: E501 + _query_params.append(('page', _params['page'])) + + if _params.get('records_per_age') is not None: # noqa: E501 + _query_params.append(('records_per_age', _params['records_per_age'])) + + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "GoalsResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/goals', 'GET', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_goals_goal_guid_delete(self, goal_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a goal. Defined by MX.")], user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a user.")], **kwargs) -> None: # noqa: E501 + """Delete a goal # noqa: E501 + + Delete a goal. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_goal_guid_delete(goal_guid, user_guid, async_req=True) + >>> result = thread.get() + + :param goal_guid: The unique identifier for a goal. Defined by MX. (required) + :type goal_guid: str + :param user_guid: The unique identifier for a user. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: None + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_goals_goal_guid_delete_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_goals_goal_guid_delete_with_http_info(goal_guid, user_guid, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_goals_goal_guid_delete_with_http_info(self, goal_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a goal. Defined by MX.")], user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a user.")], **kwargs) -> ApiResponse: # noqa: E501 + """Delete a goal # noqa: E501 + + Delete a goal. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_goal_guid_delete_with_http_info(goal_guid, user_guid, async_req=True) + >>> result = thread.get() + + :param goal_guid: The unique identifier for a goal. Defined by MX. (required) + :type goal_guid: str + :param user_guid: The unique identifier for a user. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: None + """ + + _params = locals() + + _all_params = [ + 'goal_guid', + 'user_guid' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_goals_goal_guid_delete" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['goal_guid']: + _path_params['goal_guid'] = _params['goal_guid'] + + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = {} + + return self.api_client.call_api( + '/users/{user_guid}/goals/{goal_guid}', 'DELETE', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_goals_goal_guid_get(self, goal_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a goal. Defined by MX.")], user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a user.")], **kwargs) -> GoalResponseBody: # noqa: E501 + """Read a goal # noqa: E501 + + Read a specific goal. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_goal_guid_get(goal_guid, user_guid, async_req=True) + >>> result = thread.get() + + :param goal_guid: The unique identifier for a goal. Defined by MX. (required) + :type goal_guid: str + :param user_guid: The unique identifier for a user. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: GoalResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_goals_goal_guid_get_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_goals_goal_guid_get_with_http_info(goal_guid, user_guid, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_goals_goal_guid_get_with_http_info(self, goal_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a goal. Defined by MX.")], user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a user.")], **kwargs) -> ApiResponse: # noqa: E501 + """Read a goal # noqa: E501 + + Read a specific goal. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_goal_guid_get_with_http_info(goal_guid, user_guid, async_req=True) + >>> result = thread.get() + + :param goal_guid: The unique identifier for a goal. Defined by MX. (required) + :type goal_guid: str + :param user_guid: The unique identifier for a user. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(GoalResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'goal_guid', + 'user_guid' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_goals_goal_guid_get" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['goal_guid']: + _path_params['goal_guid'] = _params['goal_guid'] + + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "GoalResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/goals/{goal_guid}', 'GET', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_goals_goal_guid_put(self, goal_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a goal. Defined by MX.")], user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a user.")], update_goal_request_body : UpdateGoalRequestBody, **kwargs) -> GoalResponseBody: # noqa: E501 + """Update a goal # noqa: E501 + + This endpoint updates a specific goal. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_goal_guid_put(goal_guid, user_guid, update_goal_request_body, async_req=True) + >>> result = thread.get() + + :param goal_guid: The unique identifier for a goal. Defined by MX. (required) + :type goal_guid: str + :param user_guid: The unique identifier for a user. (required) + :type user_guid: str + :param update_goal_request_body: (required) + :type update_goal_request_body: UpdateGoalRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: GoalResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_goals_goal_guid_put_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_goals_goal_guid_put_with_http_info(goal_guid, user_guid, update_goal_request_body, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_goals_goal_guid_put_with_http_info(self, goal_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a goal. Defined by MX.")], user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for a user.")], update_goal_request_body : UpdateGoalRequestBody, **kwargs) -> ApiResponse: # noqa: E501 + """Update a goal # noqa: E501 + + This endpoint updates a specific goal. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_goal_guid_put_with_http_info(goal_guid, user_guid, update_goal_request_body, async_req=True) + >>> result = thread.get() + + :param goal_guid: The unique identifier for a goal. Defined by MX. (required) + :type goal_guid: str + :param user_guid: The unique identifier for a user. (required) + :type user_guid: str + :param update_goal_request_body: (required) + :type update_goal_request_body: UpdateGoalRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(GoalResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'goal_guid', + 'user_guid', + 'update_goal_request_body' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_goals_goal_guid_put" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['goal_guid']: + _path_params['goal_guid'] = _params['goal_guid'] + + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + if _params['update_goal_request_body'] is not None: + _body_params = _params['update_goal_request_body'] + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # set the HTTP header `Content-Type` + _content_types_list = _params.get('_content_type', + self.api_client.select_header_content_type( + ['application/json'])) + if _content_types_list: + _header_params['Content-Type'] = _content_types_list + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "GoalResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/goals/{goal_guid}', 'PUT', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_goals_post(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], goal_request_body : GoalRequestBody, **kwargs) -> GoalResponseBody: # noqa: E501 + """Create a goal # noqa: E501 + + Create a goal. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_post(user_guid, goal_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param goal_request_body: (required) + :type goal_request_body: GoalRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: GoalResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_goals_post_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_goals_post_with_http_info(user_guid, goal_request_body, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_goals_post_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], goal_request_body : GoalRequestBody, **kwargs) -> ApiResponse: # noqa: E501 + """Create a goal # noqa: E501 + + Create a goal. This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_post_with_http_info(user_guid, goal_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param goal_request_body: (required) + :type goal_request_body: GoalRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(GoalResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid', + 'goal_request_body' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_goals_post" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + if _params['goal_request_body'] is not None: + _body_params = _params['goal_request_body'] + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # set the HTTP header `Content-Type` + _content_types_list = _params.get('_content_type', + self.api_client.select_header_content_type( + ['application/json'])) + if _content_types_list: + _header_params['Content-Type'] = _content_types_list + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "GoalResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/goals', 'POST', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_goals_reposition_put(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], reposition_request_body : RepositionRequestBody, **kwargs) -> RepositionResponseBody: # noqa: E501 + """Reposition goals # noqa: E501 + + This endpoint repositions goal priority levels. If one goal is set to a lower priority, then any other goals need to be adjusted accordingly. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_reposition_put(user_guid, reposition_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param reposition_request_body: (required) + :type reposition_request_body: RepositionRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: RepositionResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_goals_reposition_put_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_goals_reposition_put_with_http_info(user_guid, reposition_request_body, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_goals_reposition_put_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], reposition_request_body : RepositionRequestBody, **kwargs) -> ApiResponse: # noqa: E501 + """Reposition goals # noqa: E501 + + This endpoint repositions goal priority levels. If one goal is set to a lower priority, then any other goals need to be adjusted accordingly. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_goals_reposition_put_with_http_info(user_guid, reposition_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param reposition_request_body: (required) + :type reposition_request_body: RepositionRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(RepositionResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid', + 'reposition_request_body' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_goals_reposition_put" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + if _params['reposition_request_body'] is not None: + _body_params = _params['reposition_request_body'] + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # set the HTTP header `Content-Type` + _content_types_list = _params.get('_content_type', + self.api_client.select_header_content_type( + ['application/json'])) + if _content_types_list: + _header_params['Content-Type'] = _content_types_list + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "RepositionResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/goals/reposition', 'PUT', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) diff --git a/mx_platform_python/api/mx_platform_api.py b/mx_platform_python/api/mx_platform_api.py index 50707f1..4fda01a 100644 --- a/mx_platform_python/api/mx_platform_api.py +++ b/mx_platform_python/api/mx_platform_api.py @@ -61,11 +61,15 @@ from mx_platform_python.models.merchant_location_response_body import MerchantLocationResponseBody from mx_platform_python.models.merchant_response_body import MerchantResponseBody from mx_platform_python.models.merchants_response_body import MerchantsResponseBody +from mx_platform_python.models.monthly_cash_flow_profile_request_body import MonthlyCashFlowProfileRequestBody +from mx_platform_python.models.monthly_cash_flow_response_body import MonthlyCashFlowResponseBody from mx_platform_python.models.o_auth_window_response_body import OAuthWindowResponseBody from mx_platform_python.models.payment_processor_authorization_code_request_body import PaymentProcessorAuthorizationCodeRequestBody from mx_platform_python.models.payment_processor_authorization_code_response_body import PaymentProcessorAuthorizationCodeResponseBody from mx_platform_python.models.reward_response_body import RewardResponseBody from mx_platform_python.models.rewards_response_body import RewardsResponseBody +from mx_platform_python.models.split_transaction_request_body import SplitTransactionRequestBody +from mx_platform_python.models.split_transactions_response_body import SplitTransactionsResponseBody from mx_platform_python.models.statement_response_body import StatementResponseBody from mx_platform_python.models.statements_response_body import StatementsResponseBody from mx_platform_python.models.tag_create_request_body import TagCreateRequestBody @@ -16073,6 +16077,604 @@ def update_user_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., collection_formats=_collection_formats, _request_auth=_params.get('_request_auth')) + @validate_arguments + def users_user_guid_monthly_cash_flow_profile_get(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], **kwargs) -> MonthlyCashFlowResponseBody: # noqa: E501 + """Read monthly cash flow profile # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_monthly_cash_flow_profile_get(user_guid, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: MonthlyCashFlowResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_monthly_cash_flow_profile_get_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_monthly_cash_flow_profile_get_with_http_info(user_guid, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_monthly_cash_flow_profile_get_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], **kwargs) -> ApiResponse: # noqa: E501 + """Read monthly cash flow profile # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_monthly_cash_flow_profile_get_with_http_info(user_guid, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(MonthlyCashFlowResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_monthly_cash_flow_profile_get" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "MonthlyCashFlowResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/monthly_cash_flow_profile', 'GET', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_monthly_cash_flow_profile_put(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], monthly_cash_flow_profile_request_body : MonthlyCashFlowProfileRequestBody, **kwargs) -> MonthlyCashFlowResponseBody: # noqa: E501 + """Update monthly cash flow profile # noqa: E501 + + Use this endpoint to update the attributes of a `monthly_cash_flow_profile`. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_monthly_cash_flow_profile_put(user_guid, monthly_cash_flow_profile_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param monthly_cash_flow_profile_request_body: (required) + :type monthly_cash_flow_profile_request_body: MonthlyCashFlowProfileRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: MonthlyCashFlowResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_monthly_cash_flow_profile_put_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_monthly_cash_flow_profile_put_with_http_info(user_guid, monthly_cash_flow_profile_request_body, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_monthly_cash_flow_profile_put_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user.")], monthly_cash_flow_profile_request_body : MonthlyCashFlowProfileRequestBody, **kwargs) -> ApiResponse: # noqa: E501 + """Update monthly cash flow profile # noqa: E501 + + Use this endpoint to update the attributes of a `monthly_cash_flow_profile`. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_monthly_cash_flow_profile_put_with_http_info(user_guid, monthly_cash_flow_profile_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. (required) + :type user_guid: str + :param monthly_cash_flow_profile_request_body: (required) + :type monthly_cash_flow_profile_request_body: MonthlyCashFlowProfileRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(MonthlyCashFlowResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid', + 'monthly_cash_flow_profile_request_body' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_monthly_cash_flow_profile_put" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + if _params['monthly_cash_flow_profile_request_body'] is not None: + _body_params = _params['monthly_cash_flow_profile_request_body'] + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # set the HTTP header `Content-Type` + _content_types_list = _params.get('_content_type', + self.api_client.select_header_content_type( + ['application/json'])) + if _content_types_list: + _header_params['Content-Type'] = _content_types_list + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "MonthlyCashFlowResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/monthly_cash_flow_profile', 'PUT', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_transactions_transaction_guid_split_delete(self, transaction_guid : Annotated[StrictStr, Field(..., description="The unique id for a `transaction`.")], user_guid : Annotated[StrictStr, Field(..., description="The unique id for a `user`.")], **kwargs) -> None: # noqa: E501 + """Delete split transactions # noqa: E501 + + This endpoint deletes all split transactions linked to a parent transaction, but it leaves the parent transaction active. This request will also update the parent transaction's has_been_split field to false. This endpoint accepts the optional MX-Skip-Webhook header. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_transactions_transaction_guid_split_delete(transaction_guid, user_guid, async_req=True) + >>> result = thread.get() + + :param transaction_guid: The unique id for a `transaction`. (required) + :type transaction_guid: str + :param user_guid: The unique id for a `user`. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: None + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_transactions_transaction_guid_split_delete_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_transactions_transaction_guid_split_delete_with_http_info(transaction_guid, user_guid, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_transactions_transaction_guid_split_delete_with_http_info(self, transaction_guid : Annotated[StrictStr, Field(..., description="The unique id for a `transaction`.")], user_guid : Annotated[StrictStr, Field(..., description="The unique id for a `user`.")], **kwargs) -> ApiResponse: # noqa: E501 + """Delete split transactions # noqa: E501 + + This endpoint deletes all split transactions linked to a parent transaction, but it leaves the parent transaction active. This request will also update the parent transaction's has_been_split field to false. This endpoint accepts the optional MX-Skip-Webhook header. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_transactions_transaction_guid_split_delete_with_http_info(transaction_guid, user_guid, async_req=True) + >>> result = thread.get() + + :param transaction_guid: The unique id for a `transaction`. (required) + :type transaction_guid: str + :param user_guid: The unique id for a `user`. (required) + :type user_guid: str + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: None + """ + + _params = locals() + + _all_params = [ + 'transaction_guid', + 'user_guid' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_transactions_transaction_guid_split_delete" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['transaction_guid']: + _path_params['transaction_guid'] = _params['transaction_guid'] + + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = {} + + return self.api_client.call_api( + '/users/{user_guid}/transactions/{transaction_guid}/split', 'DELETE', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + + @validate_arguments + def users_user_guid_transactions_transaction_guid_split_post(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user. Defined by MX.")], transaction_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the transaction. Defined by MX.")], split_transaction_request_body : Optional[SplitTransactionRequestBody] = None, **kwargs) -> SplitTransactionsResponseBody: # noqa: E501 + """Create split transactions # noqa: E501 + + This endpoint creates two or more child transactions that are branched from a previous transaction. This endpoint allows you to link multiple categories, descriptions, and amounts to a parent transaction. When a split transaction is created, the parent transaction's `has_been_split` field will automatically be updated to true and the child transactions' `parent_guid` will have the transaction guid of the parent. The total amount of the child transactions must equal the amount of the parent transaction. Once a transaction has been split it can't be split again. In order to re-split a transaction, it must first be un-split. This can be done by calling the Delete Split Transactions endpoint. Calling this endpoint will delete the existing child transactions and update the parent transaction's `has_been_split` field to false. You can then re-split the parent transaction by calling Create Split Transaction again. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_transactions_transaction_guid_split_post(user_guid, transaction_guid, split_transaction_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. Defined by MX. (required) + :type user_guid: str + :param transaction_guid: The unique identifier for the transaction. Defined by MX. (required) + :type transaction_guid: str + :param split_transaction_request_body: + :type split_transaction_request_body: SplitTransactionRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _request_timeout: 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. + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: SplitTransactionsResponseBody + """ + kwargs['_return_http_data_only'] = True + if '_preload_content' in kwargs: + message = "Error! Please call the users_user_guid_transactions_transaction_guid_split_post_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501 + raise ValueError(message) + return self.users_user_guid_transactions_transaction_guid_split_post_with_http_info(user_guid, transaction_guid, split_transaction_request_body, **kwargs) # noqa: E501 + + @validate_arguments + def users_user_guid_transactions_transaction_guid_split_post_with_http_info(self, user_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the user. Defined by MX.")], transaction_guid : Annotated[StrictStr, Field(..., description="The unique identifier for the transaction. Defined by MX.")], split_transaction_request_body : Optional[SplitTransactionRequestBody] = None, **kwargs) -> ApiResponse: # noqa: E501 + """Create split transactions # noqa: E501 + + This endpoint creates two or more child transactions that are branched from a previous transaction. This endpoint allows you to link multiple categories, descriptions, and amounts to a parent transaction. When a split transaction is created, the parent transaction's `has_been_split` field will automatically be updated to true and the child transactions' `parent_guid` will have the transaction guid of the parent. The total amount of the child transactions must equal the amount of the parent transaction. Once a transaction has been split it can't be split again. In order to re-split a transaction, it must first be un-split. This can be done by calling the Delete Split Transactions endpoint. Calling this endpoint will delete the existing child transactions and update the parent transaction's `has_been_split` field to false. You can then re-split the parent transaction by calling Create Split Transaction again. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.users_user_guid_transactions_transaction_guid_split_post_with_http_info(user_guid, transaction_guid, split_transaction_request_body, async_req=True) + >>> result = thread.get() + + :param user_guid: The unique identifier for the user. Defined by MX. (required) + :type user_guid: str + :param transaction_guid: The unique identifier for the transaction. Defined by MX. (required) + :type transaction_guid: str + :param split_transaction_request_body: + :type split_transaction_request_body: SplitTransactionRequestBody + :param async_req: Whether to execute the request asynchronously. + :type async_req: bool, optional + :param _preload_content: if False, the ApiResponse.data will + be set to none and raw_data will store the + HTTP response body without reading/decoding. + Default is True. + :type _preload_content: bool, optional + :param _return_http_data_only: response data instead of ApiResponse + object with status code, headers, etc + :type _return_http_data_only: bool, optional + :param _request_timeout: 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. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :type _request_auth: dict, optional + :type _content_type: string, optional: force content-type for the request + :return: Returns the result object. + If the method is called asynchronously, + returns the request thread. + :rtype: tuple(SplitTransactionsResponseBody, status_code(int), headers(HTTPHeaderDict)) + """ + + _params = locals() + + _all_params = [ + 'user_guid', + 'transaction_guid', + 'split_transaction_request_body' + ] + _all_params.extend( + [ + 'async_req', + '_return_http_data_only', + '_preload_content', + '_request_timeout', + '_request_auth', + '_content_type', + '_headers' + ] + ) + + # validate the arguments + for _key, _val in _params['kwargs'].items(): + if _key not in _all_params: + raise ApiTypeError( + "Got an unexpected keyword argument '%s'" + " to method users_user_guid_transactions_transaction_guid_split_post" % _key + ) + _params[_key] = _val + del _params['kwargs'] + + _collection_formats = {} + + # process the path parameters + _path_params = {} + if _params['user_guid']: + _path_params['user_guid'] = _params['user_guid'] + + if _params['transaction_guid']: + _path_params['transaction_guid'] = _params['transaction_guid'] + + + # process the query parameters + _query_params = [] + # process the header parameters + _header_params = dict(_params.get('_headers', {})) + # process the form parameters + _form_params = [] + _files = {} + # process the body parameter + _body_params = None + if _params['split_transaction_request_body'] is not None: + _body_params = _params['split_transaction_request_body'] + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + ['application/vnd.mx.api.v1+json']) # noqa: E501 + + # set the HTTP header `Content-Type` + _content_types_list = _params.get('_content_type', + self.api_client.select_header_content_type( + ['application/json'])) + if _content_types_list: + _header_params['Content-Type'] = _content_types_list + + # authentication setting + _auth_settings = ['basicAuth'] # noqa: E501 + + _response_types_map = { + '200': "SplitTransactionsResponseBody", + } + + return self.api_client.call_api( + '/users/{user_guid}/transactions/{transaction_guid}/split', 'POST', + _path_params, + _query_params, + _header_params, + body=_body_params, + post_params=_form_params, + files=_files, + response_types_map=_response_types_map, + auth_settings=_auth_settings, + async_req=_params.get('async_req'), + _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501 + _preload_content=_params.get('_preload_content', True), + _request_timeout=_params.get('_request_timeout'), + collection_formats=_collection_formats, + _request_auth=_params.get('_request_auth')) + @validate_arguments def verify_member(self, member_guid : Annotated[StrictStr, Field(..., description="The unique id for a `member`.")], user_guid : Annotated[StrictStr, Field(..., description="The unique id for a `user`.")], **kwargs) -> MemberResponseBody: # noqa: E501 """Verify member # noqa: E501 diff --git a/mx_platform_python/api_client.py b/mx_platform_python/api_client.py index a3dea6c..405f2d3 100644 --- a/mx_platform_python/api_client.py +++ b/mx_platform_python/api_client.py @@ -76,7 +76,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None, self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/0.35.0/python' + self.user_agent = 'OpenAPI-Generator/0.36.0/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/mx_platform_python/configuration.py b/mx_platform_python/configuration.py index 189f38e..9ec3094 100644 --- a/mx_platform_python/configuration.py +++ b/mx_platform_python/configuration.py @@ -392,7 +392,7 @@ def to_debug_report(self): "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: 0.1.0\n"\ - "SDK Package Version: 0.35.0".\ + "SDK Package Version: 0.36.0".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/mx_platform_python/models/__init__.py b/mx_platform_python/models/__init__.py index 4cd979c..0eaa8f7 100644 --- a/mx_platform_python/models/__init__.py +++ b/mx_platform_python/models/__init__.py @@ -29,6 +29,12 @@ from mx_platform_python.models.authorization_code_request_body import AuthorizationCodeRequestBody from mx_platform_python.models.authorization_code_response import AuthorizationCodeResponse from mx_platform_python.models.authorization_code_response_body import AuthorizationCodeResponseBody +from mx_platform_python.models.budget_create_request import BudgetCreateRequest +from mx_platform_python.models.budget_create_request_body import BudgetCreateRequestBody +from mx_platform_python.models.budget_response import BudgetResponse +from mx_platform_python.models.budget_response_body import BudgetResponseBody +from mx_platform_python.models.budget_update_request import BudgetUpdateRequest +from mx_platform_python.models.budget_update_request_body import BudgetUpdateRequestBody from mx_platform_python.models.categories_response_body import CategoriesResponseBody from mx_platform_python.models.category_create_request import CategoryCreateRequest from mx_platform_python.models.category_create_request_body import CategoryCreateRequestBody @@ -51,6 +57,12 @@ from mx_platform_python.models.enhance_transactions_request import EnhanceTransactionsRequest from mx_platform_python.models.enhance_transactions_request_body import EnhanceTransactionsRequestBody from mx_platform_python.models.enhance_transactions_response_body import EnhanceTransactionsResponseBody +from mx_platform_python.models.goal_request import GoalRequest +from mx_platform_python.models.goal_request_body import GoalRequestBody +from mx_platform_python.models.goal_response import GoalResponse +from mx_platform_python.models.goal_response_body import GoalResponseBody +from mx_platform_python.models.goals_response import GoalsResponse +from mx_platform_python.models.goals_response_body import GoalsResponseBody from mx_platform_python.models.holding_response import HoldingResponse from mx_platform_python.models.holding_response_body import HoldingResponseBody from mx_platform_python.models.holdings_response_body import HoldingsResponseBody @@ -90,6 +102,10 @@ from mx_platform_python.models.merchant_response import MerchantResponse from mx_platform_python.models.merchant_response_body import MerchantResponseBody from mx_platform_python.models.merchants_response_body import MerchantsResponseBody +from mx_platform_python.models.monthly_cash_flow_profile_request import MonthlyCashFlowProfileRequest +from mx_platform_python.models.monthly_cash_flow_profile_request_body import MonthlyCashFlowProfileRequestBody +from mx_platform_python.models.monthly_cash_flow_response import MonthlyCashFlowResponse +from mx_platform_python.models.monthly_cash_flow_response_body import MonthlyCashFlowResponseBody from mx_platform_python.models.o_auth_window_response import OAuthWindowResponse from mx_platform_python.models.o_auth_window_response_body import OAuthWindowResponseBody from mx_platform_python.models.option_response import OptionResponse @@ -98,6 +114,9 @@ from mx_platform_python.models.payment_processor_authorization_code_request_body import PaymentProcessorAuthorizationCodeRequestBody from mx_platform_python.models.payment_processor_authorization_code_response import PaymentProcessorAuthorizationCodeResponse from mx_platform_python.models.payment_processor_authorization_code_response_body import PaymentProcessorAuthorizationCodeResponseBody +from mx_platform_python.models.reposition_request import RepositionRequest +from mx_platform_python.models.reposition_request_body import RepositionRequestBody +from mx_platform_python.models.reposition_response_body import RepositionResponseBody from mx_platform_python.models.reward_response import RewardResponse from mx_platform_python.models.reward_response_body import RewardResponseBody from mx_platform_python.models.rewards_response import RewardsResponse @@ -113,6 +132,9 @@ from mx_platform_python.models.spending_plan_iterations_response import SpendingPlanIterationsResponse from mx_platform_python.models.spending_plan_response import SpendingPlanResponse from mx_platform_python.models.spending_plans_response_body import SpendingPlansResponseBody +from mx_platform_python.models.split_transaction_request import SplitTransactionRequest +from mx_platform_python.models.split_transaction_request_body import SplitTransactionRequestBody +from mx_platform_python.models.split_transactions_response_body import SplitTransactionsResponseBody from mx_platform_python.models.statement_response import StatementResponse from mx_platform_python.models.statement_response_body import StatementResponseBody from mx_platform_python.models.statements_response_body import StatementsResponseBody @@ -145,6 +167,8 @@ from mx_platform_python.models.transaction_update_request import TransactionUpdateRequest from mx_platform_python.models.transaction_update_request_body import TransactionUpdateRequestBody from mx_platform_python.models.transactions_response_body import TransactionsResponseBody +from mx_platform_python.models.update_goal_request import UpdateGoalRequest +from mx_platform_python.models.update_goal_request_body import UpdateGoalRequestBody from mx_platform_python.models.user_create_request import UserCreateRequest from mx_platform_python.models.user_create_request_body import UserCreateRequestBody from mx_platform_python.models.user_response import UserResponse diff --git a/mx_platform_python/models/budget_create_request.py b/mx_platform_python/models/budget_create_request.py new file mode 100644 index 0000000..5f039c8 --- /dev/null +++ b/mx_platform_python/models/budget_create_request.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr + +class BudgetCreateRequest(BaseModel): + """ + BudgetCreateRequest + """ + category_guid: StrictStr = Field(..., description="Unique identifier of the category.") + parent_guid: StrictStr = Field(..., description="Unique identifier of the parent budget. This is only required when creating a budget on a sub-category.") + amount: Optional[StrictInt] = Field(None, description="Amount of the budget.") + metadata: Optional[StrictStr] = Field(None, description="Additional information a partner can store on the budget.") + skip_webhook: Optional[StrictBool] = Field(None, description="When set to true, this parameter will prevent a webhook from being triggered by the request.") + __properties = ["category_guid", "parent_guid", "amount", "metadata", "skip_webhook"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> BudgetCreateRequest: + """Create an instance of BudgetCreateRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> BudgetCreateRequest: + """Create an instance of BudgetCreateRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return BudgetCreateRequest.parse_obj(obj) + + _obj = BudgetCreateRequest.parse_obj({ + "category_guid": obj.get("category_guid"), + "parent_guid": obj.get("parent_guid"), + "amount": obj.get("amount"), + "metadata": obj.get("metadata"), + "skip_webhook": obj.get("skip_webhook") + }) + return _obj + + diff --git a/mx_platform_python/models/budget_create_request_body.py b/mx_platform_python/models/budget_create_request_body.py new file mode 100644 index 0000000..dde1c23 --- /dev/null +++ b/mx_platform_python/models/budget_create_request_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel +from mx_platform_python.models.budget_create_request import BudgetCreateRequest + +class BudgetCreateRequestBody(BaseModel): + """ + BudgetCreateRequestBody + """ + budget: Optional[BudgetCreateRequest] = None + __properties = ["budget"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> BudgetCreateRequestBody: + """Create an instance of BudgetCreateRequestBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of budget + if self.budget: + _dict['budget'] = self.budget.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> BudgetCreateRequestBody: + """Create an instance of BudgetCreateRequestBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return BudgetCreateRequestBody.parse_obj(obj) + + _obj = BudgetCreateRequestBody.parse_obj({ + "budget": BudgetCreateRequest.from_dict(obj.get("budget")) if obj.get("budget") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/budget_response.py b/mx_platform_python/models/budget_response.py new file mode 100644 index 0000000..9a4cec1 --- /dev/null +++ b/mx_platform_python/models/budget_response.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Any, Optional, Union +from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr + +class BudgetResponse(BaseModel): + """ + BudgetResponse + """ + amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="A goal amount set by the user for a category's transaction total during a month.") + category_guid: Optional[StrictStr] = Field(None, description="Unique identifier for the budget category. Defined by MX.") + created_at: Optional[StrictStr] = Field(None, description="Date and time the budget was created, represented in ISO 8601 format with timestamp.") + guid: Optional[StrictStr] = Field(None, description="Unique identifier for the budget. Defined by MX.") + is_exceeded: Optional[StrictBool] = Field(None, description="If the budget has been exceeded, this field will be true. Otherwise, this field will be false.") + is_off_track: Optional[StrictBool] = Field(None, description="If the budget is off track, this field will be true. Otherwise, this field will be false.") + metadata: Optional[StrictStr] = Field(None, description="Additional information a partner can store on the budget.") + name: Optional[StrictStr] = Field(None, description="The name of the budget that is visible to the user (ie \"Food\", \"Bills\", \"Entertainment\", etc).") + off_track_percentage: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The percentage amount of off track spending. (Deprecated).") + parent_guid: Optional[StrictStr] = Field(None, description="Unique identifier for the parent budget. Defined by MX.") + percent_spent: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The percentage of a budget that has been spent during the current calendar month Calculated as the transaction total divided by the amount and then multiplied by 100.A value of zero will be returned when `amount` is zero.") + projected_spending: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The projected amount of spending for the budget.") + revision: Optional[StrictInt] = Field(None, description="The revision number of this budget record.") + transaction_total: Optional[Any] = Field(None, description="The cumulative amount of all transactions under the budget.") + updated_at: Optional[Any] = Field(None, description="Date and time the budget was updated, represented in ISO 8601 format with timestamp.") + user_guid: Optional[Any] = Field(None, description="Unique identifier for the user. Defined by MX.") + __properties = ["amount", "category_guid", "created_at", "guid", "is_exceeded", "is_off_track", "metadata", "name", "off_track_percentage", "parent_guid", "percent_spent", "projected_spending", "revision", "transaction_total", "updated_at", "user_guid"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> BudgetResponse: + """Create an instance of BudgetResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # set to None if metadata (nullable) is None + # and __fields_set__ contains the field + if self.metadata is None and "metadata" in self.__fields_set__: + _dict['metadata'] = None + + # set to None if name (nullable) is None + # and __fields_set__ contains the field + if self.name is None and "name" in self.__fields_set__: + _dict['name'] = None + + # set to None if off_track_percentage (nullable) is None + # and __fields_set__ contains the field + if self.off_track_percentage is None and "off_track_percentage" in self.__fields_set__: + _dict['off_track_percentage'] = None + + # set to None if parent_guid (nullable) is None + # and __fields_set__ contains the field + if self.parent_guid is None and "parent_guid" in self.__fields_set__: + _dict['parent_guid'] = None + + # set to None if percent_spent (nullable) is None + # and __fields_set__ contains the field + if self.percent_spent is None and "percent_spent" in self.__fields_set__: + _dict['percent_spent'] = None + + # set to None if transaction_total (nullable) is None + # and __fields_set__ contains the field + if self.transaction_total is None and "transaction_total" in self.__fields_set__: + _dict['transaction_total'] = None + + # set to None if updated_at (nullable) is None + # and __fields_set__ contains the field + if self.updated_at is None and "updated_at" in self.__fields_set__: + _dict['updated_at'] = None + + # set to None if user_guid (nullable) is None + # and __fields_set__ contains the field + if self.user_guid is None and "user_guid" in self.__fields_set__: + _dict['user_guid'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> BudgetResponse: + """Create an instance of BudgetResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return BudgetResponse.parse_obj(obj) + + _obj = BudgetResponse.parse_obj({ + "amount": obj.get("amount"), + "category_guid": obj.get("category_guid"), + "created_at": obj.get("created_at"), + "guid": obj.get("guid"), + "is_exceeded": obj.get("is_exceeded"), + "is_off_track": obj.get("is_off_track"), + "metadata": obj.get("metadata"), + "name": obj.get("name"), + "off_track_percentage": obj.get("off_track_percentage"), + "parent_guid": obj.get("parent_guid"), + "percent_spent": obj.get("percent_spent"), + "projected_spending": obj.get("projected_spending"), + "revision": obj.get("revision"), + "transaction_total": obj.get("transaction_total"), + "updated_at": obj.get("updated_at"), + "user_guid": obj.get("user_guid") + }) + return _obj + + diff --git a/mx_platform_python/models/budget_response_body.py b/mx_platform_python/models/budget_response_body.py new file mode 100644 index 0000000..03f68d8 --- /dev/null +++ b/mx_platform_python/models/budget_response_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel +from mx_platform_python.models.budget_response import BudgetResponse + +class BudgetResponseBody(BaseModel): + """ + BudgetResponseBody + """ + budget: Optional[BudgetResponse] = None + __properties = ["budget"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> BudgetResponseBody: + """Create an instance of BudgetResponseBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of budget + if self.budget: + _dict['budget'] = self.budget.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> BudgetResponseBody: + """Create an instance of BudgetResponseBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return BudgetResponseBody.parse_obj(obj) + + _obj = BudgetResponseBody.parse_obj({ + "budget": BudgetResponse.from_dict(obj.get("budget")) if obj.get("budget") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/budget_update_request.py b/mx_platform_python/models/budget_update_request.py new file mode 100644 index 0000000..ade0acd --- /dev/null +++ b/mx_platform_python/models/budget_update_request.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr + +class BudgetUpdateRequest(BaseModel): + """ + BudgetUpdateRequest + """ + amount: Optional[StrictInt] = Field(None, description="Amount of the budget.") + metadata: Optional[StrictStr] = Field(None, description="Additional information a partner can store on the budget.") + skip_webhook: Optional[StrictBool] = Field(None, description="When set to true, this parameter will prevent a webhook from being triggered by the request.") + __properties = ["amount", "metadata", "skip_webhook"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> BudgetUpdateRequest: + """Create an instance of BudgetUpdateRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> BudgetUpdateRequest: + """Create an instance of BudgetUpdateRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return BudgetUpdateRequest.parse_obj(obj) + + _obj = BudgetUpdateRequest.parse_obj({ + "amount": obj.get("amount"), + "metadata": obj.get("metadata"), + "skip_webhook": obj.get("skip_webhook") + }) + return _obj + + diff --git a/mx_platform_python/models/budget_update_request_body.py b/mx_platform_python/models/budget_update_request_body.py new file mode 100644 index 0000000..4da1f7c --- /dev/null +++ b/mx_platform_python/models/budget_update_request_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel +from mx_platform_python.models.budget_update_request import BudgetUpdateRequest + +class BudgetUpdateRequestBody(BaseModel): + """ + BudgetUpdateRequestBody + """ + budget: Optional[BudgetUpdateRequest] = None + __properties = ["budget"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> BudgetUpdateRequestBody: + """Create an instance of BudgetUpdateRequestBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of budget + if self.budget: + _dict['budget'] = self.budget.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> BudgetUpdateRequestBody: + """Create an instance of BudgetUpdateRequestBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return BudgetUpdateRequestBody.parse_obj(obj) + + _obj = BudgetUpdateRequestBody.parse_obj({ + "budget": BudgetUpdateRequest.from_dict(obj.get("budget")) if obj.get("budget") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/credit_card_product.py b/mx_platform_python/models/credit_card_product.py index f34ae31..0c1a697 100644 --- a/mx_platform_python/models/credit_card_product.py +++ b/mx_platform_python/models/credit_card_product.py @@ -18,28 +18,28 @@ import json -from typing import Any, Optional -from pydantic import BaseModel, StrictBool, StrictStr +from typing import Optional, Union +from pydantic import BaseModel, StrictBool, StrictFloat, StrictInt, StrictStr class CreditCardProduct(BaseModel): """ CreditCardProduct """ - annual_fee: Optional[Any] = None - duration_of_introductory_rate_on_balance_transfer: Optional[Any] = None - duration_of_introductory_rate_on_purchases: Optional[Any] = None - guid: Optional[Any] = None + annual_fee: Optional[Union[StrictFloat, StrictInt]] = None + duration_of_introductory_rate_on_balance_transfer: Optional[StrictInt] = None + duration_of_introductory_rate_on_purchases: Optional[StrictInt] = None + guid: Optional[StrictStr] = None has_cashback_rewards: Optional[StrictBool] = None has_other_rewards: Optional[StrictBool] = None has_travel_rewards: Optional[StrictBool] = None has_zero_introductory_annual_fee: Optional[StrictBool] = None has_zero_percent_introductory_rate: Optional[StrictBool] = None has_zero_percent_introductory_rate_on_balance_transfer: Optional[StrictBool] = None - financial_institution: Optional[StrictBool] = None - is_accepting_applications: Optional[StrictBool] = None + is_accepting_applicants: Optional[StrictBool] = None + is_active_credit_card_product: Optional[StrictBool] = None is_small_business_card: Optional[StrictBool] = None name: Optional[StrictStr] = None - __properties = ["annual_fee", "duration_of_introductory_rate_on_balance_transfer", "duration_of_introductory_rate_on_purchases", "guid", "has_cashback_rewards", "has_other_rewards", "has_travel_rewards", "has_zero_introductory_annual_fee", "has_zero_percent_introductory_rate", "has_zero_percent_introductory_rate_on_balance_transfer", "financial_institution", "is_accepting_applications", "is_small_business_card", "name"] + __properties = ["annual_fee", "duration_of_introductory_rate_on_balance_transfer", "duration_of_introductory_rate_on_purchases", "guid", "has_cashback_rewards", "has_other_rewards", "has_travel_rewards", "has_zero_introductory_annual_fee", "has_zero_percent_introductory_rate", "has_zero_percent_introductory_rate_on_balance_transfer", "is_accepting_applicants", "is_active_credit_card_product", "is_small_business_card", "name"] class Config: """Pydantic configuration""" @@ -65,26 +65,6 @@ def to_dict(self): exclude={ }, exclude_none=True) - # set to None if annual_fee (nullable) is None - # and __fields_set__ contains the field - if self.annual_fee is None and "annual_fee" in self.__fields_set__: - _dict['annual_fee'] = None - - # set to None if duration_of_introductory_rate_on_balance_transfer (nullable) is None - # and __fields_set__ contains the field - if self.duration_of_introductory_rate_on_balance_transfer is None and "duration_of_introductory_rate_on_balance_transfer" in self.__fields_set__: - _dict['duration_of_introductory_rate_on_balance_transfer'] = None - - # set to None if duration_of_introductory_rate_on_purchases (nullable) is None - # and __fields_set__ contains the field - if self.duration_of_introductory_rate_on_purchases is None and "duration_of_introductory_rate_on_purchases" in self.__fields_set__: - _dict['duration_of_introductory_rate_on_purchases'] = None - - # set to None if guid (nullable) is None - # and __fields_set__ contains the field - if self.guid is None and "guid" in self.__fields_set__: - _dict['guid'] = None - return _dict @classmethod @@ -107,8 +87,8 @@ def from_dict(cls, obj: dict) -> CreditCardProduct: "has_zero_introductory_annual_fee": obj.get("has_zero_introductory_annual_fee"), "has_zero_percent_introductory_rate": obj.get("has_zero_percent_introductory_rate"), "has_zero_percent_introductory_rate_on_balance_transfer": obj.get("has_zero_percent_introductory_rate_on_balance_transfer"), - "financial_institution": obj.get("financial_institution"), - "is_accepting_applications": obj.get("is_accepting_applications"), + "is_accepting_applicants": obj.get("is_accepting_applicants"), + "is_active_credit_card_product": obj.get("is_active_credit_card_product"), "is_small_business_card": obj.get("is_small_business_card"), "name": obj.get("name") }) diff --git a/mx_platform_python/models/credit_card_product_response.py b/mx_platform_python/models/credit_card_product_response.py index 81fd7e6..196941d 100644 --- a/mx_platform_python/models/credit_card_product_response.py +++ b/mx_platform_python/models/credit_card_product_response.py @@ -26,8 +26,8 @@ class CreditCardProductResponse(BaseModel): """ CreditCardProductResponse """ - reward: Optional[CreditCardProduct] = None - __properties = ["reward"] + credit_card_product: Optional[CreditCardProduct] = None + __properties = ["credit_card_product"] class Config: """Pydantic configuration""" @@ -53,9 +53,9 @@ def to_dict(self): exclude={ }, exclude_none=True) - # override the default output from pydantic by calling `to_dict()` of reward - if self.reward: - _dict['reward'] = self.reward.to_dict() + # override the default output from pydantic by calling `to_dict()` of credit_card_product + if self.credit_card_product: + _dict['credit_card_product'] = self.credit_card_product.to_dict() return _dict @classmethod @@ -68,7 +68,7 @@ def from_dict(cls, obj: dict) -> CreditCardProductResponse: return CreditCardProductResponse.parse_obj(obj) _obj = CreditCardProductResponse.parse_obj({ - "reward": CreditCardProduct.from_dict(obj.get("reward")) if obj.get("reward") is not None else None + "credit_card_product": CreditCardProduct.from_dict(obj.get("credit_card_product")) if obj.get("credit_card_product") is not None else None }) return _obj diff --git a/mx_platform_python/models/goal_request.py b/mx_platform_python/models/goal_request.py new file mode 100644 index 0000000..fe8ba9e --- /dev/null +++ b/mx_platform_python/models/goal_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional, Union +from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr + +class GoalRequest(BaseModel): + """ + GoalRequest + """ + account_guid: StrictStr = Field(..., description="Unique identifier of the account for the goal.") + amount: Union[StrictFloat, StrictInt] = Field(..., description="Amount of the goal.") + goal_type_name: StrictStr = Field(..., description="The goal type.") + meta_type_name: StrictStr = Field(..., description="The category of the goal.") + name: StrictStr = Field(..., description="The name of the goal.") + completed_at: Optional[StrictStr] = Field(None, description="Date and time the goal was completed.") + has_been_spent: Optional[StrictBool] = Field(None, description="Determines if the goal has been spent.") + is_complete: Optional[StrictBool] = Field(None, description="Determines if the goal is complete.") + metadata: Optional[StrictStr] = Field(None, description="Additional information a partner can store on the goal.") + position: Optional[StrictInt] = Field(None, description="The priority of the goal in relation to multiple goals.") + targeted_to_complete_at: Optional[StrictStr] = Field(None, description="Date and time the goal is to complete. Intended for users to set their own goal completion dates.") + __properties = ["account_guid", "amount", "goal_type_name", "meta_type_name", "name", "completed_at", "has_been_spent", "is_complete", "metadata", "position", "targeted_to_complete_at"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> GoalRequest: + """Create an instance of GoalRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> GoalRequest: + """Create an instance of GoalRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return GoalRequest.parse_obj(obj) + + _obj = GoalRequest.parse_obj({ + "account_guid": obj.get("account_guid"), + "amount": obj.get("amount"), + "goal_type_name": obj.get("goal_type_name"), + "meta_type_name": obj.get("meta_type_name"), + "name": obj.get("name"), + "completed_at": obj.get("completed_at"), + "has_been_spent": obj.get("has_been_spent"), + "is_complete": obj.get("is_complete"), + "metadata": obj.get("metadata"), + "position": obj.get("position"), + "targeted_to_complete_at": obj.get("targeted_to_complete_at") + }) + return _obj + + diff --git a/mx_platform_python/models/goal_request_body.py b/mx_platform_python/models/goal_request_body.py new file mode 100644 index 0000000..997e950 --- /dev/null +++ b/mx_platform_python/models/goal_request_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel +from mx_platform_python.models.goal_request import GoalRequest + +class GoalRequestBody(BaseModel): + """ + GoalRequestBody + """ + goal: Optional[GoalRequest] = None + __properties = ["goal"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> GoalRequestBody: + """Create an instance of GoalRequestBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of goal + if self.goal: + _dict['goal'] = self.goal.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> GoalRequestBody: + """Create an instance of GoalRequestBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return GoalRequestBody.parse_obj(obj) + + _obj = GoalRequestBody.parse_obj({ + "goal": GoalRequest.from_dict(obj.get("goal")) if obj.get("goal") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/goal_response.py b/mx_platform_python/models/goal_response.py new file mode 100644 index 0000000..bd2d176 --- /dev/null +++ b/mx_platform_python/models/goal_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional, Union +from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr + +class GoalResponse(BaseModel): + """ + GoalResponse + """ + account_guid: Optional[StrictStr] = Field(None, description="Unique identifier of the account for the goal.") + amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Amount of the goal.") + completed_at: Optional[StrictStr] = Field(None, description="Date and time the goal was completed.") + current_amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The current amount of the goal.") + goal_type_name: Optional[StrictStr] = Field(None, description="The goal type.") + guid: Optional[StrictStr] = Field(None, description="Unique identifier for the goal. Defined by MX.") + has_been_spent: Optional[StrictBool] = Field(None, description="Determines if the goal has been spent.") + is_complete: Optional[StrictBool] = Field(None, description="Determines if the goal is complete.") + metadata: Optional[StrictStr] = Field(None, description="Additional information a partner can store on the goal.") + meta_type_name: Optional[StrictStr] = Field(None, description="The category of the goal.") + name: Optional[StrictStr] = Field(None, description="The name of the goal.") + position: Optional[StrictInt] = Field(None, description="The priority of the goal in relation to multiple goals.") + projected_to_complete_at: Optional[StrictStr] = Field(None, description="Date and time the goal is projected to be completed.") + targeted_to_complete_at: Optional[StrictStr] = Field(None, description="Date and time the goal is to complete. Intended for users to set their own goal completion dates.") + track_type_name: Optional[StrictStr] = None + user_guid: Optional[StrictStr] = Field(None, description="The unique identifier for the the user. Defined by MX.") + __properties = ["account_guid", "amount", "completed_at", "current_amount", "goal_type_name", "guid", "has_been_spent", "is_complete", "metadata", "meta_type_name", "name", "position", "projected_to_complete_at", "targeted_to_complete_at", "track_type_name", "user_guid"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> GoalResponse: + """Create an instance of GoalResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> GoalResponse: + """Create an instance of GoalResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return GoalResponse.parse_obj(obj) + + _obj = GoalResponse.parse_obj({ + "account_guid": obj.get("account_guid"), + "amount": obj.get("amount"), + "completed_at": obj.get("completed_at"), + "current_amount": obj.get("current_amount"), + "goal_type_name": obj.get("goal_type_name"), + "guid": obj.get("guid"), + "has_been_spent": obj.get("has_been_spent"), + "is_complete": obj.get("is_complete"), + "metadata": obj.get("metadata"), + "meta_type_name": obj.get("meta_type_name"), + "name": obj.get("name"), + "position": obj.get("position"), + "projected_to_complete_at": obj.get("projected_to_complete_at"), + "targeted_to_complete_at": obj.get("targeted_to_complete_at"), + "track_type_name": obj.get("track_type_name"), + "user_guid": obj.get("user_guid") + }) + return _obj + + diff --git a/mx_platform_python/models/goal_response_body.py b/mx_platform_python/models/goal_response_body.py new file mode 100644 index 0000000..f30799d --- /dev/null +++ b/mx_platform_python/models/goal_response_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel +from mx_platform_python.models.goal_response import GoalResponse + +class GoalResponseBody(BaseModel): + """ + GoalResponseBody + """ + goal: Optional[GoalResponse] = None + __properties = ["goal"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> GoalResponseBody: + """Create an instance of GoalResponseBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of goal + if self.goal: + _dict['goal'] = self.goal.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> GoalResponseBody: + """Create an instance of GoalResponseBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return GoalResponseBody.parse_obj(obj) + + _obj = GoalResponseBody.parse_obj({ + "goal": GoalResponse.from_dict(obj.get("goal")) if obj.get("goal") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/goals_response.py b/mx_platform_python/models/goals_response.py new file mode 100644 index 0000000..537379e --- /dev/null +++ b/mx_platform_python/models/goals_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional, Union +from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr + +class GoalsResponse(BaseModel): + """ + GoalsResponse + """ + account_guid: Optional[StrictStr] = Field(None, description="Unique identifier of the account for the goal.") + amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Amount of the goal.") + current_amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The current amount of the goal.") + guid: Optional[StrictStr] = Field(None, description="The unique identifier for the goal. Defined by MX.") + goal_type_name: Optional[StrictStr] = Field(None, description="The goal type.") + meta_type_name: Optional[StrictStr] = Field(None, description="The category of the goal.") + name: Optional[StrictStr] = Field(None, description="The name of the goal.") + completed_at: Optional[StrictStr] = Field(None, description="Date and time the goal was completed.") + has_been_spent: Optional[StrictBool] = Field(None, description="Determines if the goal has been spent.") + is_complete: Optional[StrictBool] = Field(None, description="Determines if the goal is complete.") + metadata: Optional[StrictStr] = Field(None, description="Additional information a partner can store on the goal.") + position: Optional[StrictInt] = Field(None, description="The priority of the goal in relation to multiple goals.") + projected_to_complete_at: Optional[StrictStr] = Field(None, description="The date on which the project was completed.") + targeted_to_complete_at: Optional[StrictStr] = None + track_type_name: Optional[StrictStr] = None + user_guid: Optional[StrictStr] = Field(None, description="The unique identifier for the the user. Defined by MX.") + __properties = ["account_guid", "amount", "current_amount", "guid", "goal_type_name", "meta_type_name", "name", "completed_at", "has_been_spent", "is_complete", "metadata", "position", "projected_to_complete_at", "targeted_to_complete_at", "track_type_name", "user_guid"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> GoalsResponse: + """Create an instance of GoalsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> GoalsResponse: + """Create an instance of GoalsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return GoalsResponse.parse_obj(obj) + + _obj = GoalsResponse.parse_obj({ + "account_guid": obj.get("account_guid"), + "amount": obj.get("amount"), + "current_amount": obj.get("current_amount"), + "guid": obj.get("guid"), + "goal_type_name": obj.get("goal_type_name"), + "meta_type_name": obj.get("meta_type_name"), + "name": obj.get("name"), + "completed_at": obj.get("completed_at"), + "has_been_spent": obj.get("has_been_spent"), + "is_complete": obj.get("is_complete"), + "metadata": obj.get("metadata"), + "position": obj.get("position"), + "projected_to_complete_at": obj.get("projected_to_complete_at"), + "targeted_to_complete_at": obj.get("targeted_to_complete_at"), + "track_type_name": obj.get("track_type_name"), + "user_guid": obj.get("user_guid") + }) + return _obj + + diff --git a/mx_platform_python/models/goals_response_body.py b/mx_platform_python/models/goals_response_body.py new file mode 100644 index 0000000..71d6077 --- /dev/null +++ b/mx_platform_python/models/goals_response_body.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import List, Optional +from pydantic import BaseModel, conlist +from mx_platform_python.models.goals_response import GoalsResponse +from mx_platform_python.models.pagination_response import PaginationResponse + +class GoalsResponseBody(BaseModel): + """ + GoalsResponseBody + """ + goals: Optional[conlist(GoalsResponse)] = None + pagination: Optional[PaginationResponse] = None + __properties = ["goals", "pagination"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> GoalsResponseBody: + """Create an instance of GoalsResponseBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of each item in goals (list) + _items = [] + if self.goals: + for _item in self.goals: + if _item: + _items.append(_item.to_dict()) + _dict['goals'] = _items + # override the default output from pydantic by calling `to_dict()` of pagination + if self.pagination: + _dict['pagination'] = self.pagination.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> GoalsResponseBody: + """Create an instance of GoalsResponseBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return GoalsResponseBody.parse_obj(obj) + + _obj = GoalsResponseBody.parse_obj({ + "goals": [GoalsResponse.from_dict(_item) for _item in obj.get("goals")] if obj.get("goals") is not None else None, + "pagination": PaginationResponse.from_dict(obj.get("pagination")) if obj.get("pagination") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/monthly_cash_flow_profile_request.py b/mx_platform_python/models/monthly_cash_flow_profile_request.py new file mode 100644 index 0000000..f1cd96a --- /dev/null +++ b/mx_platform_python/models/monthly_cash_flow_profile_request.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional, Union +from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt + +class MonthlyCashFlowProfileRequest(BaseModel): + """ + MonthlyCashFlowProfileRequest + """ + goals_contribution: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The monthly dollar amount allocated for goals.") + uses_estimated_goals_contribution: Optional[StrictBool] = Field(None, description="Determines if the user uses estimated goals contribution.") + __properties = ["goals_contribution", "uses_estimated_goals_contribution"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> MonthlyCashFlowProfileRequest: + """Create an instance of MonthlyCashFlowProfileRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> MonthlyCashFlowProfileRequest: + """Create an instance of MonthlyCashFlowProfileRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return MonthlyCashFlowProfileRequest.parse_obj(obj) + + _obj = MonthlyCashFlowProfileRequest.parse_obj({ + "goals_contribution": obj.get("goals_contribution"), + "uses_estimated_goals_contribution": obj.get("uses_estimated_goals_contribution") + }) + return _obj + + diff --git a/mx_platform_python/models/monthly_cash_flow_profile_request_body.py b/mx_platform_python/models/monthly_cash_flow_profile_request_body.py new file mode 100644 index 0000000..3432570 --- /dev/null +++ b/mx_platform_python/models/monthly_cash_flow_profile_request_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel +from mx_platform_python.models.monthly_cash_flow_profile_request import MonthlyCashFlowProfileRequest + +class MonthlyCashFlowProfileRequestBody(BaseModel): + """ + MonthlyCashFlowProfileRequestBody + """ + institution: Optional[MonthlyCashFlowProfileRequest] = None + __properties = ["institution"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> MonthlyCashFlowProfileRequestBody: + """Create an instance of MonthlyCashFlowProfileRequestBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of institution + if self.institution: + _dict['institution'] = self.institution.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> MonthlyCashFlowProfileRequestBody: + """Create an instance of MonthlyCashFlowProfileRequestBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return MonthlyCashFlowProfileRequestBody.parse_obj(obj) + + _obj = MonthlyCashFlowProfileRequestBody.parse_obj({ + "institution": MonthlyCashFlowProfileRequest.from_dict(obj.get("institution")) if obj.get("institution") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/monthly_cash_flow_response.py b/mx_platform_python/models/monthly_cash_flow_response.py new file mode 100644 index 0000000..1942cb2 --- /dev/null +++ b/mx_platform_python/models/monthly_cash_flow_response.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional, Union +from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr + +class MonthlyCashFlowResponse(BaseModel): + """ + MonthlyCashFlowResponse + """ + guid: Optional[StrictStr] = Field(None, description="Unique identifier for the monthly cash flow profile. Defined by MX.") + user_guid: Optional[StrictStr] = Field(None, description="Unique identifier for the user the monthly cash flow profile is attached to. Defined by MX.") + budgeted_income: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The amount of the budgeted income for the user.") + budgeted_expenses: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The amount of the budgeted expenses for the user.") + goals_contribution: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The monthly dollar amount allocated for goals.") + estimated_goals_contribution: Optional[StrictInt] = Field(None, description="The estimated monthly dollar amount allocated for goals calculated from income and budgets.") + uses_estimated_goals_contribution: Optional[StrictBool] = None + __properties = ["guid", "user_guid", "budgeted_income", "budgeted_expenses", "goals_contribution", "estimated_goals_contribution", "uses_estimated_goals_contribution"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> MonthlyCashFlowResponse: + """Create an instance of MonthlyCashFlowResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> MonthlyCashFlowResponse: + """Create an instance of MonthlyCashFlowResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return MonthlyCashFlowResponse.parse_obj(obj) + + _obj = MonthlyCashFlowResponse.parse_obj({ + "guid": obj.get("guid"), + "user_guid": obj.get("user_guid"), + "budgeted_income": obj.get("budgeted_income"), + "budgeted_expenses": obj.get("budgeted_expenses"), + "goals_contribution": obj.get("goals_contribution"), + "estimated_goals_contribution": obj.get("estimated_goals_contribution"), + "uses_estimated_goals_contribution": obj.get("uses_estimated_goals_contribution") + }) + return _obj + + diff --git a/mx_platform_python/models/monthly_cash_flow_response_body.py b/mx_platform_python/models/monthly_cash_flow_response_body.py new file mode 100644 index 0000000..810a60f --- /dev/null +++ b/mx_platform_python/models/monthly_cash_flow_response_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel +from mx_platform_python.models.monthly_cash_flow_response import MonthlyCashFlowResponse + +class MonthlyCashFlowResponseBody(BaseModel): + """ + MonthlyCashFlowResponseBody + """ + monthly_cash_flow_profile: Optional[MonthlyCashFlowResponse] = None + __properties = ["monthly_cash_flow_profile"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> MonthlyCashFlowResponseBody: + """Create an instance of MonthlyCashFlowResponseBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of monthly_cash_flow_profile + if self.monthly_cash_flow_profile: + _dict['monthly_cash_flow_profile'] = self.monthly_cash_flow_profile.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> MonthlyCashFlowResponseBody: + """Create an instance of MonthlyCashFlowResponseBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return MonthlyCashFlowResponseBody.parse_obj(obj) + + _obj = MonthlyCashFlowResponseBody.parse_obj({ + "monthly_cash_flow_profile": MonthlyCashFlowResponse.from_dict(obj.get("monthly_cash_flow_profile")) if obj.get("monthly_cash_flow_profile") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/reposition_request.py b/mx_platform_python/models/reposition_request.py new file mode 100644 index 0000000..4d68fb5 --- /dev/null +++ b/mx_platform_python/models/reposition_request.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + + +from pydantic import BaseModel, Field, StrictInt, StrictStr + +class RepositionRequest(BaseModel): + """ + RepositionRequest + """ + guid: StrictStr = Field(..., description="The unique identifier for the goal. Defined by MX.") + position: StrictInt = Field(..., description="The priority of the goal in relation to multiple goals.") + __properties = ["guid", "position"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> RepositionRequest: + """Create an instance of RepositionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> RepositionRequest: + """Create an instance of RepositionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return RepositionRequest.parse_obj(obj) + + _obj = RepositionRequest.parse_obj({ + "guid": obj.get("guid"), + "position": obj.get("position") + }) + return _obj + + diff --git a/mx_platform_python/models/reposition_request_body.py b/mx_platform_python/models/reposition_request_body.py new file mode 100644 index 0000000..74ae583 --- /dev/null +++ b/mx_platform_python/models/reposition_request_body.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import List, Optional +from pydantic import BaseModel, conlist +from mx_platform_python.models.reposition_request import RepositionRequest + +class RepositionRequestBody(BaseModel): + """ + RepositionRequestBody + """ + goals: Optional[conlist(RepositionRequest)] = None + __properties = ["goals"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> RepositionRequestBody: + """Create an instance of RepositionRequestBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of each item in goals (list) + _items = [] + if self.goals: + for _item in self.goals: + if _item: + _items.append(_item.to_dict()) + _dict['goals'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> RepositionRequestBody: + """Create an instance of RepositionRequestBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return RepositionRequestBody.parse_obj(obj) + + _obj = RepositionRequestBody.parse_obj({ + "goals": [RepositionRequest.from_dict(_item) for _item in obj.get("goals")] if obj.get("goals") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/reposition_response_body.py b/mx_platform_python/models/reposition_response_body.py new file mode 100644 index 0000000..13ddad7 --- /dev/null +++ b/mx_platform_python/models/reposition_response_body.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import List, Optional +from pydantic import BaseModel, conlist +from mx_platform_python.models.goals_response import GoalsResponse + +class RepositionResponseBody(BaseModel): + """ + RepositionResponseBody + """ + goals: Optional[conlist(GoalsResponse)] = None + __properties = ["goals"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> RepositionResponseBody: + """Create an instance of RepositionResponseBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of each item in goals (list) + _items = [] + if self.goals: + for _item in self.goals: + if _item: + _items.append(_item.to_dict()) + _dict['goals'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> RepositionResponseBody: + """Create an instance of RepositionResponseBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return RepositionResponseBody.parse_obj(obj) + + _obj = RepositionResponseBody.parse_obj({ + "goals": [GoalsResponse.from_dict(_item) for _item in obj.get("goals")] if obj.get("goals") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/reward_response.py b/mx_platform_python/models/reward_response.py index 1552cf0..4574c4c 100644 --- a/mx_platform_python/models/reward_response.py +++ b/mx_platform_python/models/reward_response.py @@ -34,8 +34,9 @@ class RewardResponse(BaseModel): guid: Optional[StrictStr] = None member_guid: Optional[StrictStr] = None unit_type: Optional[StrictStr] = None + updated_at: Optional[StrictStr] = None user_guid: Optional[StrictStr] = None - __properties = ["account_guid", "balance_type", "balance", "created_at", "description", "expires_on", "guid", "member_guid", "unit_type", "user_guid"] + __properties = ["account_guid", "balance_type", "balance", "created_at", "description", "expires_on", "guid", "member_guid", "unit_type", "updated_at", "user_guid"] class Config: """Pydantic configuration""" @@ -82,6 +83,7 @@ def from_dict(cls, obj: dict) -> RewardResponse: "guid": obj.get("guid"), "member_guid": obj.get("member_guid"), "unit_type": obj.get("unit_type"), + "updated_at": obj.get("updated_at"), "user_guid": obj.get("user_guid") }) return _obj diff --git a/mx_platform_python/models/rewards_response.py b/mx_platform_python/models/rewards_response.py index fa59a9a..acc6240 100644 --- a/mx_platform_python/models/rewards_response.py +++ b/mx_platform_python/models/rewards_response.py @@ -34,8 +34,9 @@ class RewardsResponse(BaseModel): guid: Optional[StrictStr] = None member_guid: Optional[StrictStr] = None unit_type: Optional[StrictStr] = None + updated_at: Optional[StrictStr] = None user_guid: Optional[StrictStr] = None - __properties = ["account_guid", "balance_type", "balance", "created_at", "description", "expires_on", "guid", "member_guid", "unit_type", "user_guid"] + __properties = ["account_guid", "balance_type", "balance", "created_at", "description", "expires_on", "guid", "member_guid", "unit_type", "updated_at", "user_guid"] class Config: """Pydantic configuration""" @@ -82,6 +83,7 @@ def from_dict(cls, obj: dict) -> RewardsResponse: "guid": obj.get("guid"), "member_guid": obj.get("member_guid"), "unit_type": obj.get("unit_type"), + "updated_at": obj.get("updated_at"), "user_guid": obj.get("user_guid") }) return _obj diff --git a/mx_platform_python/models/split_transaction_request.py b/mx_platform_python/models/split_transaction_request.py new file mode 100644 index 0000000..a73fdb8 --- /dev/null +++ b/mx_platform_python/models/split_transaction_request.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional, Union +from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr + +class SplitTransactionRequest(BaseModel): + """ + SplitTransactionRequest + """ + amount: Union[StrictFloat, StrictInt] = Field(..., description="Amount of money you want to re-categorize.") + description: Optional[StrictStr] = Field(None, description="Description for the split transaction.") + category_guid: Optional[StrictStr] = Field(None, description="Unique identifier of the category.") + memo: Optional[StrictStr] = Field(None, description="Memo for the split transaction") + __properties = ["amount", "description", "category_guid", "memo"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> SplitTransactionRequest: + """Create an instance of SplitTransactionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> SplitTransactionRequest: + """Create an instance of SplitTransactionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return SplitTransactionRequest.parse_obj(obj) + + _obj = SplitTransactionRequest.parse_obj({ + "amount": obj.get("amount"), + "description": obj.get("description"), + "category_guid": obj.get("category_guid"), + "memo": obj.get("memo") + }) + return _obj + + diff --git a/mx_platform_python/models/split_transaction_request_body.py b/mx_platform_python/models/split_transaction_request_body.py new file mode 100644 index 0000000..71789dd --- /dev/null +++ b/mx_platform_python/models/split_transaction_request_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + + +from pydantic import BaseModel, Field +from mx_platform_python.models.split_transaction_request import SplitTransactionRequest + +class SplitTransactionRequestBody(BaseModel): + """ + SplitTransactionRequestBody + """ + transactions: SplitTransactionRequest = Field(...) + __properties = ["transactions"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> SplitTransactionRequestBody: + """Create an instance of SplitTransactionRequestBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of transactions + if self.transactions: + _dict['transactions'] = self.transactions.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> SplitTransactionRequestBody: + """Create an instance of SplitTransactionRequestBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return SplitTransactionRequestBody.parse_obj(obj) + + _obj = SplitTransactionRequestBody.parse_obj({ + "transactions": SplitTransactionRequest.from_dict(obj.get("transactions")) if obj.get("transactions") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/split_transactions_response_body.py b/mx_platform_python/models/split_transactions_response_body.py new file mode 100644 index 0000000..06e9468 --- /dev/null +++ b/mx_platform_python/models/split_transactions_response_body.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import List, Optional +from pydantic import BaseModel, conlist +from mx_platform_python.models.transaction_response import TransactionResponse + +class SplitTransactionsResponseBody(BaseModel): + """ + SplitTransactionsResponseBody + """ + transactions: Optional[conlist(TransactionResponse)] = None + __properties = ["transactions"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> SplitTransactionsResponseBody: + """Create an instance of SplitTransactionsResponseBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of each item in transactions (list) + _items = [] + if self.transactions: + for _item in self.transactions: + if _item: + _items.append(_item.to_dict()) + _dict['transactions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> SplitTransactionsResponseBody: + """Create an instance of SplitTransactionsResponseBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return SplitTransactionsResponseBody.parse_obj(obj) + + _obj = SplitTransactionsResponseBody.parse_obj({ + "transactions": [TransactionResponse.from_dict(_item) for _item in obj.get("transactions")] if obj.get("transactions") is not None else None + }) + return _obj + + diff --git a/mx_platform_python/models/update_goal_request.py b/mx_platform_python/models/update_goal_request.py new file mode 100644 index 0000000..3e353e5 --- /dev/null +++ b/mx_platform_python/models/update_goal_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional, Union +from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr + +class UpdateGoalRequest(BaseModel): + """ + UpdateGoalRequest + """ + account_guid: Optional[StrictStr] = Field(None, description="Unique identifier of the account for the goal.") + amount: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="Amount of the goal.") + goal_type_name: Optional[StrictStr] = Field(None, description="The goal type.") + meta_type_name: Optional[StrictStr] = Field(None, description="The category of the goal.") + name: Optional[StrictStr] = Field(None, description="The name of the goal.") + completed_at: Optional[StrictStr] = Field(None, description="Date and time the goal was completed.") + has_been_spent: Optional[StrictBool] = Field(None, description="Determines if the goal has been spent.") + is_complete: Optional[StrictBool] = Field(None, description="Determines if the goal is complete.") + metadata: Optional[StrictStr] = Field(None, description="Additional information a partner can store on the goal.") + position: Optional[StrictInt] = Field(None, description="The priority of the goal in relation to multiple goals.") + targeted_to_complete_at: Optional[StrictStr] = Field(None, description="Date and time the goal is to complete. Intended for users to set their own goal completion dates.") + __properties = ["account_guid", "amount", "goal_type_name", "meta_type_name", "name", "completed_at", "has_been_spent", "is_complete", "metadata", "position", "targeted_to_complete_at"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> UpdateGoalRequest: + """Create an instance of UpdateGoalRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> UpdateGoalRequest: + """Create an instance of UpdateGoalRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return UpdateGoalRequest.parse_obj(obj) + + _obj = UpdateGoalRequest.parse_obj({ + "account_guid": obj.get("account_guid"), + "amount": obj.get("amount"), + "goal_type_name": obj.get("goal_type_name"), + "meta_type_name": obj.get("meta_type_name"), + "name": obj.get("name"), + "completed_at": obj.get("completed_at"), + "has_been_spent": obj.get("has_been_spent"), + "is_complete": obj.get("is_complete"), + "metadata": obj.get("metadata"), + "position": obj.get("position"), + "targeted_to_complete_at": obj.get("targeted_to_complete_at") + }) + return _obj + + diff --git a/mx_platform_python/models/update_goal_request_body.py b/mx_platform_python/models/update_goal_request_body.py new file mode 100644 index 0000000..d301bce --- /dev/null +++ b/mx_platform_python/models/update_goal_request_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + +from typing import Optional +from pydantic import BaseModel +from mx_platform_python.models.update_goal_request import UpdateGoalRequest + +class UpdateGoalRequestBody(BaseModel): + """ + UpdateGoalRequestBody + """ + goal: Optional[UpdateGoalRequest] = None + __properties = ["goal"] + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> UpdateGoalRequestBody: + """Create an instance of UpdateGoalRequestBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of goal + if self.goal: + _dict['goal'] = self.goal.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> UpdateGoalRequestBody: + """Create an instance of UpdateGoalRequestBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return UpdateGoalRequestBody.parse_obj(obj) + + _obj = UpdateGoalRequestBody.parse_obj({ + "goal": UpdateGoalRequest.from_dict(obj.get("goal")) if obj.get("goal") is not None else None + }) + return _obj + + diff --git a/openapi/config.yml b/openapi/config.yml index 70cc9bb..424069c 100644 --- a/openapi/config.yml +++ b/openapi/config.yml @@ -1,5 +1,5 @@ --- packageName: mx_platform_python packageUrl: https://pypi.org/project/mx-platform-python -packageVersion: 0.35.0 +packageVersion: 0.36.0 projectName: mx-platform-python diff --git a/pyproject.toml b/pyproject.toml index f90194f..a9bcf28 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "mx_platform_python" -version = "0.35.0" +version = "0.36.0" description = "MX Platform API" authors = ["MX Platform API "] license = "NoLicense" diff --git a/setup.py b/setup.py index edf940a..ae0d1ad 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "mx-platform-python" -VERSION = "0.35.0" +VERSION = "0.36.0" PYTHON_REQUIRES = ">=3.7" REQUIRES = [ "urllib3 >= 1.25.3, < 2.1.0", diff --git a/test/test_budget_create_request.py b/test/test_budget_create_request.py new file mode 100644 index 0000000..93f2485 --- /dev/null +++ b/test/test_budget_create_request.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.budget_create_request import BudgetCreateRequest # noqa: E501 + +class TestBudgetCreateRequest(unittest.TestCase): + """BudgetCreateRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BudgetCreateRequest: + """Test BudgetCreateRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BudgetCreateRequest` + """ + model = BudgetCreateRequest() # noqa: E501 + if include_optional: + return BudgetCreateRequest( + category_guid = 'CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a', + parent_guid = 'BGT-6be44a91-e105-f68a-4770-8c7c0a5c9778', + amount = 1000, + metadata = 'Additional information', + skip_webhook = True + ) + else: + return BudgetCreateRequest( + category_guid = 'CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a', + parent_guid = 'BGT-6be44a91-e105-f68a-4770-8c7c0a5c9778', + ) + """ + + def testBudgetCreateRequest(self): + """Test BudgetCreateRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_budget_create_request_body.py b/test/test_budget_create_request_body.py new file mode 100644 index 0000000..b3b09d5 --- /dev/null +++ b/test/test_budget_create_request_body.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.budget_create_request_body import BudgetCreateRequestBody # noqa: E501 + +class TestBudgetCreateRequestBody(unittest.TestCase): + """BudgetCreateRequestBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BudgetCreateRequestBody: + """Test BudgetCreateRequestBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BudgetCreateRequestBody` + """ + model = BudgetCreateRequestBody() # noqa: E501 + if include_optional: + return BudgetCreateRequestBody( + budget = mx_platform_python.models.budget_create_request.BudgetCreateRequest( + category_guid = 'CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a', + parent_guid = 'BGT-6be44a91-e105-f68a-4770-8c7c0a5c9778', + amount = 1000, + metadata = 'Additional information', + skip_webhook = True, ) + ) + else: + return BudgetCreateRequestBody( + ) + """ + + def testBudgetCreateRequestBody(self): + """Test BudgetCreateRequestBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_budget_response.py b/test/test_budget_response.py new file mode 100644 index 0000000..72a8eb9 --- /dev/null +++ b/test/test_budget_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.budget_response import BudgetResponse # noqa: E501 + +class TestBudgetResponse(unittest.TestCase): + """BudgetResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BudgetResponse: + """Test BudgetResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BudgetResponse` + """ + model = BudgetResponse() # noqa: E501 + if include_optional: + return BudgetResponse( + amount = 153.0, + category_guid = 'CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a', + created_at = '2018-10-18T19:51:26+00:00', + guid = 'BGT-6ca0e3ef-c65e-4655-8b5a-275a3c19c21d', + is_exceeded = True, + is_off_track = True, + metadata = 'some metadata', + name = 'Food & Dining', + off_track_percentage = 1.337, + parent_guid = '', + percent_spent = 1276.34, + projected_spending = 3562.4, + revision = 561, + transaction_total = 1952.8, + updated_at = 2022-06-14T21:17:11+00:00, + user_guid = USR-11141024-90b3-1bce-cac9-c06ced52ab4c + ) + else: + return BudgetResponse( + ) + """ + + def testBudgetResponse(self): + """Test BudgetResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_budget_response_body.py b/test/test_budget_response_body.py new file mode 100644 index 0000000..824e63d --- /dev/null +++ b/test/test_budget_response_body.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.budget_response_body import BudgetResponseBody # noqa: E501 + +class TestBudgetResponseBody(unittest.TestCase): + """BudgetResponseBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BudgetResponseBody: + """Test BudgetResponseBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BudgetResponseBody` + """ + model = BudgetResponseBody() # noqa: E501 + if include_optional: + return BudgetResponseBody( + budget = mx_platform_python.models.budget_response.BudgetResponse( + amount = 153.0, + category_guid = 'CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a', + created_at = '2018-10-18T19:51:26+00:00', + guid = 'BGT-6ca0e3ef-c65e-4655-8b5a-275a3c19c21d', + is_exceeded = True, + is_off_track = True, + metadata = 'some metadata', + name = 'Food & Dining', + off_track_percentage = 1.337, + parent_guid = '', + percent_spent = 1276.34, + projected_spending = 3562.4, + revision = 561, + transaction_total = 1952.8, + updated_at = 2022-06-14T21:17:11+00:00, + user_guid = USR-11141024-90b3-1bce-cac9-c06ced52ab4c, ) + ) + else: + return BudgetResponseBody( + ) + """ + + def testBudgetResponseBody(self): + """Test BudgetResponseBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_budget_update_request.py b/test/test_budget_update_request.py new file mode 100644 index 0000000..d8a8a12 --- /dev/null +++ b/test/test_budget_update_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.budget_update_request import BudgetUpdateRequest # noqa: E501 + +class TestBudgetUpdateRequest(unittest.TestCase): + """BudgetUpdateRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BudgetUpdateRequest: + """Test BudgetUpdateRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BudgetUpdateRequest` + """ + model = BudgetUpdateRequest() # noqa: E501 + if include_optional: + return BudgetUpdateRequest( + amount = 1000, + metadata = 'Additional information', + skip_webhook = True + ) + else: + return BudgetUpdateRequest( + ) + """ + + def testBudgetUpdateRequest(self): + """Test BudgetUpdateRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_budget_update_request_body.py b/test/test_budget_update_request_body.py new file mode 100644 index 0000000..3050240 --- /dev/null +++ b/test/test_budget_update_request_body.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.budget_update_request_body import BudgetUpdateRequestBody # noqa: E501 + +class TestBudgetUpdateRequestBody(unittest.TestCase): + """BudgetUpdateRequestBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BudgetUpdateRequestBody: + """Test BudgetUpdateRequestBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BudgetUpdateRequestBody` + """ + model = BudgetUpdateRequestBody() # noqa: E501 + if include_optional: + return BudgetUpdateRequestBody( + budget = mx_platform_python.models.budget_update_request.BudgetUpdateRequest( + amount = 1000, + metadata = 'Additional information', + skip_webhook = True, ) + ) + else: + return BudgetUpdateRequestBody( + ) + """ + + def testBudgetUpdateRequestBody(self): + """Test BudgetUpdateRequestBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_budgets_api.py b/test/test_budgets_api.py new file mode 100644 index 0000000..004d80f --- /dev/null +++ b/test/test_budgets_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from mx_platform_python.api.budgets_api import BudgetsApi # noqa: E501 + + +class TestBudgetsApi(unittest.TestCase): + """BudgetsApi unit test stubs""" + + def setUp(self) -> None: + self.api = BudgetsApi() # noqa: E501 + + def tearDown(self) -> None: + pass + + def test_users_user_guid_budgets_budget_guid_delete(self) -> None: + """Test case for users_user_guid_budgets_budget_guid_delete + + Delete a budget # noqa: E501 + """ + pass + + def test_users_user_guid_budgets_budget_guid_get(self) -> None: + """Test case for users_user_guid_budgets_budget_guid_get + + Read a specific budget # noqa: E501 + """ + pass + + def test_users_user_guid_budgets_budget_guid_put(self) -> None: + """Test case for users_user_guid_budgets_budget_guid_put + + Update a specific budget # noqa: E501 + """ + pass + + def test_users_user_guid_budgets_generate_post(self) -> None: + """Test case for users_user_guid_budgets_generate_post + + Auto-generate budgets # noqa: E501 + """ + pass + + def test_users_user_guid_budgets_get(self) -> None: + """Test case for users_user_guid_budgets_get + + List all budgets # noqa: E501 + """ + pass + + def test_users_user_guid_budgets_post(self) -> None: + """Test case for users_user_guid_budgets_post + + Create a budget # noqa: E501 + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_credit_card_product.py b/test/test_credit_card_product.py index b0090f5..64eeb4c 100644 --- a/test/test_credit_card_product.py +++ b/test/test_credit_card_product.py @@ -37,17 +37,17 @@ def make_instance(self, include_optional) -> CreditCardProduct: if include_optional: return CreditCardProduct( annual_fee = 45.0, - duration_of_introductory_rate_on_balance_transfer = None, - duration_of_introductory_rate_on_purchases = None, - guid = CCA-b5bcd822-6d01-4e23-b8d6-846a225e714a, + duration_of_introductory_rate_on_balance_transfer = 56, + duration_of_introductory_rate_on_purchases = 56, + guid = 'CCA-b5bcd822-6d01-4e23-b8d6-846a225e714a', has_cashback_rewards = False, has_other_rewards = True, has_travel_rewards = True, has_zero_introductory_annual_fee = True, has_zero_percent_introductory_rate = False, has_zero_percent_introductory_rate_on_balance_transfer = True, - financial_institution = True, - is_accepting_applications = True, + is_accepting_applicants = True, + is_active_credit_card_product = True, is_small_business_card = True, name = 'Chase Credit Card' ) diff --git a/test/test_credit_card_product_response.py b/test/test_credit_card_product_response.py index 7503c5f..9c24cd3 100644 --- a/test/test_credit_card_product_response.py +++ b/test/test_credit_card_product_response.py @@ -36,19 +36,19 @@ def make_instance(self, include_optional) -> CreditCardProductResponse: model = CreditCardProductResponse() # noqa: E501 if include_optional: return CreditCardProductResponse( - reward = mx_platform_python.models.credit_card_product.CreditCardProduct( + credit_card_product = mx_platform_python.models.credit_card_product.CreditCardProduct( annual_fee = 45.0, - duration_of_introductory_rate_on_balance_transfer = null, - duration_of_introductory_rate_on_purchases = null, - guid = CCA-b5bcd822-6d01-4e23-b8d6-846a225e714a, + duration_of_introductory_rate_on_balance_transfer = 56, + duration_of_introductory_rate_on_purchases = 56, + guid = 'CCA-b5bcd822-6d01-4e23-b8d6-846a225e714a', has_cashback_rewards = False, has_other_rewards = True, has_travel_rewards = True, has_zero_introductory_annual_fee = True, has_zero_percent_introductory_rate = False, has_zero_percent_introductory_rate_on_balance_transfer = True, - financial_institution = True, - is_accepting_applications = True, + is_accepting_applicants = True, + is_active_credit_card_product = True, is_small_business_card = True, name = 'Chase Credit Card', ) ) diff --git a/test/test_goal_request.py b/test/test_goal_request.py new file mode 100644 index 0000000..bb1b2a8 --- /dev/null +++ b/test/test_goal_request.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.goal_request import GoalRequest # noqa: E501 + +class TestGoalRequest(unittest.TestCase): + """GoalRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoalRequest: + """Test GoalRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoalRequest` + """ + model = GoalRequest() # noqa: E501 + if include_optional: + return GoalRequest( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.5, + goal_type_name = 'PAYOFF', + meta_type_name = 'VACATION', + name = 'Save for Europe', + completed_at = '2015-06-19T10:37:04-06:00', + has_been_spent = False, + is_complete = False, + metadata = 'Additional information', + position = 3, + targeted_to_complete_at = '2026-12-08 00:00:00.000000' + ) + else: + return GoalRequest( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.5, + goal_type_name = 'PAYOFF', + meta_type_name = 'VACATION', + name = 'Save for Europe', + ) + """ + + def testGoalRequest(self): + """Test GoalRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_goal_request_body.py b/test/test_goal_request_body.py new file mode 100644 index 0000000..6214fa5 --- /dev/null +++ b/test/test_goal_request_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.goal_request_body import GoalRequestBody # noqa: E501 + +class TestGoalRequestBody(unittest.TestCase): + """GoalRequestBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoalRequestBody: + """Test GoalRequestBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoalRequestBody` + """ + model = GoalRequestBody() # noqa: E501 + if include_optional: + return GoalRequestBody( + goal = mx_platform_python.models.goal_request.GoalRequest( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.5, + goal_type_name = 'PAYOFF', + meta_type_name = 'VACATION', + name = 'Save for Europe', + completed_at = '2015-06-19T10:37:04-06:00', + has_been_spent = False, + is_complete = False, + metadata = 'Additional information', + position = 3, + targeted_to_complete_at = '2026-12-08 00:00:00.000000', ) + ) + else: + return GoalRequestBody( + ) + """ + + def testGoalRequestBody(self): + """Test GoalRequestBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_goal_response.py b/test/test_goal_response.py new file mode 100644 index 0000000..ae2e4b4 --- /dev/null +++ b/test/test_goal_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.goal_response import GoalResponse # noqa: E501 + +class TestGoalResponse(unittest.TestCase): + """GoalResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoalResponse: + """Test GoalResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoalResponse` + """ + model = GoalResponse() # noqa: E501 + if include_optional: + return GoalResponse( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.0, + completed_at = '2015-06-19T10:37:04-06:00', + current_amount = 1651.27, + goal_type_name = 'PAYOFF', + guid = 'GOL-f223463-4355-48d0-rce7-fe2rb345617c', + has_been_spent = False, + is_complete = False, + metadata = 'Additional information', + meta_type_name = 'VACATION', + name = 'Save for Europe', + position = 3, + projected_to_complete_at = '2022-06-14T16:03:53-00:00', + targeted_to_complete_at = '2026-12-08 00:00:00.000000', + track_type_name = 'Track Type Name', + user_guid = 'USR-11141024-90b3-1bce-cac9-c06ced52ab4c' + ) + else: + return GoalResponse( + ) + """ + + def testGoalResponse(self): + """Test GoalResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_goal_response_body.py b/test/test_goal_response_body.py new file mode 100644 index 0000000..a0f9cff --- /dev/null +++ b/test/test_goal_response_body.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.goal_response_body import GoalResponseBody # noqa: E501 + +class TestGoalResponseBody(unittest.TestCase): + """GoalResponseBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoalResponseBody: + """Test GoalResponseBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoalResponseBody` + """ + model = GoalResponseBody() # noqa: E501 + if include_optional: + return GoalResponseBody( + goal = mx_platform_python.models.goal_response.GoalResponse( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.0, + completed_at = '2015-06-19T10:37:04-06:00', + current_amount = 1651.27, + goal_type_name = 'PAYOFF', + guid = 'GOL-f223463-4355-48d0-rce7-fe2rb345617c', + has_been_spent = False, + is_complete = False, + metadata = 'Additional information', + meta_type_name = 'VACATION', + name = 'Save for Europe', + position = 3, + projected_to_complete_at = '2022-06-14T16:03:53-00:00', + targeted_to_complete_at = '2026-12-08 00:00:00.000000', + track_type_name = 'Track Type Name', + user_guid = 'USR-11141024-90b3-1bce-cac9-c06ced52ab4c', ) + ) + else: + return GoalResponseBody( + ) + """ + + def testGoalResponseBody(self): + """Test GoalResponseBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_goals_api.py b/test/test_goals_api.py new file mode 100644 index 0000000..657babf --- /dev/null +++ b/test/test_goals_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from mx_platform_python.api.goals_api import GoalsApi # noqa: E501 + + +class TestGoalsApi(unittest.TestCase): + """GoalsApi unit test stubs""" + + def setUp(self) -> None: + self.api = GoalsApi() # noqa: E501 + + def tearDown(self) -> None: + pass + + def test_users_user_guid_goals_get(self) -> None: + """Test case for users_user_guid_goals_get + + List goals # noqa: E501 + """ + pass + + def test_users_user_guid_goals_goal_guid_delete(self) -> None: + """Test case for users_user_guid_goals_goal_guid_delete + + Delete a goal # noqa: E501 + """ + pass + + def test_users_user_guid_goals_goal_guid_get(self) -> None: + """Test case for users_user_guid_goals_goal_guid_get + + Read a goal # noqa: E501 + """ + pass + + def test_users_user_guid_goals_goal_guid_put(self) -> None: + """Test case for users_user_guid_goals_goal_guid_put + + Update a goal # noqa: E501 + """ + pass + + def test_users_user_guid_goals_post(self) -> None: + """Test case for users_user_guid_goals_post + + Create a goal # noqa: E501 + """ + pass + + def test_users_user_guid_goals_reposition_put(self) -> None: + """Test case for users_user_guid_goals_reposition_put + + Reposition goals # noqa: E501 + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_goals_response.py b/test/test_goals_response.py new file mode 100644 index 0000000..fbd5349 --- /dev/null +++ b/test/test_goals_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.goals_response import GoalsResponse # noqa: E501 + +class TestGoalsResponse(unittest.TestCase): + """GoalsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoalsResponse: + """Test GoalsResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoalsResponse` + """ + model = GoalsResponse() # noqa: E501 + if include_optional: + return GoalsResponse( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.0, + current_amount = 1651.27, + guid = 'GOL-524ca5db-a2d5-44f3-b048-16de16059024', + goal_type_name = 'PAYOFF', + meta_type_name = 'VACATION', + name = 'Save for Europe', + completed_at = '2015-06-19T10:37:04-06:00', + has_been_spent = False, + is_complete = False, + metadata = 'Additional information', + position = 3, + projected_to_complete_at = '2022-06-14T16:03:53-00:00', + targeted_to_complete_at = '2026-12-08 00:00:00.000000', + track_type_name = 'Track Type Name', + user_guid = 'USR-11141024-90b3-1bce-cac9-c06ced52ab4c' + ) + else: + return GoalsResponse( + ) + """ + + def testGoalsResponse(self): + """Test GoalsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_goals_response_body.py b/test/test_goals_response_body.py new file mode 100644 index 0000000..accda8d --- /dev/null +++ b/test/test_goals_response_body.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.goals_response_body import GoalsResponseBody # noqa: E501 + +class TestGoalsResponseBody(unittest.TestCase): + """GoalsResponseBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoalsResponseBody: + """Test GoalsResponseBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoalsResponseBody` + """ + model = GoalsResponseBody() # noqa: E501 + if include_optional: + return GoalsResponseBody( + goals = [ + mx_platform_python.models.goals_response.GoalsResponse( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.0, + current_amount = 1651.27, + guid = 'GOL-524ca5db-a2d5-44f3-b048-16de16059024', + goal_type_name = 'PAYOFF', + meta_type_name = 'VACATION', + name = 'Save for Europe', + completed_at = '2015-06-19T10:37:04-06:00', + has_been_spent = False, + is_complete = False, + metadata = 'Additional information', + position = 3, + projected_to_complete_at = '2022-06-14T16:03:53-00:00', + targeted_to_complete_at = '2026-12-08 00:00:00.000000', + track_type_name = 'Track Type Name', + user_guid = 'USR-11141024-90b3-1bce-cac9-c06ced52ab4c', ) + ], + pagination = mx_platform_python.models.pagination_response.PaginationResponse( + current_page = 1, + per_page = 25, + total_entries = 1, + total_pages = 1, ) + ) + else: + return GoalsResponseBody( + ) + """ + + def testGoalsResponseBody(self): + """Test GoalsResponseBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_monthly_cash_flow_profile_request.py b/test/test_monthly_cash_flow_profile_request.py new file mode 100644 index 0000000..366648b --- /dev/null +++ b/test/test_monthly_cash_flow_profile_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.monthly_cash_flow_profile_request import MonthlyCashFlowProfileRequest # noqa: E501 + +class TestMonthlyCashFlowProfileRequest(unittest.TestCase): + """MonthlyCashFlowProfileRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MonthlyCashFlowProfileRequest: + """Test MonthlyCashFlowProfileRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MonthlyCashFlowProfileRequest` + """ + model = MonthlyCashFlowProfileRequest() # noqa: E501 + if include_optional: + return MonthlyCashFlowProfileRequest( + goals_contribution = 150.01, + uses_estimated_goals_contribution = False + ) + else: + return MonthlyCashFlowProfileRequest( + ) + """ + + def testMonthlyCashFlowProfileRequest(self): + """Test MonthlyCashFlowProfileRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_monthly_cash_flow_profile_request_body.py b/test/test_monthly_cash_flow_profile_request_body.py new file mode 100644 index 0000000..927c7b3 --- /dev/null +++ b/test/test_monthly_cash_flow_profile_request_body.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.monthly_cash_flow_profile_request_body import MonthlyCashFlowProfileRequestBody # noqa: E501 + +class TestMonthlyCashFlowProfileRequestBody(unittest.TestCase): + """MonthlyCashFlowProfileRequestBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MonthlyCashFlowProfileRequestBody: + """Test MonthlyCashFlowProfileRequestBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MonthlyCashFlowProfileRequestBody` + """ + model = MonthlyCashFlowProfileRequestBody() # noqa: E501 + if include_optional: + return MonthlyCashFlowProfileRequestBody( + institution = mx_platform_python.models.monthly_cash_flow_profile_request.MonthlyCashFlowProfileRequest( + goals_contribution = 150.01, + uses_estimated_goals_contribution = False, ) + ) + else: + return MonthlyCashFlowProfileRequestBody( + ) + """ + + def testMonthlyCashFlowProfileRequestBody(self): + """Test MonthlyCashFlowProfileRequestBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_monthly_cash_flow_response.py b/test/test_monthly_cash_flow_response.py new file mode 100644 index 0000000..aeefc4a --- /dev/null +++ b/test/test_monthly_cash_flow_response.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.monthly_cash_flow_response import MonthlyCashFlowResponse # noqa: E501 + +class TestMonthlyCashFlowResponse(unittest.TestCase): + """MonthlyCashFlowResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MonthlyCashFlowResponse: + """Test MonthlyCashFlowResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MonthlyCashFlowResponse` + """ + model = MonthlyCashFlowResponse() # noqa: E501 + if include_optional: + return MonthlyCashFlowResponse( + guid = 'MCF-4e431124-4a29-abf9-f059-ab232ac14dbf', + user_guid = 'USR-6c83f63c-efcc-0189-3f14-100f0bad378a', + budgeted_income = 1200.12, + budgeted_expenses = 1000.0, + goals_contribution = 150.0, + estimated_goals_contribution = 56, + uses_estimated_goals_contribution = False + ) + else: + return MonthlyCashFlowResponse( + ) + """ + + def testMonthlyCashFlowResponse(self): + """Test MonthlyCashFlowResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_monthly_cash_flow_response_body.py b/test/test_monthly_cash_flow_response_body.py new file mode 100644 index 0000000..7fa2cae --- /dev/null +++ b/test/test_monthly_cash_flow_response_body.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.monthly_cash_flow_response_body import MonthlyCashFlowResponseBody # noqa: E501 + +class TestMonthlyCashFlowResponseBody(unittest.TestCase): + """MonthlyCashFlowResponseBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MonthlyCashFlowResponseBody: + """Test MonthlyCashFlowResponseBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MonthlyCashFlowResponseBody` + """ + model = MonthlyCashFlowResponseBody() # noqa: E501 + if include_optional: + return MonthlyCashFlowResponseBody( + monthly_cash_flow_profile = mx_platform_python.models.monthly_cash_flow_response.MonthlyCashFlowResponse( + guid = 'MCF-4e431124-4a29-abf9-f059-ab232ac14dbf', + user_guid = 'USR-6c83f63c-efcc-0189-3f14-100f0bad378a', + budgeted_income = 1200.12, + budgeted_expenses = 1000.0, + goals_contribution = 150.0, + estimated_goals_contribution = 56, + uses_estimated_goals_contribution = False, ) + ) + else: + return MonthlyCashFlowResponseBody( + ) + """ + + def testMonthlyCashFlowResponseBody(self): + """Test MonthlyCashFlowResponseBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_mx_platform_api.py b/test/test_mx_platform_api.py index 8a2ec09..8e808f7 100644 --- a/test/test_mx_platform_api.py +++ b/test/test_mx_platform_api.py @@ -740,6 +740,34 @@ def test_update_user(self) -> None: """ pass + def test_users_user_guid_monthly_cash_flow_profile_get(self) -> None: + """Test case for users_user_guid_monthly_cash_flow_profile_get + + Read monthly cash flow profile # noqa: E501 + """ + pass + + def test_users_user_guid_monthly_cash_flow_profile_put(self) -> None: + """Test case for users_user_guid_monthly_cash_flow_profile_put + + Update monthly cash flow profile # noqa: E501 + """ + pass + + def test_users_user_guid_transactions_transaction_guid_split_delete(self) -> None: + """Test case for users_user_guid_transactions_transaction_guid_split_delete + + Delete split transactions # noqa: E501 + """ + pass + + def test_users_user_guid_transactions_transaction_guid_split_post(self) -> None: + """Test case for users_user_guid_transactions_transaction_guid_split_post + + Create split transactions # noqa: E501 + """ + pass + def test_verify_member(self) -> None: """Test case for verify_member diff --git a/test/test_reposition_request.py b/test/test_reposition_request.py new file mode 100644 index 0000000..dfabf10 --- /dev/null +++ b/test/test_reposition_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.reposition_request import RepositionRequest # noqa: E501 + +class TestRepositionRequest(unittest.TestCase): + """RepositionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RepositionRequest: + """Test RepositionRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RepositionRequest` + """ + model = RepositionRequest() # noqa: E501 + if include_optional: + return RepositionRequest( + guid = 'GOL-97665947-235c-b213-ca25-8cf0174774f5', + position = 1 + ) + else: + return RepositionRequest( + guid = 'GOL-97665947-235c-b213-ca25-8cf0174774f5', + position = 1, + ) + """ + + def testRepositionRequest(self): + """Test RepositionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_reposition_request_body.py b/test/test_reposition_request_body.py new file mode 100644 index 0000000..0dfbb43 --- /dev/null +++ b/test/test_reposition_request_body.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.reposition_request_body import RepositionRequestBody # noqa: E501 + +class TestRepositionRequestBody(unittest.TestCase): + """RepositionRequestBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RepositionRequestBody: + """Test RepositionRequestBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RepositionRequestBody` + """ + model = RepositionRequestBody() # noqa: E501 + if include_optional: + return RepositionRequestBody( + goals = [ + mx_platform_python.models.reposition_request.RepositionRequest( + guid = 'GOL-97665947-235c-b213-ca25-8cf0174774f5', + position = 1, ) + ] + ) + else: + return RepositionRequestBody( + ) + """ + + def testRepositionRequestBody(self): + """Test RepositionRequestBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_reposition_response_body.py b/test/test_reposition_response_body.py new file mode 100644 index 0000000..220c20b --- /dev/null +++ b/test/test_reposition_response_body.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.reposition_response_body import RepositionResponseBody # noqa: E501 + +class TestRepositionResponseBody(unittest.TestCase): + """RepositionResponseBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RepositionResponseBody: + """Test RepositionResponseBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RepositionResponseBody` + """ + model = RepositionResponseBody() # noqa: E501 + if include_optional: + return RepositionResponseBody( + goals = [ + mx_platform_python.models.goals_response.GoalsResponse( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.0, + current_amount = 1651.27, + guid = 'GOL-524ca5db-a2d5-44f3-b048-16de16059024', + goal_type_name = 'PAYOFF', + meta_type_name = 'VACATION', + name = 'Save for Europe', + completed_at = '2015-06-19T10:37:04-06:00', + has_been_spent = False, + is_complete = False, + metadata = 'Additional information', + position = 3, + projected_to_complete_at = '2022-06-14T16:03:53-00:00', + targeted_to_complete_at = '2026-12-08 00:00:00.000000', + track_type_name = 'Track Type Name', + user_guid = 'USR-11141024-90b3-1bce-cac9-c06ced52ab4c', ) + ] + ) + else: + return RepositionResponseBody( + ) + """ + + def testRepositionResponseBody(self): + """Test RepositionResponseBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_reward_response.py b/test/test_reward_response.py index d93d2b9..7b1b4a1 100644 --- a/test/test_reward_response.py +++ b/test/test_reward_response.py @@ -45,6 +45,7 @@ def make_instance(self, include_optional) -> RewardResponse: guid = 'RWD-1234', member_guid = 'MBR-4567', unit_type = 'POINTS', + updated_at = '2023-06-01T19:18:06Z', user_guid = 'USR-1234' ) else: diff --git a/test/test_reward_response_body.py b/test/test_reward_response_body.py index c40fc39..79f7b0f 100644 --- a/test/test_reward_response_body.py +++ b/test/test_reward_response_body.py @@ -46,6 +46,7 @@ def make_instance(self, include_optional) -> RewardResponseBody: guid = 'RWD-1234', member_guid = 'MBR-4567', unit_type = 'POINTS', + updated_at = '2023-06-01T19:18:06Z', user_guid = 'USR-1234', ) ) else: diff --git a/test/test_rewards_response.py b/test/test_rewards_response.py index bd7c4fa..219f7c3 100644 --- a/test/test_rewards_response.py +++ b/test/test_rewards_response.py @@ -45,6 +45,7 @@ def make_instance(self, include_optional) -> RewardsResponse: guid = 'RWD-1234', member_guid = 'MBR-4567', unit_type = 'POINTS', + updated_at = '2023-06-01T19:18:06Z', user_guid = 'USR-1234' ) else: diff --git a/test/test_rewards_response_body.py b/test/test_rewards_response_body.py index baeef47..7f61b2c 100644 --- a/test/test_rewards_response_body.py +++ b/test/test_rewards_response_body.py @@ -47,6 +47,7 @@ def make_instance(self, include_optional) -> RewardsResponseBody: guid = 'RWD-1234', member_guid = 'MBR-4567', unit_type = 'POINTS', + updated_at = '2023-06-01T19:18:06Z', user_guid = 'USR-1234', ) ], pagination = mx_platform_python.models.pagination_response.PaginationResponse( diff --git a/test/test_split_transaction_request.py b/test/test_split_transaction_request.py new file mode 100644 index 0000000..4a6cde7 --- /dev/null +++ b/test/test_split_transaction_request.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.split_transaction_request import SplitTransactionRequest # noqa: E501 + +class TestSplitTransactionRequest(unittest.TestCase): + """SplitTransactionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SplitTransactionRequest: + """Test SplitTransactionRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SplitTransactionRequest` + """ + model = SplitTransactionRequest() # noqa: E501 + if include_optional: + return SplitTransactionRequest( + amount = 54.19, + description = 'Chevron Gas', + category_guid = 'CAT-b6d61a19-30a7-e852-2703-bdfb4072289e', + memo = 'Chips and Soda' + ) + else: + return SplitTransactionRequest( + amount = 54.19, + ) + """ + + def testSplitTransactionRequest(self): + """Test SplitTransactionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_split_transaction_request_body.py b/test/test_split_transaction_request_body.py new file mode 100644 index 0000000..4ae862c --- /dev/null +++ b/test/test_split_transaction_request_body.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.split_transaction_request_body import SplitTransactionRequestBody # noqa: E501 + +class TestSplitTransactionRequestBody(unittest.TestCase): + """SplitTransactionRequestBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SplitTransactionRequestBody: + """Test SplitTransactionRequestBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SplitTransactionRequestBody` + """ + model = SplitTransactionRequestBody() # noqa: E501 + if include_optional: + return SplitTransactionRequestBody( + transactions = mx_platform_python.models.split_transaction_request.SplitTransactionRequest( + amount = 54.19, + description = 'Chevron Gas', + category_guid = 'CAT-b6d61a19-30a7-e852-2703-bdfb4072289e', + memo = 'Chips and Soda', ) + ) + else: + return SplitTransactionRequestBody( + transactions = mx_platform_python.models.split_transaction_request.SplitTransactionRequest( + amount = 54.19, + description = 'Chevron Gas', + category_guid = 'CAT-b6d61a19-30a7-e852-2703-bdfb4072289e', + memo = 'Chips and Soda', ), + ) + """ + + def testSplitTransactionRequestBody(self): + """Test SplitTransactionRequestBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_split_transactions_response_body.py b/test/test_split_transactions_response_body.py new file mode 100644 index 0000000..a05800b --- /dev/null +++ b/test/test_split_transactions_response_body.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.split_transactions_response_body import SplitTransactionsResponseBody # noqa: E501 + +class TestSplitTransactionsResponseBody(unittest.TestCase): + """SplitTransactionsResponseBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SplitTransactionsResponseBody: + """Test SplitTransactionsResponseBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SplitTransactionsResponseBody` + """ + model = SplitTransactionsResponseBody() # noqa: E501 + if include_optional: + return SplitTransactionsResponseBody( + transactions = [ + mx_platform_python.models.transaction_response.TransactionResponse( + account_guid = 'ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1', + account_id = 'account123', + amount = 61.11, + category = 'Groceries', + category_guid = 'CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8', + check_number_string = '6812', + created_at = '2016-10-06T09:43:42.000Z', + currency_code = 'USD', + date = '2013-09-23T00:00:00.000Z', + description = 'Whole foods', + extended_transaction_type = 'partner_transaction_type', + guid = 'TRN-265abee9-889b-af6a-c69b-25157db2bdd9', + id = 'transaction-265abee9-889b-af6a-c69b-25157db2bdd9', + is_bill_pay = False, + is_direct_deposit = False, + is_expense = True, + is_fee = False, + is_income = False, + is_international = False, + is_overdraft_fee = False, + is_payroll_advance = False, + is_recurring = False, + is_subscription = False, + latitude = -43.2075, + localized_description = 'This is a localized_description', + localized_memo = 'This is a localized_memo', + longitude = 139.691706, + member_guid = 'MBR-7c6f361b-e582-15b6-60c0-358f12466b4b', + member_is_managed_by_user = False, + memo = 'This is a memo', + merchant_category_code = 5411, + merchant_guid = 'MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b', + merchant_location_guid = 'MCL-00024e59-18b5-4d79-b879-2a7896726fea', + metadata = 'some metadata', + original_description = 'WHOLEFDS TSQ 102', + posted_at = '2016-10-07T06:00:00.000Z', + status = 'POSTED', + top_level_category = 'Food & Dining', + transacted_at = '2016-10-06T13:00:00.000Z', + type = 'DEBIT', + updated_at = '2016-10-07T05:49:12.000Z', + user_guid = 'USR-fa7537f3-48aa-a683-a02a-b18940482f54', + user_id = 'user123', ) + ] + ) + else: + return SplitTransactionsResponseBody( + ) + """ + + def testSplitTransactionsResponseBody(self): + """Test SplitTransactionsResponseBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_update_goal_request.py b/test/test_update_goal_request.py new file mode 100644 index 0000000..8145158 --- /dev/null +++ b/test/test_update_goal_request.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.update_goal_request import UpdateGoalRequest # noqa: E501 + +class TestUpdateGoalRequest(unittest.TestCase): + """UpdateGoalRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateGoalRequest: + """Test UpdateGoalRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateGoalRequest` + """ + model = UpdateGoalRequest() # noqa: E501 + if include_optional: + return UpdateGoalRequest( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.5, + goal_type_name = 'PAYOFF', + meta_type_name = 'VACATION', + name = 'Save for Europe', + completed_at = '2015-06-19T10:37:04-06:00', + has_been_spent = False, + is_complete = False, + metadata = 'Additional information', + position = 3, + targeted_to_complete_at = '2026-12-08 00:00:00.000000' + ) + else: + return UpdateGoalRequest( + ) + """ + + def testUpdateGoalRequest(self): + """Test UpdateGoalRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_update_goal_request_body.py b/test/test_update_goal_request_body.py new file mode 100644 index 0000000..54f95e9 --- /dev/null +++ b/test/test_update_goal_request_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + MX Platform API + + The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions. + + The version of the OpenAPI document: 0.1.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from mx_platform_python.models.update_goal_request_body import UpdateGoalRequestBody # noqa: E501 + +class TestUpdateGoalRequestBody(unittest.TestCase): + """UpdateGoalRequestBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateGoalRequestBody: + """Test UpdateGoalRequestBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateGoalRequestBody` + """ + model = UpdateGoalRequestBody() # noqa: E501 + if include_optional: + return UpdateGoalRequestBody( + goal = mx_platform_python.models.update_goal_request.UpdateGoalRequest( + account_guid = 'ACT-4e431124-4a29-abf9-f059-ab232ac14dbf', + amount = 4500.5, + goal_type_name = 'PAYOFF', + meta_type_name = 'VACATION', + name = 'Save for Europe', + completed_at = '2015-06-19T10:37:04-06:00', + has_been_spent = False, + is_complete = False, + metadata = 'Additional information', + position = 3, + targeted_to_complete_at = '2026-12-08 00:00:00.000000', ) + ) + else: + return UpdateGoalRequestBody( + ) + """ + + def testUpdateGoalRequestBody(self): + """Test UpdateGoalRequestBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main()