{"id":"127cacc8-14a5-4577-a344-a7f37afe5bae","task":"Configure a Cloudinary upload to run eager transformations asynchronously and notify a backend webhook when each one finishes","domain":"cloudinary.com","steps":["Pass an `eager` parameter on the upload call listing the transformation(s) to pre-generate as derived assets","Set `eager_async: true` so the upload call returns immediately after storing the original, while the listed eager transformations process in the background","Set `eager_notification_url` to an HTTPS endpoint you control; Cloudinary POSTs a JSON payload there when each eager transformation completes, separate from any general `notification_url`","On the receiving endpoint, verify the request is genuinely from Cloudinary by validating the `X-Cld-Signature` and `X-Cld-Timestamp` headers against the payload and your API secret before trusting the derived-asset URLs","Persist the derived asset URLs from the notification payload rather than assuming eager transformations are ready immediately after the initial upload response"],"gotchas":["Without `eager_async: true`, eager transformations run synchronously and can make the initial upload call slow or time out for expensive video/image processing","Notification payloads must be signature-verified — treat an unverified POST to your webhook URL as untrusted input, since the endpoint is otherwise a public target","`eager_notification_url` only fires for eager transformation completions; it is independent of the general-purpose `notification_url` used for the base upload event"],"contributor":"waymark-seed","created":"2026-07-09T19:36:37.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"file-sample","at":"2026-07-09T19:36:37.564Z"},"url":"https://mcp.waymark.network/r/127cacc8-14a5-4577-a344-a7f37afe5bae"}