{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rtcstats.com/schemas/index.json",
  "title": "rtcStats JSON Schema index",
  "description": "Standalone JSON Schema 2020-12 documents for every resource in the rtcStats API, generated from the OpenAPI description at https://rtcstats.com/api/openapi.",
  "apiVersion": "1.0",
  "total": 14,
  "schemas": [
    {
      "name": "Error",
      "file": "Error.schema.json",
      "url": "https://rtcstats.com/schemas/Error.schema.json"
    },
    {
      "name": "AnalyzeResponseData",
      "file": "AnalyzeResponseData.schema.json",
      "url": "https://rtcstats.com/schemas/AnalyzeResponseData.schema.json",
      "description": "Session payload peer-connections, observations and scores."
    },
    {
      "name": "EnrichResponse",
      "file": "EnrichResponse.schema.json",
      "url": "https://rtcstats.com/schemas/EnrichResponse.schema.json",
      "description": "POST /v1.0/enrich response: the scores and observations projection, plus the processor version and a generation timestamp."
    },
    {
      "name": "EnrichData",
      "file": "EnrichData.schema.json",
      "url": "https://rtcstats.com/schemas/EnrichData.schema.json",
      "description": "Scores, per-severity observation counts, trimmed observations, and user-agent data. No stored-session fields."
    },
    {
      "name": "Scores",
      "file": "Scores.schema.json",
      "url": "https://rtcstats.com/schemas/Scores.schema.json",
      "description": "The five scores produced by the analyzer. Each is a number or null."
    },
    {
      "name": "ObservationsCount",
      "file": "ObservationsCount.schema.json",
      "url": "https://rtcstats.com/schemas/ObservationsCount.schema.json",
      "description": "Observation counts grouped by severity. The five values sum to the length of the observations array."
    },
    {
      "name": "Observation",
      "file": "Observation.schema.json",
      "url": "https://rtcstats.com/schemas/Observation.schema.json",
      "description": "A single trimmed observation: flat and SQL-friendly. Only type and severity are always present; every other field is included only when it has a finite value, never as null."
    },
    {
      "name": "McpStreamableHttpTransportError",
      "file": "McpStreamableHttpTransportError.schema.json",
      "url": "https://rtcstats.com/schemas/McpStreamableHttpTransportError.schema.json",
      "description": "JSON-RPC 2.0 envelope returned by the MCP Streamable HTTP transport for **HTTP-level** failures (before or outside the SSE stream). This is not the same shape as tool errors from `tools/call`, which are delivered with HTTP 200 inside the stream as JSON-RPC responses."
    },
    {
      "name": "McpJsonRpcResponse",
      "file": "McpJsonRpcResponse.schema.json",
      "url": "https://rtcstats.com/schemas/McpJsonRpcResponse.schema.json",
      "description": "The JSON-RPC 2.0 response object returned as the JSON body of a successful POST that contained a JSON-RPC **request** (JSON-response mode, no SSE stream). Either `result` (success) or `error` (failure) is present; `id` matches the client request."
    },
    {
      "name": "QuotaResponse",
      "file": "QuotaResponse.schema.json",
      "url": "https://rtcstats.com/schemas/QuotaResponse.schema.json"
    },
    {
      "name": "ObservationTypesResponse",
      "file": "ObservationTypesResponse.schema.json",
      "url": "https://rtcstats.com/schemas/ObservationTypesResponse.schema.json"
    },
    {
      "name": "SessionListItem",
      "file": "SessionListItem.schema.json",
      "url": "https://rtcstats.com/schemas/SessionListItem.schema.json"
    },
    {
      "name": "SessionAbstract",
      "file": "SessionAbstract.schema.json",
      "url": "https://rtcstats.com/schemas/SessionAbstract.schema.json",
      "description": "Denormalized session summary returned alongside each session in the list so clients can render badges or compute their own filters without a second call. <code>observationTypes</code> matches the <code>observationTypes</code> filter input. Every property is always present."
    },
    {
      "name": "SessionsListResponse",
      "file": "SessionsListResponse.schema.json",
      "url": "https://rtcstats.com/schemas/SessionsListResponse.schema.json"
    }
  ],
  "related": {
    "openapi": "https://rtcstats.com/api/openapi",
    "context": "https://rtcstats.com/schemas/context.jsonld",
    "vocabulary": "https://rtcstats.com/schemas/vocabulary.json",
    "spectral": "https://rtcstats.com/schemas/spectral.yml",
    "postman": "https://rtcstats.com/schemas/rtcstats.postman_collection.json"
  }
}