Skip to content

OMS2.proto (Paritech.OMS2.Protocol)

Identifies an Account

NoFieldTypeLabelDescription
3AccountIDstringThe owner-specific identifier of the account
39OwnerIDstringThe Owner ID who allocated the Account ID. Can be empty

Describes the details of an Account

NoFieldTypeLabelDescription
1AccountAccountThe Account the details are for
10NamestringThe full name of the Account
11ClassificationstringA classification for this Account
19DefaultCurrencystringoptionalThe optional currency for the Account
20AttributesMap<string,string>Any extended attributes for the Account
21CategoriesstringrepeatedAny categories for the Account

Describes a transform that applies to an Account

NoFieldTypeLabelDescription
1TypeAccountTransformTypeThe type of transform to perform
2TransformIDstringA unique identifier of this Transformation. If omitted, will be populated by OMS
3AccountAccountThe Account the transform is targeting
15ParametersMap<string,string>Any parameters that relate to this transformation
25TextstringThe reason for the transformation

Describes a position in an Asset (holding)

NoFieldTypeLabelDescription
1AccountAccountIdentifies the owning Account
2CodestringIdentifies the symbol held
3ExchangestringIdentifies the issuing exchange of the symbol
10QuantityBigNumberThe quantity of units held
11UnfilledSellsBigNumberThe quantity of unfilled sell orders
20AveragePriceBigNumberThe average price of the asset, if known
21CurrencystringThe currency the average price is represented in
30ValuesBigNumberAny special holdings figures

Describes a transfer of an asset

NoFieldTypeLabelDescription
1OrderIDstringoptionalThe unique identifier of the Order that originated this transfer, if any
10CodestringThe code of the target symbol
11ExchangestringThe exchange listing the target symbol
19ValueBigNumberThe value to transfer. Positive or negative
26ExDestinationstringThe execution destination where the transfer occurred, if any. Should be a MIC (ISO10383)

Describes a position in a Currency (balance)

NoFieldTypeLabelDescription
1AccountAccountIdentifies the owning Account
2CurrencystringIdentifies the currency held
10BalanceBigNumberThe booked (settled) balance
11UnbookedTransactionsBigNumberThe total of unbooked (unsettled) adjustments
12UnfilledBuysBigNumberThe total of unfilled buy orders
5MarginBigNumberAny additional money available for trading
30ValuesBigNumberAny special balance figures

Describes a transfer of cash

NoFieldTypeLabelDescription
10CurrencystringThe currency being transferred
11PoolstringoptionalThe pool of funds being transacted. If omitted, transfer affects Balance/Unbooked
12ExternalAccountstringoptionalThe named external account being transferred between. Validating this is outside the scope of OMS
14AdditionalFundsBigNumberAny additional funds spent on this transfer (fees, taxes, etc). Negative values represent refunds
19ValueBigNumberThe value to transfer. Positive or negative. Does not include additional funds
20SettlementSettlementStatusThe settlement status of the transfer

Describes the authority for a client operation

NoFieldTypeLabelDescription
1TypeIdentityTypeThe type of identity
10IdentitystringA code identifying the entity (eg: joe.blogs)
11SourcestringA code identifying the entity source (eg: Passport)
12PathstringrepeatedThe path the request has taken
31PropertiesMap<string,string>Any special properties related to this authority

Describes a client-initiated cash transfer

NoFieldTypeLabelDescription
10CurrencystringThe currency being transferred
12ExternalAccountstringoptionalThe named external account to transfer between. Validating this is outside the scope of OMS
19ValueBigNumberThe value to transfer. Positive or negative
26ExDestinationstringThe execution destination
30FeeCodesMap<string,string>A set of fee codes to apply to this Transfer

Describes the queue a request will be routed to instead of the destination

NoFieldTypeLabelDescription
1QueueIDstringoptionalThe name of the target queue. If omitted, represents no queue
10ExpireAfterTimestampWithTimeZoneThe time after which the request should be expired
20ReasonstringA custom reason to assign to the operation

Describes an operation to manipulate a queued request

