Errores Comunes
401 Unauthorized
{
"error" : "unauthorized" ,
"message" : "Invalid API key"
}
Causas:
Falta el header Authorization
Formato de API key invalido (debe ser Bearer TU_KEY)
API key tiene menos de 10 caracteres
Solucion:
# Formato correcto
curl -H "Authorization: Bearer tu_api_key_aqui" ...
# Incorrecto (falta Bearer)
curl -H "Authorization: tu_api_key_aqui" ...
403 Forbidden - Simbolo No Permitido
{
"error" : "forbidden" ,
"message" : "Symbol BTCUSDT not allowed for your API key" ,
"allowed_symbols" : [ "EURUSD" , "GBPUSD" , "USDJPY" , "XAUUSD" ]
}
Causa: Tu nivel de API key no tiene acceso a este simbolo.
Solucion:
Usa uno de los allowed_symbols del mensaje de error
Actualiza tu plan para acceder a mas simbolos
Llama a GET /api/external/symbols para ver tus simbolos disponibles
503 No Data Available
{
"error" : "no_data" ,
"message" : "No bar data available. VPS/MT5 may be offline." ,
"symbol" : "EURUSD" ,
"timeframe" : 60
}
Causa: La fuente de datos (VPS/MT5) esta temporalmente offline.
Soluciones:
Espera unos minutos y reintenta
Revisa nuestra pagina de estado para outages
Usa datos cacheados si los tienes
Este error es temporal. Nuestro VPS tipicamente se reconecta en 5-15 minutos.
422 Validation Error
{
"error" : "validation_error" ,
"message" : "Point 0: type must be 'high' or 'low'" ,
"point_index" : 0
}
Causa: Datos invalidos en el body de tu request.
Problemas comunes:
type debe ser exactamente "high" o "low" (no "HIGH" o "above")
time debe ser un timestamp Unix valido
price debe ser un numero, no un string
404 Indicator Not Found
{
"error" : "not_found" ,
"message" : "Indicator not found"
}
Causas:
El indicador no ha sido enviado aun
El indicador expiro (los datos expiran despues de 24 horas)
indicator_id, symbol, o timeframe incorrectos
Solucion:
# Asegurate que los tres coincidan
GET / api / external / indicators / mi_indicador ? symbol = EURUSD & timeframe = 60
Rate Limiting
Si recibes un error 429 Too Many Requests:
{
"error" : "rate_limit_exceeded" ,
"message" : "Too many requests. Limit: 100/hour" ,
"retry_after" : 3600
}
Soluciones:
Implementa exponential backoff
Cachea respuestas donde sea posible
Actualiza a un tier superior para mas requests
Tips de Debugging
1. Verifica Tu Request
import requests
response = requests.get(
"https://api.innova-trading.com/api/external/bars" ,
params = { "symbol" : "EURUSD" , "timeframe" : 60 , "limit" : 10 },
headers = { "Authorization" : "Bearer TU_KEY" }
)
# Imprime respuesta completa para debugging
print ( f "Status: { response.status_code } " )
print ( f "Headers: { response.headers } " )
print ( f "Body: { response.text } " )
2. Verifica que Tu API Key Funciona
# Prueba con el endpoint de symbols (el mas simple)
curl -v "https://api.innova-trading.com/api/external/symbols" \
-H "Authorization: Bearer TU_API_KEY"
3. Revisa Datos del Indicador
# Lista todos tus indicadores
response = requests.get(
"https://api.innova-trading.com/api/external/indicators" ,
headers = { "Authorization" : "Bearer TU_KEY" }
)
print (response.json())
Obtener Ayuda
Discord Soporte de la comunidad y discusiones
Email Para problemas de cuenta y facturacion
Al reportar problemas, por favor incluye:
Tu API key (solo los primeros 8 caracteres)
El mensaje de error exacto
El request que hiciste (URL, metodo, body)
Timestamp cuando ocurrio el error