Resumen
Una petición, una respuesta ya agregada. Todas las rutas comparten la misma forma, el mismo sobre y los mismos parámetros transversales: lo que vale para una familia vale para las demás.
#La forma de una petición
GET https://api.bytnode.com/v1/<family>/<metric>
?symbol=BTCUSDT # required on per-asset routes
&timeframe=1h # on bucketed routes
&limit=100 # on /history routes
&fields=timestamp,rate
X-API-KEY: your_keyLa ruta indica la familia y la métrica. Los parámetros indican el activo, la temporalidad y la profundidad. La cabecera lleva la clave. No hace falta saber nada más para llamar a cualquier ruta.
Un solo endpoint escapa a esta forma: POST /v1/indicators, que recibe un cuerpo JSON porque describe un cálculo, no una lectura.
#Último valor o historial
La mayoría de las métricas existen en dos versiones. La ruta sin sufijo devuelve el último valor: un objeto o null. El sufijo /history devuelve una lista, de la más reciente a la más antigua.
# The latest value
GET /v1/basis?symbol=BTCUSDT
# The last 200, from newest to oldest
GET /v1/basis/history?symbol=BTCUSDT&limit=200
# A dated window, in milliseconds
GET /v1/basis/history?symbol=BTCUSDT&since_ms=1756425600000&until_ms=1756512000000#Parámetros comunes
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
symbol | string | obligatorio | El activo, en el formato del catálogo (BTCUSDT). Ausente: 422. Desconocido: 400 con la lista. Las rutas de todo el mercado no lo aceptan. |
timeframe | string | obligatorio | En las rutas por intervalos: 1m, 5m, 15m, 30m, 1h, 4h, 1d. Fuera de la lista: 422. |
limit | integer | 100 | En las rutas /history. Límite de 1000 en general, 500 en el ratio largo/corto y los diferenciales entre mercados. |
since_ms / until_ms | integer | — | Ventana de tiempo en milisegundos Unix, donde la ruta lo acepta. El filtro se aplica antes que limit. |
live | boolean | false | En las rutas de último valor por intervalos: expone el periodo en curso, marcado is_closed: false. |
fields | string | — | Proyección CSV de data, notación con puntos para los campos anidados. Campo desconocido: 422 con una sugerencia. |
Lo que no existe
El parámetro exchange no existe en ninguna ruta: las respuestas están agregadas y no nombran su mercado, con la única excepción de los diferenciales entre mercados. Pasarlo devuelve 422.
#Las familias
Todas las rutas caben en una página en el catálogo de endpoints.