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

# Get Merchant Metrics

> Get metrics for a merchant's loyalty program.

### Args:
- `merchant_id`: The ID of the merchant (program)
- `period`: The time period for metrics (7d, 30d, 90d, custom)
- `user`: The authenticated user

### Returns:
- MetricsResponse with program metrics and trends



## OpenAPI

````yaml https://api.loyalty.dog/openapi.json get /v2/merchants/{merchant_id}/metrics
openapi: 3.1.0
info:
  title: LoyaltyDog
  description: >-

    Welcome to the LoyaltyDog API! This API provides access to our loyalty
    program features, allowing you to integrate with various platforms and
    manage your loyalty data.


    Want to query LoyaltyDog via an AI assistant (Claude, Cursor, Windsurf)? See
    the [MCP Integration guide](https://loyaltydog.ai/playground#mcp).
        
  termsOfService: https://loyalty.dog/loyalty-program-terms-service
  contact:
    name: LoyaltyDog Support
    url: https://loyalty.dog/contact-us
    email: support@loyalty.dog
  version: 1.0.1
servers:
  - url: https://api.loyalty.dog
    description: Production
security:
  - bearerAuth: []
paths:
  /v2/merchants/{merchant_id}/metrics:
    get:
      tags:
        - Merchants
      summary: Get Merchant Metrics
      description: |-
        Get metrics for a merchant's loyalty program.

        ### Args:
        - `merchant_id`: The ID of the merchant (program)
        - `period`: The time period for metrics (7d, 30d, 90d, custom)
        - `user`: The authenticated user

        ### Returns:
        - MetricsResponse with program metrics and trends
      operationId: get_merchant_metrics_v2_merchants__merchant_id__metrics_get
      parameters:
        - name: merchant_id
          in: path
          required: true
          schema:
            type: string
            title: Merchant Id
        - name: period
          in: query
          required: false
          schema:
            type: string
            pattern: ^(7d|30d|90d|custom)$
            default: 30d
            title: Period
        - name: authorization
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    MetricsResponse:
      properties:
        activeMembers:
          type: integer
          title: Activemembers
        redemptions:
          type: integer
          title: Redemptions
        engagementRate:
          type: number
          title: Engagementrate
        pointsIssued:
          type: integer
          title: Pointsissued
        currencyEquivalent:
          type: number
          title: Currencyequivalent
        trends:
          $ref: '#/components/schemas/MetricsTrend'
      type: object
      required:
        - activeMembers
        - redemptions
        - engagementRate
        - pointsIssued
        - currencyEquivalent
        - trends
      title: MetricsResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    MetricsTrend:
      properties:
        activeMembers:
          type: number
          title: Activemembers
        redemptions:
          type: number
          title: Redemptions
        engagementRate:
          type: number
          title: Engagementrate
        pointsIssued:
          type: number
          title: Pointsissued
      type: object
      required:
        - activeMembers
        - redemptions
        - engagementRate
        - pointsIssued
      title: MetricsTrend
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from POST /v2/token.

````