FX
Indicative FX rates and lockable cross-currency quotes. Pass the resulting `quote_id` as `fx_quote_id` on `/checkout` to settle in a non-cart currency at the locked rate.
GET /api/v1/fx/rate
Indicative mid-market rate between two ISO 4217 currencies. Useful for display only; it’s not binding. To pay in a specific currency at a specific rate, lock a quote first.
Query parameters
| Param | Description |
|---|---|
from | 3-letter source currency. Required. |
to | 3-letter destination currency. Required. |
Request
curl "https://api.cimplify.io/api/v1/fx/rate?from=USD&to=GHS" \
-H "X-Public-Key: pk_test_your_publishable_key"Response
{
"success": true,
"data": {
"from": "USD",
"to": "GHS",
"rate": "12.4150",
"as_of": "2026-05-07T18:30:00Z",
"source": "indicative"
}
}POST /api/v1/fx/quotes
Lock a rate for a specific amount and TTL. The returned quote_id is honoured on /checkout via the fx_quote_id field. amount accepts a decimal string or number.
Body
| Field | Description |
|---|---|
from | 3-letter source currency. |
to | 3-letter destination currency. |
amount | Amount in source currency, > 0. String or number. |
Request
curl -X POST https://api.cimplify.io/api/v1/fx/quotes \
-H "X-Public-Key: pk_test_your_publishable_key" \
-H "Idempotency-Key: 5b1f9d80-2c70-4f2c-bf61-a0e6fa6b02a1" \
-H "Content-Type: application/json" \
-d '{
"from": "USD",
"to": "GHS",
"amount": "100.00"
}'Response
{
"success": true,
"data": {
"quote_id": "fxq_01H…",
"from": "USD",
"to": "GHS",
"amount": "100.00",
"rate": "12.4150",
"converted_amount": "1241.50",
"expires_at": "2026-05-07T18:35:00Z"
}
}Errors
-
400 VALIDATION_ERROR: non-3-letter currency code,amount ≤ 0. -
503 SERVICE_UNAVAILABLE: rate provider temporarily unreachable. -
Checkout Pass
fx_quote_idto charge at the locked rate.
Activity
The activity API records lightweight session signals (product views, searches, cart events) so that the storefront can show relevant recommendations, intent-based incentives, and contextual messages. Every call is scoped to the active session token.
Places
Address autocomplete and place lookup, fronted by Google Places. Reuse a `sessionToken` across consecutive autocomplete calls and the final details call to keep billing on a single Places session.