niiko/developers

El contrato

Negativas y códigos HTTP

El código HTTP se elige por el remedio, no por el parecido: quién tiene que hacer algo, y qué.

Última actualización

motivoHTTPsignificado
invalid_input400El cuerpo no cumple el contrato. El único de esta lista que puedes arreglar por tu cuenta.
unauthorized401La credencial no es válida. Inexistente, revocada, caducada o sin el alcance no se distinguen, a propósito.
grant_off403El workspace no ha encendido esta capacidad. No es una prohibición: es un interruptor de su dueño.
origin_denied403Este origen no puede ejercer esta acción, y ningún interruptor lo cambia.
not_autonomous409Necesita una aprobación y esta vía no puede esperarla.
stale409El mundo cambió entre la petición y el acto — o la petición apunta a algo que no resuelve. detail.why lo nombra y detail.message dice qué hacer.
duplicate409Ya pasó. Lleva la clave y cómo terminó el primer intento.
in_flight409Otra petición con la misma clave está corriendo ahora mismo. Lleva Retry-After.
not_exposed404Esa acción no está abierta al exterior. Puede existir dentro del producto; lo que no existe es su puerta.
version_retired410Esa versión fue retirada. Viene con una cabecera Sunset y las fechas dentro.
rate_limited429Cuota por llave. Lleva Retry-After.
internal_error500Un fallo nuestro. El único de esta lista que no es ni una decisión ni un estado.

Motivos que solo dan las lecturas

Además de la lista general, una lectura puede contestar con estos. Los que declara cada lectura están en su página y en los tipos del SDK.

motivoHTTPsignificado
reads_need_a_person403La credencial es una llave de API. Una lectura se hace en nombre de una persona: conéctate con OAuth.
role_forbidden403La persona que autorizó la aplicación no ve esto en su propia pantalla. El dueño del workspace o un administrador puede cambiar su rol.
ambiguous409El nombre coincide con varios clientes. detail.candidates los lista: vuelve a preguntar con uno.
not_found409Ningún cliente coincide con el nombre. detail.searched dice qué se buscó.

Motivos por acción

Además de la lista general, cada acción nombra sus propios motivos de stale — los candidatos de un nombre ambiguo, las etapas que sí existen. Están en la página de cada acción y en los tipos del SDK.