---
title: "List Agent Versions"
method: GET
path: "/v1/agent/agents/{agent_id}/versions"
tags: ["Agents"]
---

# List Agent Versions

`GET /v1/agent/agents/{agent_id}/versions`

## Request

- Base URL: `https://api.fish.audio`
- URL: `https://api.fish.audio/v1/agent/agents/{agent_id}/versions`
- Auth: HTTP bearer

The publish history, newest first. The highest version_number is what live
sessions run. Compare a version's config_hash with the draft's to detect
unpublished changes. A version published before a change in how the hash
is computed keeps the hash it froze with; a publish that finds the draft
unchanged realigns the live version's hash instead of creating an
identical version. Superseded versions keep their frozen hash.

## Path parameters

- `agent_id` string, required

## Query parameters

- `cursor` string, nullable
- `page` integer, nullable
- `include_total` boolean
- `page_size` integer

## Response `200`

Request fulfilled, document follows

- object
  - `versions` PublicAgentVersionSummary[], required
    - `version_number` integer, required
    - `version_title` string, nullable
    - `version_description` string, nullable
    - `config_hash` string, required
    - `published_at` string, date-time, required
  - `has_more` boolean, required
  - `next_cursor` string, nullable
  - `total` integer, nullable

## Other responses

- `400`: Bad request syntax or unsupported method
- `401`: No permission -- see authorization schemes
- `404`: Nothing matches the given URI
- `503`: The server cannot process the request due to a high load

## Changes

- **2026-11-03** `42ac421f7a12`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fish/apis/fishaudio-openapi/changes/v1/agent/agents/:agent_id/versions/get.md)

---

[API](https://skmtc.dev/fish/apis/fishaudio-openapi.md) - [All operations](https://skmtc.dev/fish/apis/fishaudio-openapi/llms.txt) - [OpenAPI document](https://skmtc.dev/fish/apis/fishaudio-openapi/revisions/42ac421f7a12?raw)
