assets

Delete the asset's current derived version

Changed on

Irreversibly deletes the current non-original version and restores its predecessor. The original returns 422; a buried version returns 409.

delete/api/assets/{asset_id}/versions/{version_id}

Request

  • Base URL: https://api.gumnut.ai
  • URL: https://api.gumnut.ai/api/assets/{asset_id}/versions/{version_id}
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer

Path parameters

asset_idstring required

Asset ID (with asset_ prefix) whose version to delete.

version_idstring required

Version ID (with asset_version_ prefix) to delete. Must be the asset's current non-original version.

Response

Successful Response

idstring required

Unique asset identifier with 'asset_' prefix

mime_typestring required

MIME type of the current rendering (e.g., 'image/jpeg', 'video/mp4').

original_file_namestring required

Filename the asset was uploaded under.

local_datetimestring date-time required

When the photo/video was taken, in the device's local timezone

created_atstring date-time required

When this asset record was created in the database

updated_atstring date-time required

When this asset record was last updated

asset_urlsobject nullable

Named asset variants. Images: 'original', 'thumbnail', 'small', 'preview', 'fullsize'. Videos: 'original', plus 'thumbnail_image', 'small_image', 'preview_image', 'fullsize_image' pointing at the extracted still. 'original' is served with a Content-Disposition attachment header (signed 'dl' filename param) so a top-level navigation saves it to disk, while inline subresource loads (<video>, fetch) still render it. Variant URLs are stable: a derived variant may briefly 404 until its artifact is generated, then serve from the same URL.

descriptionstring nullable

AI-generated description of the asset's content, quality, and composition. null means description generation has not yet run; empty string means the model refused to describe the asset. Distinct from metadata.description (camera-embedded EXIF metadata).

quality_scorenumber nullable

Photographic quality judged from the image alone (focus, exposure, noise, composition, capture flaws), from 0 (worst) to 1 (best) on a fixed scale that is comparable across photos and libraries. Scores take a few distinct values, so photos of similar quality tie. It does not reflect who is pictured. null means the asset has no score.

thumbhashstring nullable

Base64-encoded ThumbHash placeholder (~28 chars). Clients decode with the thumbhash library (JS / Swift / Kotlin) to render an instant blurred preview before the CDN thumbnail arrives. null while generation is pending.

kindstring required

What produced the current rendering: original (the upload), edit (an edit rendered by the client), or external:<service>. The namespace is open — derive edited-ness as kind != "original".

current_version_idstring required

ID (asset_version_ prefix) of the current version, which the top-level rendering fields describe. For a current derived version, this ID supplies the path target for replacement or deletion.

widthinteger

Width of the current rendering in pixels.

heightinteger

Height of the current rendering in pixels.

file_size_bytesinteger required

Size of the current rendering in bytes: the exact byte count the asset_urls.original download serves. For an unedited asset this equals the upload's file_data.file_size_bytes; for an edited asset it is the derived rendering's size.

durationnumber nullable

Video length in seconds. null for images and for videos whose duration has not been extracted yet.

trashed_atstring date-time nullable

When this asset was moved to trash (ISO 8601, UTC). null for live assets. Trashed assets are excluded from default list/search results and are purged after the configured retention window.

stack_idstring nullable

ID of the stack this asset belongs to (asset_stack_ prefix), or null when the asset is not part of a stack. Group assets by this value to collapse a stack into a single tile; the stack's own cover and member count are not carried on the asset. Distinct from metadata.auto_stack_id, which is the camera's in-EXIF MakerNotes:AutoStackID string — this is the server-assigned foreign key to the asset's stack.

Changes

    • warning

      removed the optional property from the response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property to the response with the status

    • info

      added the required property to the response with the status

    • warning

      deleted the query request parameter expected_current_version_id