curl --request GET \
--url https://avraapi.com/api/v1/utility/currency/pair/{base}/{target} \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-SECRET: <api-key>'const options = {
method: 'GET',
headers: {'X-API-KEY': '<api-key>', 'X-API-SECRET': '<api-key>'}
};
fetch('https://avraapi.com/api/v1/utility/currency/pair/{base}/{target}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://avraapi.com/api/v1/utility/currency/pair/{base}/{target}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-API-SECRET: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"success": true,
"request_id": "01f00000-0000-4000-8000-000000000003",
"data": {
"base": "USD",
"target": "EUR",
"rate": 0.9,
"last_updated": "2026-01-15 09:30:00"
}
}Get one currency-pair rate
Retrieve one standard pair or request a CBSL LKR rate type.
curl --request GET \
--url https://avraapi.com/api/v1/utility/currency/pair/{base}/{target} \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-SECRET: <api-key>'const options = {
method: 'GET',
headers: {'X-API-KEY': '<api-key>', 'X-API-SECRET': '<api-key>'}
};
fetch('https://avraapi.com/api/v1/utility/currency/pair/{base}/{target}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://avraapi.com/api/v1/utility/currency/pair/{base}/{target}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-API-SECRET: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"success": true,
"request_id": "01f00000-0000-4000-8000-000000000003",
"data": {
"base": "USD",
"target": "EUR",
"rate": 0.9,
"last_updated": "2026-01-15 09:30:00"
}
}base and target are active three-letter currency codes for a normal conversion. The target can also be LKR-SELL, LKR-BUY, or LKR-CBSL to request the appropriate CBSL rate type.
API endpoint
https://avraapi.com/api/v1/utility/currency/pair/{base}/{target}
Standard pair request
curl "https://avraapi.com/api/v1/utility/currency/pair/USD/EUR" \
-H "X-API-KEY: YOUR_PROJECT_CLIENT_ID" \
-H "X-API-SECRET: YOUR_PROJECT_CLIENT_SECRET" \
-H "X-ENV: development" \
-H "Accept: application/json"
Response
{
"success": true,
"request_id": "57ce6c72-5a8b-42c2-aa24-27f811c883ed",
"data": {
"base": "USD",
"target": "LKR",
"rate": 319.752,
"last_updated": "2026-05-06 00:00:01"
}
}
Error codes
| HTTP | error.code | When it happens |
|---|---|---|
400 | invalid_currency_code | {base} or {target} is unknown, inactive, or invalid. Retrieve the active list from List supported currency codes. |
401 | unauthorized | The Project Client ID or Client Secret is missing, invalid, inactive, or does not match the selected environment. |
422 | provider_selection_failed | The Currency provider cannot be selected for the project environment. |
429 | rate_limit_exceeded | The project has exceeded the Currency service request limit. Wait for Retry-After before retrying. |
503 | project_paused | The project is paused and cannot make API requests. |
request_id when contacting support; see the REST API guide for the shared response format.
CBSL target request
ForLKR-SELL, LKR-BUY, and LKR-CBSL, use this same endpoint and replace {target} with the required CBSL target code. The response structure is documented in CBSL Rates, including the direct-data fallback rule.
Use Convert a currency amount when you need AvraAPI to multiply the rate by a positive amount.
Playground resources
The generated reference below lists this endpoint’s API standard details: request fields, authorizations, and response schema. The complete integration guide, request and response examples, and endpoint-specific error handling are above.Authorizations
Your Development project's Client ID. Enter your own value in the Documentation Playground.
Your Development project's Client Secret. Mintlify does not proxy these requests; the browser sends them directly to AvraAPI. Never enter a Production secret in the Documentation Playground.
Headers
Selects the Development credential environment. The Documentation Playground exposes Development values only; normal backend integrations may use their documented Production credentials outside this tool.
dev, development Requests a JSON response where the selected operation supports JSON.
"application/json"
Optional privacy override. Turn this on to request that AvraAPI suppress request-payload storage in observability logs for this request.
true
Path Parameters
An active three-letter currency code. Input is normalised to uppercase before it is checked against the active Currency code list.
^[A-Za-z]{3}$"USD"
An active three-letter currency code, or one of LKR-SELL, LKR-BUY, and LKR-CBSL for a CBSL request.
^(?:[A-Za-z]{3}|LKR-(?:SELL|BUY|CBSL))$"LKR"
Was this page helpful?
