Home → Help
404 Not Found on /responsesopenai.NotFoundError: Error code: 404The same key works for chat/completions but not for responsesNothing appears in the usage log for the failed callThe prefix belongs to the base URL, not to the individual endpoint. Once base_url ends with /v1, the SDK produces the right path for every endpoint it supports and you never think about it again.
Hand-written requests are where this breaks. Someone copies a curl example from a blog that wrote out the full URL, changes the host, and loses the prefix in the edit.
Because the 404 is returned at the edge, it leaves no trace in the account's request history. People then assume the endpoint is not supported at all, when in fact they have never reached it.
Compare the two paths with the same key — the difference is unambiguous:
curl -s -o /dev/null -w 'no prefix: %{http_code}\n' -X POST \
'https://YOUR_DOMAIN/responses' -H 'Authorization: Bearer YOUR_KEY'
curl -s -o /dev/null -w 'with /v1: %{http_code}\n' -X POST \
'https://YOUR_DOMAIN/v1/responses' -H 'Authorization: Bearer YOUR_KEY'
A 404 on the first and 400 or 200 on the second confirms it. A 401 on the second means the path is right and the key is wrong — a different problem.
/v1/responses, /v1/chat/completions and /v1/messages on the same base URL and the same key. Which models answer on which endpoint is in GET /v1/models.Last checked 2026-10-01. Written from problems diagnosed on a live OpenAI-compatible gateway, not collected from other sites.