Daily webhooks API

The webhooks API from Daily — 2 operation(s) for webhooks.

OpenAPI Specification

daily-webhooks-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Daily batch/rooms webhooks API
  description: "The Daily REST API offers the ability to manage the following: \n- Overall Domain Configuration\n- Individual Room creation and config management \n- Meeting token creation and validation\n- Recording and compositing management \n- Meeting analytics\n- Logs and metrics\n- Real-time presence\n\nPlease reach out to help@daily.co if we can help with anything"
  version: 1.1.1
  contact:
    name: Daily
    url: https://docs.daily.co
    email: help@daily.co
servers:
- url: https://api.daily.co/v1
security:
- bearerAuth: []
tags:
- name: webhooks
paths:
  /webhooks:
    get:
      summary: /webhooks
      description: Get Webhooks
      operationId: GetWebhooks
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/webhook'
        '400':
          $ref: '#/components/responses/400'
      deprecated: false
      tags:
      - webhooks
      security:
      - bearerAuth: []
    post:
      summary: /webhooks
      description: Create a webhook
      operationId: CreateWebhook
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_webhook'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhook'
        '400':
          $ref: '#/components/responses/400'
      deprecated: false
      tags:
      - webhooks
      security:
      - bearerAuth: []
  /webhooks/{id}:
    get:
      summary: webhooks/:id
      description: Get info about a webhook
      operationId: GetWebhookConfig
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/webhook'
        '400':
          $ref: '#/components/responses/400'
      deprecated: false
      tags:
      - webhooks
      security:
      - bearerAuth: []
    post:
      summary: webhooks/:id
      description: Update webhook config
      operationId: UpdateWebhookConfig
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update_webhook'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhook'
        '400':
          $ref: '#/components/responses/400'
      deprecated: false
      tags:
      - webhooks
      security:
      - bearerAuth: []
    delete:
      summary: webhooks/:id
      description: Delete a webhook
      operationId: DeleteWebhook
      parameters:
      - name: id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: '200'
        '400':
          $ref: '#/components/responses/400'
      deprecated: false
      tags:
      - webhooks
      security:
      - bearerAuth: []
components:
  schemas:
    update_webhook:
      type: object
      additionalProperties: false
      properties:
        url:
          type: string
          description: The webhook server endpoint that was provided.
        basicAuth:
          type: string
          description: The basic auth credentials that will be used to POST to the webhook URL.
        retryType:
          type: string
          description: The retry configuration for this webhook endpoint to use. The default is circuit-breaker.
          enum:
          - circuit-breaker
          - exponential
        eventTypes:
          description: The set of event types this webhook is subscribed to.
          type: array
          items:
            type: string
            enum:
            - recording.ready-to-download
            - recording.started
            - recording.error
            - streaming.started
            - streaming.updated
            - streaming.ended
            - streaming.error
            - meeting.started
            - meeting.ended
            - participant.joined
            - participant.left
            - waiting-participant.joined
            - waiting-participant.left
            - batch-processor.job-finished
            - batch-processor.error
            - dialout.connected
            - dialout.error
            - dialout.stopped
            - dialout.warning
            - dialout.answered
            - dialin.ready
            - dialin.connected
            - dialin.error
            - dialin.stopped
            - dialin.warning
            - transcript.ready-to-download
            - transcript.started
            - transcript.error
            - calltransfer.triggered
            - calltransfer.initiated
            - calltransfer.answered
            - calltransfer.completed
        hmac:
          type: string
          description: A secret that can be used to verify the signature of the webhook.
    post_webhook:
      type: object
      additionalProperties: false
      properties:
        url:
          type: string
          description: The webhook server endpoint that was provided.
        basicAuth:
          type: string
          description: The basic auth credentials that will be used to POST to the webhook URL.
        retryType:
          type: string
          description: The retry configuration for this webhook endpoint to use. The default is circuit-breaker.
          enum:
          - circuit-breaker
          - exponential
        eventTypes:
          description: The set of event types this webhook is subscribed to.
          type: array
          items:
            type: string
            enum:
            - recording.ready-to-download
            - recording.started
            - recording.error
            - streaming.started
            - streaming.updated
            - streaming.ended
            - streaming.error
            - meeting.started
            - meeting.ended
            - participant.joined
            - participant.left
            - waiting-participant.joined
            - waiting-participant.left
            - batch-processor.job-finished
            - batch-processor.error
            - dialout.connected
            - dialout.error
            - dialout.stopped
            - dialout.warning
            - dialout.answered
            - dialin.ready
            - dialin.connected
            - dialin.error
            - dialin.stopped
            - dialin.warning
            - transcript.ready-to-download
            - transcript.started
            - transcript.error
            - calltransfer.triggered
            - calltransfer.initiated
            - calltransfer.answered
            - calltransfer.completed
        hmac:
          type: string
          description: A secret that can be used to verify the signature of the webhook. If not provided, an hmac will be provisioned for you and returned.
    webhook:
      type: object
      additionalProperties: false
      required:
      - url
      properties:
        uuid:
          type: string
          description: The unique identifier for this webhook.
        url:
          type: string
          description: The webhook server endpoint that was provided.
        hmac:
          type: string
          description: A secret that can be used to verify the signature of the webhook.
        basicAuth:
          type: string
          description: The basic auth credentials that will be used to POST to the webhook URL.
        retryType:
          type: string
          description: The retry configuration for this webhook endpoint to use. The default is circuit-breaker.
          enum:
          - circuit-breaker
          - exponential
        eventTypes:
          description: The set of event types this webhook is subscribed to.
          type: array
          items:
            type: string
            enum:
            - recording.ready-to-download
            - recording.started
            - recording.error
            - streaming.started
            - streaming.updated
            - streaming.ended
            - streaming.error
            - meeting.started
            - meeting.ended
            - participant.joined
            - participant.left
            - waiting-participant.joined
            - waiting-participant.left
            - batch-processor.job-finished
            - batch-processor.error
            - dialout.connected
            - dialout.error
            - dialout.stopped
            - dialout.warning
            - dialout.answered
            - dialin.ready
            - dialin.connected
            - dialin.error
            - dialin.stopped
            - dialin.warning
            - transcript.ready-to-download
            - transcript.started
            - transcript.error
            - calltransfer.triggered
            - calltransfer.initiated
            - calltransfer.answered
            - calltransfer.completed
        state:
          description: The current state of the webhook. "FAILED" | "INACTIVE"
          type: string
        failedCount:
          description: The number of consecutive failures this webhook has made.
          type: number
        lastMomentPushed:
          type: string
          description: The ISO 8601 time of the last moment an event was pushed to the webhook server.
        domainId:
          type: string
          description: The domain ID this webhook is associated with.
        createdAt:
          type: string
          description: The ISO 8601 time of when this webhook was created.
        updatedAt:
          type: string
          description: The ISO 8601 time of when this webhook was last updated.
  responses:
    '400':
      description: '400'
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
              info:
                type: string
          examples:
            Result:
              value:
                error: invalid-request-error
                info: missing required field
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer