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

# List the documents open in a multi-document session.

> Returns the editable documents open in this session (focused first), each with its id, chunk
count, and focused flag — so a client can render document tabs. The response is token-light by
default; pass include_html=true to also get each document's reassembled HTML.

ID MAPPING: `document_id` is the SESSION-LOCAL slot id ("doc_primary", "doc_ab12…");
`durable_document_id` is the PERMANENT documents.id UUID — the SAME id `list_documents` (Files)
shows and `get_document_detail` / `rename_document` / `archive_document` / `open_documents`
take (null until the document's first save). focus_session_document, close_session_document,
and chat's `document_id` accept EITHER form, so you can drive a session entirely with durable
ids.



## OpenAPI

````yaml /openapi.json get /v1/sessions/{session_id}/documents
openapi: 3.1.0
info:
  title: Universal Document AI API
  description: AI-powered document editing with multi-tenant organization support
  version: 2.0.0
servers: []
security: []
paths:
  /v1/sessions/{session_id}/documents:
    get:
      tags:
        - v1
        - mcp
        - sessions
      summary: List the documents open in a multi-document session.
      description: >-
        Returns the editable documents open in this session (focused first),
        each with its id, chunk

        count, and focused flag — so a client can render document tabs. The
        response is token-light by

        default; pass include_html=true to also get each document's reassembled
        HTML.


        ID MAPPING: `document_id` is the SESSION-LOCAL slot id ("doc_primary",
        "doc_ab12…");

        `durable_document_id` is the PERMANENT documents.id UUID — the SAME id
        `list_documents` (Files)

        shows and `get_document_detail` / `rename_document` / `archive_document`
        / `open_documents`

        take (null until the document's first save). focus_session_document,
        close_session_document,

        and chat's `document_id` accept EITHER form, so you can drive a session
        entirely with durable

        ids.
      operationId: list_session_documents
      parameters:
        - name: session_id
          in: path
          required: true
          schema:
            type: string
            title: Session Id
        - name: report_changed
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              Resume awareness: when true, each doc carries `changed_since_seen`
              = its committed version is newer than the version THIS session
              last saw (changed by another session while away). The web UI sets
              this ONLY on resume / a chat switch (never on the ~2s poll) so it
              can show a one-time 'changed since you were last here' notice —
              ongoing changes are surfaced through the normal change feed.
              Computed before the roster updates the version this session has
              seen.
            default: false
            title: Report Changed
          description: >-
            Resume awareness: when true, each doc carries `changed_since_seen` =
            its committed version is newer than the version THIS session last
            saw (changed by another session while away). The web UI sets this
            ONLY on resume / a chat switch (never on the ~2s poll) so it can
            show a one-time 'changed since you were last here' notice — ongoing
            changes are surfaced through the normal change feed. Computed before
            the roster updates the version this session has seen.
        - name: include_html
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              Include each document's full reassembled HTML body. Default false
              (token-light — recommended for AI agents enumerating or switching
              tabs): returns only ids, title, section count, focused flag, and
              page setup, omitting the body which can be hundreds of KB per
              document. The web app passes true to render document content.
            default: false
            title: Include Html
          description: >-
            Include each document's full reassembled HTML body. Default false
            (token-light — recommended for AI agents enumerating or switching
            tabs): returns only ids, title, section count, focused flag, and
            page setup, omitting the body which can be hundreds of KB per
            document. The web app passes true to render document content.
        - name: authorization
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````