+
+3. **Multiple Signatures**
+* `The X-Ultravox-Webhook-Signature` header may contain multiple signatures separated by commas.
+* This allows for key rotation without downtime.
+* Your code should check if any of the provided signatures match your computed signature.
+
+By implementing these checks, you ensure that only authentic, recent, and unmodified webhooks from Ultravox are processed by your system.
+Remember to store your webhook secret securely and never expose it in client-side code or public repositories.
+
+
+### Retries
+When a destination URL fails to respond to an incoming webhook with a 200, we will retry using a random exponential backoff strategy as follows:
+
+* First retry will occur approximately 30 seconds later.
+* Subsequent retries will double the retry interval. (e.g. second retry again after 1m, third retry after 2m, etc.)
+* Total of 10 retries.
+
+If your receiving service is still down, you can use the API to retrieve information about any calls that occurred.
+
+## List Webhooks
+
++ | + |
---|---|
cursor | +(Optional) Pagination cursor. | +
+ | + | + |
---|---|---|
None | ++ | + |
+ | + | + |
---|---|---|
webhookId | +string | +Unique identifier for the webhook. | +
created | +string | +Datetime in UTC when the webhook was created. | +
url | +string | +The URL where webhook events will be sent. | +
secrets | +array | +Array of secret strings used for webhook authentication. | +
events | +array | +Array of event types this webhook is subscribed to. | +
+ | + | + |
---|---|---|
None | ++ | + |
+ | + | + |
---|---|---|
url required |
+ string | +The URL where webhook events will be sent. Must be a valid URI and maximum 200 characters. | +
secrets | +array | +Array of secret strings used for webhook authentication. Each string must be maximum 120 characters. | +
events required |
+ array | +Array of event types to subscribe to. Valid values are "call.started" and "call.ended". | +
+ | + | + |
---|---|---|
webhookId | +string | +Unique identifier for the created webhook. | +
created | +string | +Datetime in UTC when the webhook was created. | +
url | +string | +The URL where webhook events will be sent. | +
secrets | +array | +Array of secret strings used for webhook authentication. | +
events | +array | +Array of event types this webhook is subscribed to. | +
+ | + |
---|---|
webhookId required |
+ Unique identifier for the webhook to retrieve. | +
+ | + | + |
---|---|---|
None | ++ | + |
+ | + | + |
---|---|---|
webhookId | +string | +Unique identifier for the webhook. | +
created | +string | +Datetime in UTC when the webhook was created. | +
url | +string | +The URL where webhook events will be sent. | +
secrets | +array | +Array of secret strings used for webhook authentication. | +
events | +array | +Array of event types this webhook is subscribed to. | +
+ | + |
---|---|
webhookId required |
+ Unique identifier for the webhook to update. | +
+ | + | + |
---|---|---|
url required |
+ string | +The new URL where webhook events will be sent. Must be a valid URI and maximum 200 characters. | +
secrets | +array | +New array of secret strings used for webhook authentication. Each string must be maximum 120 characters. | +
events required |
+ array | +New array of event types to subscribe to. Valid values are "call.started" and "call.ended". | +
+ | + | + |
---|---|---|
webhookId | +string | +Unique identifier for the updated webhook. | +
created | +string | +Datetime in UTC when the webhook was originally created. | +
url | +string | +The updated URL where webhook events will be sent. | +
secrets | +array | +Updated array of secret strings used for webhook authentication. | +
events | +array | +Updated array of event types this webhook is subscribed to. | +
+ | + |
---|---|
webhookId required |
+ Unique identifier for the webhook to patch. | +
+ | + | + |
---|---|---|
url required |
+ string | +The new URL where webhook events will be sent. Must be a valid URI and maximum 200 characters. | +
secrets | +array | +New array of secret strings used for webhook authentication. Each string must be maximum 120 characters. | +
events required |
+ array | +New array of event types to subscribe to. Valid values are "call.started" and "call.ended". | +
+ | + | + |
---|---|---|
webhookId | +string | +Unique identifier for the patched webhook. | +
created | +string | +Datetime in UTC when the webhook was originally created. | +
url | +string | +The updated URL where webhook events will be sent. | +
secrets | +array | +Updated array of secret strings used for webhook authentication. | +
events | +array | +Updated array of event types this webhook is subscribed to. | +
+ | + |
---|---|
webhookId required |
+ Unique identifier for the webhook to delete. | +
+ |
---|
No request body | +
+ |
---|
No response body (204 No Content) | +