Saltar al contenido principal

Códigos de error

Cuando algo se rechaza, el motivo llega como un código corto legible por máquina. La consola convierte la mayoría en una notificación emergente; la API los devuelve como JSON.

{
"detail": {
"code": "OFFER_UNAVAILABLE",
"message": "This offer is no longer available"
}
}

Algunos códigos llevan campos adicionales junto a code y message: DISK_TOO_LARGE devuelve max_disk_gb y MACHINE_DISK_EXHAUSTED devuelve available_disk_gb, de modo que un cliente puede limitar el control deslizante y reintentar sin una segunda ida y vuelta.

Esos dos no son intercambiables, y limitar al equivocado produce un bucle infinito. max_disk_gb es el disco total de la máquina; available_disk_gb es lo que queda después de los demás inquilinos y de una reserva de 50 GB para el anfitrión. Por eso una máquina puede pasar DISK_TOO_LARGE y aun así responder MACHINE_DISK_EXHAUSTED — incluso una vacía, porque la reserva nunca se vende. Limite a available_disk_gb cuando lo reciba.

Autenticación y alcance de la organización

EstadoCódigoCausaQué hacer
401TOKEN_INVALIDFalta el encabezado Authorization, el token está mal formado, la clave de API es desconocida o fue revocada, o se envió una clave de API a un endpoint de cuentaEnvíe un token bearer válido. Los endpoints de cuenta como /v1/me y /v1/ssh-keys necesitan una sesión iniciada, no una clave shk_
401TOKEN_EXPIREDEl token de sesión pasó su fecha de expiraciónInicie sesión de nuevo. Para scripts desatendidos, use una clave de API en su lugar
403NOT_A_MEMBERX-Org-Id nombra una organización a la que usted no perteneceQuite el encabezado para usar su organización personal, o pida una invitación a un administrador
403ORG_MISMATCHX-Org-Id no coincide con la organización en la que se creó la clave de APIQuite el encabezado, o use una clave que pertenezca a esa organización
403ADMIN_REQUIREDUna acción reservada a administradores —el pago, las invitaciones, la gestión de miembros, las claves de API del equipo— intentada como miembro o con una clave de APIPídaselo a un administrador, o repita la acción desde una sesión iniciada de administrador
400INVALID_ORG_IDX-Org-Id no es un id válidoCopie el id de GET /v1/orgs

Despliegue

EstadoCódigoCausaQué hacer
402INSUFFICIENT_BALANCESu saldo no cubre una hora de la instancia —GPU más disco— cuando la despliega o la inicia. Estar por encima de cero no bastaAgregue créditos. Solo un administrador puede recargar
409OFFER_UNAVAILABLELa última unidad libre de esa forma fue tomada entre el momento en que usted la abrió y el momento en que desplegóVuelva al mercado y elija otra oferta. El recuento de una tarjeta es una instantánea; el despliegue es lo que decide
404OFFER_NOT_FOUNDA GET /v1/offers/{id} se le pasó un id que no existe o que fue retirado del catálogo. Un despliegue contra una oferta desconocida devuelve OFFER_UNAVAILABLE en su lugarVuelva a listar las ofertas y use un id vigente
422DISK_TOO_LARGEEl disk_gb solicitado es mayor que el total de la máquina. La respuesta incluye max_disk_gbSolicite como máximo max_disk_gb, o elija una máquina con un disco más grande
409MACHINE_IN_MAINTENANCELa máquina está reservada para desconectarse demasiado pronto como para arrancar una instancia en ella. La respuesta incluye next_maintenanceElija otra máquina, o vuelva después de la ventana. Una ventana más lejana no bloquea el despliegue: se muestra en la oferta
409MACHINE_DISK_EXHAUSTEDEl disco de la máquina ya está comprometido con otros inquilinos. Lleva varios a la vez, y el disco se vende contra lo que queda, no contra el total — así que esto puede seguir a un disk_gb que superó DISK_TOO_LARGE. La respuesta incluye available_disk_gb y requested_disk_gbReintente en available_disk_gb o por debajo, o elija otra máquina. available_disk_gb puede ser 0
422OFFER_NOT_VM_CAPABLEUna plantilla con modo de lanzamiento vm se dirigió a una máquina que no puede ejecutar máquinas virtualesDespliegue la plantilla en una oferta con capacidad de VM, o elija una plantilla en otro modo de lanzamiento
404TEMPLATE_NOT_FOUNDEl id de la plantilla no existe, o la plantilla fue eliminadaUse una plantilla de la galería, o un hash_id que le hayan dado
404SSH_KEY_NOT_FOUNDEl ssh_key_id no es una de sus clavesListe GET /v1/ssh-keys y use un id de su propia cuenta. Las claves pertenecen a un usuario, no a una organización

