---
title: "Получить токен установки приложения"
description: "Подтвердите Developer Application одноразовым JWT, подписанным RS256, и получите короткоживущий токен для одной App Installation."
---
<nav class="docs-breadcrumb" aria-label="Breadcrumb"><a href="/docs/">Документация CloudPrint</a><span aria-hidden="true">/</span><span>Справочник API</span></nav>

# Получить токен установки приложения

<p class="docs-lead">Подтвердите Developer Application одноразовым JWT, подписанным RS256, и получите короткоживущий токен для одной App Installation.</p>

<div class="api-endpoint-summary"><span class="api-method api-method-post">POST</span><code>/developer-api/v1/app-installations/{installationId}/access-tokens</code><span><strong>Версия API:</strong> v1</span><span><strong>operationId:</strong> <code>issueInstallationAccessToken</code></span><a href="/docs/api/v1/app-installations/access-token/index.md">Открыть в Markdown</a></div>

## Назначение метода

Подтвердите Developer Application одноразовым JWT, подписанным RS256, и получите короткоживущий токен для одной App Installation.

## Авторизация

Передавайте одноразовое JWT-подтверждение Developer Application, подписанное RS256, в `Authorization: Bearer <application_assertion>`. Это не токен доступа к Public API.

## Запрос

**Основной адрес API:** `https://public-api.cloudprint.me/developer-api/v1/app-installations/{installationId}/access-tokens`

### Параметры

| Имя | Расположение | Тип | Обязательно | Описание | Ограничения |
| --- | --- | --- | --- | --- | --- |
| `installationId` | path | `string (uuid)` | да | Стабильный UUID App Installation, который интегратор хранит в своём сопоставлении. | — |

### Тело запроса

**Тип содержимого:** `application/json`

| Имя | Тип | Обязательно | Описание | Ограничения |
| --- | --- | --- | --- | --- |
| `permissions` | `array` | нет | Разрешения установки, включённые в этот токен. | — |

### Примеры запросов

#### cURL

```bash
curl -sS https://public-api.cloudprint.me/developer-api/v1/app-installations/$INSTALLATION_ID/access-tokens \
  -H "Authorization: Bearer $APPLICATION_ASSERTION" \
  -H 'Content-Type: application/json' \
  -d '{"permissions":["documents:write","print_jobs:write"]}'
```

## Ответ

**HTTP-статус:** `200` — Запрос выполнен.

### Поля ответа

| Имя | Тип | Обязательно | Описание | Ограничения |
| --- | --- | --- | --- | --- |
| `access_token` | `string` | да | Короткоживущий OAuth2 Bearer-токен для запросов к Public API. | example: `"eyJ..."` |
| `token_type` | `string` | да | Тип OAuth2-токена; Public API использует `Bearer`. | enum: `Bearer` |
| `expires_in` | `integer` | да | Срок действия токена доступа в секундах с момента выдачи. | min: 1; example: `3600` |
| `installation_id` | `string (uuid)` | да | Стабильный UUID App Installation, выдавшей разрешение токену. | — |
| `account_id` | `string (uuid)` | да | Стабильный UUID аккаунта CloudPrint, которому принадлежит ресурс. | — |
| `permissions` | `array` | да | Разрешения установки, включённые в этот токен. | — |

### Пример ответа

```json
{
  "access_token": "eyJ...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "installation_id": "11111111-1111-4111-8111-111111111111",
  "account_id": "11111111-1111-4111-8111-111111111111",
  "permissions": [
    "agents:read"
  ]
}
```

## Ошибки

| HTTP-статус | Описание |
| --- | --- |
| `401` | Авторизация отсутствует или недействительна. |
| `422` | Поля запроса не прошли проверку. |
| `429` | Превышен лимит запросов; учитывайте Retry-After. |
| `500` | Внутренняя ошибка CloudPrint. |

## Рекомендации по интеграции

- Для каждого запроса создавайте новое одноразовое JWT-подтверждение: используйте RS256, `kid` активного ключа, `client_id` приложения в `iss` и `sub`, точный URL метода в `aud`, срок не более пяти минут и уникальный `jti`.
- Свяжите постоянный `installation_id` с идентификатором клиента в своей системе. Метод принимает только `installation_id`, а не ваш внешний идентификатор клиента.
- Refresh token не выдаётся. Кешируйте токен установки почти до окончания `expires_in`, затем выпускайте новый без повторной установки приложения пользователем.

## Связанная документация

<div class="docs-card-grid"><a class="docs-card" href="/docs/developer-platform/installations/"><strong>Установки и токены доступа</strong><span>Устанавливайте приложение в аккаунты клиентов, сохраняйте installation_id и выпускайте короткоживущие Installation Access Tokens.</span></a>
<a class="docs-card" href="/docs/api/v1/authentication/client-context/"><strong>Получить контекст API-клиента</strong><span>Проверьте, к какому аккаунту и API-приложению относится текущий токен и какие разрешения ему выданы.</span></a>
<a class="docs-card" href="/docs/api/v1/errors/"><strong>Ошибки и повторы CloudPrint API</strong><span>Обрабатывайте HTTP-статусы, машиночитаемые ошибки, ограничения частоты запросов, трассировку и безопасные повторы.</span></a></div>

<nav class="docs-resource-links" aria-label="Следующие шаги"><a href="/docs/api/v1/explorer/">OpenAPI</a><a href="https://my.cloudprint.by">Открыть кабинет</a><a href="/docs/legal/privacy/">Политика конфиденциальности</a><a href="/docs/legal/terms/">Условия использования</a><a href="/docs/legal/payments-and-refunds/">Оплата и возврат</a><a href="/docs/legal/data-processing/">DPA</a></nav>