diff --git a/_data/v3.yml b/_data/v3.yml index 714f655d5..240d518de 100644 --- a/_data/v3.yml +++ b/_data/v3.yml @@ -135,6 +135,8 @@ groups: title: P2P Advertiser Update - name: p2p_chat_create title: P2P Chat Create + - name: p2p_country_list + title: P2P Country List - name: p2p_order_cancel title: P2P Order Cancel - name: p2p_order_confirm diff --git a/config/v3/authorize/receive.json b/config/v3/authorize/receive.json index d9e4c97d5..cd9f2504b 100644 --- a/config/v3/authorize/receive.json +++ b/config/v3/authorize/receive.json @@ -45,6 +45,10 @@ "description": "Currency of specified account.", "type": "string" }, + "currency_type": { + "description": "Currency type for the corresponding currency.", + "type": "string" + }, "excluded_until": { "description": "Epoch of date till client has excluded him/herself from the website, only present if client is self excluded.", "type": "integer" diff --git a/config/v3/get_account_status/receive.json b/config/v3/get_account_status/receive.json index ee809e165..51b0bb05e 100644 --- a/config/v3/get_account_status/receive.json +++ b/config/v3/get_account_status/receive.json @@ -204,6 +204,101 @@ "expired", "suspected" ] + }, + "verified_jurisdiction": { + "description": "This represents the current status of authentication for each mt5 jurisdiction.", + "type": "object", + "additionalProperties": false, + "properties": { + "bvi": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "dsl": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "iom": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "labuan": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "malta": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "maltainvest": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "samoa": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "samoa-virtual": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "svg": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "vanuatu": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "virtual": { + "description": "This represents whether the client is allowed or not to create an account under this jurisdiction", + "type": "integer", + "enum": [ + 0, + 1 + ] + } + } } } }, @@ -237,6 +332,14 @@ "type": "string" } }, + "report_available": { + "description": "Indicate if the verification report was returned by the provider", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, "reported_properties": { "description": "Shows the latest document properties detected and reported by IDVS", "type": "object" @@ -518,7 +621,7 @@ ] }, "status": { - "description": "Account status. Possible status: \n- `address_verified`: client's address is verified by third party services. \n- `allow_document_upload`: client is allowed to upload documents. \n- `age_verification`: client is age-verified. \n- `authenticated`: client is fully authenticated. \n- `cashier_locked`: cashier is locked. \n- `crs_tin_information`: client has updated tax related information. \n- `deposit_locked`: deposit is not allowed. \n- `disabled`: account is disabled. \n- `document_expired`: client's submitted proof-of-identity documents have expired. \n- `document_expiring_soon`: client's submitted proof-of-identity documents are expiring within a month. \n- `dxtrade_password_not_set`: Deriv X password is not set. \n- `financial_assessment_not_complete`: client should complete their financial assessment. \n- `financial_information_not_complete`: client has not completed financial assessment. \n- `financial_risk_approval`: client has accepted financial risk disclosure. \n- `max_turnover_limit_not_set`: client has not set financial limits on their account. Applies to UK and Malta clients. \n- `mt5_password_not_set`: MT5 password is not set. \n- `mt5_withdrawal_locked`: MT5 deposits allowed, but withdrawal is not allowed. \n- `needs_affiliate_coc_approval`: user must approve the Affiliate's Code of Conduct Agreement. \n- `no_trading`: trading is disabled. \n- `no_withdrawal_or_trading`: client cannot trade or withdraw but can deposit. \n- `p2p_blocked_for_pa`: p2p is blocked for the current payment agent client. \n- `pa_withdrawal_explicitly_allowed`: withdrawal through payment agent is allowed. \n- `password_reset_required`: this client must reset their password. \n- `professional`: this client has opted for a professional account. \n- `professional_requested`: this client has requested for a professional account. \n- `professional_rejected`: this client's request for a professional account has been rejected. \n- `social_signup`: this client is using social signup. \n- `trading_experience_not_complete`: client has not completed the trading experience questionnaire. \n- `ukgc_funds_protection`: client has acknowledged UKGC funds protection notice. \n- `unwelcome`: client cannot deposit or buy contracts, but can withdraw or sell contracts. \n- `withdrawal_locked`: deposits allowed but withdrawals are not allowed. \n- `deposit_attempt`: this prevent a client from changing the account currency after deposit attempt. \n- `poi_name_mismatch`: client POI documents name mismatch. \n- `allow_poa_resubmission`: the client can resubmit POA documents. \n- `allow_poi_resubmission`: the client can resubmit POI documents. \n- `shared_payment_method`: the client has been sharing payment methods. \n- `personal_details_locked`: client is not allowed to edit personal profile details. \n- `transfers_blocked`: it block any transfer between two accounts. \n- `df_deposit_requires_poi`: the DF deposit will be blocked until the client gets age verified. \n- `authenticated_with_idv_photoid`: the client has been fully authenticated by IDV. \n- `idv_revoked`: the client used to be fully authenticated by IDV but it was taken away due to compliance criteria. \n- `mt5_additional_kyc_required`: client tax information, place of birth and account opening reason is missing. \n- `poi_expiring_soon`: the POI documents of the client will get expired soon, allow them to reupload POI documents. \n- `poa_expiring_soon`: the POA documents of the client will get outdated soon, allow them to reupload POA documents.", + "description": "Account status. Possible status: \n- `address_verified`: client's address is verified by third party services. \n- `allow_document_upload`: client is allowed to upload documents. \n- `age_verification`: client is age-verified. \n- `authenticated`: client is fully authenticated. \n- `cashier_locked`: cashier is locked. \n- `crs_tin_information`: client has updated tax related information. \n- `deposit_locked`: deposit is not allowed. \n- `disabled`: account is disabled. \n- `document_expired`: client's submitted proof-of-identity documents have expired. \n- `document_expiring_soon`: client's submitted proof-of-identity documents are expiring within a month. \n- `dxtrade_password_not_set`: Deriv X password is not set. \n- `financial_assessment_not_complete`: client should complete their financial assessment. \n- `financial_information_not_complete`: client has not completed financial assessment. \n- `financial_risk_approval`: client has accepted financial risk disclosure. \n- `max_turnover_limit_not_set`: client has not set financial limits on their account. Applies to UK and Malta clients. \n- `mt5_password_not_set`: MT5 password is not set. \n- `mt5_withdrawal_locked`: MT5 deposits allowed, but withdrawal is not allowed. \n- `needs_affiliate_coc_approval`: user must approve the Affiliate's Code of Conduct Agreement. \n- `no_trading`: trading is disabled. \n- `no_withdrawal_or_trading`: client cannot trade or withdraw but can deposit. \n- `p2p_blocked_for_pa`: p2p is blocked for the current payment agent client. \n- `pa_withdrawal_explicitly_allowed`: withdrawal through payment agent is allowed. \n- `password_reset_required`: this client must reset their password. \n- `professional`: this client has opted for a professional account. \n- `professional_requested`: this client has requested for a professional account. \n- `professional_rejected`: this client's request for a professional account has been rejected. \n- `social_signup`: this client is using social signup. \n- `trading_experience_not_complete`: client has not completed the trading experience questionnaire. \n- `ukgc_funds_protection`: client has acknowledged UKGC funds protection notice. \n- `unwelcome`: client cannot deposit or buy contracts, but can withdraw or sell contracts. \n- `withdrawal_locked`: deposits allowed but withdrawals are not allowed. \n- `deposit_attempt`: this prevent a client from changing the account currency after deposit attempt. \n- `poi_name_mismatch`: client POI documents name mismatch. \n- `allow_poa_resubmission`: the client can resubmit POA documents. \n- `allow_poi_resubmission`: the client can resubmit POI documents. \n- `shared_payment_method`: the client has been sharing payment methods. \n- `personal_details_locked`: client is not allowed to edit personal profile details. \n- `transfers_blocked`: it block any transfer between two accounts. \n- `df_deposit_requires_poi`: the DF deposit will be blocked until the client gets age verified. \n- `authenticated_with_idv_photoid`: the client has been fully authenticated by IDV. \n- `idv_revoked`: the client used to be fully authenticated by IDV but it was taken away due to compliance criteria. \n- `mt5_additional_kyc_required`: client tax information, place of birth and account opening reason is missing. \n- `poi_expiring_soon`: the POI documents of the client will get expired soon, allow them to reupload POI documents. \n- `poa_expiring_soon`: the POA documents of the client will get outdated soon, allow them to reupload POA documents. \n- `tin_manually_approved`: the client's tax_identification_number has been manually approved as client is not applicable for tax_identification_number", "type": "array", "items": { "type": "string" diff --git a/config/v3/get_settings/receive.json b/config/v3/get_settings/receive.json index d526293dc..5523ea88f 100644 --- a/config/v3/get_settings/receive.json +++ b/config/v3/get_settings/receive.json @@ -192,6 +192,28 @@ ], "sensitive": 1 }, + "phone_number_verification": { + "description": "The status of the Phone Number Verification.", + "type": "object", + "additionalProperties": false, + "required": [ + "verified" + ], + "properties": { + "next_attempt": { + "description": "(Optional) Indicates the timestamp for the next verification attempt", + "type": "integer" + }, + "verified": { + "description": "Indicates the verification status of the client's phone number.", + "type": "integer", + "enum": [ + 0, + 1 + ] + } + } + }, "place_of_birth": { "description": "Place of birth, 2-letter country code.", "type": [ diff --git a/config/v3/kyc_auth_status/receive.json b/config/v3/kyc_auth_status/receive.json index 6d29ea3d8..3621e3c45 100644 --- a/config/v3/kyc_auth_status/receive.json +++ b/config/v3/kyc_auth_status/receive.json @@ -70,6 +70,14 @@ "items": { "type": "string" } + }, + "report_available": { + "description": "Indicate if the verification report was returned by the provider (IDV only).", + "type": "integer", + "enum": [ + 0, + 1 + ] } } }, @@ -200,6 +208,14 @@ "items": { "type": "string" } + }, + "report_available": { + "description": "Indicate if the verification report was returned by the provider (IDV only).", + "type": "integer", + "enum": [ + 0, + 1 + ] } } }, diff --git a/config/v3/mt5_login_list/receive.json b/config/v3/mt5_login_list/receive.json index c6851d4d9..6adc57a12 100644 --- a/config/v3/mt5_login_list/receive.json +++ b/config/v3/mt5_login_list/receive.json @@ -203,6 +203,32 @@ "description": "Name of the owner of the MT5 account.", "type": "string" }, + "rights": { + "description": "Rights assigned to the MT5 account.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "api", + "api_deprecated", + "confirmed", + "enabled", + "exclude_reports", + "expert", + "investor", + "otp_enabled", + "password", + "push", + "readonly", + "reports", + "reset_pass", + "sponsored", + "technical", + "trade_disabled", + "trailing" + ] + } + }, "server": { "description": "Trade server name of the MT5 account.", "type": "string" @@ -328,6 +354,29 @@ "type": "boolean" } } + }, + "white_label_links": { + "description": "Links to access MT5 application for different platforms.", + "type": "object", + "additionalProperties": false, + "properties": { + "android": { + "description": "Download link for Android.", + "type": "string" + }, + "ios": { + "description": "Download link for iOS.", + "type": "string" + }, + "webtrader_url": { + "description": "MT5 webtrader url based on jurisdiction and platform", + "type": "string" + }, + "windows": { + "description": "Download link for Windows.", + "type": "string" + } + } } } } diff --git a/config/v3/new_account_maltainvest/send.json b/config/v3/new_account_maltainvest/send.json index a6efd0af1..06b1b5aa5 100644 --- a/config/v3/new_account_maltainvest/send.json +++ b/config/v3/new_account_maltainvest/send.json @@ -18,7 +18,6 @@ "last_name", "residence", "salutation", - "tax_identification_number", "tax_residence" ], "properties": { @@ -310,6 +309,13 @@ "type": "string", "pattern": "^[a-z]{2}$" }, + "resident_self_declaration": { + "description": "[Optional] Indicates client's self declaration for opening account under own initiative, must be 1", + "type": "integer", + "enum": [ + 1 + ] + }, "risk_tolerance": { "description": "Do you understand that you could potentially lose 100% of the money you use to trade?", "type": "string", diff --git a/config/v3/p2p_advert_create/receive.json b/config/v3/p2p_advert_create/receive.json index 3d3e41f48..9b7d65d97 100644 --- a/config/v3/p2p_advert_create/receive.json +++ b/config/v3/p2p_advert_create/receive.json @@ -293,15 +293,7 @@ }, "order_expiry_period": { "description": "Expiry period (seconds) for order created against this ad.", - "type": "integer", - "enum": [ - 900, - 1800, - 2700, - 3600, - 5400, - 7200 - ] + "type": "integer" }, "payment_info": { "description": "Payment instructions. Only applicable for 'sell adverts'.", diff --git a/config/v3/p2p_advert_create/send.json b/config/v3/p2p_advert_create/send.json index b156ecd8c..dc877283d 100644 --- a/config/v3/p2p_advert_create/send.json +++ b/config/v3/p2p_advert_create/send.json @@ -102,14 +102,7 @@ "order_expiry_period": { "description": "[Optional] Expiry period (seconds) for order created against this ad.", "type": "integer", - "enum": [ - 900, - 1800, - 2700, - 3600, - 5400, - 7200 - ] + "minimum": 1 }, "payment_info": { "description": "[Optional] Payment instructions.", diff --git a/config/v3/p2p_advert_info/receive.json b/config/v3/p2p_advert_info/receive.json index 3ebd7c332..ce681a6eb 100644 --- a/config/v3/p2p_advert_info/receive.json +++ b/config/v3/p2p_advert_info/receive.json @@ -318,15 +318,7 @@ }, "order_expiry_period": { "description": "Expiry period (seconds) for order created against this ad.", - "type": "integer", - "enum": [ - 900, - 1800, - 2700, - 3600, - 5400, - 7200 - ] + "type": "integer" }, "payment_info": { "description": "Payment instructions. Only applicable for 'sell adverts'.", diff --git a/config/v3/p2p_advert_list/receive.json b/config/v3/p2p_advert_list/receive.json index 056c1d724..ba881b6fa 100644 --- a/config/v3/p2p_advert_list/receive.json +++ b/config/v3/p2p_advert_list/receive.json @@ -347,15 +347,7 @@ }, "order_expiry_period": { "description": "Expiry period (seconds) for order created against this ad.", - "type": "integer", - "enum": [ - 900, - 1800, - 2700, - 3600, - 5400, - 7200 - ] + "type": "integer" }, "payment_info": { "description": "Payment instructions. Only applicable for 'sell adverts'.", diff --git a/config/v3/p2p_advert_update/receive.json b/config/v3/p2p_advert_update/receive.json index 314d9713a..b81837f43 100644 --- a/config/v3/p2p_advert_update/receive.json +++ b/config/v3/p2p_advert_update/receive.json @@ -271,15 +271,7 @@ }, "order_expiry_period": { "description": "Expiry period (seconds) for order created against this ad.", - "type": "integer", - "enum": [ - 900, - 1800, - 2700, - 3600, - 5400, - 7200 - ] + "type": "integer" }, "payment_info": { "description": "Payment instructions. Only applicable for 'sell adverts'.", diff --git a/config/v3/p2p_advert_update/send.json b/config/v3/p2p_advert_update/send.json index 4d046ffee..4b4a51333 100644 --- a/config/v3/p2p_advert_update/send.json +++ b/config/v3/p2p_advert_update/send.json @@ -116,14 +116,7 @@ "order_expiry_period": { "description": "[Optional] Expiry period (seconds) for order created against this ad.", "type": "integer", - "enum": [ - 900, - 1800, - 2700, - 3600, - 5400, - 7200 - ] + "minimum": 1 }, "payment_info": { "description": "[Optional] Payment instructions.", diff --git a/config/v3/p2p_advertiser_adverts/receive.json b/config/v3/p2p_advertiser_adverts/receive.json index 58f34c254..d3501aef6 100644 --- a/config/v3/p2p_advertiser_adverts/receive.json +++ b/config/v3/p2p_advertiser_adverts/receive.json @@ -309,15 +309,7 @@ }, "order_expiry_period": { "description": "Expiry period (seconds) for order created against this ad.", - "type": "integer", - "enum": [ - 900, - 1800, - 2700, - 3600, - 5400, - 7200 - ] + "type": "integer" }, "payment_info": { "description": "Payment instructions. Only applicable for 'sell adverts'.", diff --git a/config/v3/p2p_country_list/example.json b/config/v3/p2p_country_list/example.json new file mode 100644 index 000000000..751b46bfb --- /dev/null +++ b/config/v3/p2p_country_list/example.json @@ -0,0 +1,4 @@ +{ + "p2p_country_list": 1, + "country": "id" +} diff --git a/config/v3/p2p_country_list/receive.json b/config/v3/p2p_country_list/receive.json new file mode 100644 index 000000000..516b5fab2 --- /dev/null +++ b/config/v3/p2p_country_list/receive.json @@ -0,0 +1,155 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "P2P Country List (response)", + "description": "List all or specific country and its payment methods.", + "type": "object", + "required": [ + "echo_req", + "msg_type" + ], + "properties": { + "p2p_country_list": { + "description": "Country identified by country code", + "type": "object", + "additionalProperties": true, + "patternProperties": { + "^([a-z]{2})?$": { + "description": "Country code identifier.", + "type": "object", + "additionalProperties": false, + "required": [ + "country_name", + "cross_border_ads_enabled", + "fixed_rate_adverts", + "float_rate_adverts", + "float_rate_offset_limit", + "local_currency", + "payment_methods" + ], + "properties": { + "country_name": { + "description": "Display name of country.", + "type": "string" + }, + "cross_border_ads_enabled": { + "description": "When 1, users in this country may place orders on ads in other countries.", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "fixed_rate_adverts": { + "description": "Availability of fixed rate adverts.", + "type": "string", + "enum": [ + "disabled", + "enabled", + "list_only" + ] + }, + "float_rate_adverts": { + "description": "Availability of floating rate adverts.", + "type": "string", + "enum": [ + "disabled", + "enabled", + "list_only" + ] + }, + "float_rate_offset_limit": { + "description": "Maximum rate offset for floating rate adverts.", + "type": "number" + }, + "local_currency": { + "description": "Local currency of the country.", + "type": "string", + "pattern": "^[a-zA-Z0-9]{2,20}$", + "examples": [ + "USD" + ] + }, + "payment_methods": { + "description": "Payment method identifier.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[a-z0-9_]{1,30}$": { + "description": "Payment method identifier.", + "type": "object", + "additionalProperties": false, + "properties": { + "display_name": { + "description": "Display name of payment method.", + "type": "string" + }, + "fields": { + "description": "Payment method field definitions.", + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "patternProperties": { + "^[a-z0-9_]{1,30}$": { + "description": "Field identifier.", + "type": "object", + "additionalProperties": false, + "required": [ + "display_name", + "required", + "type" + ], + "properties": { + "display_name": { + "description": "Display name of payment method field.", + "type": "string" + }, + "required": { + "description": "Is field required or optional.", + "type": "integer" + }, + "type": { + "description": "Field type.", + "type": "string", + "enum": [ + "text", + "memo" + ] + } + } + } + } + }, + "type": { + "description": "Payment method type.", + "type": "string", + "enum": [ + "bank", + "ewallet", + "other" + ] + } + } + } + } + } + } + } + } + }, + "echo_req": { + "description": "Echo of the request made.", + "type": "object" + }, + "msg_type": { + "description": "Action name of the request made.", + "type": "string", + "enum": [ + "p2p_country_list" + ] + }, + "req_id": { + "description": "Optional field sent in request to map to response, present only when request contains `req_id`.", + "type": "integer" + } + } +} diff --git a/config/v3/p2p_country_list/send.json b/config/v3/p2p_country_list/send.json new file mode 100644 index 000000000..8ab10acb0 --- /dev/null +++ b/config/v3/p2p_country_list/send.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "P2P Country List (request)", + "description": "List all or specific country and its payment methods.", + "type": "object", + "auth_required": 1, + "auth_scopes": [ + "payments" + ], + "additionalProperties": false, + "required": [ + "p2p_country_list" + ], + "properties": { + "p2p_country_list": { + "description": "Must be 1", + "type": "integer", + "enum": [ + 1 + ] + }, + "country": { + "description": "[Optional] 2-letter country code. If not provided all countries are returned.", + "type": "string", + "pattern": "^([a-z]{2})?$" + }, + "loginid": { + "description": "[Optional] The login id of the user. If left unspecified, it defaults to the initial authorized token's login id.", + "type": "string", + "pattern": "^[A-Za-z]+[0-9]+$" + }, + "passthrough": { + "description": "[Optional] Used to pass data through the websocket, which may be retrieved via the `echo_req` output field.", + "type": "object" + }, + "req_id": { + "description": "[Optional] Used to map request to response.", + "type": "integer" + } + } +} diff --git a/config/v3/p2p_settings/receive.json b/config/v3/p2p_settings/receive.json index 5ee3dfe87..2bc771f56 100644 --- a/config/v3/p2p_settings/receive.json +++ b/config/v3/p2p_settings/receive.json @@ -30,6 +30,7 @@ "maximum_advert_amount", "maximum_order_amount", "order_daily_limit", + "order_expiry_options", "order_payment_period", "payment_methods_enabled", "review_period", @@ -209,6 +210,14 @@ "description": "Maximum number of orders a user may create per day.", "type": "integer" }, + "order_expiry_options": { + "description": "List of order expiry values available for adverts, in seconds.", + "type": "array", + "items": { + "type": "integer" + }, + "uniqueItems": true + }, "order_payment_period": { "description": "Time allowed for order payment, in minutes after order creation.", "type": "integer" diff --git a/config/v3/proposal/receive.json b/config/v3/proposal/receive.json index f1688f4ca..58feef578 100644 --- a/config/v3/proposal/receive.json +++ b/config/v3/proposal/receive.json @@ -288,10 +288,6 @@ "description": "[Only for lookback trades] Multiplier applies when calculating the final payoff for each type of lookback. e.g. (Exit spot - Lowest historical price) * multiplier = Payout", "type": "number" }, - "number_of_contracts": { - "description": "[Only for vanilla or turbos options] The implied number of contracts", - "type": "number" - }, "payout": { "description": "The payout amount of the contract.", "type": "number", diff --git a/config/v3/proposal_open_contract/receive.json b/config/v3/proposal_open_contract/receive.json index 124b67e2b..191966c3f 100644 --- a/config/v3/proposal_open_contract/receive.json +++ b/config/v3/proposal_open_contract/receive.json @@ -560,10 +560,6 @@ "description": "[Only for lookback trades] Multiplier applies when calculating the final payoff for each type of lookback. e.g. (Exit spot - Lowest historical price) * multiplier = Payout", "type": "number" }, - "number_of_contracts": { - "description": "[Only for vanilla or turbos options] The implied number of contracts", - "type": "number" - }, "payout": { "description": "Payout value of the contract.", "type": "number", diff --git a/config/v3/residence_list/receive.json b/config/v3/residence_list/receive.json index edc75cca8..508d5e1c7 100644 --- a/config/v3/residence_list/receive.json +++ b/config/v3/residence_list/receive.json @@ -16,6 +16,14 @@ "type": "object", "additionalProperties": false, "properties": { + "account_opening_self_declaration_required": { + "description": "Flag which indicates whether self declaration is required for account opening", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, "disabled": { "description": "Disabled.", "type": "string" diff --git a/config/v3/trading_platform_investor_password_reset/send.json b/config/v3/trading_platform_investor_password_reset/send.json index b3c1831af..4b146377c 100644 --- a/config/v3/trading_platform_investor_password_reset/send.json +++ b/config/v3/trading_platform_investor_password_reset/send.json @@ -28,9 +28,9 @@ "type": "string" }, "new_password": { - "description": "New password of the account. For validation (Accepts any printable ASCII character. Must be within 8-25 characters, and include numbers, lowercase and uppercase letters. Must not be the same as the user's email address).", + "description": "New password of the account. For validation (Accepts any printable ASCII character. Must be within 8-16 characters, include numbers, lowercase, uppercase letters and special characters. Must not be the same as the user's email address).", "type": "string", - "pattern": "^(?=.*[a-z])(?=.*[0-9])(?=.*[A-Z])[ -~]{8,25}$", + "pattern": "^(?=.*[a-z])(?=.*[0-9])(?=.*[A-Z])(?=.*[!@#$%^&*()+\\-=\\[\\]{};':\"|,\\.<>\\?_~])[ -~]{8,16}$", "sensitive": 1 }, "platform": { diff --git a/config/v3/trading_platform_password_reset/send.json b/config/v3/trading_platform_password_reset/send.json index d97f09ce9..89da91724 100644 --- a/config/v3/trading_platform_password_reset/send.json +++ b/config/v3/trading_platform_password_reset/send.json @@ -1,5 +1,5 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "https://json-schema.org/draft/2019-09/schema", "title": "Trading Platform: Password Reset (request)", "description": "Reset the password of a Trading Platform Account", "type": "object", @@ -23,9 +23,8 @@ ] }, "new_password": { - "description": "New password of the account. For validation (Accepts any printable ASCII character. Must be within 8-25 characters, and include numbers, lowercase and uppercase letters. Must not be the same as the user's email address).", + "description": "New password of the account. For validation (Accepts any printable ASCII character. DerivX: Must be within 8-25 characters, include numbers, lowercase, uppercase letters. Must not be the same as the user's email address). Accepts any printable ASCII character. MT5: Must be within 8-16 characters, include numbers, lowercase, uppercase letters and special characters. Must not be the same as the user's email address.", "type": "string", - "pattern": "^(?=.*[a-z])(?=.*[0-9])(?=.*[A-Z])[ -~]{8,25}$", "sensitive": 1 }, "platform": { @@ -54,5 +53,26 @@ "description": "[Optional] Used to map request to response.", "type": "integer" } + }, + "if": { + "properties": { + "platform": { + "const": "mt5" + } + } + }, + "then": { + "properties": { + "new_password": { + "pattern": "^(?=.*[a-z])(?=.*[0-9])(?=.*[A-Z])(?=.*[!@#$%^&*()+\\-=\\[\\]{};':\"|,\\.<>\\?_~])[ -~]{8,16}$" + } + } + }, + "else": { + "properties": { + "new_password": { + "pattern": "^(?=.*[a-z])(?=.*[0-9])(?=.*[A-Z])[ -~]{8,25}$" + } + } } } diff --git a/config/v3/trading_times/receive.json b/config/v3/trading_times/receive.json index d381fb02d..033c61592 100644 --- a/config/v3/trading_times/receive.json +++ b/config/v3/trading_times/receive.json @@ -38,7 +38,8 @@ "type": "object", "additionalProperties": false, "required": [ - "name" + "name", + "symbols" ], "properties": { "name": { diff --git a/config/v3/transfer_between_accounts/receive.json b/config/v3/transfer_between_accounts/receive.json index 3cf8b1dec..ae881e2bb 100644 --- a/config/v3/transfer_between_accounts/receive.json +++ b/config/v3/transfer_between_accounts/receive.json @@ -76,6 +76,10 @@ "real\\svg_ez_usd" ] }, + "landing_company_short": { + "description": "Landing company shortcode of the Trading account.", + "type": "string" + }, "loginid": { "description": "Account identifier used for system transfers.", "type": "string", @@ -109,6 +113,16 @@ "poa_failed" ] }, + "sub_account_type": { + "description": "Sub account type", + "type": "string", + "enum": [ + "financial", + "financial_stp", + "standard", + "swap_free" + ] + }, "transfers": { "description": "Type of transfers allowed between the account and the currently authorized account.", "type": "string",