v64

latestOpenAPI 3.1.0raw.githubusercontent.com2026-08-016280256.4 KB
stacks

Get a stack

Fetches one stack's metadata by ID (pinned cover, live member count, provenance). The response is metadata only and does not include the stack's assets — to get its frames, use list_assets with stack_id.

get/api/stacks/{stack_id}

Path parameters

stack_idstring required

Stack ID (with asset_stack_ prefix) to fetch. Carried by the stack_id field on any asset that belongs to a stack.

Stack ID (with asset_stack_ prefix) to fetch. Carried by the stack_id field on any asset that belongs to a stack.

Response

Successful Response

idstring required

Unique stack identifier with 'asset_stack_' prefix

primary_asset_idstring nullable

ID of the asset the user pinned as the stack's cover, or null if none is pinned. Null for an auto-detected burst unless a user has since pinned a cover — there is no server-selected default, so a client showing a stack with no pinned cover picks its own. A pinned cover that has been trashed keeps its ID here; it is cleared only once the asset is permanently deleted.

asset_countinteger required

Number of live assets in this stack. Excludes trashed members, so it can drop below the number of frames originally grouped.

origin'auto_burst' | 'user' required

How a stack came to exist.

auto_burst marks a stack the burst detector created from the time + EXIF-camera signal; user marks a stack a user created or edited (manual create, set-cover, add/remove, unstack). The distinction is what keeps re-detection from stomping a user's correction — the detection pass skips user stacks.

created_atstring date-time required

When this stack was created

updated_atstring date-time required

When this stack was last updated