Update a creative
PATCH/creatives/:id
Sets the creative’s delivery aspectRatio and/or merges your own metadata map, and returns the creative — the same body GET /creatives/{id} returns. Changing the ratio of a creative with an asset queues a crop job; it is free. A request that changes nothing is a 200 that records nothing. Idempotency-Key and If-Match are optional.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 412
- 422
- 429
- 503
OK. The creative after the edit (or the replay of an earlier edit with this key).
Response Headers
Strong hash of this response body.
Bad Request. The Idempotency-Key header is malformed (INVALID_IDEMPOTENCY_KEY).
Unauthorized. Missing, malformed, unknown, revoked, or expired bearer token — or the token owner no longer holds the required entitlement (ENTITLEMENT_LOST). A uniform problem body is returned with a distinct code; no owner/condition detail (no-leak).
Forbidden. The key lacks the creatives:write scope (API_TOKEN_SCOPE_DENIED).
Not Found (CREATIVE_NOT_FOUND). No usable creative with this id belongs to the key's account — a creative of another account returns this SAME uniform 404 (no-leak).
Conflict. A request under this key is still in progress (IDEMPOTENCY_IN_PROGRESS, retry after Retry-After), or the key was already used for a different request (IDEMPOTENCY_KEY_REUSED).
Response Headers
Seconds to wait before retrying — on IDEMPOTENCY_IN_PROGRESS only.
Precondition Failed (PRECONDITION_FAILED). If-Match no longer matches the creative. Nothing was changed; read it again and retry.
Unprocessable Content (VALIDATION_ERROR). The body is malformed — an unknown field, an aspectRatio outside the delivery ratios, an invalid metadata key or value, or a merge that would leave more than 50 keys; every offending field is listed in errors[].
Too Many Requests. The per-token sliding window of 60 requests/minute was exceeded. The body is express-rate-limit's DEFAULT plain-text message (NOT the JSON problem+json envelope).
Response Headers
IETF draft-7 rate-limit policy/state (limit, remaining, reset).
Seconds to wait before retrying.
Service Unavailable (WRITES_PAUSED). Writes are paused for this account right now — nothing was changed and the Idempotency-Key was not consumed, so retry the SAME request after Retry-After. Reads are unaffected.
Response Headers
Seconds to wait before retrying.