Crear una cuenta de cliente gestionada
Crea una cuenta CloudPrint aislada, una App Installation y un Agent Enrollment de un solo uso sin registro del cliente.
POST
/partner-api/v1/accountsVersión de la API: v1operationId: createPartnerManagedAccountVer como MarkdownQué hace este método
Crea una cuenta CloudPrint aislada, una App Installation y un Agent Enrollment de un solo uso sin registro del 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
Parámetros
| Nombre | Ubicación | Tipo | Obligatorio | Descripción | Restricciones |
|---|---|---|---|---|---|
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 |
|---|---|---|---|---|
external_customer_id | string | sí | Identificador estable que el integrador asigna al cliente en su propio sistema. | minLength: 1; maxLength: 160; example: "customer-42" |
name | string | sí | Nombre legible del recurso que ven los operadores de la cuenta. | minLength: 1; maxLength: 120; example: "Acme Store 42" |
permissions | array | no | Permisos aprobados para la App Installation. | — |
agent_onboarding | object | sí | Datos de un solo uso para conectar el agente del cliente gestionado. | — |
Ejemplos de solicitud
cURL
bash
curl -sS https://public-api.cloudprint.me/partner-api/v1/accounts \
-H "Authorization: Bearer $APPLICATION_ASSERTION" \
-H 'Idempotency-Key: customer-42-provision-v1' \
-H 'Content-Type: application/json' \
-d '{
"external_customer_id": "customer-42",
"name": "Acme Store 42",
"permissions": ["printers:read", "documents:write", "print_jobs:write", "print_jobs:read"],
"agent_onboarding": {
"return_uri": "https://app.integrator.example/cloudprint/callback",
"state": "single-use-random-state"
}
}'Respuesta
Estado HTTP: 200 — Solicitud completada.
Campos de respuesta
| Nombre | Tipo | Obligatorio | Descripción | Restricciones |
|---|---|---|---|---|
relationship_id | string (uuid) | sí | UUID estable de la relación entre el partner y el cliente gestionado. | — |
developer_account_id | string (uuid) | sí | UUID estable de la cuenta de desarrollador propietaria de la relación. | — |
cloudprint_account_id | string (uuid) | sí | UUID estable de la cuenta CloudPrint creada para el cliente gestionado. | — |
external_customer_id | string | sí | Identificador estable que el integrador asigna al cliente en su propio sistema. | maxLength: 160 |
name | string | sí | Nombre legible del recurso que ven los operadores de la cuenta. | maxLength: 120 |
application_id | string (uuid) | sí | Identificador estable de la Developer Application asociada al recurso. | — |
installation_id | string | null (uuid) | sí | UUID estable de la App Installation asociada al recurso. | — |
agent_enrollment_id | string | null (uuid) | sí | Identificador estable del Agent Enrollment. | — |
agent_onboarding_expires_at | string | null (date-time) | sí | Marca de tiempo ISO 8601 registrada por CloudPrint. | — |
agent_onboarding_url | string | null (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" |
onboarding_status | string | sí | Estado actual de preparación de CloudPrint para el cliente gestionado. | enum: provisioning, waiting_for_agent, ready, failed |
status | string | sí | Estado actual del recurso o flujo; usa los valores enum específicos del método. | enum: provisioning, active, suspended, closed |
created_at | string (date-time) | sí | Marca de tiempo ISO 8601 registrada por CloudPrint. | — |
updated_at | string (date-time) | sí | Marca de tiempo ISO 8601 registrada por CloudPrint. | — |
Ejemplo de respuesta
json
{
"relationship_id": "11111111-1111-4111-8111-111111111111",
"developer_account_id": "11111111-1111-4111-8111-111111111111",
"cloudprint_account_id": "11111111-1111-4111-8111-111111111111",
"external_customer_id": "string",
"name": "string",
"application_id": "11111111-1111-4111-8111-111111111111",
"installation_id": "11111111-1111-4111-8111-111111111111",
"agent_enrollment_id": "11111111-1111-4111-8111-111111111111",
"agent_onboarding_expires_at": "2026-08-06T12:00:00Z",
"agent_onboarding_url": "https://connect.cloudprint.me/setup#token=cpat_example",
"onboarding_status": "provisioning",
"status": "provisioning",
"created_at": "2026-08-06T12:00:00Z",
"updated_at": "2026-08-06T12:00:00Z"
}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
Listar cuentas de clientes gestionadasConsulta las cuentas creadas por la aplicación del partner autenticada, incluido el estado de agentes e impresoras.Crear un Agent Enrollment gestionadoGenera un Enrollment idempotente de un solo uso antes o después de incorporar al cliente.Creación idempotente de trabajos de impresiónEvita impresiones duplicadas al repetir solicitudes después de un tiempo de espera agotado o un fallo de red.