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

# Get campaign recipients

> Retrieve a campaign's recipients a page at a time: who was reached, who responded or converted and, for every send step, the per-message outcome (delivered, read, failed and why, buttons pressed, email status, call result).



## OpenAPI

````yaml get /api/public/outreach-campaign/{campaignId}/recipients
openapi: 3.0.0
info:
  title: Vambe AI API
  description: Vambe AI documentation
  version: '1.0'
  contact: {}
servers:
  - url: https://api.vambe.me
    description: Production Server
security: []
tags:
  - name: Vambe AI
    description: ''
paths:
  /api/public/outreach-campaign/{campaignId}/recipients:
    get:
      tags:
        - Campaigns
      summary: Get campaign recipients
      description: >-
        Retrieve a campaign's recipients a page at a time: who was reached, who
        responded or converted and, for every send step, the per-message outcome
        (delivered, read, failed and why, buttons pressed, email status, call
        result).
      operationId: PublicCampaignController_getCampaignRecipients
      parameters:
        - name: x-api-key
          in: header
          description: API key needed to authorize the request
          required: true
          schema:
            type: string
        - name: campaignId
          required: true
          in: path
          description: The ID of the campaign, from List campaigns
          schema:
            format: uuid
            type: string
        - name: page
          required: false
          in: query
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: page_size
          required: false
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
      responses:
        '200':
          description: Campaign recipients retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  total:
                    type: integer
                    description: Total matching items
                  page:
                    type: integer
                  page_size:
                    type: integer
                  has_more:
                    type: boolean
                    description: Whether another page exists after this one
                  steps:
                    type: array
                    items:
                      type: object
                      properties:
                        node_id:
                          format: uuid
                          type: string
                        step_number:
                          type: integer
                          description: Position among the campaign send steps
                        kind:
                          type: string
                          example: send-template
                        name:
                          type: string
                          nullable: true
                        channel:
                          type: string
                          enum:
                            - whatsapp
                            - email
                            - voice
                          nullable: true
                  recipients:
                    type: array
                    items:
                      type: object
                      properties:
                        recipient_id:
                          format: uuid
                          type: string
                        name:
                          type: string
                          nullable: true
                        phone:
                          type: string
                          nullable: true
                        email:
                          type: string
                          nullable: true
                        status:
                          type: string
                          enum:
                            - pending
                            - enqueued
                            - ongoing
                            - finished
                          description: >-
                            pending: not dispatched yet. enqueued: dispatched,
                            workflow not started. ongoing: workflow running.
                            finished: workflow ended
                        reach:
                          type: string
                          enum:
                            - full
                            - partial
                            - none
                            - stopped
                          nullable: true
                          description: >-
                            full: every step reached the recipient. partial:
                            some did. none: none did. stopped: cut off when the
                            campaign was stopped. null before dispatch
                        dispatched_at:
                          type: string
                          format: date-time
                          nullable: true
                        batch_number:
                          type: integer
                          nullable: true
                        next_step_at:
                          type: string
                          format: date-time
                          nullable: true
                        responded_at:
                          type: string
                          format: date-time
                          nullable: true
                          description: When the recipient first responded
                        converted_at:
                          type: string
                          format: date-time
                          nullable: true
                          description: When the recipient hit the campaign goal
                        error:
                          type: string
                          nullable: true
                          description: Why the recipient's run stopped, when it did
                        steps:
                          type: array
                          description: Outcome on each send step, in campaign order
                          items:
                            type: object
                            description: The recipient's outcome on one send step
                            properties:
                              node_id:
                                type: string
                                format: uuid
                                description: The step, from `steps`
                              status:
                                type: string
                                enum:
                                  - pending
                                  - ongoing
                                  - succeeded
                                  - skipped
                                  - failed
                              reason:
                                type: string
                                nullable: true
                                description: Skip reason code or failure message
                              failure_level:
                                type: string
                                enum:
                                  - system
                                  - delivery
                                nullable: true
                              at:
                                type: string
                                format: date-time
                                nullable: true
                                description: When the step ran
                              delivered_at:
                                type: string
                                format: date-time
                                nullable: true
                                description: WhatsApp only
                              read_at:
                                type: string
                                format: date-time
                                nullable: true
                                description: WhatsApp only
                              failed_at:
                                type: string
                                format: date-time
                                nullable: true
                                description: WhatsApp only
                              failed_reason:
                                type: string
                                nullable: true
                                description: WhatsApp only
                              button_presses:
                                type: array
                                description: WhatsApp only
                                items:
                                  type: object
                                  properties:
                                    button:
                                      type: string
                                    pressed_at:
                                      format: date-time
                                      type: string
                              email_status:
                                type: string
                                nullable: true
                                description: Email only
                              email_status_at:
                                type: string
                                format: date-time
                                nullable: true
                                description: Email only
                              email_failed_reason:
                                type: string
                                nullable: true
                                description: Email only
                              call:
                                type: object
                                nullable: true
                                description: Voice only
                                properties:
                                  status:
                                    type: string
                                  answered:
                                    type: boolean
                                  duration_seconds:
                                    type: integer
                                    nullable: true
        '404':
          description: Campaign not found

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.