---
title: "Crear un Agent Enrollment gestionado"
description: "Genera un Enrollment idempotente de un solo uso antes o después de incorporar al cliente."
---
<nav class="docs-breadcrumb" aria-label="Breadcrumb"><a href="/es/docs/">Documentación de CloudPrint</a><span aria-hidden="true">/</span><span>Referencia de la API</span></nav>

# Crear un Agent Enrollment gestionado

<p class="docs-lead">Genera un Enrollment idempotente de un solo uso antes o después de incorporar al cliente.</p>

<div class="api-endpoint-summary"><span class="api-method api-method-post">POST</span><code>/partner-api/v1/accounts/{relationshipId}/agent-enrollments</code><span><strong>Versión de la API:</strong> v1</span><span><strong>operationId:</strong> <code>createPartnerAgentEnrollment</code></span><a href="/es/docs/api/v1/partner/agent-enrollments/create/index.md">Ver como Markdown</a></div>

## Qué hace este método

Genera un Enrollment idempotente de un solo uso antes o después de incorporar al cliente.

## Autenticación

Envía una aserción RS256 de un solo uso de la Developer Application en `Authorization: Bearer <application_assertion>`. No es un token de acceso de Public API.

## Solicitud

**URL de producción:** `https://public-api.cloudprint.me/partner-api/v1/accounts/{relationshipId}/agent-enrollments`

### Parámetros

| Nombre | Ubicación | Tipo | Obligatorio | Descripción | Restricciones |
| --- | --- | --- | --- | --- | --- |
| `relationshipId` | path | `string (uuid)` | sí | UUID estable de la relación del partner con el cliente gestionado. | — |
| `Idempotency-Key` | header | `string` | sí | Clave estable generada por el cliente para que los reintentos devuelvan el resultado original sin crear duplicados. | minLength: 1; maxLength: 200 |
| `X-Request-Id` | header | `string` | no | Identificador opcional para rastrear la solicitud; CloudPrint devuelve un valor seguro en la cabecera de respuesta. | maxLength: 128; example: `"order-100045-attempt-1"` |

### Cuerpo de la solicitud

**Tipo de contenido:** `application/json`

| Nombre | Tipo | Obligatorio | Descripción | Restricciones |
| --- | --- | --- | --- | --- |
| `name` | `string` | no | Nombre legible del recurso que ven los operadores de la cuenta. | minLength: 1; maxLength: 255; example: `"Warehouse workstation 2"` |
| `agent_onboarding` | `object` | sí | Datos de un solo uso para conectar el agente del cliente gestionado. | — |
| `replaces_enrollment_id` | `string \| null (uuid)` | no | UUID del Agent Enrollment anterior al que sustituye este Enrollment. | — |

### Ejemplos de solicitud

#### 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"
    }
  }'
```

## Respuesta

**Estado HTTP:** `201` — Recurso creado.

### Campos de respuesta

| Nombre | Tipo | Obligatorio | Descripción | Restricciones |
| --- | --- | --- | --- | --- |
| `agent_enrollment_id` | `string (uuid)` | sí | Identificador estable del Agent Enrollment. | — |
| `expires_at` | `string (date-time)` | sí | Marca de tiempo ISO 8601 registrada por CloudPrint. | — |
| `agent_onboarding_url` | `string (uri)` | sí | Enlace canónico de un solo uso para conectar un agente. Ábrelo completo, sin modificarlo, y no lo guardes en los registros. | example: `"https://connect.cloudprint.me/setup#token=cpat_example"` |
| `status` | `string` | sí | Estado actual del recurso o flujo; usa los valores enum específicos del método. | enum: `pending` |

### Ejemplo de respuesta

```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"
}
```

## Errores

| Estado HTTP | Descripción |
| --- | --- |
| `401` | Falta la autenticación o no es válida. |
| `403` | El token no tiene permisos suficientes. |
| `404` | No se encontró el recurso. |
| `409` | La solicitud entra en conflicto con el estado actual. |
| `422` | Uno o varios campos no son válidos. |
| `429` | Se superó el límite de solicitudes; respeta Retry-After. |
| `500` | Error interno de CloudPrint. |

## Documentación relacionada

<div class="docs-card-grid"><a class="docs-card" href="/es/docs/api/v1/partner/agent-enrollments/list/"><strong>Listar Agent Enrollments gestionados</strong><span>Consulta Agent Enrollments pendientes, utilizados, caducados y revocados sin exponer sus códigos secretos.</span></a>
<a class="docs-card" href="/es/docs/api/v1/partner/agent-enrollments/get/"><strong>Obtener un Agent Enrollment</strong><span>Consulta el Agent Enrollment creado para un cliente gestionado y relaciónalo con el agente conectado.</span></a>
<a class="docs-card" href="/es/docs/api/v1/idempotency/"><strong>Creación idempotente de trabajos de impresión</strong><span>Evita impresiones duplicadas al repetir solicitudes después de un tiempo de espera agotado o un fallo de red.</span></a></div>

<nav class="docs-resource-links" aria-label="Siguientes pasos"><a href="https://cloudprint.me/status/">Estado del servicio</a><a href="/es/docs/api/v1/explorer/">OpenAPI</a><a href="https://developer.cloudprint.me">Developer Portal</a><a href="https://my.cloudprint.me">Abrir cuenta</a><a href="/docs/legal/privacy/">Política de privacidad</a><a href="/docs/legal/terms/">Términos de uso</a><a href="/docs/legal/payments-and-refunds/">Pagos y reembolsos</a><a href="/docs/legal/data-processing/">Tratamiento de datos</a><a href="/docs/legal/service-level-agreement/">Service Level Agreement</a></nav>