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

# List Whatsapp Sessions

> WhatsApp conversations as agent-scoped "sessions", across all campaigns.

The Sessions view's WhatsApp channel calls this filtered by ``agent_id`` (a
first-class column on the conversation, denormalized from the driving campaign).
Scoped by ``campaigns:read`` to match ``/campaigns/{id}/conversations``; each row
carries the qualified verdict + masked phone. Drill-in (transcript + per-turn
decisions) reuses the per-campaign ``/messages`` and ``/events`` endpoints via the
row's ``campaign_id``/``recipient_id``.

Owner-scoped like the voice Sessions list: a normal logged-in user sees only
conversations from campaigns they created (campaign-less threads are admin-only);
api-key / admin callers see the whole workspace.



## OpenAPI

````yaml /api-reference/openapi.json get /whatsapp/sessions
openapi: 3.1.0
info:
  title: Lehar API
  version: v0
  description: >-
    Customer-facing REST API for the Lehar voice-AI platform. Platform-admin
    endpoints are intentionally excluded from this reference. Regenerate with
    `npm run sync:openapi`.
servers:
  - url: https://api.lehar.ai/ca/api/v0
security:
  - ApiKeyAuth: []
  - BearerAuth: []
paths:
  /whatsapp/sessions:
    get:
      tags:
        - Campaigns
      summary: List Whatsapp Sessions
      description: >-
        WhatsApp conversations as agent-scoped "sessions", across all campaigns.


        The Sessions view's WhatsApp channel calls this filtered by ``agent_id``
        (a

        first-class column on the conversation, denormalized from the driving
        campaign).

        Scoped by ``campaigns:read`` to match ``/campaigns/{id}/conversations``;
        each row

        carries the qualified verdict + masked phone. Drill-in (transcript +
        per-turn

        decisions) reuses the per-campaign ``/messages`` and ``/events``
        endpoints via the

        row's ``campaign_id``/``recipient_id``.


        Owner-scoped like the voice Sessions list: a normal logged-in user sees
        only

        conversations from campaigns they created (campaign-less threads are
        admin-only);

        api-key / admin callers see the whole workspace.
      operationId: list_whatsapp_sessions_ca_api_v0_whatsapp_sessions_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
    BearerAuth:
      type: http
      scheme: bearer

````