NoFieldTypeLabelDescription
1TypeClientQueueUpdateTypeThe type of queue operation to perform
10UpdateClientRequestUpdateThe update to apply to the queued request

Describes a account operation being requested

NoFieldTypeLabelDescription
1TypeClientRequestTypeThe type of account operation being requested
2RequestIDstringA unique identifier of this Request
3AccountAccountThe account the request belongs to
5IsValidateboolWhether this request should be validated and not executed
7TimestampTimestampWithTimeZoneThe time the request was submitted
8QueueClientQueueThe target queue this request should be placed on (if any)
9AuthoritiesClientAuthorityThe authorities related to the request
10NewOrderNewThe details of the New request
11AmendOrderAmendThe details of the Amend request
12CancelOrderCancelThe details of the Cancel request
13MoveOrderMoveThe details of the Move request
20CashTransferClientCashTransferThe details of the transfer
30ValuesBigNumberAny special values related to this request
31PropertiesMap<string,string>Any special properties related to this request
32IDsIDrepeatedAny special IDs related to this request
100UpdateClientQueueUpdateThe request update to apply

Describes the response to a client request

NoFieldTypeLabelDescription
1TypeClientRequestTypeThe type of account operation that was requested
2RequestIDstringA unique identifier of the created Client Request going forward (if successful)
3AccountAccountThe account the request belongs to
8OrderIDstringA unique identifier of the associated Order (if any)
10StatusstringThe current status of the Request
11ErrorsstringrepeatedAny error(s) that occurred during processing
19ParametersMap<string,string>Any parameters associated with the response
30ValuesBigNumberAny special values related to this response

Describes the complete state of a request

NoFieldTypeLabelDescription
1RequestClientRequestThe request details as provided by the client
2ExternalIDstringAn identifier assigned by the exchange. For reference and diagnostic purposes
3OrderIDstringThe identifier of the Order associated with this Request
7TimestampTimestampWithTimeZoneThe time the request was last updated
10StatusstringThe current status of the Request
11ErrorsstringrepeatedAny outstanding errors against the Request
12TextstringAny custom text against the Request
14RoutestringThe route this client request was submitted to (if any)
20IsCompletedboolWhether the request is considered complete

Describes an update to an existing Client Request

NoFieldTypeLabelDescription
1RequestIDstringA unique identifier of this Request
2AccountAccountThe account the request belongs to
3OrderIDstringoptionalThe identifier of the Order that was associated with this Request
4ExternalIDstringoptionalAn identifier assigned by the exchange. For reference and diagnostic purposes
9AuthoritiesClientAuthorityAny new authorities related to the request
10StatusstringoptionalThe current status of the Request
11ErrorsstringrepeatedAny outstanding errors against the Request
12TextstringoptionalAny custom text against the Request
13TargetClientQueueoptionalThe target queue this request should be placed on (if any)
14RoutestringoptionalThe route this client request was submitted to (if any)
20IsCompletedboolWhether the request is considered complete

Describes a routing destination for an Exchange

NoFieldTypeLabelDescription
1ExDestinationstringThe execution destination code. This should be populated with a MIC (ISO10383) for the target market
10RoutestringThe OMS route to send related requests to. If empty, uses the Exchange as the route
19MetadataMap<string,string>Any metadata associated with the destination. Not used by OMS
20IsLitboolWhether this destination directly corresponds to a lit market
21LitSourcestringA lit market source for prices, if available

Describes the details for an Exchange

NoFieldTypeLabelDescription
5ExchangestringThe exchange code these details apply to
12DestinationsExchangeDestinationrepeatedThe list of valid destinations
19MetadataMap<string,string>Any metadata associated with the Exchange. Not used by OMS
20OrderStatusesOrderStatusDetailsrepeatedThis list of possible order statuses

Describes the status of a system feed

NoFieldTypeLabelDescription
1FeedIDstringThe named feed this status belongs to
2StatusConnectionStatusThe status of the system feed
3TimestampTimestampWithTimeZoneThe time this status was last updated
4ExpireAfterTimestampWithTimeZoneThe time at which this status should expire and default to Disconnected. Null for indefinite

