---
title: "Get Sync Status"
method: GET
path: "/api/v1/users/me/sync-status"
tags: ["users"]
---

# Get Sync Status

`GET /api/v1/users/me/sync-status`

## Request

- Base URL: `https://yondry.app` (the document declares no server; this is the origin it was published from)
- URL: `https://yondry.app/api/v1/users/me/sync-status`
- Auth: HTTP bearer

Lightweight staleness check for mobile foreground refresh.

Returns the MAX(updated_at) for each entity type the client caches.
Mobile compares these against its local "last fetched" timestamps and
only re-fetches the endpoints that have changed since the last sync.

All queries are single-aggregate SELECTs — no joins, no heavy scanning.

## Response `200`

Successful Response

- SyncStatusResponse: GET /users/me/sync-status — lightweight staleness check. Mobile calls this on foreground resume to decide which cached responses need refreshing. All queries are simple MAX(updated_at) aggregates — no heavy joins. ``collections_last_modified`` is None until the collections feature ships a backend implementation.
  - `places_last_modified` string, date-time, nullable
  - `collections_last_modified` string, date-time, nullable
  - `profile_last_modified` string, date-time, required

---

[API](https://skmtc.dev/yondry/apis/yondry-api.md) · [All operations](https://skmtc.dev/yondry/apis/yondry-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yondry/apis/yondry-api/revisions/d2c213cea95b?raw)
