Inicio → Ayuda

405 Method Not Allowed al llamar a una API de IA

Tu POST llegó al servidor web pero no a la API. La ruta a la que lo enviaste solo responde a GET, así que el servidor rechaza el método y no la petición. En casi todas las pasarelas esto significa que la base URL se quedó corta un segmento: apunta a la raíz de la web en lugar de al prefijo de la API.

Lo que ves

Por qué ocurre

Los SDK del linaje OpenAI no añaden un prefijo de ruta por ti. Lo que pongas en base_url se usa literalmente, con /chat/completions añadido. Dales https://example.com y la petición va a https://example.com/chat/completions; dales el dominio a secas con una barra final y algunos clientes lo reducen a https://example.com/, un simple POST a la página de inicio.

Una página de inicio es estática. Responde a GET y HEAD y rechaza todo lo demás, que es exactamente un 405. La petición nunca llegó a ningún código de la API, así que no aparece nada en tu registro de uso, y un registro vacío es en sí mismo la pista.

Es la imagen especular del caso de Anthropic. Claude Code y el SDK de Anthropic añaden /v1/messages por su cuenta, así que necesitan la base URL SIN /v1. Copiar una configuración de Claude Code que funciona en un cliente OpenAI reproduce este error siempre.

Comprueba si es esta la causa

Pregunta al servidor qué métodos acepta exactamente esa ruta:

curl -s -o /dev/null -w '%{http_code}\n' -X POST 'YOUR_BASE_URL/chat/completions'
# and compare with the bare domain:
curl -s -D- -o /dev/null -X POST 'https://YOUR_DOMAIN/' | grep -i '^allow\|HTTP/'

Si el dominio a secas responde 405 con una cabecera Allow: GET, HEAD, lo has encontrado. Una ruta de API correcta devuelve 401 cuando falta la clave: un error de autenticación significa que estás hablando con la API.

Cómo solucionarlo

  1. Vuelve a poner el prefijo de la API en la base URLEn los clientes estilo OpenAI la base URL debe terminar con el prefijo de la API, normalmente /v1. El SDK añade /chat/completions después, y nada más.
  2. No reutilices el valor de Claude CodeLos clientes del linaje Anthropic usan el host solo porque añaden /v1/messages internamente. Las dos configuraciones parecen intercambiables y no lo son.
  3. Quita la barra finalUna base URL que termina en / puede producir una doble barra, y algunos enrutadores la mandan al front-end en lugar de a la API: el mismo 405, la misma ausencia en el registro.
ClienteLa base URL debe
OpenAI SDK (Python, Node, Go)terminar en /v1
Codex, Cherry Studio, Chatbox, LobeChat, LM Studioterminar en /v1
Cursor, Cline, Roo Codeterminar en /v1
Anthropic SDKno llevar /v1: el SDK añade /v1/messages
Claude Codeno llevar /v1: por el mismo motivo
En APICLAN la base URL es https://apiclan.us/v1 para clientes estilo OpenAI y https://apiclan.us para Claude Code y el SDK de Anthropic. La configuración de cada cliente está en el inicio rápido.

Relacionado

Unexpected token '<' al llamar a una API compatible con OpenAI401 invalid API key: cuando la clave parece correcta pero sigue fallando

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.