Soft-delete an asset
DELETE /assets/{id}
Marks the asset deleted (sets deleted_at). The storage pin
is removed; the GC sweeper later collects bytes that are no
longer pinned by anyone.
Accepts optional {reason} body captured
into deleted_reason for the admin recovery-window audit.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Request Body
Section titled “Request Body ”Optional body on DELETE endpoints that soft-delete an entity.
The reason free-text string is captured verbatim into the
entity’s deleted_reason column so admin recovery-window
audits carry operator context.
The body itself is optional — a bare DELETE with no body is
still valid + writes deleted_reason = NULL. When present,
an empty-string reason is treated the same as missing.
object
Free-text explanation of why the entity was deleted. Max 500 characters; validated at the handler.
Responses
Section titled “ Responses ”Deleted
Malformed request
object
Human-readable error summary
Example
the request could not be completedAuthentication required, missing, or invalid
object
Human-readable error summary
Example
the request could not be completedExample
{ "error": "authentication required: sign in and retry with a valid session or API token"}Resource not found
object
Human-readable error summary
Example
the request could not be completed