Skip to content

GET /api/quantis/v2/rates/history/

Returns the most recent end-of-day closing rates — one entry per day, up to the last 30 days — newest first. A closing rate is the snapshot taken at the end of each day (America/Caracas timezone). Each entry is grouped exactly like the live endpoints: a bcv block (the official BCV rates, same shape as GET /rates/bcv/) and a markets block (the Binance P2P USDT rate plus the computed average and difference, same shape as GET /rates/markets/). All rates are quoted in Venezuelan Bolivar (VES).

MethodGET
URLhttps://app.vzla.io/api/quantis/v2/rates/history/
AuthenticationAuthorization: Bearer vzlaio_...
ParametersNone

Request

Terminal window
curl --request GET \
--url 'https://app.vzla.io/api/quantis/v2/rates/history/' \
--header 'Authorization: Bearer vzlaio_YOUR_TOKEN_HERE'

Response

data

An array of up to 30 closing-rate entries, ordered newest first.

FieldTypeDescription
datestring (ISO 8601 date)The Caracas date of this closing rate, e.g. "2026-06-17"
timestampstring (ISO 8601 datetime)When the closing rate was recorded
bcvobjectOfficial BCV rates — same shape as GET /rates/bcv/
marketsobjectBinance USDT rate plus computed reference rates — same shape as GET /rates/markets/
banksobjectBank buy/sell averages for USD across publishing banks — see below
badgesobject{ is_bank_holiday, is_weekend } flags for that date

Each entry reuses the labels and structure of the live endpoints, so the history reads with the same vocabulary a client already knows.

bcv

FieldTypeDescription
ratesobjectMap of currency code → rate object. Keys: USD, EUR

markets

FieldTypeDescription
usdtobjectBinance P2P USDT rate (rate object + market)
computed.averageobjectMidpoint between the BCV USD and USDT rates
computed.differenceobjectUSDT minus BCV USD (value under amount)

banks

USD buy/sell averages computed across the banks that published rates for the closing day (with a one-publishing-day grace window). Weekends and bank holidays carry the previous business day’s values forward.

FieldTypeDescription
USD.buy_averageobjectAverage BUY price across banks — { rate, indicator_pct, indicator_amount }
USD.sell_averageobjectAverage SELL price across banks — { rate, indicator_pct, indicator_amount }
USD.bank_namesstring[]Names of the banks included in the averages

Rate object (entries under bcv.rates, markets.usdt, and markets.computed.*)

FieldTypeDescription
ratestring | nullVES per 1 unit (difference uses amount instead)
indicator_pctstring | nullPercentage change versus the previous closing rate
indicator_amountstring | nullAbsolute change versus the previous closing rate
marketstringOnly on markets.usdt — always "Binance"

meta

FieldTypeDescription
sourcestringAlways "closing"
currency_quotestringAlways "VES" — all rates are quoted in Venezuelan Bolivar
countnumberNumber of entries returned (0–30)
window_daysnumberAlways 30 — the maximum window served

Response headers

HeaderDescription
X-API-Version2.0
X-Quota-LimitYour monthly request limit
X-Quota-RemainingRequests remaining this month
X-Quota-ResetISO 8601 timestamp of next quota reset
X-Request-IDUUID for this request

Example response

{
"data": [
{
"date": "2026-06-17",
"timestamp": "2026-06-17T23:59:01.482931+00:00",
"bcv": {
"rates": {
"USD": {
"rate": "493.37650000",
"indicator_pct": "0.78066864",
"indicator_amount": "3.82180000"
},
"EUR": {
"rate": "577.52186207",
"indicator_pct": "0.57960395",
"indicator_amount": "3.32804999"
}
}
},
"markets": {
"usdt": {
"rate": "612.10000000",
"indicator_pct": "0.67320000",
"indicator_amount": "4.10000000",
"market": "Binance"
},
"computed": {
"average": {
"rate": "552.73825000",
"indicator_pct": "0.71840000",
"indicator_amount": "3.96090000"
},
"difference": {
"amount": "118.72350000",
"indicator_pct": "0.23480000",
"indicator_amount": "0.27820000"
}
}
},
"banks": {
"USD": {
"buy_average": {
"rate": "612.10000000",
"indicator_pct": "0.67320000",
"indicator_amount": "4.10000000"
},
"sell_average": {
"rate": "618.40000000",
"indicator_pct": "0.71000000",
"indicator_amount": "4.36000000"
},
"bank_names": ["BBVA Provincial", "Banesco", "Mercantil"]
}
},
"badges": {
"is_bank_holiday": false,
"is_weekend": false
}
}
],
"meta": {
"source": "closing",
"currency_quote": "VES",
"count": 30,
"window_days": 30
}
}

HTTP status codes

CodeMeaning
200 OKSuccess.
401 UnauthorizedMissing or invalid token.
405 Method Not AllowedOnly GET is supported.
429 Too Many RequestsMonthly quota exhausted.
500 Internal Server ErrorServer error. Retry after a short delay.

401 — no Authorization header

{
"error": {
"code": "auth_missing",
"message": "Authentication credentials were not provided"
}
}

401 — invalid token

{
"error": {
"code": "auth_token_unknown",
"message": "Invalid token format"
}
}

429 response body

{
"error": {
"code": "quota_exceeded",
"message": "Monthly quota limit exceeded.",
"details": {
"reset_at": "2026-06-01T00:00:00Z"
}
}
}
Complete documentation as plain text for AI tools (llms.txt)