← OpenRouter

Can an agent stream a completion that calls a tool with OpenRouter API?

The agent needs you to sign it up or register a client and provide a key or token. You also handle changes to its access.

observedProbed revision sha256:0a04d9831ccb…

Who does each step

Whether the agent handles it alone or a person has to step in.

  1. 01

    Discover

    Machine

    The vendor's machine-readable docs show the agent where and how to call this job.

  2. 02

    Access

    Workaround · setup

    You give the agent a key or token.

  3. 03

    Onboard

    Workaround · setup

    You sign up or register a client for the agent.

  4. 04

    Pay

    Not applicable

    Nothing to pay for the job.

  5. 05

    Confirm

    Machine

    The response or specification defines errors the agent can distinguish from success.

  6. 06

    Sustain

    Workaround · setup

    You replace or revoke the agent's access when it needs to change.

  • Access: handing over a key or token.
  • Onboard: signing up or registering a client for the agent.
  • Sustain: renewing, replacing or revoking its access.

To remove these handoffs: support OAuth client registration so the agent can register its own client and ask for consent; provide an agent registration route, such as auth.md, a sign-up API or OAuth client registration; provide key management or OAuth refresh and revocation so the agent can maintain its own access.

Agent surfaces

5 kinds · 9 entries

The probe

11 Oct 2026 · 23:21 UTC · 31.13 s

Each request it sent and what came back; the descriptors it read, counted, with what they named.

Discover14 descriptor reads9 facts
Found
API catalogopenrouter.ai/api/v1ARDopenrouter.ai/.well-known/mcp/server-card.jsonARDopenrouter.ai/openapi.jsonARDopenrouter.ai/.well-known/skills/index.jsonMCPmcp.openrouter.ai/mcpFor agentsopenrouter.ai/llms.txtAPI catalogopenrouter.ai/api/v1APIopenrouter.aiAPIopenrouter.ai
From
openrouter.ai/.well-known/api-catalog · openrouter.ai/.well-known/ard.json · openrouter.ai/.well-known/mcp/server-card.json · openrouter.ai/llms.txt · openrouter.ai/openapi.json
This endpoint
openrouter.ai/api/v1/chat/completions is named by a descriptor it read
Job requestPOST openrouter.ai/api/v1/chat/completions40123 ms
Request
POST https://openrouter.ai/api/v1/chat/completions
Response
401 · application/json · 67 bytes
Body
sha256:36c1407c049a212826f183eabdf3eae02172f79f80806f9afed93f5eeb68c49c
Exchange
sha256:a66f1ca56fcac324ba1b67493902b2dd768d9ea57371768b45f486e8ae35c651
Resource metadataGET openrouter.ai/.well-known/oauth-protected-resource/api/v1/chat/completions40465 ms
Request
GET https://openrouter.ai/.well-known/oauth-protected-resource/api/v1/chat/completions
Response
404 · text/html · 30162 bytes
Body
sha256:b431b7086b356a0fae1e7eb846701493600305d10ceef545357245d3205e6454
Exchange
sha256:8a83d0f2635de390d6e95fbb1841cfcdd7b8f0962a8af60ad98a61d8fc4d2bfd
Resource metadataGET openrouter.ai/.well-known/oauth-protected-resource404113 ms
Request
GET https://openrouter.ai/.well-known/oauth-protected-resource
Response
404 · text/html · 30835 bytes
Body
sha256:c1226fb21cafee6b570edec8f0a77f9d312bd8a4fa18d3ffbfdd508ccad89438
Exchange
sha256:cb550ffca21ea09e307a04037bf4c18fc5dcd785d5558cdf660edb13daa060c2
Declared pageGET openrouter.ai/sign-up200114 ms
Request
GET https://openrouter.ai/sign-up
Response
200 · text/html · 157694 bytes
Body
sha256:c016ce5a2cf37a6ce2f34214f16717c58fc6c7c010357d6a94ab5e1222f60907
Exchange
sha256:fb00f4488dada376185153b00577071d41e84b4679e8946b23e2f3f381d04c7b

OpenRouter on the startup-offers board

The grade’s badge

One image that keeps itself current, linking here.

Live badge for OpenRouter API, agent grade: B+[![agent grade](https://sourcey.com/badges/agent-readiness/arp_01m4pmaa3hzmehhtgx2ea10thv.svg)](https://sourcey.com/c/openrouter/agent-readiness/openrouter-api/model-chat-stream-tool)

Improve the report

Profile
arp_01m4pmaa3hzmehhtgx2ea10thv
Projection
sha256:fd44d21eff6abc185d3935363b9fe688dceeb629fcd490eb17ed8db113b3fea8
Policy
kind-2026-10-12.2 · sha256:b612172aad277b54461de84e006815126f2df566563954b02f4432a39cad89ac