# Згенерувати PDF-форму для адміністратора компанії PATCH /api/external/company/employee/pkey/generate/draft

<p class="callout info">Цей метод можна викликати повторно. У такому випадку admin-форми будуть перестворені, а попередні варіанти цих форм — перезаписані.</p>

##### **REQUEST**

<div class="wy-table-responsive" id="bkmrk-url-%D0%9C%D0%B5%D1%82%D0%BE%D0%B4-%D0%B7%D0%B0%D0%BF%D0%B8%D1%82%D1%83-get"><table class="colwidths-given docutils align-default" style="width: 97.619%;"><tbody><tr class="row-odd"><td style="width: 18.3144%;">**URL**

</td><td style="width: 81.6612%;">  
</td></tr><tr class="row-even"><td style="width: 18.3144%;">Метод запиту

</td><td style="width: 81.6612%;">PATCH

</td></tr><tr class="row-odd"><td style="width: 18.3144%;">URL запиту

</td><td style="width: 81.6612%;">**/api/external/company/employee/pkey/generate/draft**

</td></tr><tr class="row-even"><td style="width: 18.3144%;">URL параметри

</td><td style="width: 81.6612%;">**companyCode** (обов’язково) - код Компанії;

**pKeyUuid** (обов’язково) - UUID ключа з відповіді на виклик метода [створення чернетки ключа](https://wiki-v2.edin.ua/books/robota-z-api-portalu-edin-id/page/stvoriti-cernetku-kliuca-dlia-spivrobitnika-post-apiexternalcompanyemployeepkeygeneratedraft);

**adminIpn** (обов’язково) - ІПН/РНОКПП адміністратора або суперадміністратора компанії, який підписуватиме admin-форми.

Якщо ключ створюється для співробітника з роллю `ADMIN`, у `adminIpn` потрібно передати саме `SUPER_ADMIN` компанії.

</td></tr><tr><td style="width: 18.3144%;">**Authorization**

</td><td style="width: 81.6612%;">  
</td></tr><tr><td style="width: 18.3144%;">Auth type

</td><td style="width: 81.6612%;">API key</td></tr><tr><td style="width: 18.3144%;">Key / Value

</td><td style="width: 81.6612%;">**x-system-id** - токен, отриманий при підключенні</td></tr><tr class="row-odd"><td style="width: 18.3144%;">**Headers**

</td><td style="width: 81.6612%;"> </td></tr><tr class="row-odd"><td style="width: 18.3144%;">Content-Type

</td><td style="width: 81.6612%;">application/json

</td></tr></tbody></table>

</div>##### **RESPONSE**

В тілі відповіді передається статус 200.

**JSON приклад відповіді:**

```json
{
  "pKey": {
    "uuid": "019ec000-0000-7000-8000-000000000001",
    "status": "COMPANY_GENERATED"
  },
  "forms": [
    {
      "type": "AFFILIATION_CONFIRMATION",
      "pdf": "JVBERi0x...",
      "hash": "HASH_OF_PDF"
    }
  ]
}
```

**Опис полів відповіді:**

<div class="c_tableWrapper__a48" id="bkmrk-%D0%9F%D0%BE%D0%BB%D0%B5-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81-pkey-o"><table><thead><tr><th>Поле</th><th>Тип</th><th>Опис</th></tr></thead><tbody><tr><td>`pKey`</td><td>object</td><td>Обʼєкт `ESSPrivateKey`, поля описані в розділі 2.3.</td></tr><tr><td>`forms`</td><td>object\[\]</td><td>PDF-документи, які потрібно підписати адміністратору/суперадміністратору.</td></tr><tr><td>`forms[].type`</td><td>enum</td><td>Тип форми: `AFFILIATION_CONFIRMATION` або `POWER_OF_ATTORNEY`.</td></tr><tr><td>`forms[].pdf`</td><td>string</td><td>PDF content у base64.</td></tr><tr><td>`forms[].hash`</td><td>string/null</td><td>Hash PDF для контролю цілісності.</td></tr></tbody></table>

</div>Для ключа співробітника з роллю `ADMIN` у відповіді додатково буде `POWER_OF_ATTORNEY`.

<div class="c_tableWrapper__a48" id="bkmrk-%D0%9F%D0%BE%D0%BB%D0%B5-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81-pkey-o-1"></div>##### **CURL** 

```
curl -X PATCH 'https://host/api/external/company/employee/pkey/generate/draft?...'   -H 'x-system-id: 019eb581-307b-7562-8a1f-20227511e898'
```

##### **Помилки** 

<table id="bkmrk-http-type-%D0%9E%D0%BF%D0%B8%D1%81-400-i"><thead><tr><th>HTTP</th><th>`type`</th><th>Опис</th></tr></thead><tbody><tr><td>400</td><td>`invalid_pkey_uuid`</td><td>`pKeyUuid` має неправильний UUID-формат.</td></tr><tr><td>400</td><td>`pkey_not_found`</td><td>Ключ не знайдений або не належить company.</td></tr><tr><td>400</td><td>`pkey_wrong_status`</td><td>Ключ не у статусі `COMPANY_GENERATED`.</td></tr><tr><td>400</td><td>`employee_not_found`</td><td>Співробітник-власник ключа не знайдений.</td></tr><tr><td>400</td><td>`employee_not_active`</td><td>Співробітник-власник ключа не активний або не ідентифікований.</td></tr><tr><td>400</td><td>`admin_not_found`</td><td>Адміністратор не знайдений.</td></tr><tr><td>400</td><td>`admin_not_active`</td><td>Адміністратор не активний або не ідентифікований.</td></tr><tr><td>400</td><td>`admin_wrong_role`</td><td>Переданий користувач не має ролі адміністратора/суперадміністратора.</td></tr><tr><td>400</td><td>`admin_must_be_super_admin`</td><td>Для цього ключа потрібен підпис суперадміністратора.</td></tr><tr><td>403</td><td>`company_access_denied`</td><td>Немає доступу до company.</td></tr><tr><td>403</td><td>`company_wrong_status`</td><td>Компанія не `ACTIVE`.</td></tr></tbody></table>