Docs
Node SDK

webhooks.rotateSecret

Rotate the signing secret in the authenticated project environment.

Import and client

TypeScript
import { RelayServer } from '@relayrtc/node'
 
const relay = new RelayServer({
  apiUrl: process.env.RELAYRTC_API_URL!,
  apiKey: process.env.RELAYRTC_SECRET_KEY!,
})

Requirements

The API must have signing encryption configured. Otherwise this operation throws WEBHOOK_SIGNING_UNAVAILABLE with HTTP status 503.

A secret key with webhooks:write. The requested resource must belong to that key's project environment.

Parameters

OptionTypeDefault / requirementPurpose
endpointIdstringRequiredID returned when creating the webhook.
projectIdstringKey projectMust match the key's project.
environmentIdstringKey environmentMust match the key's environment.

Every method accepts RequestOptions as its final argument. Optional scope parameters go before RequestOptions. They cannot expand the key’s project or environment.

Example

TypeScript
const endpointId = 'webhook_example'
const result = await relay.webhooks.rotateSecret(endpointId)

Returns

Promise<RevealedWebhookEndpoint>. Returns the endpoint, new signing secret and rotationPolicy: "immediate replacement".

Behavior

Immediate replacement

The previous signing secret stops being current immediately. Save the new secret and update your receiver.

REST equivalent

POST /v1/webhooks/{endpointId}/rotate-secret. Failures throw RelayApiError.