Autenticacion y Limites
URL Base
https://api.disnomia.econdor.com/api/v1 # produccion (SaaS)http://localhost:4000/api/v1 # solo desarrollo local del motorAutenticacion
Todos los endpoints excepto GET /health requieren el header:
x-api-key: pi_com_tu_api_keyVer Autenticacion para el formato completo de keys y como obtenerlas.
Sin key o key invalida:
{ "message": "Invalid or missing API key", "error": "Unauthorized", "statusCode": 401}Rate Limiting
Los limites son por API key y varian segun tu plan (Trial/Starter/Pro), no un limite global fijo. Ver Limites de Uso para la tabla completa por tier.
Al superar el limite, la respuesta es HTTP 429.
Validacion
El DTO aplica forbidNonWhitelisted: true. Campos no declarados son rechazados:
{ "message": ["property campoExtra should not exist"], "error": "Bad Request", "statusCode": 400}Codigos de estado
| Codigo | Significado |
|---|---|
200 | Operacion exitosa |
201 | Recurso creado / evaluacion completada |
400 | Bad Request - validacion fallida o campo requerido faltante |
401 | Unauthorized - API key invalida o ausente |
429 | Too Many Requests - rate limit excedido |
500 | Internal Server Error |
Recommended STT Integration
El motor no hace Speech-to-Text. Para el ejercicio Listening, ejecuta tu propio pipeline STT (el proveedor que elijas) para transcribir el audio antes de llamar a esta API, y luego envia el resultado:
{ "type": "listening_multiple_choice", "content": { "audioUrl": "https://cdn.example.com/audio/lesson-12.mp3", "transcript": "John lives in London and works as a teacher.", "questions": [ "..." ] }}Ver Listening para la forma completa del contenido.