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

# Get messaging analytics

> Returns raw WABA messaging analytics using a Graph field expression.



## OpenAPI

````yaml /api-reference/meta/openapi.yaml get /meta/wabas/{wabaId}/analytics
openapi: 3.1.0
info:
  title: Eazybe Meta API Documentation
  version: 1.0.0
  description: |
    A single authenticated Eazybe REST surface over WhatsApp Business Cloud API.
    The wrapper uses the Meta credentials captured when a WABA is connected to
    Eazybe, so callers never send Meta access tokens directly.
servers:
  - url: https://cerberus.eazybe.com/staging/api/v2
    description: Eazybe staging API v2.
security:
  - bearerAuth: []
tags:
  - name: Phone numbers
    description: Discover connected WABAs and phone-number IDs.
  - name: Messaging
    description: Send WhatsApp messages and update message state.
  - name: Templates
    description: Manage WhatsApp message templates.
  - name: Media
    description: Upload, inspect, and delete WhatsApp media.
  - name: Webhooks
    description: Manage WABA webhook subscriptions.
  - name: Analytics
    description: Read messaging, conversation, pricing, and template analytics.
  - name: Profiles and settings
    description: Manage business profiles and phone-number settings.
  - name: Automation
    description: Configure welcome messages, ice-breakers, and commands.
  - name: QR codes
    description: Manage click-to-chat QR codes.
  - name: Flows
    description: Manage the WhatsApp Flows lifecycle.
  - name: Number administration
    description: Register numbers, manage PINs, and synchronize coexistence data.
  - name: Block list
    description: List, block, and unblock WhatsApp users.
paths:
  /meta/wabas/{wabaId}/analytics:
    get:
      tags:
        - Analytics
      summary: Get messaging analytics
      description: Returns raw WABA messaging analytics using a Graph field expression.
      operationId: getMessagingAnalytics
      parameters:
        - $ref: '#/components/parameters/WabaId'
        - name: fields
          in: query
          required: true
          description: Graph analytics field expression.
          schema:
            type: string
          example: analytics.start(1753900000).end(1754500000).granularity(DAY)
      responses:
        '200':
          description: >-
            Analytics returned


            **Failure responses**


            | **Status** | **Meaning** | **Action** |

            | --- | --- | --- |

            | `401` | Missing, invalid, or expired bearer token |
            Re-authenticate |

            | `404` | `wabaId` not linked to your organization | Verify the id |

            | `400` | `fields` missing or malformed field expression | Send a
            full `analytics.start(..).end(..).granularity(..)` expression |

            | `502` | Graph unreachable or timed out | Retry with backoff |
          content:
            application/json:
              schema:
                type: object
                required:
                  - analytics
                  - id
                properties:
                  analytics:
                    type: object
                    required:
                      - phone_numbers
                      - country_codes
                      - granularity
                      - data_points
                    properties:
                      phone_numbers:
                        type: array
                        items:
                          type: string
                      country_codes:
                        type: array
                        items:
                          type: string
                      granularity:
                        type: string
                      data_points:
                        type: array
                        items:
                          type: object
                          required:
                            - start
                            - end
                            - sent
                            - delivered
                          properties:
                            start:
                              type: integer
                            end:
                              type: integer
                            sent:
                              type: integer
                            delivered:
                              type: integer
                  id:
                    type: string
              example:
                analytics:
                  phone_numbers:
                    - '919900000000'
                  country_codes:
                    - IN
                  granularity: DAY
                  data_points:
                    - start: 1753900000
                      end: 1753986400
                      sent: 1240
                      delivered: 1198
                    - start: 1753986400
                      end: 1754072800
                      sent: 980
                      delivered: 961
                id: '1029384756'
components:
  parameters:
    WabaId:
      name: wabaId
      in: path
      required: true
      description: WhatsApp Business Account ID returned by `GET /meta/phone-numbers`.
      schema:
        type: string
      example: '1029384756'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Eazybe token
      description: |
        Eazybe bearer token. The token resolves the caller's organization and
        must be kept on the server.

````