# Messages in the FX Professional Motif

[Various message specifications](#messagespecificationlist) are used across the FX Professional Motif. Each message contains fields and values required to successfully perform a specific action using the Motif. See [Messages and fields](fx-integration-api.md#messagesandfields) for more information.

You will find a full list of all message specifications in the links at the very bottom of this page. Although each message specification is necessarily different, there are common field terminologies and conventions used across all of them:

## Field terminology and conventions

* Fields that relate to a trade leg are prefixed by **L&lt;leg number>_**. For example, **L1_Amount** represents the amount on the first leg of a trade.
* There is no leg zero, therefore no field will start with the prefix **L0_**.
* A trade always has at least one leg.
* Some fields relate to a trade as a whole rather than any individual leg, and these fields have no prefix. For example, CurrencyPair and TradingType.
* Fields that relate only to forwards begin with **Fwd**, for example **L1_FwdBidPips**.
* Fields that relate only to swaps begin with **Swap**, for example **SwapBidPips**.
* The term **rate** always denotes a field containing an FX rate, for example 1.52312.
* The term **points** always denotes a field containing forward points **specified as a decimal number**. For example, if there are 6.5 forward points on a GBP/USD rate then the value of the **L1_FwdBidPoints** field would contain the value 0.00065. This is because 0.00065 added to a spot rate such as 1.50000 would give a forward rate of 1.50065, which is a 6.5 points higher than the spot rate. Note that this field is typically not useful for display to the client.
* The term pips always denotes a field containing forward points **specified as pips**. For example, if there are 6.5 forward points on a GBP/USD rate then the value of the **L1_FwdBidPips** field would contain the value 6.5. This is typically the field you want to display to the client for forwards and swaps.
* The term **price** is deprecated and should no longer be used in any field names due to its ambiguous nature.

## Subjects

Assuming a typical back end system has the following [integration adapters](fx-integration-api.md#novodescription): Rates, Trading, Orders, Calendar, Historic. The following table denotes what is requested:

| Item | Data Type | Adapters Providing | Route | Unmapped Subject | Mapped Subject |
| --- | --- | --- | --- | --- | --- |
| Streaming rates | Record (see footnote 1) | Rates | Direct (see footnote 2) | /FX/USDJPY/&lt;Tenor>/&lt;DealtCurrency>/&lt;Amount> | /FX/USDJPY/&lt;Tenor>/&lt;DealtCurrency>/&lt;Amount>/&lt;MarginBand> |
| ESP, RFS and PostAllocation trade channel | Record | Trading | Direct | /PRIVATE/TRADE/FX%1 | /PRIVATE/%U/TRADE/FX%1 |
| Post Allocations - Viewing | Record | Historic | Direct | /PRIVATE/FX/ALLOCATIONS/&lt;TradeId> | /PRIVATE/%u/FX/ALLOCATIONS/&lt;TradeId> |
| Orders trade channel | Record | Orders | Direct | /PRIVATE/ORDERS/FX%1 | /PRIVATE/%U/ORDERS/FX%1 |
| Pricing Grids | Container | Rates | via [Transformer](../../caplin-platform/transformer/index.md) | /FX/CONTAINER/&lt;ContainerName> | /FX/CONTAINER/&lt;ContainerName> |
| Activity Blotter | Container | Trading | via [Transformer](../../caplin-platform/transformer/index.md) | /PRIVATE/FX/BLOTTER/ACTIVITY | /PRIVATE/%u/FX/BLOTTER/ACTIVITY |
| Activity blotter items | Record | Trading | via [Transformer](../../caplin-platform/transformer/index.md) | /PRIVATE/FX/BLOTTER/ITEM/%1 | /PRIVATE/%u/FX/BLOTTER/ITEM/%1 |
| Execution Blotter | Container | Trading, Historic | via [Transformer](../../caplin-platform/transformer/index.md) | /PRIVATE/FX/BLOTTER/ACTIVITY | /PRIVATE/%u/FX/BLOTTER/ACTIVITY |
| Execution blotter items | Record | Trading, Historic | via [Transformer](../../caplin-platform/transformer/index.md) | /PRIVATE/FX/BLOTTER/ITEM/%1 | /PRIVATE/%u/FX/BLOTTER/ITEM/%1 |
| Historic blotter | Container | Historic | Direct | /PRIVATE/FX/BLOTTER/HISTORIC | /PRIVATE/%u/FX/BLOTTER/HISTORIC |
| Historic blotter items | Record | Historic | Direct | /PRIVATE/FX/BLOTTER/HISTORIC-ITEM/%1 | /PRIVATE/%u/FX/BLOTTER/HISTORIC-ITEM/%1 |
| Order Blotter | Container | Orders | via [Transformer](../../caplin-platform/transformer/index.md) | /PRIVATE/FX/BLOTTER/ORDER | /PRIVATE/%u/FX/BLOTTER/ORDER |
| Tenor Dates | Record | Calendar | Direct | /CALENDAR/TENORDATES/&lt;CurrencyPair> | No mapping |
| Settlement Dates | Record | Calendar | Direct | /CALENDAR/SETTLEMENTDATE/&lt;CurrencyPair>/&lt;Year>/&lt;Month> | No mapping |

**Footnote 1** - For explanations on data types ([records](../../caplin-platform/datasource/datasource-records.md) and [containers](../../caplin-platform/datasource/datasource-containers.md)) see [here](../../caplin-platform/datasource/datasource-data-types.md).

**Footnote 2** - A _Direct_ route implies a request for data sent directly through a [Liberator](../../caplin-platform/liberator/index.md) and not via a Transformer

**<a name="messagespecificationlist"></a>The following trade message specifications are used in the FX Professional Motif:**

* [Common Messages Specifications](common-messages-specs.md)
* [ESP Trade Message Specification](esp-trade-message-specs.md)
* [RFS Trade Message Specification](rfs-trade-message-specs.md)
* [Block Trade Message Specification](block-trade-message-specs.md)
* [Order Submission Message Specification](order-submission-message-specs.md)
* [Order Change State Message Specification](order-change-state-message-specs.md)
* [Order Cancel Message Specification](order-cancel-message-specs.md)
* [Order Detail Message Specification](order-detail-messages.md)
* [Edit Strategy Messages](edit-strategy-messages.md)
* [Post Trade Allocation Message Specification](post-trade-allocation-message-specs.md)
