Skip to main content
Send message and stream response tokens in real-time.

Request

POST /message/stream
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "message/stream",
  "params": {
    "message": "Explain machine learning",
    "context": {}
  }
}

Response Stream

event: token
data: {"token": "Machine "}

event: token
data: {"token": "learning "}

event: token
data: {"token": "is..."}

event: complete
data: {"task_id": "task-123", "tokens": {"input": 50, "output": 200}}

Events

EventDataDescription
token{token: string}Single token from agent
complete{task_id, tokens}Response complete
error{message: string}Error occurred

Usage

const response = await fetch(
  `https://agent-{gateway-id}.noorle.com/message/stream`,
  {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${token}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      jsonrpc: "2.0",
      method: "message/stream",
      params: { message: "Hello" }
    })
  }
);

const reader = response.body.getReader();
const decoder = new TextDecoder();

while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  const text = decoder.decode(value);
  console.log(text);
}