AsyncAPI description of Cloudinary's outbound notification (webhook) surface. Cloudinary delivers event notifications by issuing HTTP POST requests with a JSON body to a notification URL the customer configures, either globally per product environment (via the Admin API or the Webhook Notifications settings in the Console) or on a per-call basis with the `notification_url` and `eager_notification_url` parameters on Upload API methods. Each notification carries a `notification_type` discriminator that identifies the event class. Cloudinary retries delivery up to three times (at roughly 3, 6, and 9 minutes) when the subscriber response is not HTTP 200. Source documentation: - Notifications overview: https://cloudinary.com/documentation/notifications - Verifying notification signatures: https://cloudinary.com/documentation/notifications#verifying_a_notification_signature Signing and verification: Cloudinary sends two signature headers on every notification request: - X-Cld-Timestamp Unix epoch timestamp of the notification. - X-Cld-Signature HMAC-SHA1 signature (legacy) over the JSON body and timestamp, signed with the product environment API secret. - X-Cld-Signature_v2 EdDSA v2 signature variant. The payload also includes a `signature_key` field that identifies the API key associated with the signing secret, which is useful when an account rotates or maintains multiple keys.
View SpecView on GitHubAsset ManagementDigital Asset ManagementImage ProcessingImage TransformationMediaSaaSVideo ProcessingAsyncAPIWebhooksEvents
Channels
/cloudinary/notifications
publishreceiveCloudinaryNotification
Receive a Cloudinary notification
Single subscriber endpoint that receives every Cloudinary notification for the configured product environment. The `notification_type` field on the JSON body identifies the event class. Cloudinary POSTs one notification per HTTP request.
Messages
✉
Upload
Upload completed
Fired when an asset upload completes.
✉
Eager
Eager transformation completed
Fired when one or more eager transformations finish processing.
✉
Rename
Asset renamed
Fired when an asset's public ID changes.
✉
Delete
Asset deleted
Fired when one or more assets are deleted.
✉
Move
Asset moved
Fired when assets move between folders.
✉
CreateFolder
Folder created
Fired when a new asset folder is created.
✉
DeleteFolder
Folder deleted
Fired when an asset folder is deleted.
✉
MoveOrRenameAssetFolder
Asset folder moved or renamed
Fired when an asset folder path is moved or renamed.
✉
ResourceTagsChanged
Resource tags changed
Fired when tags are added to or removed from one or more resources.
✉
ResourceContextChanged
Resource contextual metadata changed
Fired when contextual metadata on a resource is added, updated, or removed.
✉
ResourceMetadataChanged
Resource structured metadata changed
Fired when structured metadata on a resource is modified.
✉
ResourceDisplayNameChanged
Resource display name changed
Fired when an asset's display name is modified.
✉
AccessControlChanged
Access control changed
Fired when an asset's access control settings change.
✉
RelatedAssets
Related assets changed
Fired when related-asset relationships are added or removed.
✉
Multi
Multi generation completed
Fired when a multi (animated GIF / sprite / PDF) generation completes.
✉
Explode
Explode completed
Fired when a multi-page asset explosion (e.g. PDF) completes.
✉
ProofStatusChanged
Proof status changed
Fired when a creative approval proof status changes.
Servers
https
subscriber{notificationUrl}
Customer-hosted HTTPS endpoint that receives notification POSTs from Cloudinary. Configure globally via the Admin API triggers endpoint or the Console Webhook Notifications screen (up to 30 URLs per product environment), or per-call via the `notification_url` / `eager_notification_url` parameters on Upload API methods.