OpenRouter API response missing ’text’ in JSON payload

Testing OpenRouter with gpt‑4 turbo. Request looked fine but the completion field came back empty:

{
  "id":"chatcmpl-xxxx",
  "choices":[
    {"index":0,"logprobs":null,"finish_reason":"stop"}
  ],
  "model":"gpt-4-turbo-preview",
  "usage":{...}
}

No choices[0].message.content.

cURL request:

curl https://openrouter.ai/api/v1/chat/completions   -H "Authorization: Bearer $OPENROUTER_KEY"   -H "Content-Type: application/json"   -d '{"model":"gpt-4-turbo-preview","messages":[{"role":"user","content":"hi"}]}'

Turns out OpenRouter now requires the header HTTP-Referer (your site) and X-Title (app name) for non‑localhost keys.

Added:

-H "HTTP-Referer: https://example.com"
-H "X-Title: test-script"

Response included the text field again.

If you test locally set HTTP-Referer: localhost otherwise the proxy strips the content.