Latitude · Schema

SessionDetail

CompanyArtificial IntelligenceObservabilityMonitoringPlatformAgents

Properties

Name Type Description
organizationId string Organization that owns this session.
projectId string Project this session belongs to.
sessionId string Session identifier set by the SDK. Groups the traces of one conversation.
traceCount integer Number of traces in the session.
traceIds array Identifiers of the traces that make up the session.
spanCount integer Total number of spans across the session's traces.
errorCount integer Number of spans flagged with an error status.
startTime string ISO-8601 timestamp of the session's earliest span.
endTime string ISO-8601 timestamp of the session's latest span.
lastActivityTime string ISO-8601 timestamp of the session's most recent span start.
durationNs number Active execution time of the session in nanoseconds, not wall-clock.
timeToFirstTokenNs number Nanoseconds from the start of the first LLM span to its first emitted token. `0` if not measured.
tokensInput number Total input tokens across the session's LLM spans.
tokensOutput number Total output tokens across the session's LLM spans.
tokensCacheRead number Total tokens served from the provider's prompt cache.
tokensCacheCreate number Total tokens written to the provider's prompt cache.
tokensReasoning number Total reasoning tokens reported by the model.
tokensTotal number Sum of all token counters.
costInputMicrocents number Cost of input tokens in microcents (100,000,000 per USD).
costOutputMicrocents number Cost of output tokens in microcents (100,000,000 per USD).
costTotalMicrocents number Total cost in microcents (100,000,000 per USD).
userId stringnull End-user identifier set by the SDK. `null` when absent.
userEmail stringnull End-user email set by the SDK. `null` when absent.
simulationId stringnull CUID of the simulation that produced this session. `null` when not a simulation.
tags array Free-form tags attached at ingest time.
metadata object Free-form metadata attached at ingest time.
models array Model identifiers seen across the session's LLM spans.
providers array LLM-provider identifiers seen across the session's spans.
serviceNames array OpenTelemetry `service.name` values seen in the session.
agentNames array Agent names seen across the session's spans.
definedTools array Tool names declared available across the session's spans.
rootSpanId stringnull Identifier of the session's root span. `null` when no root span has been ingested.
rootSpanName stringnull `name` attribute of the root span. `null` when no root span has been ingested.
latestTraceId stringnull Identifier of the trace that produced the session's latest output. `null` when no trace produced output.
conversation array Conversation of the session, in OpenTelemetry GenAI format: the system instructions, then the messages of the session's latest LLM completion, followed by its generated output.
View JSON Schema on GitHub

JSON Schema

