{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-fx-query-request-schema.json", "title": "FxQueryRequest", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/citi-fx-api-openapi.yml#/components/schemas/Fx-Query-Request", "allOf": [ { "$ref": "#/$defs/Multiple-Currency-Amount" }, { "type": "object", "title": "Fx-Query-Request", "required": [ "buy_currency_code", "sell_currency_code", "reference_id", "seller_markup" ], "properties": { "seller_markup": { "type": "string", "title": "seller_markup", "description": "Seller markup consists of country code + markup." }, "reference_id": { "$ref": "#/$defs/Reference-Id" } } } ], "$defs": { "Amount": { "type": "number", "title": "amount", "description": "Amount in currency.", "minimum": 0.01, "maximum": 10000000000000 }, "Currency-Code": { "type": "string", "title": "currency_code", "description": "The currency code in the transaction.", "pattern": "^[A-Z]{3}$" }, "Multiple-Currency-Amount": { "title": "FxQuery", "type": "object", "properties": { "buy_currency_code": { "allOf": [ { "$ref": "#/$defs/Currency-Code" } ], "title": "buy_currency_code", "description": "The currency that the client is buying." }, "buy_amount": { "allOf": [ { "$ref": "#/$defs/Amount" } ], "title": "buy_amount", "description": "The amount of buy_currency for the transaction. (You ONLY need to define one amount, either buy_amount or sell_amount in a request.)" }, "sell_currency_code": { "allOf": [ { "$ref": "#/$defs/Currency-Code" } ], "title": "sell_currency_code", "description": "The currency that the client is selling." }, "sell_amount": { "allOf": [ { "$ref": "#/$defs/Amount" } ], "title": "sell_amount", "description": "The amount of sell_currency for the transaction. (You ONLY need to define one amount, either buy_amount or sell_amount in a request.)" } } }, "Reference-Id": { "type": "string", "title": "reference_id", "description": "Unique identifier for this request from your system.", "minLength": 1, "maxLength": 120 } } }