Saltar al contenido principal

API Keys

Todas las solicitudes a la API requieren autenticacion usando un Bearer token en el header Authorization.
Authorization: Bearer TU_API_KEY

Obtener tu API Key

Durante el periodo beta, puedes usar cualquier string con 10 o mas caracteres como tu API key. Esto te permite empezar a probar inmediatamente sin registro.
Ejemplos de API keys validas:
  • mi_clave_test_123 (18 chars)
  • desarrollador_2024 (18 chars)
  • abcdefghij (10 chars - minimo)
Proximamente: Panel de gestion de API keys. Por ahora, elige una clave unica que te identifique.

Usando tu API Key

curl https://api.innova-trading.com/api/external/bars \
  -H "Authorization: Bearer mi_clave_test_123"

Buenas Practicas de Seguridad

Nunca expongas en codigo cliente

Las API keys solo deben usarse del lado del servidor. Nunca las incluyas en JavaScript frontend.

Usa variables de entorno

Guarda tu API key en variables de entorno, no en el codigo fuente.

Usa claves unicas

Elige un string unico para identificar tus solicitudes.

Mantenla secreta

No compartas tu API key publicamente (ej: en repos de GitHub).

Variables de Entorno

INNOVA_API_KEY=mi_clave_test_123

Respuestas de Error

401 No Autorizado

API key faltante o invalida:
{
  "error": "unauthorized",
  "message": "Missing Authorization header"
}
{
  "error": "unauthorized",
  "message": "Invalid API key"
}
Las API keys deben tener al menos 10 caracteres. Claves mas cortas seran rechazadas.

403 Prohibido

API key valida pero sin acceso al recurso solicitado:
{
  "error": "forbidden",
  "message": "Symbol XAUUSD not allowed for your API key",
  "allowed_symbols": ["EURUSD", "GBPUSD", "USDJPY"]
}

Simbolos y Timeframes Disponibles

Por defecto, todas las API keys tienen acceso a:
SimbolosTimeframes
EURUSD, GBPUSD, USDJPY, XAUUSD1m, 5m, 15m, 1H, 4H, 1D

Limite de Solicitudes

Las API keys tienen limite para prevenir abuso:
LimiteValor
Solicitudes/Hora100
Barras maximas por solicitud1,000
Cuando excedes el limite, recibiras:
{
  "error": "rate_limit_exceeded",
  "message": "Too many requests. Please wait before retrying.",
  "retry_after": 60
}
Usa backoff exponencial cuando alcances el limite. Comienza con 1 segundo de espera y duplicalo con cada reintento.