401 Unauthorized with a key you just copiedinvalid_api_key / authentication_errorcurl works but the app does not, with the same keyThe key works in one client and not anotherAlgunos clientes HTTP y herramientas no-code piden un «token» y añaden ellos mismos el prefijo Bearer. Pegar 'Bearer sk-...' en ese campo produce 'Bearer Bearer sk-...'.
Copiar desde una ventana de chat o un PDF puede traer un salto de línea final o un espacio de no separación. La cadena se ve idéntica en pantalla y no lo es en lo que se envía.
Algunas pasarelas aceptan una cabecera x-api-key en su lugar, o además. Enviar la clave en la cabecera equivocada es indistinguible de no enviarla.
Imprime exactamente lo que envía tu cliente, con la longitud de la clave visible:
KEY='paste-here'
echo "length: ${#KEY}"
curl -s -o /dev/null -w '%{http_code}\n' \
'YOUR_BASE_URL/models' -H "Authorization: Bearer $KEY"
Si la longitud no es la que esperas, el problema es la copia. Un 200 aquí y un 401 en tu aplicación significa que la aplicación construye la cabecera de otra forma: revisa lo que envía, no lo que pegaste.
sk- y van en Authorization: Bearer <key>. Una clave pertenece a un grupo, así que una clave que se autentica bien puede dar 404 en un modelo fuera de su grupo: es otro error con otra solución.Revisado por última vez el 2026-10-01. Escrito a partir de problemas diagnosticados en una pasarela compatible con OpenAI en producción, no recopilado de otras webs.