Delete Asset Library Item
Soft-delete an Asset Library item. Subsequent list and get calls return 404.
Soft-deletes an Asset Library item. The row stays in the database with deleted = true. Subsequent
list and get calls return 404 as if the item never existed.
https://example.thoughtindustries.com/v3/assetLibraryItems/:idThis endpoint is served by the v3 API. Its full path is
https://{instance}.thoughtindustries.com/v3/assetLibraryItems/{id}, not the/incoming/v2base URL used by the rest of this reference. Use the full URL shown in the examples below.
Example request
curl -X DELETE "https://{instance}.thoughtindustries.com/v3/assetLibraryItems/7a6b5c4d-3e2f-1a0b-9c8d-7e6f5a4b3c2d" \
-H 'Authorization: Bearer YOUR_API_KEY'Parameters
Requires the centrallibrary.destroy permission. A company API key satisfies this.
| Name | Type | Required | Location | Description |
|---|---|---|---|---|
id | uuid | Yes | path | Asset Library item ID. |
This request has no body.
Example response
Note the data wrapper — v3 endpoints nest their payload under data.
{
"data": true
}The item disappears from the admin Asset Library after search unindexing completes. That write is best-effort and does not change this response. There is no restore endpoint on this API.
Errors
A missing, already-deleted, revision, or cross-tenant ID returns 404:
{
"code": "RESOURCE_NOT_FOUND",
"message": "AssetLibraryItem with identifier \"7a6b5c4d-3e2f-1a0b-9c8d-7e6f5a4b3c2d\" was not found",
"category": "NOT_FOUND",
"timestamp": "2026-08-26T16:10:00.000Z",
"statusCode": 404,
"metadata": {
"resource": "AssetLibraryItem",
"identifier": "7a6b5c4d-3e2f-1a0b-9c8d-7e6f5a4b3c2d"
}
}A path id that is not a UUID returns 400 with code: "BAD_REQUEST" and
category: "CLIENT_ERROR". message names the problem. timestamp and statusCode are always
present; metadata.errors is present when ValidationPipe rejected a constraint. A missing or
invalid API key returns 401 with code: "UNAUTHENTICATED". A manager session without
centrallibrary.destroy returns 403 with code: "FORBIDDEN" and
message: "Insufficient permissions: centrallibrary.destroy required".
Rate limit
120 requests per 60 seconds, counted per instance. This limit is specific to this endpoint and is
independent of the per-family rate limits that apply to /incoming/v2 endpoints.