# История версий агента

> Версии настроек агента от новых к старым, с отличиями каждой версии от предыдущей.

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## История версий агента

`GET /api/v1/security/agents/{agentId}/versions`

Версии настроек агента от новых к старым, с отличиями каждой версии от предыдущей.

**Авторизация:** dpop или oauth2: `security.teams:read`, `security.teams:write`

**Параметры**

| Имя | Где | Обязательный | Тип | Описание |
| --- | --- | --- | --- | --- |
| `agentId` | path | да | string (uuid) | Идентификатор агента |
| `limit` | query | нет | integer | Сколько версий вернуть |
| `before` | query | нет | integer | Вернуть версии с номером меньше указанного |

**Ответы**

- `200` — Версии агента (`application/json`, AgentVersionList)
  - `nextBefore`: integer, nullable, обязательное — Значение before для следующей страницы
  - `versions`: массив AgentVersion, обязательное
    - `author`: object, обязательное
      - `id`: string (uuid), nullable, обязательное — Пользователь, внёсший изменение
      - `kind`: "user" | "system", обязательное — user — изменение человека; system — платформа
    - `changes`: массив AgentChange, обязательное — Отличия от предыдущей версии
      - `after`: any — Новое значение
      - `before`: any — Прежнее значение
      - `path`: string, обязательное — Изменённое поле, например capabilities.browser
    - `config`: AgentConfig, обязательное
      - `avatar`: "ball" | "triangle" | "square" | "star" | "asterisk" | "corner" | null, обязательное — Аватар своего агента; null — аватар пресета
      - `capabilities`: object, обязательное
      - `instructions`: string, обязательное — Дополнительные инструкции агенту
      - `preset`: "paralegal" | "civilist" | "litigator" | "investigator" | "compliance" | "legal-engineer" | "custom", обязательное — Персона агента
      - `sources`: массив AgentSource, обязательное — Материалы команды, на которые агент опирается
      - `tools`: AgentToolPolicy, обязательное — Права агента на инструменты
    - `createdAt`: string, обязательное — Когда версия создана, ISO 8601
    - `name`: string, обязательное
    - `origin`: "created" | "edited" | "restored", обязательное — created — агент создан; edited — изменение; restored — откат к версии
    - `restoredFrom`: integer, nullable, обязательное — Версия, к которой выполнен откат
    - `version`: integer, обязательное
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)
- `429` — Превышен лимит запросов, повторите через Retry-After секунд (`application/problem+json`, ProblemDetails)

    </>
  );
}
