Citi · Schema
FXQuoteReportResponse
BankingFinancial ServicesOpen BankingPaymentsTreasuryISO 20022Commercial CardsForeign ExchangeCustodyTrade FinanceCorporate BankingAPI Gateway
Properties
| Name | Type | Description |
|---|---|---|
| action | string | Defines the action of the message. Value will be rate-report-response. |
| jsonReqId | string | The unique identifier for the JSON request. Format is alphanumeric. |
| senderCompId | string | The Citi-assigned value used to identify the firm sending the message. May contain special characters ( ‘_’, ‘.’, ‘-‘). |
| onBehalfOfCompId | string | The Citi-assigned value used to identify the sub-entity. May contain special characters ( ‘_’, ‘.’, ‘-‘) |
| sendingTime | string | The time of message transmission. Always expressed in UTC (Universal Time Coordinated, also known as 'GMT'), format: YYYYMMDD-HH:MM:SS.mmm. |
| errorCode | integer | The error code associated with the response. See the Error Codes tab for a complete list. |
| errorMessage | string | The error message associated with the response. See the Error Codes tab for a complete list. |
| ifxRates | array |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-fxquote-report-response-schema.json",
"title": "FXQuoteReportResponse",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/citi-fxgateway-api-openapi.yml#/components/schemas/FXQuoteReportResponse",
"type": "object",
"required": [
"action",
"jsonReqId",
"senderCompId",
"onBehalfOfCompId",
"sendingTime"
],
"properties": {
"action": {
"type": "string",
"description": "Defines the action of the message. Value will be rate-report-response.",
"maxLength": 20
},
"jsonReqId": {
"type": "string",
"description": "The unique identifier for the JSON request. Format is alphanumeric.",
"maxLength": 100
},
"senderCompId": {
"type": "string",
"description": "The Citi-assigned value used to identify the firm sending the message. May contain special characters ( ‘_’, ‘.’, ‘-‘).",
"maxLength": 20
},
"onBehalfOfCompId": {
"type": "string",
"description": "The Citi-assigned value used to identify the sub-entity. May contain special characters ( ‘_’, ‘.’, ‘-‘)",
"maxLength": 20
},
"sendingTime": {
"type": "string",
"description": "The time of message transmission. Always expressed in UTC (Universal Time Coordinated, also known as 'GMT'), format: YYYYMMDD-HH:MM:SS.mmm."
},
"errorCode": {
"type": "integer",
"description": "The error code associated with the response. See the Error Codes tab for a complete list."
},
"errorMessage": {
"type": "string",
"description": "The error message associated with the response. See the Error Codes tab for a complete list."
},
"ifxRates": {
"type": "array",
"items": {
"type": "object",
"required": [
"rateSetId",
"ccyPair",
"tenor",
"bidSpotRate",
"offerSpotRate",
"bidForwardPoints",
"offerForwardPoints",
"midPrice",
"validUntilTime",
"isValid",
"baseCurrency",
"ratePrecision",
"valueDate",
"bidOutrightRate",
"offerOutrightRate",
"fixingRate"
],
"properties": {
"rateSetId": {
"type": "integer",
"description": "The Citi-defined rate set ID that the rate belongs to."
},
"ccyPair": {
"type": "string",
"description": "A six character sorted alpha string comprising two ISO ccy codes that the rate applies to.",
"maxLength": 6
},
"tenor": {
"type": "string",
"description": "The Tenor for the rate.",
"maxLength": 3
},
"bidSpotRate": {
"type": "string",
"format": "double",
"description": "The Bid Spot Rate for the currency pair."
},
"offerSpotRate": {
"type": "string",
"format": "double",
"description": "The Offer Spot Rate for the currency pair."
},
"bidForwardPoints": {
"type": "string",
"format": "double",
"description": "The Bid Forward Points for this tenor (Forward Pricing Only)."
},
"offerForwardPoints": {
"type": "string",
"format": "double",
"description": "The Offer Forward Points for this tenor (Forward Pricing Only)."
},
"midPrice": {
"type": "string",
"format": "double",
"description": "The Mid Price for the rate."
},
"validUntilTime": {
"type": "string",
"description": "The time and date that this rate will expire. Note-This is held in GMT / UTC format: yyyyMM-dd HH:mm:ss.SSS"
},
"isValid": {
"type": "boolean",
"description": "A flag that shows that Citi was able to provide the requested rate. If this field is false, then midPrice, points, and rates are zero."
},
"baseCurrency": {
"type": "string",
"maxLength": 3,
"description": "The base currency of the currency pair."
},
"ratePrecision": {
"type": "integer",
"description": "The number of decimal places to which the rate(s) for this tenor should be quoted in regular base/term format."
},
"isTradable": {
"type": "boolean",
"description": "A flag to indicate whether the rate is tradable by the client (TRUE) or is to be used for reference purposes only."
},
"fixingRate": {
"type": "string",
"format": "double",
"description": "This field and `fixingsource` field will only be populated once a month on the agreed NDF fixing date. Will contain the fixing rate to be used for this currency pair."
},
"fixingSource": {
"type": "string",
"description": "Will contain the fixing source associated with the fixingRate field.",
"maxLength": 100
},
"valueDate": {
"type": "string",
"format": "date",
"description": "The value date of the rate returned in format: yyyy-MM-dd."
},
"drawDownValidUntilTime": {
"description": "Optional field. The extended time and date that this rate will expire for sending draw down orders. This field will be sent only if you are enabled for sending pre-order requests. Note: this is held in GMT / UTC in format: yyyy-MM-dd HH:mm:ss.SSS.\n"
},
"bidOutrightRate": {
"type": "string",
"format": "double",
"description": "The Bid Outright Rate for this currency pair."
},
"offerOutrightRate": {
"type": "string",
"format": "double",
"description": "The Offer Outright Rate for this currency pair."
},
"isMrf": {
"description": "Optional field. Applicable when MRF hourly updated rate option enabled. Flag indicates whether this is updated rate due to MRF True indicates updated rate.",
"type": "boolean"
},
"rateId": {
"type": "integer",
"description": "Optional field. Applicable when MRF hourly updated rate option enabled. Unique identifier of a rate. Value is incremental. Used for reference purpose to identify latest rate in case of incremental version of rate due to MRF."
}
}
}
}
}
}
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-fxquote-report-response"
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.