Skip to main content

Foreign Exchange

Get Current Rateโ€‹

This API retrieves the foreign exchange rate for a given transfer between two currencies.

GET {{baseUrl}}/zoqq/api/v1/transfer/rate

Description

This API returns the applicable exchange rate, the calculated destination amount based on the source amount, or the calculated source amount based on the destination amount, along with related details.

๐Ÿ“ฉ Request Headers

x-api-key string required

Shared X-API key by Zoqq

x-product-id string required

Shared Product ID by Zoqq

x-request-id string required

Idempotency key for request tracking

x-user-id string required

User identification key

Content-Type string required

Must be application/json

Authorization string required

Bearer access token

๐Ÿ” Query Parameters

sourceAmount double conditional

Amount to be debited. This must be blank if destinationAmount is provided.

sourceCurrencyCode string required

Source amount currency code (3-letter ISO-4217 code).

destinationCurrencyCode string required

Destination amount currency code (3-letter ISO-4217 code).

destinationAmount double conditional

Amount to be credited. This must be blank if sourceAmount is provided.

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/transfer/rate?sourceAmount=10&destinationCurrencyCode=USD&sourceCurrencyCode=SGD&destinationAmount=' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"code": 200,
"status": "success",
"message": "Rate fetched Successfully",
"data": [
{
"netExchangeRate": 0.775,
"sourceCurrencyCode": "SGD",
"destinationCurrencyCode": "USD",
"rateCaptureTime": "2025-08-20T11:10:12+0000",
"sourceAmount": 10.0,
"destinationAmount": 7.75
}
]
}

Generate Quoteโ€‹

This endpoint gives the user a guaranteed rate for an agreed period of time.

POST {{baseUrl}}/zoqq/api/v1/transfer/quote

Description

Retrieve a foreign exchange (FX) quote for a currency conversion. The quote provides the applicable exchange rate, the amount to be received after conversion, and the duration for which the rate remains valid. This helps to preview the conversion details in advance before proceeding with the actual transaction.

๐Ÿ“ฉ Request Headers

x-api-key string required

Shared X-API key by Zoqq

x-product-id string required

Shared Product ID by Zoqq

x-request-id string required

Idempotency key for request tracking

x-user-id string required

User identification key

Content-Type string required

Must be application/json

Authorization string required

Bearer access token

๐Ÿ“ฆ Request Body Parameters

quoteType string required

Type of quote. Allowed values: payout, conversion.

lockPeriod string required

Quote validity period. Allowed values: 5_mins, 15_mins, 1_hour, 4_hours, 8_hours, 24_hours.

conversionSchedule string required

Conversion timing. Allowed values: immediate, end_of_day, next_day, 2_days.

sourceCurrencyCode string required

Source currency code (3-letter ISO-4217 code).

destinationCurrencyCode string required

Destination currency code (3-letter ISO-4217 code).

sourceAmount double conditional

Amount to be debited. This must be null if destinationAmount is provided.

destinationAmount double conditional

Amount to be credited. This must be null if sourceAmount is provided.

Request Example

curl --location --request POST \
--url '{{baseUrl}}/zoqq/api/v1/transfer/quote' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
--data '{
"quoteType":"conversion",
"lockPeriod":"15_mins",
"conversionSchedule":"immediate",
"sourceCurrencyCode":"USD",
"destinationCurrencyCode":"SGD",
"sourceAmount": 500,
"destinationAmount":null
}'

Response Example

{
"code": 200,
"status": "success",
"message": "Quote Generated Successfully",
"data": [
{
"id": "6d3c2419-7921-30ed-b093-739a4fa25a4d",
"netExchangeRate": "1.2726106800",
"expiryTime": "2025-08-07T07:49:12+0000",
"sourceCurrencyCode": "USD",
"destinationCurrencyCode": "SGD",
"quoteType": "conversion",
"conversionSchedule": "2025-08-07",
"lockPeriod": "MIN_15",
"rateCaptureTime": "2025-08-07T07:34:12+0000",
"sourceAmount": "500.0",
"destinationAmount": "636.31",
"createdTime": "2025-08-07"
}
]
}

Fetch Quote Detailsโ€‹

This API retrieves a specific quote by specifying the quote_id.

GET {{baseUrl}}/zoqq/api/v1/transfer/quotedetails

Description

Retrieve the full details of a previously generated FX quote using itโ€™s unique quote ID. It is used to confirm quote details such as exchange rate, buy/sell currencies, and quote expiration before executing the conversion. This ensures that the quote is still valid and can be referenced in a conversion request.

๐Ÿ“ฉ Request Headers

x-api-key string required

Shared X-API key by Zoqq

x-product-id string required

Shared Product ID by Zoqq

x-request-id string required

Idempotency key for request tracking

x-user-id string required

User identification key

Content-Type string required

Must be application/json

Authorization string required

Bearer access token

๐Ÿ” Query Parameters

quote_id string required

ID of the quote to retrieve.

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/transfer/quotedetails?quote_id={{PreviouslyGeneratedQuoteId}}' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"code": 200,
"status": "success",
"message": "Quote fetched Successfully",
"data": {
"id": "quote_6wBIHIRhPElAHfcgVaDFZs",
"netExchangeRate": 1.3279389,
"expiryTime": "2023-06-16T05:07:03Z",
"sourceCurrencyCode": "USD",
"destinationCurrencyCode": "SGD",
"conversionSchedule": "immediate",
"lockPeriod": "5_mins",
"rateCaptureTime": "2023-06-16T01:02:03Z",
"sourceAmount": 100,
"destinationAmount": 132.79
}
}