An ID with one or more values

NoFieldTypeLabelDescription
1NamestringThe identifier name
2ValuesMap<string,string>The values associated with this identifier

Describes an issuer of identities

NoFieldTypeLabelDescription
1CodestringThe identifying code of this Identity Source
10NamestringThe friendly name of the source
19MetadataMap<string,string>Any metadata associated with the Identity Source. Not used by OMS. Not searchable
20AuthenticationIdentityAuthenticationIdentity Source authentication method
21ParametersMap<string,string>Parameters for the authentication method

Describes an operation to amend an on-market Order

NoFieldTypeLabelDescription
1OrderIDstringThe unique identifier of the target Order
2PrevRequestIDstringThe previous request ID that changed the target Order
10CodestringThe code of the target symbol
11ExchangestringThe exchange listing the target symbol
19CfiCodestringThe CFI code for the target symbol
20SideSideThe side the Order exists on
21OrderTypeOrderTypeThe type of the Order
22PriceBigNumberThe price of the Order
23QuantityBigNumberThe total quantity of the Order
24LifetimeLifetimeThe lifetime of the Order
25ExpiryDateTimestampWithTimeZoneThe expiry date of the Order, if any
26ExDestinationstringThe execution destination, should be a MIC (ISO10383)
30FeeCodesMap<string,string>A set of fee codes to apply to this Order

Describes an operation to cancel an on-market Order

NoFieldTypeLabelDescription
1OrderIDstringThe unique identifier of the target Order
2PrevRequestIDstringThe previous request ID that changed the target Order
10CodestringThe code of the target symbol
11ExchangestringThe exchange listing the target symbol
19CfiCodestringThe CFI code for the target symbol
20SideSideThe side the Order exists on
23QuantityBigNumberThe expected quantity when cancelling
26ExDestinationstringThe execution destination, should be a MIC (ISO10383)

Describes an operation to move an on-market Order

NoFieldTypeLabelDescription
1OrderIDstringThe unique identifier of the target Order
2PrevRequestIDstringThe previous request ID that changed the target Order
3PrevAccountAccountThe previous Account is required to perform Order ID remapping
10CodestringThe code of the target symbol
11ExchangestringThe exchange listing the target symbol
19CfiCodestringThe CFI code for the target symbol
20SideSideThe side the Order exists on
26ExDestinationstringThe execution destination, should be a MIC (ISO10383)

Describes an operation to place an Order

NoFieldTypeLabelDescription
10CodestringThe code of the target symbol
11ExchangestringThe exchange listing the target symbol
19CfiCodestringThe CFI code for the target symbol
20SideSideThe side the Order exists on
21OrderTypeOrderTypeThe type of the Order
22PriceBigNumberThe price of the Order, if any
23QuantityBigNumberThe total quantity of the Order
24LifetimeLifetimeThe lifetime of the Order
25ExpiryDateTimestampWithTimeZoneThe expiry date of the Order, if any
26ExDestinationstringThe execution destination, should be a MIC (ISO10383)
30FeeCodesMap<string,string>A set of fee codes to apply to this Order

Describes the state of an Order

