Docs
REST API v1

Update a webhook

Update a webhook in the authenticated project environment.

PATCH/v1/webhooks/{endpointId}

Requirements

A secret API key with webhooks:write. Resources are restricted to the key's project and environment.

Path parameters

NameTypeRequired / defaultDescription
endpointIdstringRequiredID returned when creating the webhook.

Query parameters

NameTypeRequired / defaultDescription
projectIdstringKey projectMust match the key's project.
environmentIdstringKey environmentMust match the key's environment.

Request body

NameTypeRequired / defaultDescription
urlstringOptionalPublic, resolvable HTTP(S) URL, up to 2,048 characters. No credentials, fragment or private network destination.
eventTypesstring[]OptionalNonempty, unique supported event types.
statusstringOptionalenabled or disabled.

Example

Set RELAYRTC_API_URL to your API base including /v1, such as http://localhost:8082/v1.

Shell
curl -X PATCH "$RELAYRTC_API_URL/webhooks/webhook_example" \
  -H "Authorization: Bearer $RELAYRTC_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"disabled"}'

Response

200 with the updated webhook endpoint.

JSON
{
  "id": "webhook_example",
  "projectId": "project_example",
  "environmentId": "environment_example",
  "url": "https://your-app.example/webhooks/relayrtc",
  "eventTypes": [
    "room.ended"
  ],
  "status": "disabled",
  "signingSecretVersion": 1,
  "signingSecretRotatedAt": "2026-01-01T12:00:00.000Z",
  "createdAt": "2026-01-01T12:00:00.000Z",
  "updatedAt": "2026-01-01T12:00:00.000Z"
}

Notes

Provide at least one field. Disabling an endpoint prevents new deliveries from being sent; inspect delivery logs for their resulting state.

Errors

Invalid fields return 400. Invalid credentials return 401; a missing scope returns 403. A missing resource returns 404. See error responses.