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

# A webhook's deliveries

> Newest first, paged, kept 14 days. Every event is written here before it is sent, so this is also the outbox: status queued (waiting, or being retried at next_attempt_at), sending, delivered, failed. Retries after 30 s, 5 min, 30 min, 2 h and 12 h; a webhook whose deliveries have all failed for three days is switched off (disabled_reason) and the organisation's admins emailed.



## OpenAPI

````yaml /api-reference/openapi-public.json get /webhooks/{id}/deliveries
openapi: 3.0.3
info:
  description: >-
    The API your own systems use: place and follow calls, have an AI agent call
    someone, run campaigns and get their results, keep contacts in step with
    your CRM, and receive signed webhooks. Authenticate with an integration key
    (Authorization: Bearer ft_...), used only from the IP addresses it allows.
  title: FireTone API
  version: 0.1.0
servers:
  - description: Your platform's API host
    url: https://{host}/api/v1
    variables:
      host:
        default: api.firet.one
security:
  - bearerAuth: []
tags:
  - name: Auth
  - description: >-
      Live calls and what can be done to them: hang up, hold, transfer, park,
      merge, monitor, whisper; the Desk's own call.
    name: Calls
  - description: 'Outbound campaigns: contacts, attempts, outcomes.'
    name: Campaigns
  - description: 'Customers: who called, what is known about them, and their memory.'
    name: Contacts
  - description: What was said on an AI call, and the review of it.
    name: Conversations
  - description: >-
      Your own systems: HTTP connections an IVR calls mid-call, and webhooks for
      call events. Tenant URLs must be public https addresses.
    name: Integrations
  - name: Live
  - name: Provisioning
  - name: Reporting
  - description: Tickets raised by people, agents and the API.
    name: Tickets
  - description: Messages left for an extension or a queue.
    name: Voicemail
paths:
  /webhooks/{id}/deliveries:
    parameters:
      - $ref: '#/components/parameters/pathId'
    get:
      tags:
        - Integrations
      summary: A webhook's deliveries
      description: >-
        Newest first, paged, kept 14 days. Every event is written here before it
        is sent, so this is also the outbox: status queued (waiting, or being
        retried at next_attempt_at), sending, delivered, failed. Retries after
        30 s, 5 min, 30 min, 2 h and 12 h; a webhook whose deliveries have all
        failed for three days is switched off (disabled_reason) and the
        organisation's admins emailed.
      operationId: getWebhooksIdDeliveries
      parameters:
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/offset'
        - in: query
          name: status
          schema:
            enum:
              - queued
              - sending
              - delivered
              - failed
            type: string
        - in: query
          name: event
          schema:
            type: string
        - in: query
          name: call_uuid
          schema:
            type: string
        - in: query
          name: ok
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDeliveryList'
          description: OK
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    pathId:
      in: path
      name: id
      required: true
      schema:
        format: uuid
        type: string
    limit:
      in: query
      name: limit
      schema:
        default: 50
        maximum: 500
        type: integer
    offset:
      in: query
      name: offset
      schema:
        default: 0
        type: integer
  schemas:
    WebhookDeliveryList:
      properties:
        items:
          items:
            properties:
              attempts:
                type: integer
              call_uuid:
                type: string
              created_at:
                format: date-time
                type: string
              delivery_id:
                type: string
              error:
                type: string
              event:
                type: string
              finished_at:
                format: date-time
                type: string
              id:
                type: integer
              next_attempt_at:
                description: When a delivery that is being retried is tried next.
                format: date-time
                type: string
              ok:
                type: boolean
              redelivery_of:
                description: This row is a redelivery of that one.
                type: integer
              status:
                enum:
                  - queued
                  - sending
                  - delivered
                  - failed
                type: string
              status_code:
                type: integer
            type: object
          type: array
        limit:
          type: integer
        offset:
          type: integer
        total:
          type: integer
      type: object
    Error:
      properties:
        error:
          properties:
            code:
              enum:
                - invalid_request
                - invalid_credentials
                - unauthenticated
                - forbidden
                - not_found
                - conflict
                - internal
              type: string
            message:
              type: string
          required:
            - code
            - message
          type: object
      required:
        - error
      type: object
  responses:
    NotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Not found, or not visible to the caller
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT or API key
      description: >-
        Every request sends `Authorization: Bearer <token>`. The token is either
        a panel session (a JWT from /auth/login, 12 hours) or an API key
        `ft_<id>_<secret>`. An API key is accepted only from an address on its
        IP allowlist (403 ip_not_allowed otherwise; 403 ip_allowlist_required
        for an old key that has none), is limited to its rate per minute (429
        rate_limited with Retry-After; X-RateLimit-Limit/Remaining/Reset on
        every response), and at most 60 call placements a minute.
      scheme: bearer
      type: http

````