Skip to content

Errores

Todas las respuestas de error siguen el mismo formato:

json
{
  "error": "code_machine_readable",
  "message": "Descripcion humana del problema",
  "details": { /* opcional, contexto adicional */ }
}

El campo error es un slug en snake_case estable: tu codigo puede hacer match contra el. El message es para humanos y puede cambiar entre versiones.

Codigos comunes

Autenticacion - 401 / 403

errorCausa
unauthorizedCabecera Authorization ausente o malformada
invalid_keyLa API key no existe, esta revocada o expirada
forbidden_scopeUsaste publica donde se exige privada (o viceversa)
tenant_mismatchLa key pertenece a otro tenant distinto al de la URL

Validacion - 400

errorCausa
missing_queryFalta q en /search
invalid_filterSintaxis de filter incorrecta
query_too_longq supera 200 chars
invalid_payloadEl JSON del body no valida contra el schema
unknown_data_sourceEl source no existe en el tenant

Recursos - 404

errorCausa
tenant_not_foundEl slug del tenant no existe
not_foundEl recurso solicitado no existe (sinonimo, regla, item, etc.)

Conflictos - 409

errorCausa
synonym_existsYa existe un sinonimo con ese word en este data source
idempotency_replayedReuso de Idempotency-Key con payload distinto al original

Rate limiting - 429

errorCausa
rate_limitedHas superado el rate limit. Cabecera Retry-After en segundos

Errores internos - 5xx

errorCausa
internal_errorBug inesperado. Si persiste, contacta soporte con el request_id de la respuesta
engine_unavailableEl motor de busqueda no responde. Suele resolverse en segundos
degradedMibizum opera en modo degradado (e.g. cache solo)

Comportamiento ante errores

Recomendaciones:

  • 429: respeta Retry-After. No martillees con backoff exponencial brusco.
  • 5xx: reintenta con backoff exponencial (e.g. 1s, 2s, 4s, max 3 reintentos). Si tras 3 sigue, propaga el fallo a tu usuario.
  • 4xx distintos de 429: no reintentes. El fallo es deterministico, el retry da el mismo resultado.

Logs y diagnostico

Cada respuesta lleva en la cabecera:

http
X-Request-Id: req_a1b2c3d4...

Adjunta ese X-Request-Id a cualquier ticket de soporte para acelerar el diagnostico.

Documentacion oficial de Mibizum.