# sampling/createMessage on the wire

## 1. client -> server (POST, answers arrive later on the same session)
tools/call summarize_incident {"incidentId":"INC-1043"}

## 2. server -> client, on the SSE stream of that same POST
{
  "jsonrpc": "2.0",
  "method": "sampling/createMessage",
  "id": "7899c995-7e19-45a9-8b27-a043acabe802-0",
  "params": {
    "messages": [
      {
        "role": "user",
        "content": {
          "type": "text",
          "text": "Summarize this incident log:\n11:02:44 search-api  WARN  index segment merge running\n11:02:51 search-api  INFO  p99 latency 840ms (SLO 500ms)\n"
        }
      }
    ],
    "systemPrompt": "You are an SRE. Answer in two sentences, no preamble.",
    "includeContext": "none",
    "temperature": 0.2,
    "maxTokens": 120
  }
}

## 3. client -> server, a NEW POST carrying the answer (same id as the server's request)
{
  "jsonrpc": "2.0",
  "id": "7899c995-7e19-45a9-8b27-a043acabe802-0",
  "result": {
    "role": "assistant",
    "content": {
      "type": "text",
      "text": "A segment merge pushed p99 to 840ms against a 500ms SLO."
    },
    "model": "curl-model",
    "stopReason": "endTurn"
  }
}

## 4. server -> client, the original tools/call finally completes
{
  "jsonrpc": "2.0",
  "id": 7,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "A segment merge pushed p99 to 840ms against a 500ms SLO."
      }
    ],
    "isError": false
  }
}
