Integration GuideAPI Reference
Integration Guide

FX: Get Exchange Rates

Overview

The Foreign Exchange (FX) module gives you programmatic access to currency conversion rates within the Carusell platform. Use it to retrieve the current exchange rate for a supported currency pair before initiating a payment or disbursement.

๐Ÿ’ฑ Display Rates

Show payers an estimated conversion rate before they confirm a transaction

๐Ÿ“Š Generate Quotes

Fetch rates for quote generation, internal pricing logic, or reporting

๐Ÿ” Reconciliation

Retrieve the rate closest to a specific point in time for auditing


โš ๏ธ

Indicative Rate Only

The rate returned by this endpoint is informational only โ€” it is not locked, reserved, or guaranteed.

The exchange rate used for actual settlement is fixed automatically at the moment a payment or disbursement is created โ€” not by calling this endpoint.


How It Works


StepDescription
1You send a POST request with the currency pair, FX provider, and a target timestamp
2The platform looks up the rate closest to the timestamp you provided
3If you include an amount, the converted value is calculated and returned
4The rate, currency pair, and timestamps are returned in the response
5When you later create a payment or disbursement, the rate is locked at that moment โ€” not by this call

Markups & Settlement Account

๐Ÿ’ก

Every FX rate request is tied to a Settlement Account (SA) via the settlement-account-id header. The rate returned by the endpoint already includes any markup configured on that Settlement Account.

What is a Markup?

A markup is an additional margin applied on top of the raw market rate from the FX data source. It is defined in your contract and configured by the Carusell team on your Settlement Account in the back-office admin application.

ScenarioWhat you receive
Markup is configured (e.g. 1%)Returned rate = Market Rate ยฑ 1% markup. No further calculation needed on your side.
Markup is 0% (or not configured)Returned rate = raw market rate from the FX data source.

Where to find your Settlement Account ID

๐Ÿ”‘

Your settlement-account-id is provided by the Carusell integration team during onboarding. You can also find it in your Client Portal.

Different Settlement Accounts may have different markups configured โ€” make sure you use the correct one for the transaction you're preparing.


Endpoint

Method & PathDescription
POST /processing/api/v1/foreign-exchange-rates/searchesRetrieve the current FX rate for a given currency pair

Headers

HeaderTypeRequiredDescription
AuthorizationStringRequiredBearer token obtained from the authentication endpoint
settlement-account-idStringRequiredYour Settlement Account ID. Determines which markup is applied to the returned rate.

FX Providers

The fxProvider field defines the data source used to fetch the rate. Use the table below to choose the right one for your integration.

ValueStatusDescription
XECOMโœ… In useLive market rate from the connected external data source. Default choice for most integrations.
MANUALโœ… In use (specific cases)A fixed rate manually configured by the Carusell team for your account, valid for an agreed period (e.g. a day, week, or month). Used when a fixed rate is agreed in your contract. Requires prior arrangement.
CLIENTโœ… In use (specific cases)For merchants who source rates from their own system and submit them to Carusell. The platform validates the rate upon submission. Requires prior arrangement with your integration manager.
STATICโŒ Not in useโ€”
TEST_FX_PROVIDERโŒ Not in useโ€”
๐Ÿ““

If you're unsure which provider to use, use XECOM. The MANUAL and CLIENT providers require prior configuration with the Carusell team.


Request / Response Description

Request Sample

{
  "submittedCurrency": "USD",
  "submittedAmount": 10000,
  "authCurrency": "AUD",
  "fxProvider": "XECOM",
  "conversionTimestamp": "2025-01-01T00:00:00Z"
}

Request Parameters

ParameterTypeRequiredDescription
submittedCurrencyStringRequiredSource currency code in ISO 4217 format.
Example: USD
authCurrencyStringRequiredTarget currency code in ISO 4217 format.
Example: AUD
fxProviderStringRequiredFX data source to use. See the FX Providers section above.
Example: XECOM
conversionTimestampString (ISO 8601)RequiredTarget point in time for rate lookup. The platform returns the rate closest to this timestamp.
Example: 2025-01-01T00:00:00Z
submittedAmountNumberConditionalAmount in the source currency. If provided, the platform calculates authAmount.
Example: 10000
authAmountNumberConditionalAmount in the target currency. If provided, the platform calculates submittedAmount.
Example: 14769.41


๐Ÿ““

Amount Fields Behaviour

Provide either submittedAmount or authAmount โ€” never both.

  • If you provide submittedAmount โ†’ the platform calculates authAmount
  • If you provide authAmount โ†’ the platform calculates submittedAmount
  • If you provide neither โ†’ only the rate is returned, with no amount conversion