405 Method Not AllowedRequest failed with status code 405openai.APIStatusError: Error code: 405The POST works in the provider's playground but not from your codeLos 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.
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.
| Cliente | La base URL debe |
|---|---|
| OpenAI SDK (Python, Node, Go) | terminar en /v1 |
| Codex, Cherry Studio, Chatbox, LobeChat, LM Studio | terminar en /v1 |
| Cursor, Cline, Roo Code | terminar en /v1 |
| Anthropic SDK | no llevar /v1: el SDK añade /v1/messages |
| Claude Code | no llevar /v1: por el mismo motivo |
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.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.