Codigos de Error
La API usa codigos HTTP estandar para indicar el resultado de cada request.
Codigos HTTP
| Codigo | Significado | Descripcion |
|---|---|---|
200 | OK | Request exitoso |
201 | Created | Recurso creado (API key) |
400 | Bad Request | Parametros invalidos o formato incorrecto |
401 | Unauthorized | API key faltante o invalido |
403 | Forbidden | Sin permisos para acceder al recurso |
404 | Not Found | Recurso no encontrado |
422 | Unprocessable Entity | Datos de validacion incorrectos |
429 | Too Many Requests | Rate limit excedido |
500 | Internal Server Error | Error interno del servidor |
Formato de errores
Todos los errores retornan un JSON con el campo detail:
{
"detail": "Template not found"
}
Para errores de validacion (422), el detalle puede ser un array:
{
"detail": [
"Este achievement requiere calificacion (LetterGrade)",
"Este achievement requiere creditos obtenidos"
]
}
Errores comunes
Autenticacion
| Error | Causa | Solucion |
|---|---|---|
API key required | No se envio header | Agrega X-API-Key al request |
Invalid API key format | Key no empieza con uc_live_ | Verifica que copias el key completo |
Invalid or revoked API key | Key no existe o fue revocado | Crea un nuevo key en el panel |
Templates
| Error | Causa | Solucion |
|---|---|---|
Template not found | ID no existe o no es de tu org | Verifica el ID con GET /templates |
Invalid template_id format | ID no es un UUID valido | Usa el formato UUID correcto |
Emision
| Error | Causa | Solucion |
|---|---|---|
Este achievement requiere calificacion | Falta result_value | Consulta campos requeridos en GET /templates/\{id\} |
Calificacion invalida | Valor no esta en allowed_values | Usa uno de los valores permitidos |
Los creditos no pueden exceder | credits_earned > credits_available | Ajusta el valor |
Este achievement requiere evidencia | Falta array evidence | Incluye al menos un objeto de evidencia |
Rate Limiting
| Error | Causa | Solucion |
|---|---|---|
Rate limit exceeded | Muchos requests en poco tiempo | Espera el tiempo indicado en Retry-After |