The following tests are undertaken after the client application has logged on with access to view/modify the data mentioned in the tests. CAST API access must be enabled.
Account Info Request by Account ID
1. Send trade_routing_request with account_scope_request with account_info_request for valid account_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_info_result with correct account.
Account Info Request by Brokerage Account Number
1. Send trade_routing_request with account_scope_request with account_info_request for valid brokerage_account_number and unspecified account_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_info_result with correct account.
Balance Records Request by Account ID and Currency
1. Send trade_routing_request with account_scope_request with balance_records_request for valid account_id and currency (optional).
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with balance_records_result filtered by currency.
Balance Records Request by Balance ID
1. Send trade_routing_request with account_scope_request with balance_records_request for valid balance_id and unspecified account_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with balance_records_result.
Create Balance Record
Important to check!
1. Send trade_routing_request with account_scope_request with create_balance_record using valid account_id, currency, end_cash_balance. Currency code is ISO 4217 based.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result and create_balance_record_result with just created balance_record_id.
3. Send trade_routing_request with account_scope_request with balance_records_request for balance_record_id received in step 2.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with correct balance_records_result that contains balance_record just created.
Update Balance Record
Important to check!
1. Send trade_routing_request with account_scope_request with update_balance_record for valid balance_ id, end_cash_balance, and collateral.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with balance_records_request for balance_id used in step 1.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with correct balance_records_result that contains balance_record just updated.
Account Risk Parameters Request
1. Send trade_routing_request with account_scope_request with account_risk_parameters_request for valid account ID.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_risk_parameters_result with expected list of risk parameters.
Account Search Request Limited by Top Value
1. Send trade_routing_request with account_scope_request with account_search_request with one SearchOption in search_options where provide account name(that has at least three matching records) as text. Specify top parameter = 2.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result and correct account_search_result with two account_record and is_complete = false.
Account Search Request by Account ID
1. Send trade_routing_request with account_scope_request with account_search_request with one SearchOption in search_options where provide valid account ID as text and criteria = 1 [ACCOUNT_ID].
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result and correct account_search_result with exactly one account_record.
Update Account Request
Important to check!
1. Send trade_routing_request with account_scope_request with update_account for valid account id, provide some parameters for update. Values for account type can be obtained with LookupPropertyListRequest.
2. Receive trade_routing_result with operation_status=1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_info_request for the same account_id to check that data correctly updated.
Account Route List Request By Accountid
1. Send trade_routing_request with account_scope_request with account_route list_request for valid account ID.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_route_list_result with expected list of routes.
Account User Authorization List Request Limited by Top Value
1. Send trade_routing_request with account_scope_request with account_user_authorization_list_request for valid account ID that has at least three account user links. Specify top parameter = 2.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_user_authorization_list_result with two account link records and is_complete = false.
Account User Authorization List Request by Account ID And User ID
1. Send trade_routing_request with account_scope_request with account_user_authorization_list_request for valid account ID and user ID that has one account user link.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_user_authorization_list_result with exactly one account link record.
Account Settings Request
1. Send trade_routing_request with account_scope_request with account_settings_request for valid account ID.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_settings_result with account_settings list .
Account Available Exchange Groups Request
1. Send trade_routing_request with account_scope_request with account_available_exchange_groups_request for valid account ID.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_exchange_groups_result with expected list of exchanges.
Account Market Limits Request
1. Send trade_routing_request with account_scope_request with account_market_limits_request for valid account ID.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_market_limits_result with expected list of market limits.
Account Positions Request
1. Send trade_routing_request with account_scope_request with account_positions_request for valid account ID.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_positions_result with expected account positions.
Account Equity Request by Account ID and Currency
1. Send trade_routing_request with account_scope_request with account_equity_request for valid account ID and currency (optional).
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_equity_result with expected account equity in provided currency.
Account Collateral Request
1. Send trade_routing_request with account_scope_request with account_collateral_request for valid account ID.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_collateral_result with expected data.
Clone Account Request
Important to check!
1. Send trade_routing_request with account_scope_request with clone_account request with valid source_account_id. Provide new_account_name and new_account_brokerage_number.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with new_account_id for account just created.
3. Send trade_routing_request with account_scope_request with account_info_request with just created account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with account_info_result with cloned account.
Clone Account Request with User ID
Important to check!
1. Send trade_routing_request with account_scope_request with clone_account request with valid source_account_id. Provide new_account_name, new_account_brokerage_number, and valid new_account_user_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with new_account_id for account just created.
3. Send trade_routing_request with account_scope_request with account_info_request with just created account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and correct account_scope_result with account_info_result. Created account belongs to the customer of provided user (new_account_user_id).
5. Check authorization for account just created for provided user: send trade_routing_request with account_scope_request with account_user_authorization list_request for account just created and user_id = new_account_user_id.
6. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_user_authorization_list_result with exactly one account_user_link record.
Update Account Settings
Important to check!
1. Send trade_routing_request with account_scope_request with update_account_settings with settings: valid account_id and provide some parameters for update.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_settings_request and provide account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with account_settings_result with updated account_settings.
Account Group Request by account_id
1. Send trade_routing_request with account_scope_request with account_group_request with valid account_id that has account group.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result and account_group_result with account_group.
Account Group Request by account_group_id
1. Send trade_routing_request with account_scope_request with account_group_request with valid account_group_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_group_result with account_group.
Update Account Risk Parameters
Important to check!
1. Send trade_routing_request with account_scope_request with update_account_risk_parameters with risk_parameters. Provide valid account_id and parameters to update.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_risk_parameters_request with account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_risk_parameters_result with updated account_risk_parameters.
Route List Request
1. Send trade_routing_request with account_scope_request with route_list_request with valid account_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with route_list_result with list of routes that available for the account.
Update Account Route List - add new routes to account
Important to check!
1. Send trade_routing_request with account_scope_request with account_route list_request and provide valid account_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_route_list_result with list of enabled routes for account.
3. Send trade_routing_request with account_scope_request with route_list_request and provide valid account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) with route_list_result with list of routes that available for the account.
5. Send trade_routing_request with account_scope_request with update_account_route_list with valid account_id and routes_to_set. Provide route_code and priority. Make sure route with such priority doesn’t exist for that account, for this check route and its priority in result of account_route_list_request in step 1.
6. Receive trade_routing_result with operation_status = 1 (SUCCESS).
7. Send trade_routing_request with account_scope_request with account_route list_request and provide account_id.
8. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_route_list_result with updated account_route_record.
Update Account Route List – remove routes from account
Important to check!
1. Send trade_routing_request with account_scope_request with update_account_route_list with valid account_id and route_codes_to_remove.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_route list_request and provide account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_route_list_result and check routes were removed.
Update Account Market Limits
Important to check!
1. Send trade_routing_request with account_scope_request with update_account_market_limits and provide valid account_id and market_limits parameters for update.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_market_limits_request and provide account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_market_limits_result with updated account_market_limits.
Create Account
Important to check!
1. Send trade_routing_request with account_scope_request with create_account with account and provide name, brokerage_account_number, class, account_type_id, customer_id, sales_series_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) and create_account_result with created account id.
3. Send trade_routing_request with account_scope_request with account_info_request and provide just created account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with account_info_result and just created account.
Restore Account
Important to check!
1. Send trade_routing_request with account_scope_request with restore_account and provide valid account_id that is removed.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_info_request and provide account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with account_info_result with restored account.
Remove Account
Important to check!
1. Send trade_routing_request with account_scope_request with remove_account and provide valid account_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_info_request and provide account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) with account_scope_result with account_info_result with removed account.
Account Type Override List Request
1. Send trade_routing_request with account_scope_request with account_type_override_list_request and provide valid account_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_type_override_list_result with list of overrides.
Update Account Type Override List
Important to check!
1. Send trade_routing_request with account_scope_request with update_account_type_override_list. Provide valid account_id and overrides_to_set with exchange_key, type_id, origin_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_type_override_list_request and provide valid account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_type_override_list_result with expected list of overrides.
Update Account User Authorization List
Important to check!
1. Send trade_routing_request with account_scope_request with update_account_user_authorization_list and provide links_to_set: account_id, user_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_user_authorization_list_request and provide account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with account_user_authorization_list_result with expected list of account_user_link.
Account Available Service Group List Request
1. Send trade_routing_request with account_scope_request with account_available_service_group_list_request and provide valid account_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_available_service_group_list_result with list of expected ServiceGroup.
Account Service Group List Request
1. Send trade_routing_request with account_scope_request with account_service_group_list_request and provide valid account_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_available_service_group_list_result with list of expected ServiceGroup.
Update Account Service Group List – add service groups
Important to check!
1. Send trade_routing_request with account_scope_request with update_account_service_group_list and provide account_id and service_group_ids_to_set.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_service_group_list_request and provide valid account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_available_service_group_list_result with list of expected ServiceGroup.
Update Account Service Group List – remove service groups
Important to check!
1. Send trade_routing_request with account_scope_request with update_account_service_group_list and provide account_id and service_group_ids_to_remove.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_service_group_list_request and provide valid account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_available_service_group_list_result with list of expected ServiceGroup.
Billable Exchange List Request
1. Send trade_routing_request with account_scope_request with billable_exchange_list_request.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS) and billable_exchange_list_result with list of BillableExchange.
Create Account Group
Important to check!
1. Send trade_routing_request with account_scope_request with create_account_group and provide new_account_group with master_account_id and relation_type.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_group_request and provide account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with account_group_result with acount_group.
Update Account Group
Important to check!
1. Send trade_routing_request with account_scope_request with update_account_group and provide account_group and sub_accounts_to_set.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).
3. Send trade_routing_request with account_scope_request with account_group_request and provide account_id.
4. Receive trade_routing_result with operation_status = 1 (SUCCESS) and account_scope_result with account_group_result with acount_group.
Remove Account Group
Important to check!
1. Send trade_routing_request with account_scope_request with remove_account_group and provide account_group_id.
2. Receive trade_routing_result with operation_status = 1 (SUCCESS).