> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getmcpulse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Sessions

> Sessions in range with calls, bytes and cost per session, plus the most recent ones. Counted by start time rather than summed per day, so a session crossing midnight stays one.

`clients` narrows cleanly here — a session belongs to exactly one client — which is why there is no matching `tools` parameter: a session belongs to no tool in particular.



## OpenAPI

````yaml https://api.getmcpulse.com/docs/openapi.json get /v1/mcps/{id}/sessions
openapi: 3.1.0
info:
  title: MCPulse API
  version: 1.0.0
  description: >-
    Analytics for MCP servers.


    The API is the product — the dashboard is one client and an MCP server will
    be another. Every number here is computed server-side so that both get the
    same answer.


    **Two kinds of auth.** Ingest uses an MCP API key (`mp_live_…`). Everything
    else uses a Supabase access token from the browser session.
servers:
  - url: https://mcpulse-production.up.railway.app
    description: MCPulse API
security: []
tags:
  - name: ingest
    description: What the customer's server sends
  - name: mcps
    description: MCPs and ownership
  - name: metrics
    description: Everything the dashboard reads
  - name: keys
    description: Ingest API keys
  - name: account
    description: Account, team and usage
paths:
  /v1/mcps/{id}/sessions:
    get:
      tags:
        - metrics
      summary: List Sessions
      description: >-
        Sessions in range with calls, bytes and cost per session, plus the most
        recent ones. Counted by start time rather than summed per day, so a
        session crossing midnight stays one.


        `clients` narrows cleanly here — a session belongs to exactly one client
        — which is why there is no matching `tools` parameter: a session belongs
        to no tool in particular.
      parameters:
        - schema:
            type: string
            format: uuid
          required: true
          name: id
          in: path
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
          required: false
          name: from
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
          required: false
          name: to
          in: query
        - schema:
            type: string
            description: Comma-separated client names. Omit for every client.
          required: false
          description: Comma-separated client names. Omit for every client.
          name: clients
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 100
          required: false
          name: limit
          in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                nullable: true
        '401':
          description: Invalid or missing token
        '404':
          description: Not found, or not yours

````