# Устойчивость и узкие места автоматизации

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Устойчивость и узкие места автоматизации

`GET /api/v1/automations/{id}/health`

**Авторизация:** dpop или oauth2: `automation:read`

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

| Имя | Где | Обязательный | Тип | Описание |
| --- | --- | --- | --- | --- |
| `id` | path | да | string | Идентификатор автоматизации |

**Ответы**

- `200` — Метрики последних 200 прогонов (`application/json`, AutomationHealth)
  - `averageDurationMs`: number, nullable, обязательное
  - `bottlenecks`: массив object, обязательное
    - `averageDurationMs`: number, обязательное
    - `executions`: number, обязательное
    - `failures`: number, обязательное
    - `maxDurationMs`: number, обязательное
    - `nodeId`: string, обязательное
    - `nodeKind`: string, обязательное
    - `nodeType`: string, обязательное
  - `completedRuns`: number, обязательное
  - `observedRuns`: number, обязательное
  - `p95DurationMs`: number, nullable, обязательное
  - `runningRuns`: number, обязательное
  - `stuckRuns`: number, обязательное
  - `successRate`: number, nullable, обязательное
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)

    </>
  );
}
