---
title: "Get Updates"
method: GET
path: "/api/admin/updates"
tags: ["admin-updates"]
---

# Get Updates

`GET /api/admin/updates`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/admin/updates`
- Auth: none declared

## Query parameters

- `limit` integer

## Response `200`

Successful Response

- UpdatesOverview
  - `install` InstallState, required: What this install is running right now. Read from the process environment rather than the database, because it is a property of the deployed revision. The updater stamps both at cutover.
    - `install_id` string, uuid, nullable, required
    - `install_name` string, nullable, required
    - `bundle_version` string, nullable, required
    - `build_sha` string, nullable, required
    - `channel` string, nullable, required
  - `activation` ActivationView, required: Installation activation (TOS-3634 Release 2), SHADOW mode. ``enforced`` is always false in this release: the state is shown, and nothing on the install is restricted by it.
    - `state` string, required
    - `enforced` boolean, required
    - `identity_source` string, nullable, required
    - `install_id` string, nullable, required
    - `key_fingerprint` string, nullable, required
    - `generation` integer, nullable, required
    - `grace_ends_at` string, nullable, required
    - `certificate` ActivationCertificateView, required
      - `cert_seq` integer, required
      - `mode` string, required
      - `issued_at` string, nullable, required
      - `not_after` string, nullable, required
      - `entitlement_class` string, nullable, required
      - `entitlement_expires_at` string, nullable, required
    - `last_verified_at` string, nullable, required
    - `service_state` string, required
    - `last_error` string, nullable, required
    - `identity` ActivationIdentityView, required
      - `state` string, required
      - `case_id` string, nullable, required
    - `entitlement` ActivationEntitlementView, required
      - `state` string, required
      - `class` string, nullable, required
      - `expires_at` string, nullable, required
      - `critical_security` unknown
    - `delivery` ActivationDeliveryView, required
      - `allowed` boolean, nullable, required
      - `reason` string, nullable, required
      - `enforced` boolean, required
  - `release_status` ReleaseStatusView, required
    - `verdict` string, required
    - `headline` string, required
    - `summary` string, required
    - `current_release` string, nullable, required
    - `available_release` string, nullable, required
    - `last_checked_at` string, date-time, nullable, required
    - `components` ReleaseComponentView[], required
      - `name` string, required
      - `state` string, required
      - `detail` string, required
  - `viewer_timezone` string, nullable, required
  - `policy` UpdatePolicyView, required: The operator's settings, plus the evidence that they are in effect. ``last_read_at`` is the honest part. It is when the updater last actually read this policy. Absent means no update run has consulted it yet, and the screen says so rather than implying the switch is doing something.
    - `auto_update_enabled` boolean, required
    - `channel` string, nullable, required
    - `check_interval_minutes` integer, required
    - `window_start_hour` integer, nullable, required
    - `window_end_hour` integer, nullable, required
    - `window_timezone` string, required
    - `last_read_at` string, date-time, nullable, required
    - `last_checked_at` string, date-time, nullable, required
    - `updated_at` string, date-time, required
    - `updated_by` string, nullable, required
  - `availability` AvailabilityView[], required
    - `channel` string, required
    - `bundle_version` string, nullable, required
    - `git_sha` string, nullable, required
    - `manifest_digest` string, nullable, required
    - `checked_at` string, date-time, nullable, required
    - `last_success_at` string, date-time, nullable, required
    - `last_failure_at` string, date-time, nullable, required
    - `failure_detail` string, nullable, required
  - `requests` UpdateRequestView[], required
    - `id` string, uuid, required
    - `mode` string, required
    - `state` string, required
    - `channel` string, required
    - `requested_at` string, date-time, required
    - `started_at` string, date-time, nullable, required
    - `finished_at` string, date-time, nullable, required
    - `detail` string, nullable, required
  - `events` UpdateEvent[], required
    - `id` string, uuid, required
    - `decision` string, required
    - `bundle_version` string, nullable, required
    - `git_sha` string, nullable, required
    - `channel` string, nullable, required
    - `phase` string, nullable, required
    - `duration_ms` integer, nullable, required
    - `migrations_applied` integer, nullable, required
    - `detail` string, nullable, required
    - `created_at` string, date-time, required
  - `checkins` CheckinView[], required
    - `seq` integer, required
    - `outcome` string, required
    - `detail` string, nullable, required
    - `payload` object, required
    - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

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