assets
Delete an uploaded image asset
DELETE /v1/assets/{id}
Auth required
api.assets.manage
Removes the row that makes a logical path resolve to an image. The stored object is retained — objects are content-addressed and mail already delivered points at them, so deleting one would break pictures in inboxes rather than reclaim anything that matters.
Refused with 409 conflict while a live template still references the
path; the response's referenced_by names them.
Path parameters
id string required The asset's UUID or its logical source path — the same path POST /v1/assets is keyed on and {{asset "..."}} names. A path contains slashes, so percent-encode it as one path segment (/v1/assets/images%2Flogo.png). Unknown handles read as 404 not_found.
Responses
Errors follow the RFC 7807 problem format — see the error reference.
204 Asset deleted (no content)
401 Missing, malformed, or unknown API key application/problem+json
403 Either the credential lacks the required scope (
code: invalid_scope), or it is bound to the test environment and this operation is irreversible (code: test_environment_forbidden). Branch on code: the first is fixed by granting the scope, the second only by using a live credential. See the "Live and test credentials" section of the API description. application/problem+json 404 Resource not found application/problem+json
409 The mutation is rejected by a state rule rather than a bad request. The
code is conflict.
application/problem+json 429 Per-org rate limit exceeded application/problem+json
500 Unexpected server-side failure. The
code is internal_error. The
request_id field can be quoted to SendOps support to investigate.
application/problem+json