---
title: "Get Latest Update"
method: GET
path: "/v1/updates/latest"
tags: ["updates"]
---

# Get Latest Update

`GET /v1/updates/latest`

## Request

- Base URL: `https://app.tokumalabs.com/api`
- URL: `https://app.tokumalabs.com/api/v1/updates/latest`
- Auth: none declared

Serve the update manifest for the Tauri updater.

Query params (Tauri replaces ``{{target}}``/``{{current_version}}``):
- target: e.g. "darwin-aarch64". Filters to that platform.
- current_version: informational only.

Returns 204 No Content when no update is available.

## Query parameters

- `target` string, nullable
- `current_version` string, nullable

## Response `200`

Successful Response

- LatestManifestResponse: `GET /api/v1/updates/latest` 200 body. Consumed by three clients today: the desktop app's auto-updater (`tauri_plugin_updater::Updater::check` reads `version` / `pub_date` / `platforms`; the runner reads `urgency` from the parsed body), the admin DownloadsPage, and the admin "Check Latest" dev dialog. Any field rename here ripples to all three.
  - `version` string, required
  - `urgency` 'normal' | 'asap', required
  - `notes` string, required
  - `pub_date` string, required
  - `platforms` object, required

## Other responses

- `204`: No update available
- `400`: Invalid target platform
- `401`: Missing, expired, or invalid authentication.
- `403`: Authenticated but not permitted.
- `404`: Resource not found.
- `409`: Resource state conflict (duplicate, illegal transition).
- `422`: Request body failed schema validation.
- `500`: Server-side failure.

---

[API](https://skmtc.dev/tokumalabs/apis/tokuma-user-api.md) - [All operations](https://skmtc.dev/tokumalabs/apis/tokuma-user-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tokumalabs/apis/tokuma-user-api/revisions/1f8201af459b?raw)
