openapi: 3.0.1 info: title: Dyte v2 REST Livestreams Webhooks API description: Server-side v2 REST API for the Dyte live video and voice platform. Use it to create and manage meetings, add participants and issue the auth tokens that initialize the frontend SDKs, query completed sessions, and manage recordings, livestreams, and webhooks. Authentication is HTTP Basic with the base64-encoded string organizationId:apiKey. Dyte was acquired by Cloudflare in 2025 and is transitioning to Cloudflare RealtimeKit; the Dyte v2 API is in maintenance mode. termsOfService: https://dyte.io/terms contact: name: Dyte Support url: https://docs.dyte.io/ version: '2.0' servers: - url: https://api.dyte.io/v2 description: Dyte v2 production API security: - basicAuth: [] tags: - name: Webhooks description: Manage webhook event subscriptions. paths: /webhooks: get: operationId: listWebhooks tags: - Webhooks summary: Fetch all webhooks responses: '200': description: A list of webhooks. content: application/json: schema: $ref: '#/components/schemas/WebhookListResponse' post: operationId: createWebhook tags: - Webhooks summary: Add a webhook requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateWebhookRequest' responses: '201': description: Webhook created. content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' /webhooks/{webhookId}: parameters: - $ref: '#/components/parameters/WebhookId' patch: operationId: updateWebhook tags: - Webhooks summary: Edit a webhook requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateWebhookRequest' responses: '200': description: Webhook updated. content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' delete: operationId: deleteWebhook tags: - Webhooks summary: Delete a webhook responses: '200': description: Webhook deleted. content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' components: schemas: Webhook: type: object properties: id: type: string format: uuid name: type: string url: type: string format: uri events: type: array items: type: string WebhookResponse: type: object properties: success: type: boolean data: $ref: '#/components/schemas/Webhook' WebhookListResponse: type: object properties: success: type: boolean data: type: array items: $ref: '#/components/schemas/Webhook' CreateWebhookRequest: type: object required: - name - url - events properties: name: type: string url: type: string format: uri events: type: array items: type: string enum: - meeting.started - meeting.ended - meeting.participantJoined - meeting.participantLeft - recording.statusUpdate - livestreaming.statusUpdate SuccessResponse: type: object properties: success: type: boolean message: type: string parameters: WebhookId: name: webhookId in: path required: true description: Unique webhook identifier. schema: type: string format: uuid securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic auth using the base64-encoded string organizationId:apiKey (organizationId as the username, apiKey as the password).