---
title: API: specs
description: REST-эндпоинты с тегом specs — сгенерировано из OpenAPI-контракта платформы (6 операций).
locale: ru
version: 0.2.0
canonical: https://enterium-developer-docs.pages.dev/developers/ru/api/specs/
---

> Documentation index: https://enterium-developer-docs.pages.dev/developers/llms.txt — every page of this portal has a Markdown twin at <route>.md; the frozen API contract is at https://enterium-developer-docs.pages.dev/developers/api/openapi.json.

:::note
Сгенерировано из OpenAPI-контракта — не редактировать руками. Сводки операций и описания полей приводятся на английском (дословно из контракта). Интерактивный обозреватель с полными схемами: [https://entherium.duckdns.org:8443/reference](https://entherium.duckdns.org:8443/reference); замороженная спецификация этой сборки: [openapi.json](/developers/api/openapi.json).
:::

## `GET /api/v1/specs`

List Specs

[Открыть отдельной страницей →](./get-specs/)

: list all specs sorted by id descending.

**Авторизация:** нужен `Authorization: Bearer <token>`

**Ответы:**

| Код | Смысл | Тело |
| --- | --- | --- |
| `200` | Successful Response | `SpecListResponse` |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |

## `GET /api/v1/specs/{spec_id}`

Get Spec

[Открыть отдельной страницей →](./get-specs-spec-id/)

: detail with frontmatter, body, sections, tests_status.

**Авторизация:** нужен `Authorization: Bearer <token>`

| Параметр | Где | Обязателен | Тип | Описание |
| --- | --- | --- | --- | --- |
| `spec_id` | path | да | `string` |  |

**Ответы:**

| Код | Смысл | Тело |
| --- | --- | --- |
| `200` | Successful Response | `SpecDetailResponse` |
| `400` | Malformed spec id (expected SPEC-NNN) | — |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |
| `404` | Spec not found | — |
| `422` | Validation Error | `HTTPValidationError` |

## `GET /api/v1/specs/{spec_id}/history`

Get Spec History

[Открыть отдельной страницей →](./get-specs-spec-id-history/)

: git log per file. Empty if.git not mounted.

**Авторизация:** нужен `Authorization: Bearer <token>`

| Параметр | Где | Обязателен | Тип | Описание |
| --- | --- | --- | --- | --- |
| `spec_id` | path | да | `string` |  |

**Ответы:**

| Код | Смысл | Тело |
| --- | --- | --- |
| `200` | Successful Response | `массив object` |
| `400` | Malformed spec id (expected SPEC-NNN) | — |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |
| `404` | Spec not found | — |
| `422` | Validation Error | `HTTPValidationError` |

## `GET /api/v1/specs/{spec_id}/progress`

Get Spec Progress

[Открыть отдельной страницей →](./get-specs-spec-id-progress/)

Implementation progress grouped by spec section — each leaf §-anchor
with its label and whether a test covers it (`SPEC-NNN §X.Y` citation).

**Авторизация:** нужен `Authorization: Bearer <token>`

| Параметр | Где | Обязателен | Тип | Описание |
| --- | --- | --- | --- | --- |
| `spec_id` | path | да | `string` |  |

**Ответы:**

| Код | Смысл | Тело |
| --- | --- | --- |
| `200` | Successful Response | `массив ProgressSection` |
| `400` | Malformed spec id (expected SPEC-NNN) | — |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |
| `404` | Spec not found | — |
| `422` | Validation Error | `HTTPValidationError` |

## `PATCH /api/v1/specs/{spec_id}/status`

Patch Spec Status

[Открыть отдельной страницей →](./patch-specs-spec-id-status/)

: status transition with validation.

**Авторизация:** нужен `Authorization: Bearer <token>`

| Параметр | Где | Обязателен | Тип | Описание |
| --- | --- | --- | --- | --- |
| `spec_id` | path | да | `string` |  |
| `Idempotency-Key` | header | нет | `string` | Optional. |

**Тело запроса:** `application/json` — схема `StatusPatch`

| Поле | Тип | Обязательно | Описание |
| --- | --- | --- | --- |
| `status` | `string` | да | One of draft/review/accepted/implemented/obsolete |

**Ответы:**

| Код | Смысл | Тело |
| --- | --- | --- |
| `200` | Successful Response | `object` |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |
| `422` | Validation Error | `HTTPValidationError` |

## `GET /api/v1/specs/{spec_id}/tests`

Get Spec Tests

[Открыть отдельной страницей →](./get-specs-spec-id-tests/)

Return individual pytest test-cases for this spec from junit.xml.

**Авторизация:** нужен `Authorization: Bearer <token>`

| Параметр | Где | Обязателен | Тип | Описание |
| --- | --- | --- | --- | --- |
| `spec_id` | path | да | `string` |  |

**Ответы:**

| Код | Смысл | Тело |
| --- | --- | --- |
| `200` | Successful Response | `массив SpecTestCase` |
| `400` | Malformed spec id (expected SPEC-NNN) | — |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |
| `404` | Spec not found | — |
| `422` | Validation Error | `HTTPValidationError` |
