# Создать запрос на подпись

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Создать запрос на подпись

`POST /api/v1/signatures`

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

**Тело запроса** (`application/json`, обязательное): object
- `accessMode`: "link" | "account" — Доступ к документу: link — всем по ссылке, account — только после входа в аккаунт
- `deadline`: string (date-time) — Срок подписания, ISO 8601
- `documentId`: string (uuid), обязательное — Основной подписываемый документ
- `documentIds`: массив string (uuid) — Все подписываемые документы пакета; первый основной. Подпись связывает пакет целиком
- `documentTitle`: string, обязательное — Название документа для писем и списков
- `enableAiSummary`: boolean — Показать подписантам ИИ-сводку документа
- `enableComments`: boolean — Разрешить комментарии подписантов
- `letterhead`: any — Фирменный бланк для итогового PDF
- `message`: string — Текст письма-приглашения; переопределяет шаблон из фирменного стиля команды
- `metadata`: object — Метаданные подписания
  - `placedActions`: массив object — Элементы, размещённые на документе
    - `checkboxText`: string — Текст чекбокса
    - `checkboxUrl`: string — Ссылка из текста чекбокса
    - `dateMode`: string — Режим даты: автоматически или вручную
    - `dateValue`: string — Значение даты при ручном режиме
    - `documentId`: string, обязательное — Документ, на котором размещён элемент
    - `id`: string, обязательное — Идентификатор элемента на документе
    - `kind`: string, обязательное — Тип элемента: подпись, дата, чекбокс и др.
    - `pageIndex`: integer — Страница документа (с 0)
    - `signerId`: string — Подписант, которому принадлежит элемент
    - `xPercent`: number — Позиция X в процентах ширины страницы
    - `yPercent`: number — Позиция Y в процентах высоты страницы
- `outputFolderId`: string (uuid) — Папка для подписанного документа
- `participants`: массив object, обязательное — Подписанты, минимум один
  - `clientId`: string (uuid) — Идентификатор получателя для привязки полей документа
  - `email`: string (email), обязательное — Email подписанта для приглашения
  - `method`: string — Требуемый способ подписания
  - `order`: integer — Порядок подписания (для sequential)
  - `party`: object — Сторона документа, от имени которой подписывает участник (только для ukep). Реквизиты для сверки с сертификатом сервер берёт из зафиксированной версии документа
    - `documentId`: string (uuid), обязательное — Документ пакета, в котором описана сторона
    - `partyId`: string, обязательное — Блок стороны: party_id или идентификатор блока
  - `role`: "signer" | "viewer" | "approver" | "filler" — Роль участника в документе
  - `userId`: string (uuid) — Аккаунт сотрудника; отсутствует у внешнего получателя
  - `userName`: string, обязательное — Имя подписанта
- `reminders`: массив object — Напоминания тем, кто ещё не подписал
  - `days`: integer, обязательное — Количество дней
  - `mode`: "after_send" | "before_deadline", обязательное — Отсчёт: after_send — от отправки, before_deadline — до истечения срока
- `signatureOrder`: "sequential" | "parallel" — Порядок подписания (устаревшее поле, используйте type)
- `subject`: string — Тема письма-приглашения; переопределяет тему из фирменного стиля команды
- `type`: "sequential" | "parallel" — Порядок: sequential — по очереди, parallel — одновременно

**Ответы**

- `201` — Создано (`application/json`, SignatureRequest)
  - `completedAt`: string, nullable — Когда завершено, ISO 8601
  - `createdAt`: string — Когда создано, ISO 8601
  - `createdBy`: string — Инициатор
  - `deadline`: string, nullable — Срок подписания, ISO 8601
  - `documentId`: string, обязательное — Подписываемый документ
  - `documentTitle`: string, обязательное — Название документа
  - `id`: string (uuid), обязательное — Идентификатор подписания
  - `message`: string, nullable — Сообщение подписантам
  - `participants`: массив object — Подписанты и их состояния
    - `email`: string — Email подписанта
    - `method`: string, nullable — Способ подписания
    - `order`: number — Порядок подписания
    - `status`: string — Состояние: ожидает, подписал, отказался
    - `userId`: string — Подписант
    - `userName`: string — Имя подписанта
  - `status`: string, обязательное — Статус подписания
  - `type`: string — Порядок: sequential или parallel
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)

    </>
  );
}
