Skip to main content
POST
/
v1
/
webhooks
curl -X POST https://api.mavioapp.com/v1/webhooks \
  -H "Authorization: Bearer mvo_live_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yourapp.com/webhooks/mavio",
    "events": ["meeting.completed", "transcript.ready", "summary.ready"],
    "secret": "whsec_your_signing_secret",
    "description": "Production event handler"
  }'
webhook = client.webhooks.create(
    url="https://yourapp.com/webhooks/mavio",
    events=["meeting.completed", "transcript.ready", "summary.ready"],
    secret="whsec_your_signing_secret"
)
const webhook = await client.webhooks.create({
  url: 'https://yourapp.com/webhooks/mavio',
  events: ['meeting.completed', 'transcript.ready', 'summary.ready'],
  secret: 'whsec_your_signing_secret',
});
{
  "id": "whk_a1b2c3d4e5",
  "url": "https://yourapp.com/webhooks/mavio",
  "events": ["meeting.completed", "transcript.ready", "summary.ready"],
  "description": "Production event handler",
  "active": true,
  "created_at": "2026-04-14T12:00:00Z"
}
Manage your webhook subscriptions to receive real-time notifications when events occur in Mavio.

Create a webhook

POST /webhooks
url
string
required
The HTTPS URL where webhook payloads will be sent via POST requests.
events
string[]
required
Array of event types to subscribe to. See webhook events for the full list.
secret
string
Optional signing secret for payload verification. If provided, all payloads will include an X-Mavio-Signature header.
description
string
Optional description for this webhook endpoint.
curl -X POST https://api.mavioapp.com/v1/webhooks \
  -H "Authorization: Bearer mvo_live_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yourapp.com/webhooks/mavio",
    "events": ["meeting.completed", "transcript.ready", "summary.ready"],
    "secret": "whsec_your_signing_secret",
    "description": "Production event handler"
  }'
webhook = client.webhooks.create(
    url="https://yourapp.com/webhooks/mavio",
    events=["meeting.completed", "transcript.ready", "summary.ready"],
    secret="whsec_your_signing_secret"
)
const webhook = await client.webhooks.create({
  url: 'https://yourapp.com/webhooks/mavio',
  events: ['meeting.completed', 'transcript.ready', 'summary.ready'],
  secret: 'whsec_your_signing_secret',
});
{
  "id": "whk_a1b2c3d4e5",
  "url": "https://yourapp.com/webhooks/mavio",
  "events": ["meeting.completed", "transcript.ready", "summary.ready"],
  "description": "Production event handler",
  "active": true,
  "created_at": "2026-04-14T12:00:00Z"
}

List webhooks

GET /webhooks Returns all webhook subscriptions for the authenticated account.
curl https://api.mavioapp.com/v1/webhooks \
  -H "Authorization: Bearer mvo_live_abc123"
webhooks = client.webhooks.list()
const { data } = await client.webhooks.list();
{
  "data": [
    {
      "id": "whk_a1b2c3d4e5",
      "url": "https://yourapp.com/webhooks/mavio",
      "events": ["meeting.completed", "transcript.ready", "summary.ready"],
      "description": "Production event handler",
      "active": true,
      "created_at": "2026-04-14T12:00:00Z"
    }
  ]
}

Delete a webhook

DELETE /webhooks/{webhook_id} Permanently deletes a webhook subscription. Events will no longer be delivered to this endpoint.
webhook_id
string
required
The ID of the webhook to delete.
curl -X DELETE https://api.mavioapp.com/v1/webhooks/whk_a1b2c3d4e5 \
  -H "Authorization: Bearer mvo_live_abc123"
client.webhooks.delete("whk_a1b2c3d4e5")
await client.webhooks.delete('whk_a1b2c3d4e5');