Создать Agent Enrollment
Создайте одноразовое подключение агента, которое можно безопасно повторить до или после первоначального подключения клиента.
POST
/partner-api/v1/accounts/{relationshipId}/agent-enrollmentsВерсия API: v1operationId: createPartnerAgentEnrollmentОткрыть в MarkdownНазначение метода
Создайте одноразовое подключение агента, которое можно безопасно повторить до или после первоначального подключения клиента.
Авторизация
Передавайте одноразовое JWT-подтверждение Developer Application, подписанное RS256, в Authorization: Bearer <application_assertion>. Это не токен доступа к Public API.
Запрос
Основной адрес API: https://public-api.cloudprint.me/partner-api/v1/accounts/{relationshipId}/agent-enrollments
Параметры
| Имя | Расположение | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|---|
relationshipId | path | string (uuid) | да | Стабильный UUID связи партнёра с управляемым клиентом. | — |
Idempotency-Key | header | string | да | Стабильный ключ операции: при повторе CloudPrint вернёт исходный результат и не создаст дубликат. | minLength: 1; maxLength: 200 |
X-Request-Id | header | string | нет | Необязательный идентификатор для трассировки запроса; CloudPrint вернёт безопасное значение в заголовке ответа. | maxLength: 128; example: "order-100045-attempt-1" |
Тело запроса
Тип содержимого: application/json
| Имя | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|
name | string | нет | Отображаемое имя ресурса для операторов аккаунта. | minLength: 1; maxLength: 255; example: "Warehouse workstation 2" |
agent_onboarding | object | да | Одноразовые данные для подключения Agent, созданные для управляемого клиента. | — |
replaces_enrollment_id | string | null (uuid) | нет | UUID предыдущего Agent Enrollment, который заменяет этот Enrollment. | — |
Примеры запросов
cURL
bash
curl -sS -X POST "https://public-api.cloudprint.me/partner-api/v1/accounts/$RELATIONSHIP_ID/agent-enrollments" \
-H "Authorization: Bearer $APPLICATION_ASSERTION" \
-H 'Idempotency-Key: customer-42-agent-2-v1' \
-H 'Content-Type: application/json' \
-d '{
"name": "Warehouse workstation 2",
"agent_onboarding": {
"return_uri": "https://app.integrator.example/cloudprint/callback",
"state": "new-single-use-random-state"
}
}'Ответ
HTTP-статус: 201 — Ресурс создан.
Поля ответа
| Имя | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|
agent_enrollment_id | string (uuid) | да | Стабильный идентификатор Agent Enrollment. | — |
expires_at | string (date-time) | да | Временная метка CloudPrint в формате ISO 8601. | — |
agent_onboarding_url | string (uri) | да | Основная одноразовая ссылка для подключения агента. Открывайте её целиком, не изменяйте и не записывайте в логи. | example: "https://connect.cloudprint.me/setup#token=cpat_example" |
status | string | да | Текущее состояние ресурса или процесса; учитывайте допустимые значения конкретного метода. | enum: pending |
Пример ответа
json
{
"agent_enrollment_id": "11111111-1111-4111-8111-111111111111",
"expires_at": "2026-08-06T12:00:00Z",
"agent_onboarding_url": "https://connect.cloudprint.me/setup#token=cpat_example",
"status": "pending"
}Ошибки
| HTTP-статус | Описание |
|---|---|
401 | Авторизация отсутствует или недействительна. |
403 | Для операции недостаточно разрешений. |
404 | Запрошенный ресурс не найден. |
409 | Запрос конфликтует с текущим состоянием ресурса. |
422 | Поля запроса не прошли проверку. |
429 | Превышен лимит запросов; учитывайте Retry-After. |
500 | Внутренняя ошибка CloudPrint. |
Связанная документация
Получить список Agent EnrollmentПолучите Agent Enrollment со статусами `pending`, `claimed`, `expired` и `revoked` без секретных кодов.Получить Agent EnrollmentПроверьте конкретное одноразовое подключение клиента и получите идентификатор подключённого агента.Идемпотентное создание заданийПредотвращайте двойную печать при повторе запросов после превышения времени ожидания или сетевого сбоя.