Skip to main content
POST
Create a webhook endpoint

Authorizations

Authorization
string
header
required

A Bearer token. Create keys in the portal under Settings > API keys (https://app.ryvo.so/developers). The token has the form ryvo_live_<64 hex characters> and is shown once.

Header: Authorization: Bearer ryvo_live_...

Body

application/json
url
string<uri>
required

Must be https and public. Unique per account.

Maximum string length: 500
Example:

"https://crm.acme.example/hooks/ryvo"

events
enum<string>[]
required
Minimum array length: 1
Available options:
conversation.started,
conversation.ended,
analysis.ready,
call.initiated,
call.completed,
call.failed
Example:
accept_per_event_billing
boolean

Required from the sixth endpoint on, to accept the per-event charge.

Response

The endpoint, with its signing secret.

id
string<uuid>
required
Example:

"7f8e9d0c-1b2a-4c3d-8e4f-5a6b7c8d9e0f"

url
string<uri>
required
Example:

"https://crm.acme.example/hooks/ryvo"

events
enum<string>[]
required
Available options:
conversation.started,
conversation.ended,
analysis.ready,
call.initiated,
call.completed,
call.failed
Example:
is_active
boolean
required
consecutive_failures
integer
required
Example:

0

auto_disabled_at
string<date-time> | null
required

Set when Ryvo switched the endpoint off after repeated exhausted deliveries.

auto_disabled_reason
string | null
required
previous_secret_expires_at
string<date-time> | null
required

After a rotation, until when the previous secret still signs.

created_at
string<date-time>
required
updated_at
string<date-time>
required
signing_secret
string
required

Returned only here and by rotate-secret. Store it.

Example:

"whsec_3f1c9a7e5b2d8f0a1c4e6b8d0f2a4c6e8b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a"