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

# Compare template performance

> Compares one template's performance with one or more other templates.



## OpenAPI

````yaml /api-reference/meta/openapi.yaml get /meta/wabas/{wabaId}/templates/compare
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}/templates/compare:
    get:
      tags:
        - Templates
      summary: Compare template performance
      description: Compares one template's performance with one or more other templates.
      operationId: compareTemplates
      parameters:
        - $ref: '#/components/parameters/WabaId'
        - name: templateId
          in: query
          required: true
          description: Template ID used as the comparison baseline.
          schema:
            type: string
        - name: comparedTo
          in: query
          required: true
          description: Comma-separated template IDs to compare with the baseline.
          schema:
            type: string
        - name: start
          in: query
          required: false
          description: Start of the comparison range in Unix seconds.
          schema:
            type: integer
        - name: end
          in: query
          required: false
          description: End of the comparison range in Unix seconds.
          schema:
            type: integer
      responses:
        '200':
          description: >-
            Comparison 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` | Missing/invalid `start` or `end`, or templates not
            comparable (different category or language) | Compare templates of
            the same category |

            | `500` | `comparedTo` omitted from the query | Always send
            `comparedTo` |

            | `502` | Graph unreachable or timed out | Retry with backoff |
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      required:
                        - compared_to
                        - start
                        - end
                        - metrics
                      properties:
                        compared_to:
                          type: string
                        start:
                          type: integer
                        end:
                          type: integer
                        metrics:
                          type: array
                          items:
                            type: object
                            required:
                              - type
                              - order
                              - values
                            properties:
                              type:
                                type: string
                              order:
                                type: string
                              values:
                                type: array
                                items:
                                  type: integer
              example:
                data:
                  - compared_to: '778899001123'
                    start: 1753900000
                    end: 1754500000
                    metrics:
                      - type: SENT
                        order: BASELINE_FIRST
                        values:
                          - 1200
                          - 980
                      - type: DELIVERED
                        order: BASELINE_FIRST
                        values:
                          - 1180
                          - 940
                      - type: READ
                        order: BASELINE_FIRST
                        values:
                          - 860
                          - 610
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.

````