> ## 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.

# List a contact's campaigns

> List the campaigns a contact received, newest first, each with only that contact's participation: delivery status, whether they responded or converted, the ticket fields uploaded for them and the outcome of every send step.



## OpenAPI

````yaml get /api/public/outreach-campaign/by-contact/{contactId}
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/by-contact/{contactId}:
    get:
      tags:
        - Campaigns
      summary: List a contact's campaigns
      description: >-
        List the campaigns a contact received, newest first, each with only that
        contact's participation: delivery status, whether they responded or
        converted, the ticket fields uploaded for them and the outcome of every
        send step.
      operationId: PublicCampaignController_listContactCampaigns
      parameters:
        - name: x-api-key
          in: header
          description: API key needed to authorize the request
          required: true
          schema:
            type: string
        - name: contactId
          required: true
          in: path
          description: The ID of the contact
          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: 25
            default: 10
      responses:
        '200':
          description: The contact's campaigns retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact_id:
                    format: uuid
                    type: string
                  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
                  campaigns:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          format: uuid
                          type: string
                        name:
                          type: string
                          example: Autocash Septiembre
                        status:
                          type: string
                          enum:
                            - draft
                            - active
                            - paused
                            - archived
                        campaign_type:
                          type: string
                          enum:
                            - one_time
                        kpi_event:
                          type: object
                          nullable: true
                          description: The conversion goal of the campaign
                          properties:
                            key:
                              type: string
                              example: order_created
                            stage_id:
                              type: string
                              format: uuid
                              nullable: true
                        audience:
                          type: object
                          properties:
                            status:
                              type: string
                            source:
                              type: string
                              nullable: true
                            segment:
                              type: object
                              nullable: true
                              properties:
                                id:
                                  format: uuid
                                  type: string
                                name:
                                  type: string
                            size:
                              type: integer
                              description: Number of recipients
                        lifecycle:
                          type: string
                          enum:
                            - notSent
                            - inProcess
                            - finished
                        delivery:
                          type: object
                          properties:
                            not_started:
                              type: integer
                            running:
                              type: integer
                            finished:
                              type: integer
                            last_batch_at:
                              type: string
                              format: date-time
                              nullable: true
                        created_at:
                          format: date-time
                          type: string
                        front_url:
                          type: string
                          description: Link to the campaign in Vambe
                        steps:
                          type: array
                          description: The send steps of the campaign, in order
                          items:
                            type: object
                            properties:
                              kind:
                                type: string
                                example: send-template
                              channel:
                                type: string
                                enum:
                                  - whatsapp
                                  - email
                                  - voice
                                nullable: true
                        recipient:
                          type: object
                          nullable: true
                          description: The contact's participation in the campaign
                          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
                            ticket_fields:
                              type: array
                              description: >-
                                Ticket fields uploaded for the contact with the
                                campaign audience
                              items:
                                type: object
                                properties:
                                  key:
                                    type: string
                                    example: rut
                                  name:
                                    type: string
                                    example: RUT
                                  value:
                                    type: string
                                    example: 11111111-1
        '404':
          description: Contact not found

````

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