Foreign Currency Exchange
Overview
Get Available Currency Pairs
Request query:
- PageNumber: list page number (optional, default = 1)
- PageSize: list page size (optional, default = 10)
Response:
- array of
- AssetPair: Asset pair code
JWT Authorization header using the Bearer scheme.
Example: "Authorization: Bearer {token}"
Tokens can be generated using the /api/v1/public/auth/login endpoint.
OK
Bad Request
Get Account Details
Request query:
- CustomerId: non mandatory customerid, if not provided the main customers account details will be returned
- SourceCurrency: Currency code of the currency to be spent in the exchange.
- DestinationCurrency: Currency code of the currency to be obtained in the exchange.
- AssetExchangeType : either Sell or Buy
Response:
- array of
- AssetPair: Asset pair code
JWT Authorization header using the Bearer scheme.
Example: "Authorization: Bearer {token}"
Tokens can be generated using the /api/v1/public/auth/login endpoint.
OK
Bad Request
Get Quote for Exchange
Request Body:
- CustomerId: non mandatory customerid, if not provided the main customers account details will be returned
- SourceCurrency: Currency code of the currency to be spent in the exchange.
- DestinationCurrency: Currency code of the currency to be obtained in the exchange.
- SourceAmount: The fixed quantity of source currency to be used in the exchange. Either SourceAmount or DesinationAmount must be provided. (optional)
- DestinationAmount: The precise quantity of the destination currency which is to be purchased, taking fees into account. Either SourceAmount or DesinationAmount must be provided. (optional)
- SourceAccountId : Source account id
- DestinationAccountId: Destination account id ( optional, if there is no destination account, one will be created automatically as part of the exchange)
Response:
- CustomersId: Customer's Id
- SourceAsset: The asset being spent in the exchange.
- DestinationAsset: The asset being acquired in the exchange.
- SourceAmount: This is provided if the inputted value of SourceAmount was not null. This should match the inputted value, and refers to the net price to be payed with the source currency. (optional)
- DestinationAmount: This is provided if the inputted value of DestinationAmount was not null. This should match the inputted value, and refers to the net quantity of the destination currency to be acquired, taking fees into account. (optional)
- QuoteSourceAmount: This is provided if the inputted value of DestinationAmount was not null. This value is the quoted price for how much source currency needs to be spent to obtain the DestinationAmount of DestinationCurrency, taking fees into account. (optional)
- QuoteDestinationAmount: This is provided if the inputted value of SourceAmount was not null. This value is the quoted amount of DesinationCurrency which will be purchased by spending SourceAmount of SourceCurrency, taking fees into account. (optional)
- SourceAmountLessFees: This is the amount of SourceCurrency remaining after fees are applied. Only this quantity will actually be exchanged for the DestinationCurrency.
- TotalFees: Total fees
- CommissionFee: Exchange commission fee
- QuotedFXRate: The Exchange rate which will be used for the quoted exchange.
- QuotedFXRateID: FX rate ID associated with this quote. This is used as an input to ExecuteExchange to apply the quote.
- QuotedFxRateExpiry: FX rate ID expiry date
Possible validation errors:
- Required
- Invalid
- Price_Too_Low (specified price lower than minimum allowed)
- Amount_Too_Low (specified amount lower than minimum allowed)
- Price_Too_High (specified price higher than maximum allowed)
- Amount_Too_High (specified amount highter than maximum allowed)
- Insufficient_Customer_Balance (customer does not have sufficient balance for exchange)
JWT Authorization header using the Bearer scheme.
Example: "Authorization: Bearer {token}"
Tokens can be generated using the /api/v1/public/auth/login endpoint.
OK
Bad Request
Possible Error Codes
Execute Exchange
Request Body:
- CustomersId: Customer's Id
- FxRateId: The Foreign Exchange rate id, which was returned by calling the GetQuoteAsync endpoint
- PurposeCode: Reason code for the transfer to the payee (required for foreign exchanges). E.g. 'PUC001'
Response:
- Id: Exchange Id
- ExchangeType: Exchange type (possible values: Buy, Sell)
- Status: Exchange status (possible values: WaitingForApproval, Rejected, WaitingForConfirmation, AwaitingRfi, Pending, Completed, Failed)
- FromTransactionsId: Associated exchange transaction from debited managee asset account
- ToTransactionsId: Associated exchange transaction to credited managee asset account
- ManageesId: Managee's Id
- AssetPair: Asset pair
- RequestAmount: Amount requested
- RequestPrice: Price requested
- ExecutedAmount: Amount executed
- ExecutedPrice: Price executed
- CommissionFee: Commission fee
- PayeesId: If receiving account is a passthrough account, receiving payee's Id
- TransferType: If receiving account is a passthrough account, type of transfer from passthrough account to payee (possible values: Wire, ACH)
- bHasOpenRfi: Flag indicating if request for information is pending to be submitted (FX only)
Possible validation errors:
- Required
- Invalid
- Price_Too_Low (specified price lower than minimum allowed)
- Amount_Too_Low (specified amount lower than minimum allowed)
- Price_Too_High (specified price higher than maximum allowed)
- Amount_Too_High (specified amount highter than maximum allowed)
- Screening_Failed (transfer to an external payee screening failed, exchange not permitted)
- Insufficient_Customer_Balance (managee does not have sufficient balance for exchange)
- Price_Updated (Asset price has updated, exchange cannot be executed at requested price)
JWT Authorization header using the Bearer scheme.
Example: "Authorization: Bearer {token}"
Tokens can be generated using the /api/v1/public/auth/login endpoint.
OK
Bad Request
Request Body Example:
Success Response Example:
Possible Error Codes
Last updated