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