/developers
Developer docsAtom Files ↗
← API referenceChanges & events · API access unavailable
API REFERENCE / WEBHOOKS

POST /v1/webhooks

Subscribe a verified HTTPS receiver to events within the caller’s authorized grant. Deliveries are signed and may be repeated, so consumers deduplicate by event ID. A webhook is a prompt to read the change feed, not a replacement for it.

Request fields

LocationFieldTypeRequiredDescription
HeaderAuthorizationstringYesCredential scoped to the authorized resource.
HeaderContent-Typestring (media type)Yesapplication/json.
BodyurlstringYesVerified HTTPS receiver.
Bodyevent_typesstring[]YesEvents within the caller’s grant.

Request example

Example request
POST /v1/webhooks
Authorization: Bearer <scoped token>
Content-Type: application/json

{
  "url": "https://example.app/atom/events",
  "event_types": [
    "file.available",
    "file.version_created",
    "artifact.ready",
    "artifact.purged",
    "processing.failed",
    "processing.cancelled",
    "operation.failed",
    "access.revoked"
  ]
}

HTTP status codes

StatusMeaning
201 CreatedSuccess response shown below.
400 Bad RequestInvalid receiver URL or event list.
401 UnauthorizedMissing, expired, or invalid credential.
403 ForbiddenCredential is valid but lacks the required scope or role.
409 ConflictEquivalent webhook registration already exists.
429 Too Many RequestsRate limit reached; honor Retry-After when provided.
503 Service UnavailableService temporarily unavailable; retry safely.

Response fields

FieldTypeExample
idstringwh_123
statusstringpending_verification

Response example

Example response
201 Created
Content-Type: application/json

{
  "id": "wh_123",
  "status": "pending_verification"
}

How it works

Endpoint verification, safe one-time signing-secret delivery, retry window, secret rotation, and list/delete management are required before this design can ship.