openapi: 3.1.0
info:
version: ''
title: InstantFX Reporting
description: >
The FX Reporting API allows you to submit reporting requests to retrieve an
execution report, order status enquiry, or refund availability report.
### Web Sockets
The response to this endpoint will be sent via web socket connection.
Refer to the User Guide tab for more information on enabling a web socket
connection. This allows you to integrate the responses you receive from Citi
into your workflow for automated processing.
Ensure that you have an open web socket session before sending any requests
to consume the response.
servers:
- url: https://api.citivelocity.com/markets
description: production URL
- url: https://sandbox.api.citivelocity.com/markets
description: sanbox URL
security:
- OAuth2:
- fxapi
paths:
/fxgateway/async/orderreport/api/v1:
post:
parameters:
- name: client_id
in: query
description: >-
Your unique identifier shared during your API onboarding. It is the
same client_id used for oauth token generation.
required: true
schema:
type: string
summary: Order enquiry and refund report enquiry
description: >
This endpoint facilitates requests for order enquiries and refund
reports. The response will be sent via web socket connection.
For FX Order Enquiry: while the fields `tradeDate`, `rateSetId`,
`clOrdId` and `orderId` are optional individually, you must send them in
at least one of the combinations below:
* `tradeDate` & `rateSetId`
* `clOrdId`
* `orderId`
For FX Gross and Portfolio Refund Enquiry: while the fields `tradeDate`,
`rateSetId`, `fromTradeDate` and `toTradeDate` are optional
individually, you must send them in at least one of the combinations
below:
* `tradeDate` & `symbol`
* `rateSetId` & `symbol`
* `fromTradeDate` & `toTradeDate` & `symbol`
For Two Way Refund Enquiry, You must send in at least the `origClOrdId`
or `rateSetId`
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FXOrderEnquiry'
- $ref: '#/components/schemas/FXGrossRefundEnquiryRequest'
- $ref: '#/components/schemas/FXPortfolioRefundEnquiryRequest'
- $ref: '#/components/schemas/FXTwoWayRefundEnquiryRequest'
required: true
responses:
'200':
description: >
OK Acknowledged.
Note: The response message will be sent via web socket.
Please see the User Guide tab for more information on using the web
socket connection.
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ExecutionReport'
- $ref: '#/components/schemas/FXGrossRefundEnquiryResponse'
- $ref: '#/components/schemas/FXPortfolioRefundEnquiryResponse'
- $ref: '#/components/schemas/FXTwoWayRefundEnquiryResponse'
'401':
description: Unauthorized user error
'403':
description: Access Forbidden error
'500':
description: Internal Server Error
x-codeSamples:
- lang: cURL
label: cURL
source: >-
curl --request POST \
--url
'https://api.citivelocity.com/markets/fxgateway/async/orderreport/api/v1?client_id=da41c8aa-c96b-437c-ad95-dade40c85fa2'
\
--header 'accept: application/json' \
--header 'authorization: Bearer
AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA'
\
--header 'content-type: application/json' \
--data '{ "action": "report-request", "senderCompId": "IFXCLIENT0",
"onBehalfOfCompId": "IFXCLIENT0", "jsonReqId": "sa-27-09-2018-20",
"sendingTime": "20180927-14:37:21.155", "deals": [ { "account":
"XXXXXXXXXX", "clOrdId": "Test1134 test 20" } ]}'
- lang: python
label: Python
source: >-
import http.client
#If a proxy is used, set the tunnel as per below:
#conn=http.client.HTTPSConnection("your_proxy_host",your_proxy_port)
#conn.set_tunnel("api.citivelocity.com",443)
conn = http.client.HTTPSConnection("api.citivelocity.com")
payload = "{ \"action\": \"report-request\", \"senderCompId\":
\"IFXCLIENT0\", \"onBehalfOfCompId\": \"IFXCLIENT0\", \"jsonReqId\":
\"sa-27-09-2018-20\", \"sendingTime\": \"20180927-14:37:21.155\",
\"deals\": [ { \"account\": \"XXXXXXXXXX\", \"clOrdId\": \"Test1134
test 20\" } ] }"
headers = {
'content-type': "application/json",
'accept': "application/json",
'authorization': "Bearer
AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA"
}
conn.request("POST",
"/markets/fxgateway/async/orderreport/api/v1?client_id=da41c8aa-c96b-437c-ad95-dade40c85fa2",
payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
- lang: PHP
label: PHP
source: >-
"https://api.citivelocity.com/markets/fxgateway/async/orderreport/api/v1?client_id=da41c8aa-c96b-437c-ad95-dade40c85fa2
",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => " ", CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{ \"action\": \"report-request\",
\"senderCompId\": \"IFXCLIENT0\", \"onBehalfOfCompId\":
\"IFXCLIENT0\", \"jsonReqId\": \"sa-27-09-2018-20\",
\"sendingTime\": \"20180927-14:37:21.155\", \"deals\": [ {
\"account\": \"XXXXXXXXXX\", \"clOrdId\": \"Test1134 test 20\" } ]
}",
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"authorization: Bearer
AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA",
"content-type: application/json",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else
{
echo $response;
}
- lang: JAVA
label: Java
source: |-
/**Include following Maven dependency
com.squareup.okhttp3
okhttp3
3.9.0
*/
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Proxy;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{ \"action\": \"report-request\", \"senderCompId\": \"IFXCLIENT0\", \"onBehalfOfCompId\": \"IFXCLIENT0\", \"jsonReqId\": \"sa-27-09-2018-20\", \"sendingTime\": \"20180927-14:37:21.155\", \"deals\": [ { \"account\": \"XXXXXXXXXX\", \"clOrdId\": \"Test1134 test 20\" } ] }");
Request request = new Request.Builder() .url("https://api.citivelocity.com/markets/fxgateway/sync/orderreport/api/v1?client_id=da41c8aa-c96b-437c-ad95-dade40c85fa2")
.post(body)
.addHeader("content-type", "application/json")
.addHeader("accept", "application/json")
.addHeader("authorization", "Bearer AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA")
.build();
try {
Response response = client.newCall(request).execute();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- lang: Javacript
label: Node
source: |2-
// Install request by running "npm install --save request"
var request = require("request");
var options = {
method: 'POST',
url: 'https://api.citivelocity.com/markets/fxgateway/async/orderreport/api/v1',
qs: { client_id: 'REPLACE_THIS_VALUE' },
headers:
{
authorization: 'Bearer AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA',
accept: 'application/json',
'content-type': 'application/json'
},
body:
{ "action": "report-request", "senderCompId": "IFXCLIENT0", "onBehalfOfCompId": "IFXCLIENT0", "jsonReqId": "sa-27-09-2018-20", "sendingTime": "20180927-14:37:21.155", "deals": [ { "account": "XXXXXXXXXX", "clOrdId": "Test1134 test 20" } ]},
json: true };
request(options, function (error, response, body) {
if (error)
return console.error('Failed: %s', error.message);
console.log('Success: ', body);
});
- lang: Go
label: Go
source: >-
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url :=
"https://api.citivelocity.com/markets/fxgateway/async/orderreport/api/v1?client_id=da41c8aa-c96b-437c-ad95-dade40c85fa2"
payload := strings.NewReader("{ \"action\": \"report-request\",
\"senderCompId\": \"IFXCLIENT0\", \"onBehalfOfCompId\":
\"IFXCLIENT0\", \"jsonReqId\": \"sa-27-09-2018-20\",
\"sendingTime\": \"20180927-14:37:21.155\", \"deals\": [ {
\"account\": \"XXXXXXXXXX\", \"clOrdId\": \"Test1134 test 20\" } ]
}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("content-type", "application/json")
req.Header.Add("accept", "application/json")
req.Header.Add("authorization", "Bearer
AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body)) }
- lang: Swift
label: Swift
source: >-
import Foundation
let headers = [
"content-type": "application/json",
"authorization": "Bearer
AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA",
"accept": "application/json"
var request = URLRequest(url: URL(string:
"https://api.citivelocity.com/markets/fxgateway/async/orderreport/api/v1?client_id=da41c8aa-c96b-437c-ad95-dade40c85fa2")!,
cachePolicy: .reloadIgnoringLocalAndRemoteCacheData,
timeoutInterval: 10.0)
let data: [String: Any] = [ "action": "report-request",
"senderCompId": "IFXCLIENT0", "onBehalfOfCompId": "IFXCLIENT0",
"jsonReqId": "sa-27-09-2018-20", "sendingTime":
"20180927-14:37:21.155", "deals": [ [ "account": "XXXXXXXXXX",
"clOrdId": "Test1134 test 20" ] ]]
let jsonData: Data
do {
jsonData = try JSONSerialization.data(withJSONObject: data, options: [])
request.httpBody = jsonData
} catch {
print("Error: cannot create JSON from todo")
}
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let task = session.dataTask(with: request, completionHandler: {
(data, response, error) in
guard let data = data, error == nil else { // check for fundamental networking error
print("error=\(String(describing: error))")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(String(describing: response))")
}
let responseString = String(data: data, encoding: .utf8)
print("responseString = \(String(describing: responseString))")
})
task.resume()
- lang: R
label: R
source: >-
## install the packages httr,jsonlite
library(httr)
library(jsonlite)
url<-
'https://api.citivelocity.com/markets/fxgateway/async/orderreport/api/v1?client_id=da41c8aa-c96b-437c-ad95-dade40c85fa2'
req<- '{ "action": "report-request", "senderCompId": "IFXCLIENT0",
"onBehalfOfCompId": "IFXCLIENT0", "jsonReqId": "sa-27-09-2018-20",
"sendingTime": "20180927-14:37:21.155", "deals": [ { "account":
"XXXXXXXXXX", "clOrdId": "Test1134 test 20" } ]}'
resp<- POST(url , body=req, add_headers("accept" =
"applicaton/json","authorization" ="Bearer
AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA",
"content-type" = "application/json"))
data<- (toJSON(content(resp, as = "parsed")))
prettify(data)
- lang: Ruby
label: Ruby
source: >-
require 'uri'
require 'openssl'
require 'net/http'
url =
URI("https://api.citivelocity.com/markets/fxgateway/async/orderreport/api/v1?client_id=da41c8aa-c96b-437c-ad95-dade40c85fa2")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request["accept"] = 'application/json'
request["authorization"] = 'Bearer
AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA'
request.body = "{ \"action\": \"report-request\", \"senderCompId\":
\"IFXCLIENT0\", \"onBehalfOfCompId\": \"IFXCLIENT0\", \"jsonReqId\":
\"sa-27-09-2018-20\", \"sendingTime\": \"20180927-14:37:21.155\",
\"deals\": [ { \"account\": \"XXXXXXXXXX\", \"clOrdId\": \"Test1134
test 20\" } ] }"
response = http.request(request)
puts response.read_body.force_encoding("utf-8")
- lang: C#
label: C#
source: |-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;
using System.Web;
using System.Net;
using System.IO;
namespace ConsoleProgram
{
public class Class1
{
private const string URL = "https://api.citivelocity.com/markets/fxgateway/async/orderreport/api/v1?client_id=da41c8aa-c96b-437c-ad95-dade40c85fa2";
private const string DATA = @"{ \"action\": \"report-request\", \"senderCompId\": \"IFXCLIENT0\", \"onBehalfOfCompId\": \"IFXCLIENT0\", \"jsonReqId\": \"sa-27-09-2018-20\", \"sendingTime\": \"20180927-14:37:21.155\", \"deals\": [ { \"account\": \"XXXXXXXXXX\", \"clOrdId\": \"Test1134 test 20\" } ] }";
static void Main(string[] args)
{
Class1.CreateObject();
}
private static void CreateObject()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = DATA.Length;
request.Headers["authorization"] = "Bearer AAIkZGE0MWM4YWEtYzk2Yi00MzdjLWFkOTUtZGFkZTQwYzg1ZmEyRK15Bg0Q9oQBvRzkpZLarfDOm6R8rriL0myk9KDFU9tnCTh4yNgRMk_rOlQzZfBvYyGxlsLvJRfgvfl9SV-PnvloWRPE4id-PUPaDqn1r3vDDjaVSReVUu3WQ73TObZ1B39elGWUAvTwrkaKGlWIBA";
using (Stream webStream = request.GetRequestStream())
using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.ASCII))
{
requestWriter.Write(DATA);
}
try
{
WebResponse webResponse = request.GetResponse();
using (Stream webStream = webResponse.GetResponseStream() ?? Stream.Null)
using (StreamReader responseReader = new StreamReader(webStream))
{
string response = responseReader.ReadToEnd();
Console.Out.WriteLine(response);
}
}catch (Exception e)
{
Console.Out.WriteLine("-----------------");
Console.Out.WriteLine(e.Message);
}
}
}
}
components:
securitySchemes:
OAuth2:
type: oauth2
description: >-
Citi Velocity APIs use the oAuth2 authentication scheme, which requires
a bearer token to authenticate your API call. See the Citi Authentication API reference for
information on requesting a token.
flows:
clientCredentials:
scopes:
fxapi: ''
tokenUrl: https://api.citivelocity.com/markets/cv/api/fx/oauth2/token
schemas:
FXOrderEnquiry:
description: >
Note: While the fields ‘tradeDate’, ‘rateSetId’, ‘clOrdId’ and ‘orderId’
are optional individually, the client must send them in at least one of
the combinations below to fetch the results.
a) ‘tradeDate’ & ‘rateSetId’
b) ‘clOrdId’
c) ‘orderId’
type: object
required:
- action
- jsonReqId
- senderCompId
- onBehalfOfCompId
- sendingTime
- deals
properties:
action:
type: string
description: 'The service you are requesting. Allowed values: report-request.'
example: report-request
jsonReqId:
type: string
description: >-
The unique identifier that you assign in the JSON request. Must be
alphanumeric.
maxLength: 100
example: Req20181011776
senderCompId:
type: string
description: >-
The Citi-assigned value used to identify the message sender. This
was assigned to you during onboarding. May contain special
characters ( ‘_’, ‘.’, ‘-‘).
maxLength: 20
example: ClientName
onBehalfOfCompId:
type: string
description: >-
The Citi-assigned value used to identify the sub-entity. This was
assigned to you during onboarding. May contain special characters (
‘_’, ‘.’, ‘-‘).
maxLength: 20
example: ClientName
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.
example: 20180820-04:48:29.125
deals:
type: array
items:
required:
- account
properties:
account:
type: string
description: >-
Your Citi-assigned client identifier. May contain special
characters (‘_’, ‘.’, ‘-‘).
maxLength: 50
example: TEST12345
tradeDate:
type: string
format: date
description: 'The trade date for the report. Format: yyyy-MM-dd.'
maxLength: 10
example: '2011-03-03'
rateSetId:
type: integer
format: int32
description: The Rate Set Id for the report.
example: 12345
clOrdId:
type: string
description: The unique identifier that you assign.
maxLength: 64
example: CR12345
orderId:
type: string
format: int64
description: The Citi-assigned order reference.
example: '1824923'
example:
action: report-request
senderCompId: IFXCLIENT0
onBehalfOfCompId: IFXCLIENT0
jsonReqId: b2ff6f61
sendingTime: 20180820-04:48:29.125
deals:
- account: XXXXXXXX
rateSetId: 12725823
tradeDate: '2024-03-06'
ExecutionReport:
description: >
The response will be sent via web socket for Booked, Merged, Accepted,
Pending, and Rejected orders. In case of multiple orders, multiple
dealResponses JSON objects will be present in the dealResponses JSON
array.
type: object
required:
- action
- jsonReqId
- senderCompId
- onBehalfOfCompId
- sendingTime
properties:
action:
type: string
description: Defines action of the message. Value will be report-response.
maxLength: 20
jsonReqId:
type: string
description: The unique identifier for the JSON request. Format is alphanumeric.
maxLength: 100
example: Req20181011776
senderCompId:
type: string
description: >-
The Citi-assigned value used to identify the firm sending the
message.
maxLength: 20
example: clientname
onBehalfOfCompId:
type: string
description: >-
The Citi-assigned value used to identify the sub-entity. May contain
special characters ( ‘_’, ‘.’, ‘-‘).
maxLength: 20
example: clientname
sendingTime:
type: string
description: >-
The time of message transmission. Always expressed in UTC (Universal
Time Coordinated, also known as 'GMT.' Format is
YYYYMMDD-HH:MM:SS.mmm
example: 20180820-04:48:31.155
errorCode:
type: integer
description: >-
The error code associated with the response. See the Error Codes tab
for a complete list.
example: 99
errorMessage:
type: string
description: >-
The error message associated with the response. See the Error Codes
tab for a complete list.
example: unable to process your request
dealResponses:
type: array
items:
required:
- clOrdId
- account
- orderId
- ordStatus
- ccyPair
- tenor
- dealtCcy
- side
- orderQty
- rateSetId
- counterCcy
- contAmtValue
- lastSpotRate
- lastForwardPoints
- outrightRate
- rejectCode
- citiMergedOrder
- customTenorUnit
- ordType
- isBookedWithMktRate
- isBookedWithMRF
- mrfPercentage
- mrfComparisionRate
- mrfVariance
properties:
clOrdId:
type: string
description: The order reference you assigned.
maxLength: 64
example: '22136'
account:
type: string
description: >-
Your account ID. May contain special characters ( ‘_’, ‘.’,
‘-‘).
maxLength: 50
example: ABC123
orderId:
type: string
format: int64
description: The Citi-assigned Order reference.
example: '123456'
ordStatus:
type: string
maxLength: 15
enum:
- BOOKED
- MERGED
- PENDING
- ACCEPTED
- REJECTED
description: >
Status description:
- PENDING: For InstantFX credit check failed orders/late
orders/refund tolerance failed orders
- MERGED: This is applicable only to ‘Net & Merge’ InstantFX
clients; where two or more client orders are for the same ccy
pair and value date, will be merged to create a single, netted
Order and the original, contributing orders will be flagged as
‘Merged’ orders with a cross reference to the Citi created
order.
- BOOKED: order is booked
- ACCEPTED: applicable only for pre-orders (intent to pay)
- REJECTED: order rejected
example: BOOKED
ccyPair:
type: string
maxLength: 6
description: >-
The currency pair that you are trading on. Please discuss your
preference of sending the value of currency pair in either
BaseTerm format or alphabetic sort order with your Citi
Representative.
example: GBPUSD
tenor:
type: string
description: The Tenor the order is being placed for.
maxLength: 10
example: BROKEN
valueDate:
type: string
format: date
description: The value date of the Order. Format is yyyy-MM-dd.
example: '2012-11-15'
dealtCcy:
type: string
maxLength: 3
description: The currency for which you supplied the dealt amount.
example: USD
side:
type: string
maxLength: 1
description: >-
Indicates whether you are buying (B) or selling (S) the dealt
ccy.
enum:
- B
- S
example: S
orderQty:
type: string
format: double
description: The dealt ccy amount
example: '100'
rateSetId:
type: integer
format: int32
description: >-
If the rating method was IFX, this is the Rate Set Id used in
the rating of the order. In case of a Refund order, it is the
rate set Id previously used to book original order.
counterCcy:
type: string
maxLength: 3
description: The counter ccy of the ccy pair, not the dealt ccy.
example: GBP
contAmtValue:
type: string
format: double
description: The calculated counter ccy amount.
example: '6543.65'
lastSpotRate:
type: string
format: double
description: The spot rate applied to the order.
example: '1.5282'
lastForwardPoints:
type: string
format: double
description: >-
The forward points applied to the order. Will be zero for spot
transactions.
example: '0'
outrightRate:
type: string
description: The outright (spot and fwd points) rate applied to the order.
example: '1.5282'
rejectCode:
type: integer
description: The reject code if order status = ‘REJECTED’ (rejected).
rejectReason:
type: string
description: >-
The reason for rejection if order status = ‘REJECTED’’
(rejected).
maxLength: 250
citiMergedOrder:
type: boolean
description: >-
Indicates whether this is a merged order created by Citi. Only
applicable to ‘Net & Merge’ clients.
example: false
clOrdLinkId:
type: string
format: int64
description: >-
The Citi-assigned Merged Order reference. This is applicable
only to ‘Net & Merge’ InstantFX clients; where two or more
orders are for the same ccy pair and value date, will be
merged to create a single, netted Order and the original,
contributing orders will be flagged as ‘Merged’ orders with a
cross reference to the Citi created order.
example: '123456'
fixingDate:
type: string
format: date
description: >-
Optional field relating to NDF trades only. The fixing date of
the NDF Order.
example: '2012-11-12'
customTenorUnit:
type: integer
description: >-
The tenor unit to be used when booking a trade with a Tenor
type of T. Current supported values are 1, 3, 5.
example: 1
clientData:
type: string
description: Contains the value that was sent in the original request.
maxLength: 30
example: Amount:1234|onBehalfOf:ClientB
clientData2:
type: string
description: Contains the value that was sent in the original request.
maxLength: 30
example: Amount:1234|onBehalfOf:ClientB
clientData3:
type: string
description: Contains the value that was sent in the original request.
maxLength: 30
example: Amount:1234|onBehalfOf:ClientB
clientData4:
type: string
description: Contains the value that was sent in the original request.
maxLength: 30
example: Amount:1234|onBehalfOf:ClientB
clientData5:
type: string
description: Contains the value that was sent in the original request.
maxLength: 30
example: Amount:1234|onBehalfOf:ClientB
origClOrdId:
type: string
format: int64
description: >-
Conditional field. Mandatory for ordType =”REFUND”. The value
received in the “orderId” field of the standard order response
published by Citi.
example: '123456'
ordType:
description: The order type.
type: string
maxLength: 15
enum:
- STANDARD
- REFUND
- PRE
- DRAWDOWN
- FORECAST
- STAGING
- STAGING_MERGED
- BALANCE
example: STANDARD
isBookedWithMktRate:
type: boolean
description: To indicate if the order is booked on market rate
isBookedWithMRF:
type: boolean
description: >-
This flag will be set if the order is booked with an adjusted
rate. Note: Deals will be booked with an adjusted rate
whenever MRF happens if you opted for it.
example: false
mrfId:
type: string
description: >-
Conditional field. The reference number for the adjusted rate
if isBookedWithMRF ='TRUE'.
example: '123'
mrfPercentage:
type: string
format: double
description: Percentage that is used to adjust the rate.
example: '3.54'
mrfComparisionRate:
type: string
format: double
description: Rate at which Citi compares in market while order booking.
example: '1.5982'
mrfVariance:
type: string
format: double
description: Variance between rate set rate and current market rate.
example: '4.58'
udc1:
type: string
description: The purpose code received in the order request.
example: '3'
udc2:
type: string
description: The purpose code received in the order request.
example: '2'
udc3:
type: string
description: The purpose code received in the order request.
example: '1'
backOffRef:
type: string
description: >-
Back office settlement reference number for booked orders.
Value will be null in the order response. The value can be
obtained through a report request for the booked order. Please
contact your Citi Representative to request the report.
maxLength: 60
example: 1054T31966
uniqueTradeIdentifier:
type: string
description: >-
UTI value for booked orders. This value will be null in the
order response. The value can be obtained through Report
request for the booked order. Please contact your Citi
Representative to request the report.
maxLength: 200
example: 1030187177149384LDN324700496727
example:
action: report-response
jsonReqId: sa-27-09-2018-50
senderCompId: IFXCLIENT0
onBehalfOfCompId: IFXCLIENT0
sendingTime: 20180927-09:41:40.763
dealResponses:
- clOrdId: Test1134_1
account: XXXXXXXXXX
orderId: '2755366'
ordStatus: BOOKED
ccyPair: EURINR
tenor: BROKEN
valueDate: '2018-10-29'
dealtCcy: EUR
side: B
orderQty: '50'
rateSetId: 142248
counterCcy: INR
contAmtValue: '4278.73'
lastSpotRate: '85.5746'
lastForwardPoints: '0'
outrightRate: '85.5746'
rejectCode: 0
citiMergedOrder: false
fixingDate: '2018-10-25'
customTenorUnit: 0
ordType: STANDARD
isBookedWithMktRate: false
isBookedWithMRF: false
mrfPercentage: '0'
mrfComparisionRate: '0'
mrfVariance: '0'
backOffRef: 104F836181
uniqueTradeIdentifier: '10301871771260946966'
- clOrdId: Test1134_2
account: XXXXXXXXXX
orderId: '2755367'
ordStatus: BOOKED
ccyPair: INRUSD
tenor: BROKEN
valueDate: '2018-10-29'
dealtCcy: USD
side: B
orderQty: '77'
rateSetId: 142248
counterCcy: INR
contAmtValue: '5614.96'
lastSpotRate: '72.9215'
lastForwardPoints: '0'
outrightRate: '72.9215'
rejectCode: 0
citiMergedOrder: false
customTenorUnit: 0
ordType: STANDARD
isBookedWithMktRate: false
isBookedWithMRF: false
mrfPercentage: '0'
mrfComparisionRate: '0'
mrfVariance: '0'
backOffRef: 104F836182
uniqueTradeIdentifier: '10301871771260946967'
FXGrossRefundEnquiryRequest:
description: >
This report enquiry shows the current usage and availability of
refunds. While the fields `tradeDate`, `rateSetId`, `fromTradeDate`,
`toTradeDate`, `symbol` are optional, you must send them in at least one
of the combinations below to fetch the results:
a) `tradeDate` & `symbol`
b) `rateSetId` & `symbol`
c) `fromTradeDate` & `toTradeDate` & `symbol`
type: object
required:
- action
- jsonReqId
- senderCompId
- onBehalfOfCompId
- account
- symbol
- sendingTime
properties:
action:
type: string
description: >-
The service you are requesting. Allowed value:
refund-report-request.
example: refund-report-request
jsonReqId:
type: string
description: >-
The unique identifier that you assign in the JSON request. Must be
alphanumeric.
maxLength: 100
example: Req20181011776
senderCompId:
type: string
description: >-
The Citi-assigned value used to identify the message sender. This
was assigned to you during onboarding. May contain special
characters ( ‘_’, ‘.’, ‘-‘).
maxLength: 20
example: ClientName
onBehalfOfCompId:
type: string
description: >-
The Citi-assigned value used to identify the sub-entity. This was
assigned to you during onboarding. May contain special characters (
‘_’, ‘.’, ‘-‘).
maxLength: 20
example: ClientName
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.
example: 20180820-04:48:29.125
account:
type: string
description: >-
The Account ID supplied by Citi. May contain special characters
(‘_’, ‘.’, ‘-‘)
maxLength: 50
example: TEST12345
rateSetId:
type: integer
format: int32
description: The Rate Set Id for the report.
example: 12345
symbol:
type: string
maxLength: 6
description: >-
The currency pair value. The value must be ‘ALL’ to enquire refund
availability for all the currency pairs on which orders are placed
in the specified rateSetId. Otherwise, the value must be the
specific currency to which you want to enquire refund availability
for the mentioned symbol in the mentioned rateSetId.
example: ALL
tradeDate:
type: string
format: date
description: 'The rate set’s trade date for the report. Format: yyyy-MM-dd.'
example: '2023-09-21'
fromTradeDate:
type: string
format: date
description: >-
Denotes the starting date in rate set’s trade date range for the
report. Format: yyyy-MM-dd.
example: '2026-02-01'
toTradeDate:
type: string
format: date
description: >-
Denotes the ending date in rate set’s trade date range for the
report. Format: yyyy-MM-dd.
example: '2026-03-01'
example:
action: refund-report-request
senderCompId: CTEST12001
onBehalfOfCompId: BTEST62013
jsonReqId: brs-25-09-2018-01
sendingTime: 20210406-04:48:29.125
account: client1
symbol: ALL
rateSetId: 12345
FXGrossRefundEnquiryResponse:
type: object
required:
- action
- jsonReqId
- senderCompId
- onBehalfOfCompId
- sendingTime
properties:
action:
type: string
description: >-
Defines the action of the message. Value will be
refund-report-response.
example: refund-report-response
jsonReqId:
type: string
description: The unique identifier for the JSON request. Format is alphanumeric.
maxLength: 100
example: Req20181011776
senderCompId:
type: string
description: >-
The Citi-assigned value used to identify the firm sending the
message.
maxLength: 20
example: clientname
onBehalfOfCompId:
type: string
description: >-
The Citi-assigned value used to identify the sub-entity. May contain
special characters ( ‘_’, ‘.’, ‘-‘).
maxLength: 20
example: clientname
sendingTime:
type: string
description: >-
The time of message transmission. Always expressed in UTC (Universal
Time Coordinated, also known as 'GMT.' Format is
YYYYMMDD-HH:MM:SS.mmm.
example: 20180820-04:48:31.155
errorCode:
type: integer
description: >-
The error code associated with the response. See the Error Codes tab
for a complete list.
example: 99
errorMessage:
type: string
description: >-
The error message associated with the response. See the Error Codes
tab for a complete list.
example: unable to process your request
refundAvailable:
type: object
properties:
grAvailable:
type: array
items:
required:
- account
- rateSetId
- currencyPair
- baseCcy
- refundBaseBuyUsed
- refundBaseSellUsed
- refundBaseBuyAvailable
- refundBaseSellAvailable
- tradeDate
properties:
account:
type: string
description: >-
The API Client ID supplied by Citi. May contain special
characters (‘_’, ‘.’, ‘-‘).
maxLength: 50
example: TEST12345
rateSetId:
type: integer
format: int32
description: The Rate Set Id for the report.
example: 12345
currencyPair:
type: string
description: >-
A 6-character sorted alpha string containing two ISO ccy
codes that this rate applies.
example: EURUSD
tierSequence:
type: integer
description: >-
Only applicable if you are configured for time-based
guaranteed rates. Shows the ordinal number of the rate
used in the set of time-based rates, ordered according to
“valid until time”, for the specified currency pair.
example: 1
baseCcy:
type: string
description: The base currency of the currency pair.
maxLength: 3
example: EUR
refundBaseBuyUsed:
type: number
format: double
description: The buy refund amount used in terms of base currency.
example: 111.24
refundBaseSellUsed:
type: number
format: double
description: The sell refund amount used in terms of base currency.
example: 111.24
refundBaseBuyAvailable:
type: number
format: double
description: The buy refund amount available in terms of base currency.
example: 55.34
refundBaseSellAvailable:
type: number
format: double
description: >-
The sell refund amount available in terms of base
currency.
example: 66.99
tradeDate:
description: The ratesets tradeDate
type: string
format: date
example: '2026-02-03'
example:
refundAvailable:
grAvailable:
- account: client1
rateSetId: 12345
currencyPair: GBPZMW
tierSequence: 1
baseCcy: GBP
refundBaseBuyUsed: 15.71
refundBaseSellUsed: 0
refundBaseBuyAvailable: 0
refundBaseSellAvailable: 15.67
tradeDate: '2026-02-02'
- account: client1
rateSetId: 12345
currencyPair: GBPZMW
tierSequence: 2
baseCcy: GBP
refundBaseBuyUsed: 20.59
refundBaseSellUsed: 18.54
refundBaseBuyAvailable: 76.98
refundBaseSellAvailable: 76.54
tradeDate: '2026-02-02'
action: refund-report-response
jsonReqId: brs-25-09-2018-01
senderCompId: IFXCLIENT0
onBehalfOfCompId: IFXCLIENT0
sendingTime: 20260312-11:18:40.741
FXPortfolioRefundEnquiryRequest:
description: >
This report enquiry shows the current usage and availability of
portfolio refunds. While the fields `tradeDate`, `rateSetId`, `symbol`
are optional, you must send them in at least one of the combinations
below to fetch the results:
a) `tradeDate` & `symbol`
b) `rateSetId` & `symbol`
c) `fromTradeDate` & `toTradeDate` & `symbol`
type: object
required:
- action
- jsonReqId
- senderCompId
- onBehalfOfCompId
- sendingTime
- account
- symbol
properties:
action:
type: string
description: >-
The service you are requesting. Allowed value:
refund-report-response.
example: refund-report-response
jsonReqId:
type: string
description: The unique identifier for the JSON request. Format is alphanumeric.
maxLength: 100
example: Req20181011776
senderCompId:
type: string
description: >-
The Citi-assigned value used to identify the firm sending the
message.
maxLength: 20
example: clientname
onBehalfOfCompId:
type: string
description: >-
The Citi-assigned value used to identify the sub-entity. May contain
special characters ( ‘_’, ‘.’, ‘-‘).
maxLength: 20
example: clientname
sendingTime:
type: string
description: >-
The time of message transmission. Always expressed in UTC (Universal
Time Coordinated, also known as 'GMT.' Format is
YYYYMMDD-HH:MM:SS.mmm.
example: 20180820-04:48:31.155
account:
type: string
description: >-
The Account ID supplied by Citi. May contain special characters
(‘_’, ‘.’, ‘-‘).
example: TEST12345
rateSetId:
type: integer
format: int32
description: The Rate Set Id for the report.
example: 12345
symbol:
type: string
maxLength: 6
description: >-
The currency pair value. The value must be ‘ALL’ to enquire refund
availability for all the currency pairs on which orders are placed
in the specified rateSetId. Otherwise, the value must be the
specific currency to which you want to enquire refund availability
for the mentioned symbol in the mentioned rateSetId.
example: EURUSD
tradeDate:
type: string
format: date
description: 'The rate set’s trade date for the report. Format: yyyy-MM-dd.'
example: '2023-09-21'
fromTradeDate:
type: string
format: date
description: >-
Denotes the starting date in rate set’s trade date range for the
report. Format: yyyy-MM-dd.
example: '2026-02-01'
toTradeDate:
type: string
format: date
description: >-
Denotes the ending date in rate set’s trade date range for the
report. Format: yyyy-MM-dd.
example: '2026-03-01'
example:
action: refund-report-request
senderCompId: IFXQA2
onBehalfOfCompId: IFXQA2
jsonReqId: 2735c485-a659-49f4-ab87-a1b40f62eb49
sendingTime: 20180820-04:48:31.155
account: client0
symbol: ALL
tradeDate: '2023-09-14'
FXPortfolioRefundEnquiryResponse:
type: object
required:
- action
- jsonReqId
- senderCompId
- onBehalfOfCompId
- sendingTime
properties:
action:
type: string
description: >-
Defines the action of the message. Value will be
refund-report-response.
example: refund-report-response
jsonReqId:
type: string
description: The unique identifier for the JSON request. Format is alphanumeric.
maxLength: 100
example: Req20181011776
senderCompId:
type: string
description: >-
The Citi-assigned value used to identify the firm sending the
message.
maxLength: 20
example: clientname
onBehalfOfCompId:
type: string
description: >-
The Citi-assigned value used to identify the sub-entity. May contain
special characters ( ‘_’, ‘.’, ‘-‘).
maxLength: 20
example: clientname
sendingTime:
type: string
description: >-
The time of message transmission. Always expressed in UTC (Universal
Time Coordinated, also known as 'GMT.' Format is
YYYYMMDD-HH:MM:SS.mmm.
example: 20180820-04:48:31.155
errorCode:
type: integer
description: >-
The error code associated with the response. See the Error Codes tab
for a complete list.
example: 99
errorMessage:
type: string
description: >-
The error message associated with the response. See the Error Codes
tab for a complete list.
example: unable to process your request
refundAvailable:
type: object
properties:
prAvailable:
type: array
items:
required:
- account
- rateSetId
- currencyPair
- refundReportCcy
- totalTradeVolume
- portfolioVolumeUsed
- portfolioVolumeAvailable
- portfolioUtilizedPercent
- ccyPairVolumeUsed
- ccyPairVolumeAvailable
- ccyPairUtilizedPercent
- tradeDate
properties:
account:
type: string
description: >-
The API Client ID supplied by Citi. May contain special
characters (‘_’, ‘.’, ‘-‘)
maxLength: 50
example: TEST12345
rateSetId:
type: integer
format: int32
description: The Rate Set Id for the report
example: 12345
currencyPair:
type: string
maxLength: 6
example: EURUSD
refundReportCcy:
type: string
maxLength: 3
description: >-
Note: The amount in this report is in terms of
refundReportCcy
example: EUR
totalTradeVolume:
description: Total trade volume on rateSetId
type: number
format: double
example: 112.45
tierSequence:
type: integer
description: >-
Only applicable if you are configured for time-based
guaranteed rates. Shows the ordinal number of the rate
used in the set of time-based rates, ordered according to
“valid until time”, for the specified currencypair.
example: 1
portfolioVolumeUsed:
description: Refund volume utilized at portfolio level
type: number
format: double
example: 112.45
portfolioVolumeAvailable:
description: Portfolio refund available limit
type: number
format: double
example: 24.5
portfolioUtilizedPercent:
description: Portfolio refund limit utilized percent
type: number
format: double
example: 2.5
ccyPairVolumeUsed:
description: Portfolio refund limit utilized at currency pair level
type: number
format: double
example: 111.24
ccyPairVolumeAvailable:
description: Portfolio refund limit available at currency pair level
type: number
format: double
example: 24.48
ccyPairUtilizedPercent:
description: >-
Portfolio refund limit utilized percent at currency pair
level
type: number
format: double
example: 24.48
tradeDate:
description: The ratesets tradeDate
type: string
format: date
example: '2026-02-03'
example:
refundAvailable:
prAvailable:
- account: client1
rateSetId: 12621330
currencyPair: EURNZD
refundReportCcy: EUR
totalTradeVolume: 17150376.42
portfolioVolumeUsed: 44745.07
portfolioVolumeAvailable: 5100367.85
portfolioUtilizedPercent: 0.87
ccyPairVolumeUsed: 0
ccyPairVolumeAvailable: 5100367.85
ccyPairUtilizedPercent: 0
tradeDate: '2026-02-02'
- account: client1
rateSetId: 12621330
currencyPair: EUROMR
refundReportCcy: EUR
totalTradeVolume: 17150376.4
portfolioVolumeUsed: 44745.07
portfolioVolumeAvailable: 5100367.85
portfolioUtilizedPercent: 0.87
ccyPairVolumeUsed: 0
ccyPairVolumeAvailable: 5100367.85
ccyPairUtilizedPercent: 0
tradeDate: '2026-02-02'
action: refund-report-response
jsonReqId: a9c4b8d5-6973-49ed-b8ec-491e707dc80b
senderCompId: IFXQA2
onBehalfOfCompId: IFXQA2
sendingTime: 20260312-11:18:40.741
FXTwoWayRefundEnquiryRequest:
description: >-
This report enquiry shows the current usage and availability of two-way
refunds. You must send them in at least the ‘origClOrdId’ or ‘rateSetId’
for ALL orders against the ratesets.
type: object
required:
- action
- jsonReqId
- senderCompId
- onBehalfOfCompId
- sendingTime
- symbol
- origClOrdID
- account
properties:
action:
type: string
description: >-
The service you are requesting. Allowed value:
refund-report-response.
example: refund-report-response
jsonReqId:
type: string
description: The unique identifier for the JSON request. Format is alphanumeric.
maxLength: 100
example: Req20181011776
senderCompId:
type: string
description: >-
The Citi-assigned value used to identify the firm sending the
message.
maxLength: 20
example: clientname
onBehalfOfCompId:
type: string
description: >-
The Citi-assigned value used to identify the sub-entity. May contain
special characters ( ‘_’, ‘.’, ‘-‘).
maxLength: 20
example: clientname
sendingTime:
type: string
description: >-
The time of message transmission. Always expressed in UTC (Universal
Time Coordinated, also known as 'GMT.' Format is
YYYYMMDD-HH:MM:SS.mmm.
example: 20180820-04:48:31.155
account:
type: string
description: >-
The Account ID supplied by Citi. May contain special characters
(‘_’, ‘.’, ‘-‘)
example: TEST12345
origClOrdId:
type: string
format: int64
description: >
The original order reference. To enquire refund availability for
specific order, this field needs to be populated with the orderId
published by Citi. This Id should be a standard order id and not
refund order id. Use 'ALL' to pull report for all orders placed in
the specified rateSetId.
example: '12345'
symbol:
type: string
description: >
The currency pair value. The value must be ‘ALL’ to enquire refund
availability for all the currency pairs on which orders are placed
in the specified rateSetId. Otherwise, the value must be the
specific currency to which you want to enquire refund availability
for the mentioned symbol in the mentioned rateSetId
example: EURUSD
rateSetId:
type: integer
format: int32
description: |
Optional field to pull report for all orders placed in the rateset.
example: 12345
example:
action: refund-report-request
senderCompId: CTEST12001
onBehalfOfCompId: BTEST62013
jsonReqId: brs-25-09-2018-01
sendingTime: 20210406-04:48:29.125
account: client0
rateSetId: 12345
origClOrdID: ALL
symbol: ALL
FXTwoWayRefundEnquiryResponse:
type: object
required:
- action
- jsonReqId
- senderCompId
- onBehalfOfCompId
- sendingTime
properties:
action:
type: string
description: >-
Defines the action of the message. Value will be
refund-report-response.
example: refund-report-response
jsonReqId:
type: string
description: The unique identifier for the JSON request. Format is alphanumeric.
maxLength: 100
example: Req20181011776
senderCompId:
type: string
description: >-
The Citi-assigned value used to identify the firm sending the
message.
maxLength: 20
example: clientname
onBehalfOfCompId:
type: string
description: >-
The Citi-assigned value used to identify the sub-entity. May contain
special characters ( ‘_’, ‘.’, ‘-‘).
maxLength: 20
example: clientname
sendingTime:
type: string
description: >-
The time of message transmission. Always expressed in UTC (Universal
Time Coordinated, also known as 'GMT.' Format is
YYYYMMDD-HH:MM:SS.mmm.
example: 20180820-04:48:31.155
errorCode:
type: integer
description: >-
The error code associated with the response. See the Error Codes tab
for a complete list.
example: 99
errorMessage:
type: string
description: >-
The error message associated with the response. See the Error Codes
tab for a complete list.
example: unable to process your request
refundAvailable:
type: object
description: Contains refund availability report list.
properties:
trAvailable:
type: array
items:
required:
- account
- rateSetId
- currencyPair
- baseCcy
- refundBaseBuyUsed
- refundBaseSellUsed
- refundBaseBuyAvailable
- refundBaseSellAvailable
properties:
account:
type: string
description: >-
Your client ID supplied by Citi. May contain special
characters (‘_’, ‘.’, ‘-‘)
maxLength: 50
example: TEST12345
origClOrdID:
type: integer
format: int64
description: The original order reference
example: 6432780
rateSetId:
type: integer
format: int32
description: The Rate Set Id for the report.
example: 12345
currencyPair:
type: string
description: >-
A 6-character sorted alpha string containing two ISO ccy
codes that this rate applies.
example: EURUSD
tierSequence:
type: integer
description: >-
Only applicable if you are configured for time-based
guaranteed rates. Shows the ordinal number of the rate
used in the set of time-based rates, ordered according to
“valid until time”, for the specified currency pair.
example: 1
baseCcy:
type: string
description: The base currency of the currency pair.
maxLength: 3
example: EUR
refundBaseBuyUsed:
type: number
format: double
description: The buy refund amount used in terms of base currency.
example: 111.24
refundBaseSellUsed:
type: number
format: double
description: The sell refund amount used in terms of base currency.
example: 111.24
refundBaseBuyAvailable:
type: number
format: double
description: The buy refund amount available in terms of base currency.
example: 55.34
refundBaseSellAvailable:
type: number
format: double
description: >-
The sell refund amount available in terms of base
currency.
example: 66.99
example:
refundAvailable:
trAvailable:
- account: client0
rateSetId: 12345
origClOrdID: 12357
currencyPair: EURUSD
tierSequence: 1
baseCcy: EUR
refundBaseBuyUsed: 15.71
refundBaseSellUsed: 0
refundBaseBuyAvailable: 0
refundBaseSellAvailable: 15.67
- account: client0
rateSetId: 12345
origClOrdID: 12357
currencyPair: EURUSD
tierSequence: 2
baseCcy: EUR
refundBaseBuyUsed: 16.33
refundBaseSellUsed: 34.36
refundBaseBuyAvailable: 45.66
refundBaseSellAvailable: 19.99
- account: client0
rateSetId: 12345
origClOrdID: 789655
currencyPair: GBPUSD
tierSequence: 1
baseCcy: GBP
refundBaseBuyUsed: 34.71
refundBaseSellUsed: 13
refundBaseBuyAvailable: 98
refundBaseSellAvailable: 154.07
action: refund-report-response
jsonReqId: brs-25-09-2018-01
senderCompId: IFXCLIENT0
onBehalfOfCompId: IFXCLIENT0
sendingTime: 20180925-15:06:48.099
tags: []