Since about 19:30–19:50 UTC on Sep 21, every attempt to retrieve a Gemini Omni interaction fails with 400 API key not valid. The same key keeps succeeding on POST /v1beta/interactions (the job is accepted) and on generateContent. It reproduces with three different keys, including one freshly created in AI Studio, and in the AI Studio playground itself. The key appears to be rejected only on the retrieval/stream path.
Setup
- Model:
gemini-omni-1.1-flash, via the Interactions API (POST /v1beta/interactions, then pollingGET /v1beta/interactions/{id}) - Auth:
x-goog-api-keyheader - Paid tier, billing enabled, Generative Language API enabled
- Keys: auth keys (service-account-bound). One is ~5 months old and was working until today. Two new ones were created today, one in Cloud Console and one in AI Studio. All three fail the same way.
- No code or deploy changes on our side since Sep 18.
Errors (verbatim)
- REST, on retrieval:
{"error":{"message":"API key not valid. Please pass a valid API key.","code":"invalid_request"}} - AI Studio playground:
Agent finished with error: Failed to close Interaction stream: API key not valid. Please pass a valid API key.
Cloud Monitoring (serviceruntime request_count, generativelanguage.googleapis.com, 10-min windows, UTC)
| Window | CreateInteractionHttp 200 | GetInteractionHttp 200 | GetInteractionHttp 400 | CreateInteractionStream 400 |
|---|---|---|---|---|
| 18:10 – 19:30 | 9 | 57 | 1 | 0 |
| 19:40 – 20:30 | 9 | 0 | 9 | 9 |
- Since ~19:40 UTC there have been zero successful
GetInteractionHttpcalls with any key. Every create still returns 200. - The failing
CreateInteractionStreamcalls are attributed to credentialapikey:UNKNOWN, so the key doesn’t seem to be resolved on that path. GenerateContentwith the same key returned 200 throughout.
Questions
- Is this a known regression on the Interactions retrieval/stream path for auth keys?
- Are interactions that were created but can’t be retrieved being billed?
- Will those interactions be retrievable once this is fixed?
Happy to share the project ID and interaction IDs privately.