NoFieldTypeLabelDescription
1OrderIDstringThe unique identifier of the Order. Cannot change for the lifetime of the Order
2AccountAccountThe account the Order belongs to
8ExternalIDstringAn identifier assigned by the exchange. For reference and diagnostic purposes
9RequestIDstringA unique identifier for the latest Request applied to this Order
10CodestringThe code of the target symbol
11ExchangestringThe exchange listing the target symbol
12CurrencystringThe currency this Order and any executions are quoted in
13GroupstringAn grouping for performing bulk order operations (eg: transforms)
19CfiCodestringThe CFI code for the target symbol
20SideSideThe side the Order exists on
21OrderTypeOrderTypeThe type of the Order
22PriceBigNumberThe price of the Order, if any
23QuantityBigNumberThe total quantity of the Order
24LifetimeLifetimeThe lifetime of the Order
25ExpiryDateTimestampWithTimeZoneThe date (and time) this Order will automatically expire
26ExDestinationstringThe execution destination, should be a MIC (ISO10383)
29AdditionalFundsBigNumberAny additional funds reserved for this order (brokerage, taxes, etc)
30ValuesBigNumberAny special values related to this Order
31PropertiesMap<string,string>Any special properties related to this Order
32IDsIDrepeatedAny special IDs related to this Order
39FeeCodesMap<string,string>The set of fee codes that apply to this Order
40CreatedTimestampWithTimeZoneThe timestamp when the original Order was created. Will be auto-filled by OMS-2 if not populated
41TimestampTimestampWithTimeZoneThe timestamp of the update
42ExecutedValueBigNumberThe total executed dollar value for this Order
43ExecutedQuantityBigNumberThe total executed quantity for this Order
44ExecutedAdditionalFundsBigNumberAny additional funds used on this Order (brokerage, taxes, etc). Negative values represent refunds. Must be adjusted based on the Order Side to calculate the final value transacted
47IsCompletedboolIf the Order is completed. If false, counts towards cash/holdings reservations
48ErrorsstringrepeatedAny error code(s) associated with the Order (describing the reason for rejection/cancellation/etc)
49StatusstringThe Exchange Order Status code for the Order
50RemoveAfterTimestampWithTimeZoneThe time after which the order should be removed from the order book. Zero for immediate removal, omitted to not remove

Describes the metadata for an Order Status

NoFieldTypeLabelDescription
1CodestringThe Order Status value seen in Update
10NamestringAn optional name that better represents the public status
20IsNormalboolWhether this is a normal status or abnormal
21IsManualboolWhether this is a manually initiated status (eg: occurs in response to a user operation)
22IsTransitionboolWhether this is an transitional/waiting status (eg: will transition to another status automatically)
23IsCompletedboolWhether this is a completed status (no other status changes are expected)
30CanAmendboolWhether the Order can be amended in this status
31CanCancelboolWhether the Order can be cancelled in this status
32CanMoveboolWhether the Order can be moved in this status
39CanTradeboolWhether the Order can trade in this status

Describes an Order Trade

NoFieldTypeLabelDescription
1TradeIDstringThe unique identifier of the Trade
10TypeOrderTradeTypeThe type of trade
11PriceBigNumberThe execution price. Always positive, must be adjusted based on the Order Side to calculate the final value transacted
12QuantityBigNumberThe execution quantity
13ExDestinationstringThe execution destination, should be a MIC (ISO10383)
14AdditionalFundsBigNumberAny additional funds spent in this trade (brokerage, taxes, etc). Negative values represent refunds. Must be adjusted based on the Order Side to calculate the final value transacted

Describes an Update to an Order

NoFieldTypeLabelDescription
1UpdateIDstringUnique identifier of this Order
9PreviousAccountAccountThe previous account this Order belonged to, if being moved
10TypeOrderUpdateTypeThe trigger for this Update
11ReasonOrderUpdateReasonThe detailed reason for this Update
30ValuesBigNumberAny special values related to this Update
31PropertiesMap<string,string>Any special properties related to this Update
32IDsIDrepeatedAny special IDs related to this Update

Describes an Account Owner

NoFieldTypeLabelDescription
1OwnerIDstringThe unique ID of the Owner
10NamestringA description of the Owner
12DestinationsTransferDestinationrepeatedThe list of valid transfer destinations
19MetadataMap<string,string>Any metadata associated with the owner. Not used by OMS

Describes a transform that applies to an Owner

NoFieldTypeLabelDescription
1TypeOwnerTransformTypeThe type of transform to perform
2TransformIDstringA unique identifier of this Transformation. If omitted, will be populated by OMS
39OwnerIDstringThe Owner ID the transform relates to
15ParametersMap<string,string>Any parameters that relate to this transformation
25TextstringThe reason for the transformation

Describes the permissions for an identity

NoFieldTypeLabelDescription
1TypeIdentityTypeThe type of identity
10IdentitystringA code identifying the entity (eg: joe.blogs)
11SourcestringA code identifying the entity source (eg: Passport)
19MetadataMap<string,string>Any metadata associated with the permissions. Not used by OMS
20OwnersstringrepeatedList of owners this identity has access to
21ExchangesstringrepeatedList of exchanges this identity has access to
29FeaturesstringrepeatedList of features this identity has access to
30FeedsstringrepeatedList of feeds this identity can submit to

