Citi · Schema
FXBenchMarkOrder
BankingFinancial ServicesOpen BankingPaymentsTreasuryISO 20022Commercial CardsForeign ExchangeCustodyTrade FinanceCorporate BankingAPI Gateway
Properties
| Name | Type | Description |
|---|---|---|
| action | string | The service you are requesting. Allowed value: NEW. |
| jsonReqId | string | The unique identifier for the JSON request. Format is alphanumeric. |
| senderCompId | string | The Citi-assigned value used to identify the message sender. This was assigned to you during onboarding. |
| onBehalfOfCompId | string | The Citi-assigned value used to identify the message sender. This was assigned to you during onboarding. |
| sendingTime | string | The time of the message transmission expressed in UTC (Universal Time Coordinated, also known as "GMT"). Format: YYYYMMDD-HH:MM:SS.mmm. |
| deals | array |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-fxbench-mark-order-schema.json",
"title": "FXBenchMarkOrder",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/citi-fxgateway-api-openapi.yml#/components/schemas/FXBenchMarkOrder",
"type": "object",
"required": [
"action",
"jsonReqId",
"senderCompId",
"onBehalfOfCompId",
"sendingTime",
"deals"
],
"properties": {
"action": {
"type": "string",
"description": "The service you are requesting. Allowed value: NEW."
},
"jsonReqId": {
"type": "string",
"description": "The unique identifier for the JSON request. Format is alphanumeric.",
"maxLength": 60
},
"senderCompId": {
"type": "string",
"description": "The Citi-assigned value used to identify the message sender. This was assigned to you during onboarding."
},
"onBehalfOfCompId": {
"type": "string",
"description": "The Citi-assigned value used to identify the message sender. This was assigned to you during onboarding."
},
"sendingTime": {
"type": "string",
"description": "The time of the message transmission expressed in UTC (Universal Time Coordinated, also known as \"GMT\"). Format: YYYYMMDD-HH:MM:SS.mmm."
},
"deals": {
"type": "array",
"items": {
"required": [
"account",
"clOrdId",
"tenor",
"ccyPair",
"dealtCcy",
"orderQty",
"side",
"fixingCode"
],
"properties": {
"account": {
"type": "string",
"description": "Your Citi-assigned client identifier."
},
"clOrdId": {
"type": "string",
"description": "The unique identifier that you assign to the order. Max 32 characters. Only alphanumeric characters are allowed."
},
"secondaryClOrdId": {
"type": "string",
"description": "The secondary unique identifier that you assign to the order."
},
"tenor": {
"type": "string",
"description": "The following FX standard tenors are supported:\n \n|Tenor | Value |\n|---------------|-------|\nOvernight | ON |\nTom/Next | TN |\nSpot | SP |\nSpot/Next | SN |\nOne Week | 1W |\nTwo Week | 2W |\nThree Week | 3W |\nOne Month | 1M |\nTwo Month | 2M |\nThree Month | 3M |\nFour Month | 4M |\nFive Month | 5M |\nSix Month | 6M |\nSeven Month | 7M |\nEight Month | 8M |\nNine Month | 9M |\nTen Month | 10M |\nEleven Month | 11M |\nOne Year | 1Y |\nFifteen Months | 15M |\nEighteen Months | 18M |\nTwenty One Months| 21M |\nTwo Years | 2Y |\nSpecify a Broken Date| BROKEN |\n \nBroken Dates (the dates that fall between the tenors) are supported. To supply a Broken Date, the Tenor mut be specified as “BROKEN” and a Value Date specified.\n\nIf SP is supplied, this implies a SPOT instrument is requested. Otherwise the trade will be a forward. For SWAP orders, this field should have a \"-\" (hyphen) separated value e.g.: 1W-1M."
},
"valueDate": {
"type": "string",
"description": "The value date the order is being placed for. Required if tenor = ‘BROKEN’. Format: yyyyMMdd."
},
"tradeDate": {
"type": "string",
"description": "Only required for Advanced Orders. If a future trade date is supplied, this trade is classified as an “Advanced Order.” If sent to FX Benchmark, the request will only be ‘Accepted’ on the execution date. Note that the advanced order feature cannot be used when requesting the next available fixing. Format: yyyyMMdd."
},
"ccyPair": {
"type": "string",
"description": "Please contact your Citi Representative to obtain a list of currency pairs currently supported by CitiFX Gateway.\n\nCitiFX Gateway can accept currency pairs in any of the below formats:\n- Alpha Sorted\n- BaseTerm\n- Base/Term\n- TermBase\n- Term/Base\n\nNote: Specifying term first in the currency pair field does not signify an inverted quote. Instead the following logic is used to determine if an inverted quote is being requested. \n - If inverseCcy parameter value is blank, then market convention will be used\n - If inverseCcy is present and is the Base Currency, then market convention will be used\n - If inverseCcy is present and is the Term Currency, then Inverted Quote will be used\n - If inverseCcy is present and is neither the Base or the Term Currency, then request will be rejected\n \nRefer to the examples in the table below indicating the market convention / inverted quoted in the request message.\n\n|Currency Pair | Inverse Curreny | Dealt Currency | Side | Last Spot Rate| Last Forward Points| Outright Rate | Remarks|\n|--------------|-----------------|----------------|-------|-----------------|--------------------|----------------|--------|\nUSDSGD (or) SGDUSD | |SGD | 2 (Sell SGD) | 1.32618 | 0.000123 | 1.326303 | If value of inverseCcy is blank, then market convention will be used. \nUSDSGD (or) SGDUSD | |USD |1 (BUY USD)| 1.32616 | 0.000123 | 1.326283 | If value of inverseCcy is blank, then market convention will be used\nUSDSGD (or) SGDUSD | USD | USD| 1 | 1.32616| 0.000123| 1.326283| If value of inverseCcy is NOT blank and is equal to Base Currency then market convention will be used\nUSDSGD (or) SGDUSD | SGD | SGD |2 | 0.75399 | -0.0000699 | 0.7539201 |If value of inverseCcy is sent and is equal to Term Currency then Inverted Quote will be used",
"maxLength": 6
},
"dealtCcy": {
"type": "string",
"description": "The currency that you wish to deal on.",
"maxLength": 3
},
"inverseCcy": {
"type": "string",
"description": "This value should be sent if you expect an inverted rate. Not required for market convention. Refer to the Currency Pair description for more information.",
"maxLength": 3
},
"orderQty": {
"type": "number",
"description": "The order quanitity of the dealt currency."
},
"side": {
"type": "string",
"enum": [
"B",
"S"
],
"description": "The Buy Or Sell Indicator from your perspective. B=Client buys dealt ccy S=Client sells dealt ccy."
},
"fixingCode": {
"type": "string",
"description": "\n| DESCRIPTION | TIME | GMTEQUIV | SHORTCODE |\n|---------------------------|-------|----------|------------|\nWMR Australian 10:00 Fixing | 1000 | 0 | SYD1000WMR\nBFIX Australian 10:00 Fixing| 1000 | 0 | SYD1000BFIX\nBFIX Tokyo 09:00 Fixing| 900| 0 |TOK0900BFIX\nWMR Tokyo 09:00 Fixing| 900| 0 |TOK0900WMR\nWMR Tokyo 09:55 Fixing| 955| 55| TOK0955WMR\nBFIX Tokyo 11:00 Fixing |1100| 200| TOK1100BFIX\nWMR Tokyo 11:00 Fixing| 1100| 200 |TOK1100WMR\nBFIX Tokyo 12:00 Fixing| 1200| 300| TOK1200BFIX\nWMR Tokyo 12:00 Fixing| 1200| 300| TOK1200WMR\nWMR Tokyo 13:00 Fixing| 1300| 400| TOK1300BFIX\nWMR Tokyo 14:00 Fixing| 1400| 500| TOK1400WMR\nBFIX Tokyo 14:00 Fixing| 1400| 500| TOK1400BFIX\nWMR Tokyo 15:00 Fixing| 1500| 600| TOK1500WMR\nBFIX Tokyo 15:00 Fixing| 1500| 600| TOK1500BFIX\nWMR Tokyo 16:00 Fixing| 1600| 700| TOK1600WMR\nBFIX Tokyo 16:00 Fixing| 1600| 700| TOK1600BFIX\nWMR London 08:00 Fixing| 800 |700| LDN0800WMR\nBFIX London 08:00 Fixing| 800| 700| LDN0800BFIX\nWMR London 09:00 Fixing| 900| 800| LDN0900WMR\nBFIX London 09:00 Fixing| 900| 800| LDN0900BFIX\nBFIX London 10:00 Fixing| 1000| 900 |LDN1000BFIX\nWMR London 10:00 Fixing |1000| 900 |LDN1000WMR\nBFIX London 11:00 Fixing| 1100| 1000| LDN1100BFIX\nWMR London 11:00 Fixing |1100| 1000| LDN1100WMR\nBFIX London 12:00 Fixing| 1200| 1100| LDN1200BFIX\nWMR London 12:00 Fixing |1200 |1100 |LDN1200WMR\nWMR London 13:00 Fixing |1300 |1200 |LDN1300WMR\nBFIX London 13:00 Fixing| 1300| 1200| LDN1300BFIX\nWMR London 14:00 Fixing |1400 |1300 |LDN1400WMR\nBFIX London 14:00 Fixing| 1400| 1300| LDN1400BFIX\nWMR London 15:00 Fixing |1500 |1400 |LDN1500WMR\nBFIX London 15:00 Fixing| 1500| 1400| LDN1500BFIX\nBFIX London 16:00 Fixing| 1600| 1500| LDN1600BFIX\nWMR London 16:00 Fixing |1600 |1500 |LDN1600WMR\nBFIX New York 12:00 Fixing| 1200| 1600| NYK1200BFIX\nWMR New York 12:00 Fixing |1200 |1600 |NYK1200WMR\nBFIX New York 13:00 Fixing| 1300| 1700 |NYK1300BFIX\nWMR New York 13:00 Fixing |1300 |1700 |NYK1300WMR\nBFIX New York 14:00 Fixing| 1400| 1800| NYK1400BFIX\nWMR New York 14:00 Fixing |1400 |1800 |NYK1400WMR\nBFIX New York 15:00 Fixing| 1500| 1900| NYK1500BFIX\nWMR New York 15:00 Fixing |1500 |1900 |NYK1500WMR\nWMR New York 16:00 Fixing |1600 |2000 |NYK1600WMR\nBFIX New York 16:00 Fixing| 1600| 2000| NYK1600BFIX\n\nYou must be permissioned to a fixing by Citi's Benchmark system in order to successfully add a trade against it. Otherwise the trade will be rejected. \n\nContact your Citi Representative for fixing cut-off times. GMT Equivalent time will change during DST changes for SYD, LDN, and NY Fixings.\n "
},
"purposeCode": {
"type": "string",
"description": "Optional field for the purpose code of the deal booking."
},
"suppressSettlement": {
"type": "string",
"description": "Flag to suppress the settlement on FX side."
},
"valueDate2": {
"type": "string",
"description": "Far Leg Value Date. Only required for Swap requests Date."
},
"orderQty2": {
"type": "number",
"description": "Far Leg Amount. Only required for Swap requests."
},
"transactTime": {
"type": "string",
"description": "Time the transaction represented by this single order occurred."
},
"securityId": {
"type": "string",
"description": "MIFID Field. ISIN Code for the FX Security. See the Additional Information tab for details on MIFID fields."
},
"securityIdSource": {
"type": "string",
"description": "MIFID Field. Allowed Values: 4 = ISIN. See the Additional Information tab for details on MIFID fields."
},
"legSecurityId": {
"type": "string",
"description": "MIFID Field. For SWAP Deals only. See the Additional Information tab for details on MIFID fields."
},
"legSecurityIdSource": {
"type": "string",
"description": "MIFID Field. For SWAP Deals only. See the Additional Information tab for details on MIFID fields."
},
"marketSegmentId": {
"type": "string",
"description": "MIFID Field. Identifies the market segment. Allowed values are \n 1. XOFF – Off Market Transaction (default). \n 2. SEF – This entity is not an MTF. \n 3. MTF – Multilateral Trading Facility (MTF). \n 4. MIF – MIFID Opt In (Non MTF’s who want to receive MIFID Fields). See the Additional Information tab for details on MIFID fields."
}
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/citi-fxbench-mark-order"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.