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

# Get campaign analytics

> Retrieve overall and daily analytics for a specific campaign.

Responses include direct Enginy app URLs when available. Responses include an `appUrl` that opens the campaign overview in Enginy. MCP agents should return those URLs to users whenever they are present in the response.

    > **Required scope:** `ANALYTICS_READ`
    >
    > **Rate limit:** 100 requests per minute



## OpenAPI

````yaml https://openapi.enginy.ai/definitions.json get /v1/campaign/{campaignId}/analytics
openapi: 3.1.0
info:
  title: Enginy API
  version: 1.0.0
  description: Public API for Enginy platform
servers:
  - url: https://openapi.enginy.ai
    description: Configured server
security: []
tags:
  - name: AI Variables
    description: >-
      Manage AI variables and discover the entity fields you can reference in
      prompts and entity requests.
  - name: Inbox
    description: >-
      Inbox endpoints for listing contact threads, reading thread messages,
      managing tags, and sending manual replies.
  - name: Workflows
    description: >-
      Build, validate, publish, run, and inspect advanced (graph) workflows,
      plus the block/condition catalog needed to author a workflow plan.
paths:
  /v1/campaign/{campaignId}/analytics:
    get:
      tags:
        - Campaigns
      summary: Get campaign analytics
      description: >-
        Retrieve overall and daily analytics for a specific campaign.


        Responses include direct Enginy app URLs when available. Responses
        include an `appUrl` that opens the campaign overview in Enginy. MCP
        agents should return those URLs to users whenever they are present in
        the response.

            > **Required scope:** `ANALYTICS_READ`
            >
            > **Rate limit:** 100 requests per minute
      parameters:
        - schema:
            type: string
            description: The campaign ID to retrieve analytics for.
          required: true
          description: The campaign ID to retrieve analytics for.
          name: campaignId
          in: path
        - schema:
            type: string
            description: >-
              Optional start date in ISO 8601 format. Defaults to the last 30
              days.
          required: false
          description: >-
            Optional start date in ISO 8601 format. Defaults to the last 30
            days.
          name: startDate
          in: query
        - schema:
            type: string
            description: Optional end date in ISO 8601 format. Defaults to now.
          required: false
          description: Optional end date in ISO 8601 format. Defaults to now.
          name: endDate
          in: query
      responses:
        '200':
          description: Campaign analytics retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      campaignId:
                        type: number
                        description: Unique identifier for the campaign.
                      appUrl:
                        type: string
                        format: uri
                        description: >-
                          Direct Enginy app URL for opening the campaign
                          analytics page.
                      campaignName:
                        type: string
                        description: Name of the campaign.
                      status:
                        type: string
                        enum:
                          - DRAFT
                          - PAUSED
                          - ACTIVE
                          - FREEZED
                          - COMPLETED
                          - SCHEDULED
                        description: Current user-facing campaign status.
                      isActive:
                        type: boolean
                        description: Whether the campaign is currently active.
                      isPaused:
                        type: boolean
                        description: Whether the campaign is currently paused.
                      isArchived:
                        type: boolean
                        description: Whether the campaign is archived.
                      overview:
                        type: object
                        properties:
                          totalContacts:
                            type: number
                            description: >-
                              Total contacts included in the campaign analytics
                              view.
                          started:
                            type: number
                            description: Number of contacts that started the campaign.
                          contacted:
                            type: number
                            description: >-
                              Number of contacts that received at least one
                              outbound message.
                          replied:
                            type: number
                            description: Number of contacted contacts that replied.
                          positive:
                            type: number
                            description: >-
                              Number of replied contacts with a positive
                              conversation tag.
                        required:
                          - totalContacts
                          - started
                          - contacted
                          - replied
                          - positive
                        description: >-
                          Overview counters aligned with the campaign analytics
                          view.
                      progressByChannelList:
                        type: object
                        properties:
                          all:
                            type: object
                            properties:
                              totalLeads:
                                type: number
                                description: Total contacts in the campaign.
                              started:
                                type: number
                                description: Started contacts.
                              contacted:
                                type: number
                                description: Contacted contacts.
                              replied:
                                type: number
                                description: Contacts who replied.
                              tagged:
                                type: number
                                description: Contacts with at least one conversation tag.
                              positive:
                                type: number
                                description: Positive contacts.
                            required:
                              - totalLeads
                              - started
                              - contacted
                              - replied
                              - tagged
                              - positive
                            description: Overview metrics across all campaign channels.
                          linkedin:
                            type:
                              - object
                              - 'null'
                            properties:
                              totalLeads:
                                type: number
                                description: Total contacts in the LinkedIn campaign.
                              engaged:
                                type: number
                                description: Engaged contacts.
                              invited:
                                type: number
                                description: Invited contacts.
                              sentConnections:
                                type: number
                                description: >-
                                  Contacts invited through campaign-owned
                                  connection requests.
                              alreadySentConnections:
                                type: number
                                description: >-
                                  Contacts invited through already-existing
                                  connection requests attributed to the sender.
                              accepted:
                                type: number
                                description: Accepted invitations.
                              acceptedConnections:
                                type: number
                                description: Accepted invitations.
                              contacted:
                                type: number
                                description: >-
                                  Contacts who received at least one LinkedIn
                                  message.
                              viewed:
                                type: number
                                description: >-
                                  Contacts who viewed at least one outbound
                                  LinkedIn message.
                              followed:
                                type: number
                                description: Contacts followed by the campaign.
                              replied:
                                type: number
                                description: Contacts who replied on LinkedIn.
                              tagged:
                                type: number
                                description: >-
                                  LinkedIn contacts with at least one
                                  conversation tag.
                              positive:
                                type: number
                                description: Positive LinkedIn contacts.
                            required:
                              - totalLeads
                              - engaged
                              - invited
                              - sentConnections
                              - alreadySentConnections
                              - accepted
                              - acceptedConnections
                              - contacted
                              - viewed
                              - followed
                              - replied
                              - tagged
                              - positive
                            description: >-
                              LinkedIn campaign metrics aligned with the
                              overview page.
                          email:
                            type:
                              - object
                              - 'null'
                            properties:
                              totalLeads:
                                type: number
                                description: Total contacts in the email campaign.
                              sent:
                                type: number
                                description: Contacts who received at least one email.
                              viewed:
                                type:
                                  - number
                                  - 'null'
                                description: >-
                                  Contacts who viewed at least one email when
                                  tracking is enabled.
                              clicked:
                                type:
                                  - number
                                  - 'null'
                                description: >-
                                  Contacts who clicked at least one email link
                                  when tracking is enabled.
                              replied:
                                type: number
                                description: Contacts who replied by email.
                              bounced:
                                type: number
                                description: Contacts with at least one bounced email.
                              tagged:
                                type: number
                                description: >-
                                  Email contacts with at least one conversation
                                  tag.
                              positive:
                                type: number
                                description: Positive email contacts.
                            required:
                              - totalLeads
                              - sent
                              - viewed
                              - clicked
                              - replied
                              - bounced
                              - tagged
                              - positive
                            description: >-
                              Email campaign metrics aligned with the overview
                              page.
                          whatsapp:
                            type:
                              - object
                              - 'null'
                            properties:
                              totalLeads:
                                type: number
                                description: Total contacts in the WhatsApp campaign.
                              sent:
                                type: number
                                description: >-
                                  Contacts who received at least one WhatsApp
                                  message.
                              replied:
                                type: number
                                description: Contacts who replied on WhatsApp.
                              tagged:
                                type: number
                                description: >-
                                  WhatsApp contacts with at least one
                                  conversation tag.
                            required:
                              - totalLeads
                              - sent
                              - replied
                              - tagged
                            description: >-
                              WhatsApp campaign metrics aligned with the
                              overview page.
                          tasks:
                            type:
                              - object
                              - 'null'
                            properties:
                              pending:
                                type: number
                                description: Pending tasks.
                              completed:
                                type: number
                                description: Completed tasks.
                            required:
                              - pending
                              - completed
                            description: Task metrics aligned with the overview page.
                        required:
                          - all
                          - linkedin
                          - email
                          - whatsapp
                          - tasks
                        description: >-
                          Per-channel campaign metrics aligned with the platform
                          overview page.
                      totalContacts:
                        type: number
                        description: Total number of contacts currently in the campaign.
                      contactRate:
                        type: number
                        description: >-
                          Percentage of campaign contacts that have received at
                          least one outbound message.
                      replyRate:
                        type: number
                        description: >-
                          Percentage of contacted campaign contacts that
                          replied, excluding out-of-office replies.
                      daily:
                        type: array
                        items:
                          type: object
                          properties:
                            date:
                              type: string
                              format: date-time
                              description: UTC day bucket for the analytics row.
                            contactsAdded:
                              type: number
                              description: >-
                                Number of contacts added to the campaign on that
                                day.
                            connectionRequestsSent:
                              type: number
                              description: >-
                                Number of connection requests or invitations
                                sent on that day.
                            newMessagesSent:
                              type: number
                              description: >-
                                Number of new outbound messages sent on that
                                day.
                            queuedMessagesDueToLimit:
                              type: number
                              description: >-
                                Number of outbound messages queued on that day
                                because send limits were hit.
                          required:
                            - date
                            - contactsAdded
                            - connectionRequestsSent
                            - newMessagesSent
                            - queuedMessagesDueToLimit
                        description: Daily analytics for the selected date range.
                    required:
                      - campaignId
                      - appUrl
                      - campaignName
                      - status
                      - isActive
                      - isPaused
                      - isArchived
                      - overview
                      - progressByChannelList
                      - totalContacts
                      - contactRate
                      - replyRate
                      - daily
                required:
                  - status
                  - message
                  - data
        '400':
          description: Bad request - invalid campaign ID or date range
        '404':
          description: Campaign not found
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````