Acciones sobre la instancia

EstadoCódigoCausaQué hacer
404INSTANCE_NOT_FOUNDEl id de la instancia no existe en la organización a la que está dirigida la solicitudRevise el id, y revise que esté en la organización correcta
409INVALID_STATELa acción no es válida desde el estado actual de la instancia: detener algo que ya se está deteniendo, destruir algo a mitad de la creaciónEspere a que la instancia llegue a running o stopped y luego reintente. Consulte Estados de la instancia

Plantillas

EstadoCódigoCausaQué hacer
403TEMPLATE_IMMUTABLEIntentó editar o eliminar una plantilla del sistema curada por SuperheatDuplíquela primero y luego edite su copia
409TEMPLATE_NAME_TAKENSu organización ya tiene una plantilla con ese nombre, sin distinguir mayúsculas y minúsculasElija otro nombre
404TEMPLATE_NOT_FOUNDEl id o el hash_id no resuelve a una plantilla que usted pueda verConfirme que el enlace compartido esté completo y vigente: el hash_id cambia cuando cambia la receta de lanzamiento
422INVALID_TABEl parámetro de consulta tab del listado de plantillas no es una de las pestañas de la galeríaUse un valor de pestaña admitido

Claves SSH

EstadoCódigoCausaQué hacer
422INVALID_SSH_KEYEl valor no es una línea de clave pública OpenSSH, el material de la clave no es base64 válido, o el tipo no está admitidoPegue todo el contenido del archivo .pub, en una sola línea, empezando por el tipo de clave. Consulte Tipos de clave admitidos
409DUPLICATE_SSH_KEYYa agregó una clave con la misma huella digitalUse la clave que ya tiene, o elimine primero la entrada anterior
404SSH_KEY_NOT_FOUNDEl id de la clave no es suyoLas claves son por usuario. La clave de otro miembro nunca es visible para usted

Equipo e invitaciones

EstadoCódigoCausaQué hacer
400PERSONAL_ORGIntentó invitar a alguien a una organización personalCree primero una organización real y luego invite desde ahí
404INVITE_NOT_FOUNDEl token de la invitación es incorrecto o la invitación fue retiradaPida a un administrador un enlace nuevo
410INVITE_USEDLa invitación ya fue aceptadaPida un enlace de invitación nuevo
410INVITE_EXPIREDLa invitación pasó su fecha de expiraciónPida un enlace de invitación nuevo
404MEMBER_NOT_FOUNDEl usuario no es miembro de esta organizaciónActualice la página del equipo: puede que ya lo hayan quitado
400LAST_ADMINQuitar a ese miembro, o bajarle el rol, dejaría a la organización sin ningún administradorAscienda primero a otro miembro a administrador

Créditos

EstadoCódigoCausaQué hacer
422INVALID_AMOUNTFalta el monto personalizado de la recarga o está fuera del rango aceptadoElija un paquete de $10, $25 o $100, o un monto personalizado entre $5 y $1,000
403ADMIN_REQUIREDEl pago se intentó desde una cuenta de miembro o con una clave de APIPida a un administrador de la organización que agregue créditos

Claves de API

EstadoCódigoCausaQué hacer
404API_KEY_NOT_FOUNDEl id de la clave no existe en esta organizaciónVuelva a listar sus claves y use un id vigente
403ADMIN_REQUIREDUna clave de API intentó crear o revocar otra clave de API, o un miembro intentó gestionar una clave de nivel de equipoCree y revoque las claves desde una sesión iniciada

Solicitudes que no pasan la validación

Una solicitud cuyo cuerpo o cadena de consulta no coincide con el esquema se rechaza antes de llegar a cualquiera de las comprobaciones anteriores. Devuelve 422 con una lista de errores de campo bajo detail en lugar de un code:

{
"detail": [
{
"type": "less_than_equal",
"loc": ["body", "disk_gb"],
"msg": "Input should be less than or equal to 20000"
}
]
}

La entrada loc nombra el campo problemático. Los límites que conviene recordar son disk_gb entre 10 y 20,000, un label de 64 caracteres como máximo, y tail en el endpoint de logs entre 1 y 1,000.

Relacionado