Describes the metadata for a Client Request

NoFieldTypeLabelDescription
1CodestringThe Request Status value seen in Update
10NamestringAn optional name that better represents the public status
20IsNormalboolWhether this is a normal status or abnormal
21IsManualboolWhether this is a manually initiated status (eg: occurs in response to a user operation)
22IsTransitionboolWhether this is an transitional/waiting status (eg: will transition to another status automatically)
23IsCompletedboolWhether this is a completed status (no other status changes are expected)
30CanAmendboolWhether the Request can be amended in this status
31CanCancelboolWhether the Request can be cancelled in this status

Identifies the parameters for a subscription

NoFieldTypeLabelDescription
1TypeSubscriptionType
10TargetsSubscriptionTargetrepeatedThe targets for the subscription

Identifies a target to filter a subscription by

NoFieldTypeLabelDescription
1NamestringThe target name
2ValuesstringrepeatedThe list of values for the target

Describes the properties of a transaction

NoFieldTypeLabelDescription
1TransactionIDstringUnique identifier of this transaction
2AccountAccountThe account the transaction affects
9AuthoritiesClientAuthorityAny authorities related to the transaction
30ValuesBigNumberAny special values related to this transaction
31PropertiesMap<string,string>Any special properties related to this transaction
32IDsIDrepeatedAny special IDs related to this transaction
40TimestampTimestampWithTimeZoneThe timestamp of the transaction initiation

Describes a routing destination for a Transfer

NoFieldTypeLabelDescription
1ExDestinationstringThe execution destination code
10RoutestringThe OMS route to send related requests to. If empty, uses the Owner ID as the route

Describes a transform that applies to an Exchange or Market

NoFieldTypeLabelDescription
1TransformIDstringA unique identifier of this Transformation. If omitted, will be populated by OMS
5Exchangestring
37GroupstringAn identifier to only apply this Transformation to a subset of Orders
21TransformTypeTransformType
13TimestampTimestampWithTimeZoneThe timestamp of the update
15ParametersMap<string,string>
4CodestringThe code of the symbol being targeted
20OrderStatusstringThe new status to apply to matching Orders
35NotAfterTimestampWithTimeZoneThe update time after which orders should be exempt from this Transformation
36RemoveAfterTimestampWithTimeZoneThe time after which orders should be removed from the order book. Null for no removal
25TextstringThe reason for the transformation

Identifies the type of an Account transform

NameNumberDescription
AccountTransformType_Unknown0Invalid/uninitialised
AccountTransformType_Rename10Account and/or Owner is being renamed

Identifies the queue operation to perform

NameNumberDescription
ClientQueueUpdateType_Unknown0Unknown/invalid queue operation
ClientQueueUpdateType_Update10Updates the queued request
ClientQueueUpdateType_Replace20Replaces the target request content, but not the ID, Account, Queue, or Authority

Identifies the order operation being requested

NameNumberDescription
ClientRequestType_Unknown0Unknown/invalid request
ClientRequestType_New10New Order request
ClientRequestType_Amend11Amend Order request
ClientRequestType_Cancel12Cancel Order request
ClientRequestType_Move13Move Order request
ClientRequestType_CashTransfer20Requesting a transfer of cash
ClientRequestType_Update100Updating another request on a Queue

Describes the status of a system feed

NameNumberDescription
CONNECTIONSTATUS_DISCONNECTED0Connection is unexpectedly disconnected
CONNECTIONSTATUS_CLOSED1Connection is disconnected on schedule
CONNECTIONSTATUS_ONLINE2Connection is active

Identifies the authentication method used by an Identity Source

NameNumberDescription
IdentityAuthentication_Unknown0Invalid/uninitialised
IdentityAuthentication_JWT1Identity is authenticated with a JSON Web Token

Identifies the type of an identity

