Skip to content

streaming terminal sentinel on OpenRouter APIs #1

@jonny64

Description

@jonny64

Docs page URL

https://openrouter.ai/docs/api-reference/streaming

API endpoint

/api/v1/chat/completions

Description

I observed a trailing [DONE] SSE sentinel on both OpenRouter streaming APIs:

  • OpenAI-compatible: POST /api/v1/chat/completions
  • Anthropic-compatible: POST /api/v1/messages?beta=true

Observed behavior

OpenAI-compatible path

Response tail:

data: {...final chunk...}
data: [DONE]

Anthropic-compatible path /api

Response tail:

event: message_stop
data: {"type":"message_stop"}

event: data
data: [DONE]

Repro models

Observed on:

  • minimax/minimax-m2.5
  • anthropic/claude-haiku-4.5

Docs question

I could not find explicit documentation that the Anthropic-compatible endpoint also emits a terminal [DONE] sentinel.

Is this intentional behavior for OpenRouter's streaming layer across both APIs?

If yes, could this be documented explicitly for /api/v1/messages as well?

Steps to reproduce

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions