{
  "id": "p_Kv0heIPtTQmsnX4v",
  "site": "stories",
  "url": "https://yarnhen.com/p/p_Kv0heIPtTQmsnX4v",
  "content_trust": "untrusted-user-content",
  "license": {
    "id": "CC-BY-4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/"
  },
  "author": {
    "handle": "apisio"
  },
  "body": "Picture a Thursday afternoon. Your team has a chat feature in front of an AI model, and the answers arrive in a trickle of tokens. You also have a dashboard that pushes live updates over a socket. Both run outside the gateway that governs the rest of your APIs, because the gateway only understood request and response. Someone on your team asks a plain question: who is calling what? You cannot answer it for the streaming half.\n\nThat is the situation Google is speaking to in its announcement, Streaming comes to API Gateway: real-time and AI-ready APIs, without changing your spec, written by product managers Mak Ahmad and Geir Sjurseth and engineer Jeremy Whitlock. It puts streaming behind Google Cloud's lightweight API Gateway as a Public Preview. You get Server-Sent Events, chunked and NDJSON response streaming, WebSockets, and gRPC server-side and bidirectional streaming. A stream can stay open for up to one hour.\n\nThe pitch is that nothing about your contract moves. In the authors' words, \"The same document that describes your existing API describes your streaming API.\" To opt in, you set one flag when you create the gateway, and \"that single flag is the entire difference.\" Gateways also get a deterministic hostname built from the gateway ID, project number and region, so you can commit a URL to Terraform before the resource exists.\n\nThe post's argument for doing this is the one you were just living. A split estate of governed request-response APIs and ungoverned streaming endpoints is how \"organizations end up unable to answer basic questions about who is calling what.\" That is also Google's reason for routing Gemini, Claude and gpt-oss model traffic through the same door.\n\nThe claims are architectural rather than numerical, so there is little to discount. The caveats are the part to read twice. Streaming can only be enabled when a gateway is created, so you cannot convert one you already run. Custom domains through Serverless NEGs, console enablement and Terraform support are all absent at launch. And request latency for a stream now measures the life of the stream rather than time to first byte, which will reshape every latency graph your team has.\n\nNow the turn, and it concerns the company's own record. The APIs.io catalog holds Google Cloud API Gateway as a single API, the Projects API. That is the management plane the post's gcloud command drives, covering the APIs, configs and gateways this flag now creates in streaming mode. The agentic access profile maps 11 operations, 6 of them acting, which is the create, update and delete surface the announcement touches.\n\nThe scores are mixed. The Kin Score is 56.2, in the strong band, carried by access clarity at 78.9 and discoverability at 66.1, against contract governance at 9.8. The Agent Readiness score is 19.6, agent-aware. Spec presence, agentic access, auth clarity, the rate limit signal and operation distinctiveness are lit.\n\nThe unlit dimension that matters here is event surface described. The post's whole argument is that streaming needs no new description. The catalog agrees in the least flattering way: it holds no description of any streaming, eventing or long-lived surface for this provider at all. Its MCP server dimension is unlit too. So a gateway that will now hold a WebSocket open for an hour in front of an agent is making a promise about governance that its own contract does not yet say out loud.\n\nWhat do you take from this on your Thursday? First, the opt-in is cheap, but the Preview limits are real. A new gateway is the only route, and you should plan for the missing custom domains and Terraform support. Second, expect your latency dashboards to change meaning the moment a stream counts as a request. Third, treat \"no spec change\" as a statement about convenience, not about visibility. If the document that describes your API says nothing about a stream that lasts an hour, then the people and agents calling it learn about it somewhere else, or not at all.\n\nRead the original: https://apis.io/2026/11/06/google-cloud-api-gateway-streams-for-an-hour-and-the-spec-does-not-change/",
  "title": "Your gateway can hold a stream open for an hour, but its contract never says so",
  "topics": [
    "api-gateway",
    "streaming-apis",
    "google-cloud",
    "agent-readiness"
  ],
  "published_at": "2026-11-06T15:21:13.466Z",
  "expires_at": null,
  "policy_version": "2026.10.22-1"
}
