MakeAIVideo

API reference

Webhooks API

7 operations · https://app.makeaivideo.ai/api/v1

What the webhooks endpoints are for

Manage the subscriptions that let you stop polling. Renders take minutes, and a webhook turns waiting into an event you receive rather than a loop you run.

Every delivery is signed, so a handler must verify the HMAC before trusting the body. Two endpoints exist specifically for the debugging you will otherwise do blind: POST /webhooks/{id}/test sends a signed ping from our servers so you can check your endpoint and your signature check without waiting for a real render, and GET /webhooks/{id}/deliveries returns the last 50 attempts when deliveries start failing.

The verification code and the retry schedule are on the webhooks guide.

Subscribe to finished renders
curl -X POST https://app.makeaivideo.ai/api/v1/webhooks \
  -H "Authorization: Bearer $MAV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/hooks/makeaivideo",
    "events": ["video.ready"]
  }'
GET/webhooksread

List webhooks

GET https://app.makeaivideo.ai/api/v1/webhooks

Responses

  • 200Webhooks
POST/webhookswrite

Create a webhook (secret returned once)

POST https://app.makeaivideo.ai/api/v1/webhooks

Responses

  • 201Created; `secret` appears only here
  • 400Bad URL or unknown eventErrorEnvelope
GET/webhooks/{id}read

Webhook detail

GET https://app.makeaivideo.ai/api/v1/webhooks/{id}

Parameters

NameInTypeDescription
idrequiredpathstringWebhook id, e.g. wh_abc123

Responses

  • 200WebhookWebhook
PATCH/webhooks/{id}write

Update URL, events, name, or re-enable

PATCH https://app.makeaivideo.ai/api/v1/webhooks/{id}

Parameters

NameInTypeDescription
idrequiredpathstringWebhook id, e.g. wh_abc123

Responses

  • 200WebhookWebhook
DELETE/webhooks/{id}write

Delete a webhook

DELETE https://app.makeaivideo.ai/api/v1/webhooks/{id}

Parameters

NameInTypeDescription
idrequiredpathstringWebhook id, e.g. wh_abc123

Responses

  • 200Deleted
POST/webhooks/{id}/testwrite

Send a signed test ping (data.test = true)

POST https://app.makeaivideo.ai/api/v1/webhooks/{id}/test

Parameters

NameInTypeDescription
idrequiredpathstringWebhook id, e.g. wh_abc123

Responses

  • 200Result
GET/webhooks/{id}/deliveriesread

Last 50 delivery attempts

GET https://app.makeaivideo.ai/api/v1/webhooks/{id}/deliveries

Parameters

NameInTypeDescription
idrequiredpathstringWebhook id, e.g. wh_abc123

Responses

  • 200Deliveries

Webhooks API questions

How do I test a webhook without rendering a video?
POST /webhooks/{id}/test sends a signed test ping from our servers. The payload carries data.test = true, so a handler can tell it from a real event.
Why did my webhook stop receiving events?
Twenty consecutive delivery failures disable a subscription. Check GET /webhooks/{id}/deliveries for the failures, fix the endpoint, then re-enable it with PATCH is_active true.
How do I verify a webhook came from MakeAIVideo?
Compare the X-MakeAIVideo-Signature header against an HMAC-SHA256 of the raw request body keyed with your webhook secret, in constant time. Verify before parsing the JSON, because re-serialising a parsed object changes the bytes.

Related

  • Quickstart — the create, poll and download loop end to end.
  • Authentication — what the read, write scope on this page mean.
  • Agents — calling these endpoints from an autonomous agent.