# Подписать документ

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Подписать документ

`POST /api/v1/signatures/sign-public/{shortId}/sign`

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

| Имя | Где | Обязательный | Тип | Описание |
| --- | --- | --- | --- | --- |
| `shortId` | path | да | string | Короткий код подписания из ссылки-приглашения |

**Тело запроса** (`application/json`, обязательное): SignPublicSignBody
- `actions`: массив object
  - `accepted`: boolean
  - `actionId`: string, обязательное
  - `assetId`: string
  - `kind`: string, обязательное
  - `pageIndex`: integer
  - `text`: string
  - `url`: string
  - `value`: string
  - `xPercent`: number
  - `yPercent`: number
- `facsimileImageBase64`: string — Изображение факсимиле в base64
- `method`: "ukep" | "unep" | "facsimile" | "email_code" | "telegram_code", обязательное — Способ подписания
- `otpCode`: string — Код подтверждения (для *_code)
- `powerOfAttorney`: object — Машиночитаемая доверенность, если подписант действует от имени организации по доверенности (для ukep)
  - `document`: string, обязательное — XML машиночитаемой доверенности формата EMCHD_1 в base64
  - `signature`: string, обязательное — Отсоединённая подпись доверителя (.sig) в base64
- `ukepSignatures`: массив object — Подписи УКЭП, по одной на каждый документ (для ukep)
  - `documentId`: string (uuid), обязательное — Документ из snapshot-to-sign
  - `signature`: string, обязательное — Отсоединённая подпись CAdES-BES PDF документа в base64

**Ответы**

- `200` — Подписано (`application/json`, SignPublicResult)
  - `success`: boolean — Операция выполнена
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)
- `404` — Ресурс не найден (`application/problem+json`, ProblemDetails)
- `422` — Запрос корректен, но не может быть выполнен (`application/problem+json`, ProblemDetails)
- `500` — Внутренняя ошибка сервера (`application/problem+json`, ProblemDetails)
- `503` — Ошибка (`application/problem+json`, ProblemDetails)

    </>
  );
}
