Skip to main content

WorkspacePhotosOut

Response wrapper for GET /api/v1/devices/photos.

The workspace-wide photo listing uses a soft cap of 500 newest photos: when the database has more matching rows than limit, the response returns exactly limit rows ordered newest-first and has_more=True. No full COUNT(*) is run; the caller can narrow the time range to see older rows. There is no offset/limit pagination for this endpoint.

photos object[]required
  • Array [
  • idstring<uuid>required
    file_keyFile Key (string)required
    original_nameOriginal Name (string)required
    content_typeContent Type (string)required
    size_bytesSize Bytes (integer)required
    latitude object
    anyOf
    number
    longitude object
    anyOf
    number
    location_source object
    anyOf
    string

    Possible values: [capture, fix, last_fix, track_estimate]

    location_approximateLocation Approximate (boolean)required

    True when the location is an estimate rather than a fix at the photo time.

    download_urlDownload Url (string)required
    device_uuidstring<uuid>required
    device_nameDevice Name (string)required
    session_idstring<uuid>required
    captured_atstring<date-time>required

    taken_at when the phone sent it, else uploaded_at.

    taken_at object

    When the phone says the photo was taken, or when the upload began if the phone's clock was ahead; null if it did not say.

    anyOf
    string<date-time>
    uploaded_atstring<date-time>required

    When the upload finished.

  • ]
  • has_moreHas More (boolean)required
    unplaced_countUnplaced Count (integer)required

    Photos among the newest limit matches left out because they have no location.

    WorkspacePhotosOut
    {
    "photos": [
    {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "file_key": "string",
    "original_name": "string",
    "content_type": "string",
    "size_bytes": 0,
    "latitude": 0,
    "longitude": 0,
    "location_source": "capture",
    "location_approximate": true,
    "download_url": "string",
    "device_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "device_name": "string",
    "session_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "captured_at": "2024-07-29T15:51:28.071Z",
    "taken_at": "2024-07-29T15:51:28.071Z",
    "uploaded_at": "2024-07-29T15:51:28.071Z"
    }
    ],
    "has_more": true,
    "unplaced_count": 0
    }