Reference
Webhooks
List webhook subscriptions#
Authorization: API-Key · Rate limit 60 requests / 60 s (sandbox 10 in total)
curl "https://macaaw.com/public/v1/webhook-subscriptions" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 200OKapplication/json · WebhookSubscriptionList
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"results": [
{
"uuid": "string",
"name": "string",
"url": "https://example.com/webhooks/macaaw",
"triggers": [
"document_state_changed"
],
"active": true,
"sandbox": true,
"deactivated_reason": null,
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z"
}
]
}Create a webhook subscription#
Authorization: API-Key · Rate limit 60 requests / 60 s (sandbox 10 in total)
https only, public hosts only (private, loopback, link-local and metadata addresses are refused). The shared key is shown once.
Headers#
- Idempotency-Keystring
Replays the first response for 24 hours.
max length 255
Request body#
application/json
- namestringrequiredmin length 1 · max length 80
- urlstring (uri)requiredmax length 2048
- triggersarray of stringrequired
document_state_changedrecipient_completeddocument_completed_pdf_readydocument_updateddocument_deleteddocument_creation_failedtask_completedtask_failedmin items 1 · max items 8 - activeboolean
- sandboxboolean
curl -X POST "https://macaaw.com/public/v1/webhook-subscriptions" \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"string","url":"https://example.com/webhooks/macaaw","triggers":["document_state_changed"],"active":true,"sandbox":true}'Responses#
- 201OKapplication/json · WebhookSubscriptionCreated
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"uuid": "string",
"name": "string",
"url": "https://example.com/webhooks/macaaw",
"triggers": [
"document_state_changed"
],
"active": true,
"sandbox": true,
"deactivated_reason": null,
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z",
"shared_key": "string"
}Get a webhook subscription#
Authorization: API-Key · Rate limit 60 requests / 60 s (sandbox 10 in total)
Path parameters#
- uuidstringrequired
curl "https://macaaw.com/public/v1/webhook-subscriptions/$UUID" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 200OKapplication/json · WebhookSubscription
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"uuid": "string",
"name": "string",
"url": "https://example.com/webhooks/macaaw",
"triggers": [
"document_state_changed"
],
"active": true,
"sandbox": true,
"deactivated_reason": null,
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z"
}Update a webhook subscription#
Authorization: API-Key · Rate limit 60 requests / 60 s (sandbox 10 in total)
Path parameters#
- uuidstringrequired
Request body#
application/json
- namestringmin length 1 · max length 80
- urlstring (uri)max length 2048
- triggersarray of string
document_state_changedrecipient_completeddocument_completed_pdf_readydocument_updateddocument_deleteddocument_creation_failedtask_completedtask_failedmin items 1 · max items 8 - activeboolean
curl -X PATCH "https://macaaw.com/public/v1/webhook-subscriptions/$UUID" \
-H "Authorization: API-Key $MACAAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"string","url":"https://example.com/webhooks/macaaw","triggers":["document_state_changed"],"active":true}'Responses#
- 200OKapplication/json · WebhookSubscription
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"uuid": "string",
"name": "string",
"url": "https://example.com/webhooks/macaaw",
"triggers": [
"document_state_changed"
],
"active": true,
"sandbox": true,
"deactivated_reason": null,
"date_created": "2026-10-30T11:35:00.000000Z",
"date_modified": "2026-10-30T11:35:00.000000Z"
}Delete a webhook subscription#
Authorization: API-Key · Rate limit 60 requests / 60 s (sandbox 10 in total)
Path parameters#
- uuidstringrequired
curl -X DELETE "https://macaaw.com/public/v1/webhook-subscriptions/$UUID" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 204No content
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
Regenerate the shared key#
Authorization: API-Key · Rate limit 60 requests / 60 s (sandbox 10 in total)
Path parameters#
- uuidstringrequired
curl -X POST "https://macaaw.com/public/v1/webhook-subscriptions/$UUID/shared-key" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 200OKapplication/json · SharedKey
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"uuid": "string",
"shared_key": "string"
}Delivery history#
Authorization: API-Key · Rate limit 60 requests / 60 s (sandbox 10 in total)
Query parameters#
- subscriptionstring (uuid)
- statusstring
pendingdeliveredfailed - pageintegermin 1 · max 100000 · default 1
- countintegermin 1 · max 100 · default 50
curl "https://macaaw.com/public/v1/webhook-events" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 200OKapplication/json · WebhookEventList
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"results": [
{
"id": "string",
"subscription": "string",
"event": "string",
"events": [
"string"
],
"status": "pending",
"attempts": 1,
"http_status": 1,
"error": "string",
"response": "string",
"date_created": "2026-10-30T11:35:00.000000Z",
"delivered_at": "2026-10-30T11:35:00.000000Z",
"next_attempt_at": "2026-10-30T11:35:00.000000Z"
}
]
}Resend a delivery now#
Authorization: API-Key · Rate limit 60 requests / 60 s (sandbox 10 in total)
Path parameters#
- idstringrequired
curl -X POST "https://macaaw.com/public/v1/webhook-events/$ID/resend" \
-H "Authorization: API-Key $MACAAW_API_KEY"Responses#
- 200OKapplication/json · WebhookEvent
- 400Validation errorapplication/json · Error
- 401Missing, unknown or revoked API keyapplication/json · Error
- 403Plan or permissionapplication/json · Error
- 404Not foundapplication/json · Error
- 409Wrong stateapplication/json · Error
- 429Rate limitedapplication/json · ErrorHeaders:
Retry-After
{
"id": "string",
"subscription": "string",
"event": "string",
"events": [
"string"
],
"status": "pending",
"attempts": 1,
"http_status": 1,
"error": "string",
"response": "string",
"date_created": "2026-10-30T11:35:00.000000Z",
"delivered_at": "2026-10-30T11:35:00.000000Z",
"next_attempt_at": "2026-10-30T11:35:00.000000Z"
}