Skip to content

Get a Photo item

GET
/api/v1/photos/items/{item_id}
curl --request GET \
--url https://example.com/api/v1/photos/items/example \
--header 'Authorization: Bearer <token>'

Requires a signed-in User. It returns the item’s capture details, media properties, EXIF data and group identity. It returns 404 when the item is missing or outside the active library folders. Route: /api/v1/photos/items/{item_id}. Inputs: item_id. Safe reads can use bounded retries.

item_id
required
string
Media typeapplication/json

One Photos item with the metadata the viewer’s info panel shows. EXIF values are read from the file on request, so they are always current.

object
camera
string | null
capture_seconds
required
integer format: int64
day
required

The timeline day of the group, YYYY-MM-DD.

string
display_item_id
required

The item the group’s tile shows.

string
duration_ms
integer | null format: int64
exposure_seconds
number | null format: double
f_number
number | null format: double
focal_length_mm
number | null format: double
group_id
required

The timeline group (tile) this item belongs to.

string
hash
required
string
height
integer | null format: int64
iso
integer | null format: int64
item_id
required
string
kind
string | null
latitude
number | null format: double
lens
string | null
longitude
number | null format: double
member_count
required
integer format: int64
mime
required
string
name
required
string
path
required
string
place_name

The nearest city from the GeoNames table (“Paris, FR”), when the photo has a place.

string | null
size
required
integer format: int64
thumbhash
string | null
time_zone
required
string
width
integer | null format: int64
Examplegenerated
{
"camera": "example",
"capture_seconds": 1,
"day": "example",
"display_item_id": "example",
"duration_ms": 1,
"exposure_seconds": 1,
"f_number": 1,
"focal_length_mm": 1,
"group_id": "example",
"hash": "example",
"height": 1,
"iso": 1,
"item_id": "example",
"kind": "example",
"latitude": 1,
"lens": "example",
"longitude": 1,
"member_count": 1,
"mime": "example",
"name": "example",
"path": "example",
"place_name": "example",
"size": 1,
"thumbhash": "example",
"time_zone": "example",
"width": 1
}
Media typeapplication/json

The standard API error response: { "error": { ... } }.

object
error
required

Error details.

object
code
required

Stable machine-readable code.

string
Allowed values: bad_request unauthorized forbidden not_found conflict name_conflict_case name_too_long push_endpoint_rejected too_many_requests internal service_unavailable
details
One of:

Optional field or operation details.

object
key
additional properties
string
message
required

Safe text for logs or a user-facing error message.

string
Example
{
"error": {
"code": "bad_request"
}
}