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

# Get delivery metrics

> Returns delivery volume and error rate over a window, either for one destination (endpoint_id) or grouped across all of them, time-bucketed for charting. Response time is not included: the gateway records no per-attempt latency.

<span class="api-role api-role-admin" title="Admins only.">Minimum role required: Admin</span>


## OpenAPI

````yaml /api-reference/openapi-backend.json get /webhooks/metrics
openapi: 3.1.0
info:
  description: Axilio backend HTTP API.
  title: Axilio API
  version: 0.107.0
servers:
  - url: https://api.axilio.ai/api/v1
    description: Production
security: []
tags:
  - name: API Keys
  - name: Billing
  - name: Files
  - name: Organization
  - name: Phones
  - name: Runs
  - name: Skill
  - name: Usage
  - name: Webhooks
  - name: Workflows
paths:
  /webhooks/metrics:
    get:
      tags:
        - Webhooks
      summary: Get delivery metrics
      description: >-
        Returns delivery volume and error rate over a window, either for one
        destination (endpoint_id) or grouped across all of them, time-bucketed
        for charting. Response time is not included: the gateway records no
        per-attempt latency.
      operationId: webhooks_get_metrics
      parameters:
        - description: >-
            Window and bucket size: 24h (hourly buckets), 7d or 30d (daily
            buckets).
          explode: false
          in: query
          name: range
          schema:
            default: 7d
            description: >-
              Window and bucket size: 24h (hourly buckets), 7d or 30d (daily
              buckets).
            enum:
              - 24h
              - 7d
              - 30d
            type: string
        - description: >-
            One destination's series. Omit to get every destination grouped, for
            the list-view sparklines.
          explode: false
          in: query
          name: endpoint_id
          schema:
            description: >-
              One destination's series. Omit to get every destination grouped,
              for the list-view sparklines.
            maxLength: 255
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDeliveryMetricsResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/V2ErrorModel'
          description: Error
      security:
        - apiKeyAuth: []
components:
  schemas:
    WebhookDeliveryMetricsResponse:
      additionalProperties: false
      description: >-
        Delivery-attempt metrics: volume, error rate and response time over the
        requested window.
      properties:
        points:
          description: Aggregated metric buckets over the window.
          items:
            $ref: '#/components/schemas/WebhookDeliveryMetricPoint'
          type:
            - array
            - 'null'
      required:
        - points
      type: object
    V2ErrorModel:
      additionalProperties: false
      description: >-
        Error response, following RFC 9457 (Problem Details for HTTP APIs).
        Returned with a application/problem+json content type.
      properties:
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/V2ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    WebhookDeliveryMetricPoint:
      additionalProperties: false
      description: One aggregated bucket of delivery-attempt metrics.
      properties:
        avg_latency_ms:
          description: >-
            Mean destination response time in the bucket, in milliseconds. Null
            when no attempt in the bucket recorded a latency.
          format: double
          type:
            - number
            - 'null'
        endpoint_id:
          description: >-
            Destination this bucket aggregates. Empty when the series is not
            grouped by destination.
          type: string
        error_rate:
          description: Failed over total in the bucket, from 0 to 1.
          format: double
          type: number
        failed:
          description: Failed-attempt count in the bucket.
          format: int64
          type: integer
        p50_latency_ms:
          description: >-
            Median destination response time in the bucket, in milliseconds.
            Null when no attempt recorded a latency.
          format: double
          type:
            - number
            - 'null'
        p95_latency_ms:
          description: >-
            95th-percentile destination response time in the bucket, in
            milliseconds. Null when no attempt recorded a latency.
          format: double
          type:
            - number
            - 'null'
        p99_latency_ms:
          description: >-
            99th-percentile destination response time in the bucket, in
            milliseconds. Null when no attempt recorded a latency.
          format: double
          type:
            - number
            - 'null'
        time_bucket:
          description: >-
            Start of the time bucket. Null for a single aggregate over the whole
            window.
          format: date-time
          type: string
        total:
          description: Delivery-attempt count in the bucket.
          format: int64
          type: integer
      required:
        - total
        - failed
        - error_rate
        - avg_latency_ms
        - p50_latency_ms
        - p95_latency_ms
        - p99_latency_ms
      type: object
    V2ErrorDetail:
      additionalProperties: false
      description: >-
        One specific problem within an error response, locating the offending
        part of the request.
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    apiKeyAuth:
      description: Customer API key (axl_ prefix).
      in: header
      name: X-Axilio-Api-Key
      type: apiKey

````

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