BuildNexion

Errores

Los errores usan el código HTTP que corresponde y siempre el mismo cuerpo: un code estable, pensado para tu código, y un message legible, en inglés, para tus registros.

404
{
  "error": {
    "code": "not_found",
    "message": "Project not found"
  }
}

Los 500 añaden un request_id:

500
{
  "error": {
    "code": "internal_error",
    "message": "Internal server error",
    "request_id": "0b6f1c8e-2d4a-4e9b-9f3c-7a1d5e8c2b40"
  }
}
Decide en función de error.code, no del texto de message: el texto puede cambiar, el código no.

Códigos

HTTPcodeQué significa
400invalid_parameterUn parámetro no vale: un estado que no existe, una fecha mal escrita o un id de filtro (project_id…) que no es un UUID. El mensaje dice cuál.
400invalid_cursorEl cursor no es uno que hayamos dado (cortado o modificado).
400invalid_bodyEl cuerpo de la petición no es JSON válido (crear webhook).
400invalid_urlLa URL del webhook no empieza por http:// o https://.
400url_not_allowedLa URL del webhook apunta a una red interna (localhost, IP privada…).
400no_eventsEl webhook no tiene ningún evento.
400invalid_eventsAlgún evento del webhook no existe.
401missing_credentialsFalta la cabecera Authorization: Bearer …
401invalid_key_formatLa key no empieza por bn_live_.
401invalid_keyLa key no existe.
401revokedLa key se ha revocado.
401expiredLa key ha caducado.
402trial_expiredHa terminado el periodo de prueba.
402payment_pendingEl pago de la suscripción no se ha completado.
402payment_requiredHay un recibo impagado o la suscripción está cancelada.
403insufficient_scopeA la key le falta el permiso del endpoint (el mensaje dice cuál).
403org_not_foundLa organización de la key ya no existe.
404not_foundNo existe, o es de otra organización (se responde igual a propósito).
429rate_limitedMás de 60 peticiones en el mismo minuto. Mira la cabecera Retry-After.
500internal_errorFallo nuestro. Lleva un request_id: inclúyelo si nos escribes.
503not_availableEsa parte de la API se está activando. Prueba más tarde.

Qué hacer

  • 400: corrige la petición; repetirla igual dará lo mismo.
  • 401 / 403: revisa la key y sus permisos en Configuración → Integraciones.
  • 402: la suscripción tiene que estar al día; avisa al administrador de la cuenta.
  • 429: espera lo que diga Retry-After y reintenta.
  • 500 / 503: reintenta más tarde, esperando cada vez un poco más (1 s, 5 s, 30 s…).