Historial
GET /api/quantis/v2/rates/history/
Devuelve las tasas de cierre de fin de día más recientes — una entrada por día, hasta los últimos 30 días — de la más nueva a la más antigua. Una tasa de cierre es la instantánea tomada al final de cada día (zona horaria America/Caracas). Cada entrada se agrupa igual que los endpoints en vivo: un bloque bcv (las tasas oficiales del BCV, misma estructura que GET /rates/bcv/) y un bloque markets (la tasa USDT P2P de Binance más el promedio y la diferencia calculados, misma estructura que GET /rates/markets/). Todas las tasas están cotizadas en Bolívar venezolano (VES).
| Método | GET |
| URL | https://app.vzla.io/api/quantis/v2/rates/history/ |
| Autenticación | Authorization: Bearer vzlaio_... |
| Parámetros | Ninguno |
Solicitud
curl --request GET \ --url 'https://app.vzla.io/api/quantis/v2/rates/history/' \ --header 'Authorization: Bearer vzlaio_TU_TOKEN_AQUI'Respuesta
data
Un arreglo de hasta 30 entradas de tasas de cierre, ordenadas de la más nueva a la más antigua.
| Campo | Tipo | Descripción |
|---|---|---|
date | string (fecha ISO 8601) | La fecha de Caracas de esta tasa de cierre, p. ej. "2026-06-17" |
timestamp | string (datetime ISO 8601) | Cuándo se registró la tasa de cierre |
bcv | object | Tasas oficiales del BCV — misma estructura que GET /rates/bcv/ |
markets | object | Tasa USDT de Binance más las tasas de referencia calculadas — misma estructura que GET /rates/markets/ |
banks | object | Promedios de compra/venta bancarios para USD entre los bancos publicadores — ver más abajo |
badges | object | Indicadores { is_bank_holiday, is_weekend } para esa fecha |
Cada entrada reutiliza las etiquetas y la estructura de los endpoints en vivo, de modo que el historial se lee con el mismo vocabulario que el cliente ya conoce.
bcv
| Campo | Tipo | Descripción |
|---|---|---|
rates | object | Mapa de código de moneda → objeto de tasa. Claves: USD, EUR |
markets
| Campo | Tipo | Descripción |
|---|---|---|
usdt | object | Tasa USDT P2P de Binance (objeto de tasa + market) |
computed.average | object | Punto medio entre la tasa BCV USD y la tasa USDT |
computed.difference | object | USDT menos BCV USD (el valor va en amount) |
banks
Promedios de compra/venta en USD calculados entre los bancos que publicaron tasas para el día de cierre (con una ventana de gracia de un día hábil de publicación). Los fines de semana y días feriados bancarios heredan los valores del último día hábil anterior.
| Campo | Tipo | Descripción |
|---|---|---|
USD.buy_average | object | Precio promedio de COMPRA entre los bancos — { rate, indicator_pct, indicator_amount } |
USD.sell_average | object | Precio promedio de VENTA entre los bancos — { rate, indicator_pct, indicator_amount } |
USD.bank_names | string[] | Nombres de los bancos incluidos en los promedios |
Objeto de tasa (entradas bajo bcv.rates, markets.usdt y markets.computed.*)
| Campo | Tipo | Descripción |
|---|---|---|
rate | string | null | VES por 1 unidad (difference usa amount en su lugar) |
indicator_pct | string | null | Variación porcentual respecto a la tasa de cierre anterior |
indicator_amount | string | null | Variación absoluta respecto a la tasa de cierre anterior |
market | string | Solo en markets.usdt — siempre "Binance" |
meta
| Campo | Tipo | Descripción |
|---|---|---|
source | string | Siempre "closing" |
currency_quote | string | Siempre "VES" — todas las tasas están cotizadas en Bolívar venezolano |
count | number | Cantidad de entradas devueltas (0–30) |
window_days | number | Siempre 30 — la ventana máxima servida |
Encabezados de respuesta
| Encabezado | Descripción |
|---|---|
X-API-Version | 2.0 |
X-Quota-Limit | Tu límite mensual de solicitudes |
X-Quota-Remaining | Solicitudes restantes este mes |
X-Quota-Reset | Timestamp ISO 8601 del próximo reinicio de cuota |
X-Request-ID | UUID de esta solicitud |
Ejemplo de respuesta
{ "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 }}Códigos de estado HTTP
| Código | Significado |
|---|---|
200 OK | Éxito. |
401 Unauthorized | Token ausente o inválido. |
405 Method Not Allowed | Solo se admite GET. |
429 Too Many Requests | Cuota mensual agotada. |
500 Internal Server Error | Error del servidor. Reintenta después de un momento. |
401 — sin encabezado Authorization
{ "error": { "code": "auth_missing", "message": "Authentication credentials were not provided" }}401 — token inválido
{ "error": { "code": "auth_token_unknown", "message": "Invalid token format" }}429
{ "error": { "code": "quota_exceeded", "message": "Monthly quota limit exceeded.", "details": { "reset_at": "2026-06-01T00:00:00Z" } }}