latitude-so-session-detail-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/latitude-so/main/json-schema/latitude-so-session-detail-schema.json",
  "title": "SessionDetail",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/latitude-so-openapi.json#/components/schemas/SessionDetail",
  "type": "object",
  "properties": {
    "organizationId": {
      "type": "string",
      "description": "Organization that owns this session."
    },
    "projectId": {
      "type": "string",
      "description": "Project this session belongs to."
    },
    "sessionId": {
      "type": "string",
      "description": "Session identifier set by the SDK. Groups the traces of one conversation."
    },
    "traceCount": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of traces in the session."
    },
    "traceIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Identifiers of the traces that make up the session."
    },
    "spanCount": {
      "type": "integer",
      "minimum": 0,
      "description": "Total number of spans across the session's traces."
    },
    "errorCount": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of spans flagged with an error status."
    },
    "startTime": {
      "type": "string",
      "description": "ISO-8601 timestamp of the session's earliest span."
    },
    "endTime": {
      "type": "string",
      "description": "ISO-8601 timestamp of the session's latest span."
    },
    "lastActivityTime": {
      "type": "string",
      "description": "ISO-8601 timestamp of the session's most recent span start."
    },
    "durationNs": {
      "type": "number",
      "description": "Active execution time of the session in nanoseconds, not wall-clock."
    },
    "timeToFirstTokenNs": {
      "type": "number",
      "description": "Nanoseconds from the start of the first LLM span to its first emitted token. `0` if not measured."
    },
    "tokensInput": {
      "type": "number",
      "description": "Total input tokens across the session's LLM spans."
    },
    "tokensOutput": {
      "type": "number",
      "description": "Total output tokens across the session's LLM spans."
    },
    "tokensCacheRead": {
      "type": "number",
      "description": "Total tokens served from the provider's prompt cache."
    },
    "tokensCacheCreate": {
      "type": "number",
      "description": "Total tokens written to the provider's prompt cache."
    },
    "tokensReasoning": {
      "type": "number",
      "description": "Total reasoning tokens reported by the model."
    },
    "tokensTotal": {
      "type": "number",
      "description": "Sum of all token counters."
    },
    "costInputMicrocents": {
      "type": "number",
      "description": "Cost of input tokens in microcents (100,000,000 per USD)."
    },
    "costOutputMicrocents": {
      "type": "number",
      "description": "Cost of output tokens in microcents (100,000,000 per USD)."
    },
    "costTotalMicrocents": {
      "type": "number",
      "description": "Total cost in microcents (100,000,000 per USD)."
    },
    "userId": {
      "type": [
        "string",
        "null"
      ],
      "description": "End-user identifier set by the SDK. `null` when absent."
    },
    "userEmail": {
      "type": [
        "string",
        "null"
      ],
      "description": "End-user email set by the SDK. `null` when absent."
    },
    "simulationId": {
      "type": [
        "string",
        "null"
      ],
      "description": "CUID of the simulation that produced this session. `null` when not a simulation."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Free-form tags attached at ingest time."
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Free-form metadata attached at ingest time."
    },
    "models": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Model identifiers seen across the session's LLM spans."
    },
    "providers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "LLM-provider identifiers seen across the session's spans."
    },
    "serviceNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "OpenTelemetry `service.name` values seen in the session."
    },
    "agentNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Agent names seen across the session's spans."
    },
    "definedTools": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Tool names declared available across the session's spans."
    },
    "rootSpanId": {
      "type": [
        "string",
        "null"
      ],
      "description": "Identifier of the session's root span. `null` when no root span has been ingested."
    },
    "rootSpanName": {
      "type": [
        "string",
        "null"
      ],
      "description": "`name` attribute of the root span. `null` when no root span has been ingested."
    },
    "latestTraceId": {
      "type": [
        "string",
        "null"
      ],
      "description": "Identifier of the trace that produced the session's latest output. `null` when no trace produced output."
    },
    "conversation": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/GenAIMessage"
      },
      "description": "Conversation of the session, in OpenTelemetry GenAI format: the system instructions, then the messages of the session's latest LLM completion, followed by its generated output."
    }
  },
  "required": [
    "organizationId",
    "projectId",
    "sessionId",
    "traceCount",
    "traceIds",
    "spanCount",
    "errorCount",
    "startTime",
    "endTime",
    "lastActivityTime",
    "durationNs",
    "timeToFirstTokenNs",
    "tokensInput",
    "tokensOutput",
    "tokensCacheRead",
    "tokensCacheCreate",
    "tokensReasoning",
    "tokensTotal",
    "costInputMicrocents",
    "costOutputMicrocents",
    "costTotalMicrocents",
    "userId",
    "userEmail",
    "simulationId",
    "tags",
    "metadata",
    "models",
    "providers",
    "serviceNames",
    "agentNames",
    "definedTools",
    "rootSpanId",
    "rootSpanName",
    "latestTraceId",
    "conversation"
  ],
  "$defs": {
    "GenAIMessage": {
      "type": "object",
      "additionalProperties": {
        "nullable": true
      },
      "description": "Message in OpenTelemetry GenAI format (`role` + content parts + optional tool calls)."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/latitude-so-session-detail"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.