NameNumberDescription
IdentityType_Unknown0Unknown/invalid Identity
IdentityType_System1System (OMS) identity
IdentityType_Service2Service (External system) identity
IdentityType_Operator3Operator/user identity

Identifies the lifetime of an Order

NameNumberDescription
LIFETIME_UNKNOWN0Unknown/invalid lifetime
LIFETIME_DAY1Good for the day
LIFETIME_GOOD_TILL_CANCEL2Good until manually cancelled
LIFETIME_IMMEDIATE_OR_CANCEL3Execute immediately and cancel the remainder
LIFETIME_FILL_OR_KILL4Execute immediately in full or cancel
LIFETIME_GOOD_TILL_DATE5Good until the expiry date

Identifies the type of trade operation that occurred

NameNumberDescription
OrderTradeType_Unknown0Unknown/invalid trade type
OrderTradeType_Trade10Trade execution
OrderTradeType_Correction11Trade correction
OrderTradeType_Cancel12Trade cancellation

Identifies the type of an Order

NameNumberDescription
ORDERTYPE_UNKNOWN0
ORDERTYPE_MARKET1
ORDERTYPE_LIMIT2
ORDERTYPE_STOP3
ORDERTYPE_STOP_LIMIT4
ORDERTYPE_MARKET_TO_LIMIT5
ORDERTYPE_PEGGED6

Identifies the specific reason for an order update

NameNumberDescription
OrderUpdateReason_Unknown0Unknown/invalid order update type
OrderUpdateReason_Restated1Order has been restated
OrderUpdateReason_Rejected8Order changed due to being rejected
OrderUpdateReason_New10Order changed as part of an OrderNew
OrderUpdateReason_Replace11Order changed as part of an OrderAmend or OrderMove
OrderUpdateReason_Cancel12Order changed as part of an OrderCancel
OrderUpdateReason_Status18Order changed as part of a lifecycle transition
OrderUpdateReason_Trade20Order changed due to a trade
OrderUpdateReason_TradeCorrection21Order changed due to a trade correction
OrderUpdateReason_TradeCancel22Order changed due to a trade cancellation

Identifies the high-level type of order update that occurred

NameNumberDescription
OrderUpdateType_Unknown0Unknown/invalid order update type
OrderUpdateType_Update10Order has been updated, including as part of a trade
OrderUpdateType_Restate11Order has been restated

Identifies the type of Owner transform to perform

NameNumberDescription
OwnerTransformType_Unknown0Unknown/invalid transform
OwnerTransformType_Rename1Ownership identifiers are being renamed to a new ID

Identifies the settlement status of a Transaction

NameNumberDescription
SettlementStatus_Booked0Records the transaction as Booked
SettlementStatus_Unbooked1Records the transaction as Unbooked
SettlementStatus_Settle2Performing a settlement, moving assets from Unbooked to Booked
SettlementStatus_Reverse3Reversing a settlement, moving assets from Booked to Unbooked

Identifies the side of an Order

NameNumberDescription
SIDE_UNKNOWN0
SIDE_BUY1
SIDE_SELL2
SIDE_SHORTSELL3
SIDE_SHORTSELL_EXEMPT4
SIDE_AS_DEFINED5
SIDE_OPPOSITE6

Identifies the type of subscription

NameNumberDescription
SubscriptionType_Unknown0
SubscriptionType_Status10
SubscriptionType_Updates11
SubscriptionType_Transactions12
SubscriptionType_Recent13
SubscriptionType_Holdings21
SubscriptionType_Balances22
SubscriptionType_Requests23
SubscriptionType_Orders24
SubscriptionType_Metadata30System metadata - Exchanges, Owners, Request Statuses
SubscriptionType_Feed40Orders and requests related to a specific feed
NameNumberDescription
TRANSFORMTYPE_RESTATEMENT0Transform all Orders that match the given Order Status
TRANSFORMTYPE_REMOVE1Remove all Orders that match the given Order Status
TRANSFORMTYPE_RENAME_SYMBOL2Renames a symbol in Holdings and Orders
TRANSFORMTYPE_RENAME_CURRENCY3Renames a currency in Balances and Orders