---
title: "Get the live progress of an account's most recent update."
method: POST
path: "/v1/account.updateProgress"
tags: ["account"]
---

# Get the live progress of an account's most recent update.

`POST /v1/account.updateProgress`

## Request body

- AccountSearch
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `id` IDSearch
    - `accountId` integer — Account ID to search for
    - `steamId64` string — SteamID64 to search for
  - `vanity` VanitySearch
    - `type` 'steam' | 'internal', required — Which type of vanity to search for
    - `value` string, required — Vanity to search for

## Response `200`

OK

- V1AccountUpdateProgressResponseBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `progress` UpdateProgress
    - `accountId` integer, required — The account this progress snapshot belongs to.
    - `currentStep` string, required — The step the update is on now.
    - `error` UpdateError
      - `category` string, required — The reason the update failed.
      - `retryable` boolean, required — True if retrying the update now may succeed.
    - `finishedAt` string, date-time — The time the update finished, in UTC. Set on success or failure.
    - `percent` integer, required — How far the update has progressed, from 0 to 100.
    - `queuePosition` integer — Reserved for a future queue that can report a position. Always absent today.
    - `queuedAt` string, date-time — The time the update was queued, in UTC.
    - `runId` string, required — An ID for the update run. Compare it to tell a new run from a later event of the same run.
    - `startedAt` string, date-time — The time the update started running, in UTC.
    - `status` string, required — The overall status: undefined, pending, in_progress, completed, or failed. A completed run can still list a skipped or failed step: the data was saved, and that step kept the existing data.
    - `steps` UpdateStep[], nullable, required — Every step in the pipeline, in run order, with its own status.
      - `finishedAt` string, date-time — The time this step finished, in UTC.
      - `name` string, required — The pipeline step this row describes.
      - `reason` string — Why the step ended skipped or failed: private (Steam privacy settings hide the data), unavailable (the step failed after its retries), or not_run (the run stopped before this step). Absent for a step that is pending, running, or done.
      - `startedAt` string, date-time — The time this step started, in UTC.
      - `status` string, required — The step's state: pending, running, done, skipped, or failed.
    - `updatedAt` string, date-time, required — The time this snapshot was last written, in UTC.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Entity
- `500` — Internal Server Error

## Changes

> 25 revisions in range; 1 not diffed.

- **2026-10-02** `1f8479c65e36` — 1 info
  - added the optional property `progress/steps/items/reason` to the response with the `200` status
- **2026-10-01** `0541a798b295` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/steamsets/apis/steamsets-api/changes/v1/account.updateProgress/post.md)

---

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