MakeAIVideo

API reference

MakeAIVideo Webhooks API

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

When to use the Webhooks API

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.

MakeAIVideo API guides

  • 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.

Get an API key

The API and MCP server use the same credits and the same balance as the app, with no separate API plan. Create a key under Settings, Advanced, API keys.

7-day free trial with 350 credits, then plans from $9/mo. Cancel anytime before the trial ends.