Skip to main content
GET
/
api
/
assets
List assets in a library, optionally filtered by album, person, date range, or asset ID
curl --request GET \
  --url https://api.example.com/api/assets
{
  "data": [
    {
      "id": "<string>",
      "device_asset_id": "<string>",
      "device_id": "<string>",
      "mime_type": "<string>",
      "original_file_name": "<string>",
      "file_created_at": "2023-11-07T05:31:56Z",
      "file_modified_at": "2023-11-07T05:31:56Z",
      "local_datetime": "2023-11-07T05:31:56Z",
      "checksum": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "checksum_sha1": "<string>",
      "exif": {
        "asset_id": "<string>",
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z",
        "make": "<string>",
        "model": "<string>",
        "orientation": 123,
        "modified_datetime": "2023-11-07T05:31:56Z",
        "original_datetime": "2023-11-07T05:31:56Z",
        "digitized_datetime": "2023-11-07T05:31:56Z",
        "lens_model": "<string>",
        "f_number": 123,
        "focal_length": 123,
        "iso": 123,
        "exposure_time": 123,
        "exposure_bias": 123,
        "latitude": 123,
        "longitude": 123,
        "altitude": 123,
        "city": "<string>",
        "state": "<string>",
        "country": "<string>",
        "description": "<string>",
        "fps": 123,
        "live_photo_cid": "<string>",
        "projection_type": "<string>",
        "profile_description": "<string>",
        "auto_stack_id": "<string>",
        "rating": 123
      },
      "metadata": {
        "asset_id": "<string>",
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z",
        "make": "<string>",
        "model": "<string>",
        "orientation": 123,
        "modified_datetime": "2023-11-07T05:31:56Z",
        "original_datetime": "2023-11-07T05:31:56Z",
        "digitized_datetime": "2023-11-07T05:31:56Z",
        "lens_model": "<string>",
        "f_number": 123,
        "focal_length": 123,
        "iso": 123,
        "exposure_time": 123,
        "exposure_bias": 123,
        "latitude": 123,
        "longitude": 123,
        "altitude": 123,
        "city": "<string>",
        "state": "<string>",
        "country": "<string>",
        "country_code": "<string>",
        "sublocation": "<string>",
        "place_name": "<string>",
        "timezone": "<string>",
        "display_label": "<string>",
        "description": "<string>",
        "fps": 123,
        "live_photo_cid": "<string>",
        "projection_type": "<string>",
        "auto_stack_id": "<string>",
        "rating": 123
      },
      "metrics": {},
      "asset_urls": {},
      "description": "<string>",
      "faces": [
        {
          "id": "<string>",
          "asset_id": "<string>",
          "bounding_box": {},
          "created_at": "2023-11-07T05:31:56Z",
          "updated_at": "2023-11-07T05:31:56Z",
          "person_id": "<string>",
          "timestamp_ms": 123,
          "asset_urls": {}
        }
      ],
      "people": [
        {
          "id": "<string>",
          "is_hidden": true,
          "is_favorite": true,
          "created_at": "2023-11-07T05:31:56Z",
          "updated_at": "2023-11-07T05:31:56Z",
          "name": "<string>",
          "birth_date": "2023-12-25",
          "asset_count": 123,
          "thumbnail_face_id": "<string>",
          "asset_urls": {}
        }
      ],
      "width": 0,
      "height": 0,
      "file_size_bytes": 0,
      "trashed_at": "2023-11-07T05:31:56Z"
    }
  ],
  "has_more": true
}

Documentation Index

Fetch the complete documentation index at: https://docs.gumnut.ai/llms.txt

Use this file to discover all available pages before exploring further.

Query Parameters

library_id
string | null

Library to list assets from. Optional if the user has a single library; required when they have multiple. Use list_libraries to enumerate available libraries.

album_id
string | null

Return only assets that are in the album with this ID. Equivalent to calling list_album_assets with album_id and then fetching each asset — prefer this param when you need the full asset metadata in one call.

person_id
string | null

Return only assets containing a face belonging to this person. Singular on this tool; the sibling search_assets uses person_ids (plural, ALL-of).

ids
string[] | null

Look up specific assets by ID (max 100; each ID has the asset_ prefix). Use this for bulk fetch when you already have asset IDs. Combines with other filters (album_id, person_id, datetime range) using AND logic — the result is the intersection.

local_datetime_after
string<date-time> | null

Only include assets captured strictly after this instant (ISO 8601; exclusive). local_datetime is the photo's wall-clock time in the device's own timezone. Naive values compare directly against local_datetime. Timezone-aware values: assets with a known offset are compared in UTC (local_datetime - offset); assets without an offset fall back to wall-clock comparison against local_datetime. Equivalent in purpose to captured_after on search_assets (naming inconsistency is tracked as a follow-up).

local_datetime_before
string<date-time> | null

Only include assets captured strictly before this instant (ISO 8601; exclusive). Same awareness/offset semantics as local_datetime_after. Equivalent in purpose to captured_before on search_assets (naming inconsistency is tracked as a follow-up).

starting_after_id
string | null

Cursor for pagination. Pass the id of the last asset in the previous response's data to fetch the next page. Omit for the first page. list_assets uses cursor pagination; the sibling search_assets uses 1-indexed page numbers (naming inconsistency is tracked as a follow-up).

state
enum<string>
default:live

Which set of assets to read from: live (default — only assets that are not trashed), trashed (only trashed assets, ordered by most recently trashed), or all (both live and trashed, ordered by capture time like live).

Available options:
live,
trashed,
all
limit
integer
default:20

Maximum number of assets to return per page (1–200). Defaults to 20.

Required range: 1 <= x <= 200

Response

Successful Response

data
AssetResponse · object[]
required

List of assets

has_more
boolean
required

True if there are more assets after this page. Pass the last asset's id as starting_after_id to fetch the next page.