Создать Agent Enrollment
Выпустите идемпотентный одноразовый Enrollment до или после onboarding клиента.
POST
/partner-api/v1/accounts/{relationshipId}/agent-enrollmentsВерсия API: v1operationId: createPartnerAgentEnrollmentОткрыть в MarkdownНазначение метода
Выпустите идемпотентный одноразовый Enrollment до или после onboarding клиента.
Авторизация
Передавайте одноразовый RS256 assertion Developer Application в Authorization: Bearer <application_assertion>. Это не токен доступа к Public API.
Запрос
Основной адрес API: https://public-api.cloudprint.me/partner-api/v1/accounts/{relationshipId}/agent-enrollments
Параметры
| Имя | Расположение | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|---|
relationshipId | path | string (uuid) | да | Поле контракта API; учитывайте указанные тип и ограничения. | — |
Idempotency-Key | header | string | да | Поле контракта API; учитывайте указанные тип и ограничения. | minLength: 1; maxLength: 200 |
Тело запроса
Тип содержимого: application/json
| Имя | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|
name | string | нет | Поле контракта API; учитывайте указанные тип и ограничения. | minLength: 1; maxLength: 255; example: "Warehouse workstation 2" |
agent_onboarding | object | да | Поле контракта API; учитывайте указанные тип и ограничения. | — |
replaces_enrollment_id | string | null (uuid) | нет | Стабильный идентификатор этого ресурса. | — |
Примеры запросов
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) | да | Стабильный идентификатор этого ресурса. | — |
expires_at | string (date-time) | да | Временная метка CloudPrint в формате ISO 8601. | — |
agent_onboarding_url | string (uri) | да | Поле контракта API; учитывайте указанные тип и ограничения. | 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 EnrollmentsПолучите pending, claimed, expired и revoked Agent Enrollments без секретных кодов.Получить один Agent EnrollmentПроверьте конкретное одноразовое подключение управляемого клиента и свяжите его с подключённым Agent.Идемпотентное создание заданийПредотвращайте двойную печать при повторе запросов после превышения времени ожидания или сетевого сбоя.