# Регистрация

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

`POST /api/v1/security/auth/register`

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

| Имя | Где | Обязательный | Тип | Описание |
| --- | --- | --- | --- | --- |
| `idempotency-key` | header | нет | string | Ключ идемпотентности для безопасного повтора запроса: 8–255 символов из набора A-Za-z0-9_.:+/=-, ответ кэшируется на 24 ч |

**Тело запроса** (`application/json`, обязательное): RegisterBody
- `altcha`: string, обязательное — Решение анти-бот задачи ALTCHA (см. GET /api/v1/altcha/challenge)
- `attribution`: object
  - `cache`: string, обязательное
- `email`: string, обязательное — Email нового пользователя
- `password`: string, обязательное — Пароль: 15–128 символов, проверяется на стойкость и утечки
- `termsAccepted`: true, обязательное — Согласие с лицензионным соглашением и политикой конфиденциальности

**Ответы**

- `200` — Заявка на регистрацию принята (`application/json`, MessageResponse и object)
  - `message`: string, обязательное — Человекочитаемый результат операции
  - `attemptId`: string, обязательное
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `429` — Превышен лимит запросов, повторите через Retry-After секунд (`application/problem+json`, ProblemDetails)

    </>
  );
}
