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

# ListVoiceWhatsAppConversationsPostAPI is the POST body form of the list


> endpoint, for callers that prefer a JSON body over query params.




## OpenAPI

````yaml /api/openapi.json post /v1/voice/whatsapp-conversations
openapi: 3.0.0
info:
  title: Erdo API
  description: >-
    Erdo's REST API: query and write datasets, run agents, manage threads,
    integrations, pages, evals, workstreams, experiments, and bounded outreach.
    Authenticate with a Bearer API key (erdo_api_...) or scoped token
    (erdo_token_...).
  version: '2026-09-29'
servers:
  - url: https://api.erdo.ai
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/voice/whatsapp-conversations:
    post:
      summary: |
        ListVoiceWhatsAppConversationsPostAPI is the POST body form of the list
      description: |
        endpoint, for callers that prefer a JSON body over query params.
      operationId: POST:mcp.ListVoiceWhatsAppConversationsPostAPI
      requestBody:
        content:
          application/json:
            schema:
              properties:
                address:
                  type: string
                canonical_lead_id:
                  type: string
                cursor:
                  type: string
                limit:
                  format: int64
                  type: integer
                phone_number:
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  conversations:
                    items:
                      $ref: >-
                        #/components/schemas/messaging.WhatsAppConversationSummary
                    type: array
                  next_cursor:
                    type: string
                type: object
          description: Success response
        default:
          $ref: '#/components/responses/APIError'
components:
  schemas:
    messaging.WhatsAppConversationSummary:
      description: >
        much, and whether the person has opted out. Never the message bodies —
        those come from GetWhatsAppConversation.
      properties:
        address:
          title: |
            Address is the person's number, in E.164.
          type: string
        agent_ref:
          description: |
            number is not one of an org's agent numbers.
          title: >
            AgentRef is the managed voice agent the number belongs to, empty
            when the
          type: string
        canonical_lead_id:
          type: string
        contact:
          allOf:
            - $ref: '#/components/schemas/messaging.SMSConversationContact'
          description: |
            written by the idle close-out digest.
          title: >
            Contact is what the person gave about themselves across the
            conversation,
        created_at:
          format: date-time
          type: string
        display_name:
          description: >
            recent inbound message. Read live rather than copied onto the
            conversation, because they can change it at any time and the two
            copies would disagree. Empty when they have never sent anything, or
            set no name.
          title: >
            DisplayName is the WhatsApp profile name the person chose, from
            their most
          type: string
        idle_closed_at:
          format: date-time
          type: string
          nullable: true
        last_inbound_at:
          format: date-time
          type: string
          nullable: true
        last_outbound_at:
          format: date-time
          type: string
          nullable: true
        last_outbound_message_id:
          description: >
            the conversation, so a caller can tell whether it was its own. Empty
            when nothing has been sent.
          title: >
            LastOutboundMessageID names the newest message this organization
            sent in
          type: string
        lead_reference:
          type: string
        message_count:
          format: int64
          type: integer
        phone_number:
          description: |
            calls and texts.
          title: >
            PhoneNumber is Erdo's own number, in E.164 — the same number that
            answers
          type: string
        sender_kind:
          type: string
        session_id:
          format: uuid
          type: string
        summary:
          type: string
        suppressed:
          description: >
            org. It is read off WhatsApp's own ledger — the one its egress gate
            enforces — so it cannot disagree with that gate, and it says nothing
            about whether the same person still accepts SMS.
          title: >
            Suppressed is true while this person stands opted out of WhatsApp
            for this
          type: boolean
        topics:
          items:
            type: string
          type: array
          nullable: true
      title: >
        WhatsAppConversationSummary is one conversation's metadata: who, when,
        how
      type: object
    messaging.SMSConversationContact:
      description: >
        field is omitted rather than empty when the person did not give it, so
        "not mentioned" never reads as "blank".
      properties:
        company:
          type: string
        email:
          type: string
        name:
          type: string
        phone:
          type: string
      title: >
        SMSConversationContact is the contact detail a conversation yielded.
        Every
      type: object
  responses:
    APIError:
      content:
        application/json:
          schema:
            externalDocs:
              url: https://pkg.go.dev/encore.dev/beta/errs#Error
            properties:
              code:
                description: Error code
                example: not_found
                externalDocs:
                  url: https://pkg.go.dev/encore.dev/beta/errs#ErrCode
                type: string
              details:
                description: Error details
                type: object
              message:
                description: Error message
                type: string
            title: APIError
            type: object
      description: Error response
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).

````