Daily webhooks API
The webhooks API from Daily — 2 operation(s) for webhooks.
The webhooks API from Daily — 2 operation(s) for webhooks.
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