Used to instruct the modification of a previously registered account.
The message allows specific account fields to be changed, including status, notes, operational indicators, and enabled markets.
Within Modifications, there are specific actions:
SetXyz: if non-null, changes the field value.UnsetXyz: for optional data only. If true, removes the value.AddManyXyz: adds elements to the collection. null is treated as empty (does nothing).RemoveManyXyz: removes elements from the collection. null is treated as empty (does nothing).Example of a successful flow:
R1: At least one effective modification MUST be provided.
R2: The same market MUST NOT be provided simultaneously in AddManyAllowedMarkets and RemoveManyAllowedMarkets.
R3: May only be changed if IsTradingOnBehalf = true; if set to false, OpenTradingOnBehalfParticipantCode is cleared.
R4: May only be changed if IsOpenTradingOnBehalf = true or SetIsOpenTradingOnBehalf = true.
| Index | Field | Type | Required | Description | Rules |
|---|---|---|---|---|---|
| 1 | ParticipantRequestInfo | object | YES | Request information | |
| 1.1 | RequestId | string | YES | Unique request identifier assigned by the participant | |
| 1.2 | RequesterParticipantCode | string | YES | Requesting participant code | |
| 1.3 | OriginalMessageTypeCode | string | NO | Original message type in the base-m-cad-???-##-### pattern |
|
| 2 | AccountIdentification | object | YES | Identification of the account to be modified | |
| 2.1 | ParticipantCode | string | YES | Code of the participant that owns the account | |
| 2.2 | AccountCode | string | YES | Account code | |
| 3 | Modifications | object | YES | Modifications to be applied to the account | R1 |
| 3.1 | SetStatus | integer | NO | Change the account status Possible values: RegistrationStatusCode |
|
| 3.2 | SetIsCollateralizedByParticipant | bool | NO | New indicator of whether the account is collateralized by the participant | |
| 3.3 | SetIsEligibleForEarlySettlement | bool | NO | New early settlement eligibility indicator | |
| 3.4 | SetIsOpenTradingOnBehalf | bool | NO | New indicator of whether the account uses an open trading-on-behalf arrangement | R3 |
| 3.5 | SetOpenTradingOnBehalfParticipantCode | string | NO | New open trading-on-behalf participant code | R4 |
| 3.6 | AddManyAllowedMarkets | array | NO | Markets to be added to the list of enabled markets | R2 |
| 3.6.1 | Market | integer | YES | Market Possible values: MarketCode |
|
| 3.7 | RemoveManyAllowedMarkets | array | NO | Markets to be removed from the list of enabled markets | R2 |
| 3.7.1 | Market | integer | YES | Market Possible values: MarketCode |
{
"ParticipantRequestInfo": {
"RequestId": "E22FCABBA8FB41A096F9AF4088FD9B4C",
"RequesterParticipantCode": "33"
},
"AccountIdentification": {
"ParticipantCode": "33",
"AccountCode": "1001"
},
"Modifications": {
"RemoveManyAllowedMarkets": [
{
"Market": 101
}
]
}
}