Create Conversionโ€‹

This API executes a currency conversion based on a previously generated quote.

POST {{baseUrl}}/zoqq/api/v1/transfer/conversion

Description

Initiate a currency conversion between two wallets. This API debits one currency wallet and credits another within your Zoqq account to convert wallet balances. The conversion must reference a previously obtained quote to apply a fixed exchange rate.

๐Ÿ“ฉ Request Headers

x-api-key string required

Shared X-API key by Zoqq

x-product-id string required

Shared Product ID by Zoqq

x-request-id string required

Idempotency key for request tracking

x-user-id string required

User identification key

Content-Type string required

Must be application/json

Authorization string required

Bearer access token

๐Ÿ“ฆ Request Body Parameters

quote_id string required

Valid quote ID obtained from the Generate Quote API.

source_amount double conditional

Amount to be debited. This must be null if destination_amount is provided. The value must exactly match the sourceAmount that was used while generating the quote.

destination_amount double conditional

Amount to be credited. This must be null if source_amount is provided. The value must exactly match the destinationAmount that was used while generating the quote.

source_currency string required

Source currency code (3-letter ISO-4217 code). The value must exactly match the sourceCurrency that was used while generating the quote.

destination_currency string required

Destination currency code (3-letter ISO-4217 code). The value must exactly match the destinationCurrency that was used while generating the quote.

Request Example

curl --location --request POST \
--url '{{baseUrl}}/zoqq/api/v1/transfer/conversion' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
--data '{
"quote_id": "{{PreviouslyGeneratedQuoteId}}",
"source_amount": 500,
"destination_amount":null,
"source_currency":"USD",
"destination_currency":"SGD"
}'

Response Example

{
"code": 200,
"status": "success",
"message": "Create Conversion Successfully Executed",
"data": {
"id": "conversion_4UTXo2tQnThdZGrMz6FdQR",
"status": "processing",
"conversion_time": "2023-06-16T05:22:14Z",
"source_currencycode": "USD",
"destination_currencycode": "SGD",
"source_amount": 100,
"destination_amount": 132.52,
"quote_id": "quote_6WRfj2CkYaRSuiPskK3kj3",
"net_exchangerate": 1.3251652,
"system_reference_number": "WFT9188961163",
"createdTime": "2023-06-16T05:22:14Z"
}
}

Get Conversion By IDโ€‹

This API retrieves the status and details of a specific currency conversion.

GET {{baseUrl}}/zoqq/api/v1/transfer/conversion

Description

Fetch details of a specific conversion using its conversion ID. Used to track or audit the status and details of a particular FX conversion transaction. This includes transaction status, rates, currencies involved, and settlement details.

๐Ÿ“ฉ Request Headers

x-api-key string required

Shared X-API key by Zoqq

x-product-id string required

Shared Product ID by Zoqq

x-request-id string required

Idempotency key for request tracking

x-user-id string required

User identification key

Content-Type string required

Must be application/json

Authorization string required

Bearer access token

๐Ÿ” Path Parameters

ConversionID string required

ID of the conversion to retrieve.

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/transfer/conversion/:ConversionID' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \

Response Example

{
"code": 200,
"status": "success",
"message": "Conversion Details Fetched",
"data": {
"id": "13a154ca-4ca6-4f8b-9c30-eb09312f44ce",
"status": "SETTLED",
"conversionTime": "2025-04-23T08:05:52+0000",
"sourceCurrencycode": "USD",
"destinationCurrencycode": "SGD",
"sourceAmount": 100.0,
"destinationAmount": 131.73,
"quoteId": "cf9dbf97-a74f-3f77-8ced-913861b31336",
"netExchangerate": 1.317342,
"systemReferenceNumber": "C250423-V53OOTQ",
"createdTime": "2025-04-23T08:05:52+0000"
}
}

Get Conversion Listโ€‹

GET {{baseUrl}}/zoqq/api/v1/transfer/conversionlist

Description

Fetch details of a all conversions performed by the user. Used to track or audit the status and details of a all FX conversion transactions. This includes transaction status, rates, currencies involved, and settlement details.

๐Ÿ“ฉ Request Headers

x-api-key string required

Shared X-API key by Zoqq

x-product-id string required

Shared Product ID by Zoqq

x-request-id string required

Idempotency key for request tracking

x-user-id string required

User identification key

Content-Type string required

Must be application/json

Authorization string required

Bearer access token

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/transfer/conversionlist' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"code": 200,
"status": "success",
"message": "Conversion List Fetched Successfully",
"data": [
{
"conversions": [
{
"id": "e7e68c38-5720-456e-8ce1-4615764ce1bd",
"status": "SETTLED",
"conversionTime": "2025-08-08T04:52:31+0000",
"sourceCurrencycode": "SGD",
"destinationCurrencycode": "USD",
"sourceAmount": 9.97,
"destinationAmount": 7.73,
"quoteId": "a8f32636-5eba-3144-aa6e-b67157594faf",
"netExchangerate": 1.290062,
"systemReferenceNumber": "C250808-FJXG170",
"createdTime": null
},
{
"id": "b8d1b489-4764-48f4-acf0-03ae2b707186",
"status": "SETTLED",
"conversionTime": "2025-08-08T04:42:57+0000",
"sourceCurrencycode": "SGD",
"destinationCurrencycode": "USD",
"sourceAmount": 9.97,
"destinationAmount": 7.73,
"quoteId": "c72ef69e-071a-38d6-a4f9-af2922087bf8",
"netExchangerate": 1.290311,
"systemReferenceNumber": "C250808-5J14Q0Z",
"createdTime": null
}
]
}
]
}