API para desarrolladores

v1

API de ColoringBookify

Crea y administra personajes reutilizables, libros completos y páginas independientes mediante una API REST versionada o un servidor MCP para agentes.

El acceso a la API REST y MCP está incluido exclusivamente en los planes Business activos.

Inicio rápido

Exporta tu clave API a una variable de entorno y verifícala con el endpoint de la cuenta.

URL base

https://coloringbookify.com/api/v1
export COLORINGBOOKIFY_API_KEY="cbf_your_api_key"

curl --fail-with-body \
  --header "Authorization: Bearer $COLORINGBOOKIFY_API_KEY" \
  https://coloringbookify.com/api/v1/me
curl --fail-with-body \
  --request POST \
  --header "Authorization: Bearer $COLORINGBOOKIFY_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: page-$(uuidgen)" \
  --data '{"page":{"title":"A fox exploring a mushroom village"}}' \
  https://coloringbookify.com/api/v1/pages

MCP para agentes de IA

MCP

Usa MCP cuando un agente de IA deba planificar, generar, organizar y descargar un libro para colorear imprimible completo para la cuenta conectada. Usa la API REST para integraciones directas entre aplicaciones.

URL del servidor MCP

https://coloringbookify.com/mcp

Configura esta URL como servidor Streamable HTTP. Los clientes compatibles descubren automáticamente los metadatos OAuth de ColoringBookify.

Conectar con Codex CLI

codex mcp add coloringbookify \
  --url https://coloringbookify.com/mcp
codex mcp login coloringbookify

El navegador abre ColoringBookify para iniciar sesión y autorizar el acceso. MCP usa OAuth en lugar de claves API y requiere un plan Business activo.

Los clientes usan tools/list para descubrir los nombres, esquemas de entrada y descripciones actuales. El catálogo cubre cuentas, formatos de impresión, planes de libros, libros, personajes, páginas, operaciones, importación de arte externo, imágenes y PDF finales.

Las herramientas de solo lectura cuestan 0 créditos. Las herramientas de generación declaran su coste exacto y exigen que el agente confirme esa cantidad antes de gastar créditos. MCP usa el mismo saldo que la API REST.

Las herramientas de imágenes y PDF devuelven URLs de descarga temporales y autorizadas para el propietario, de modo que los agentes obtengan archivos binarios sin transportar grandes cargas base64.

Ejemplo de solicitud para un agente

Crea un libro para colorear de 8,5 × 11 pulgadas sobre animales marinos. Muéstrame el plan propuesto y el coste exacto en créditos antes de generarlo; después crea el libro y descarga el PDF final.

Autenticación

Crea una clave para la cuenta desde la sección API y envíala en el encabezado Authorization como token Bearer. Las cookies de sesión del navegador no autentican solicitudes a la API.

La clave completa solo se muestra al crearla o rotarla. Guárdala de forma segura y nunca la incluyas en URLs, código del navegador, registros ni control de versiones.

Créditos y encabezados de respuesta

Cada respuesta autenticada indica el saldo después de la solicitud y los créditos realmente consumidos por esa llamada HTTP. La tabla de endpoints y el campo x-credit-cost de OpenAPI declaran los costes antes de usarla.

X-ColoringBookify-Credits-Available: 247
X-ColoringBookify-Credits-Consumed: 1

Una repetición idempotente indica cero consumidos porque no vuelve a cobrar, mientras que la operación conserva el importe cobrado originalmente.

De la idea al libro imprimible

Los planes permanecen en el cliente. Esto evita borradores obsoletos en el servidor y mantiene al usuario al mando antes de gastar créditos.

  1. Crea un plan sin persistencia con POST /book_plans y muestra las escenas y la estimación exacta de créditos.
  2. Permite revisar o editar generation_request y envíala a POST /books con una nueva clave de idempotencia.
  3. Consulta la operación hasta que termine. Importa o reemplaza arte corregido externamente cuando sea necesario.
  4. Consulta GET /print_formats y descarga el libro completo desde GET /books/{id}/pdf.

Generación, reintentos y operaciones

Envía un encabezado Idempotency-Key único con cada solicitud de generación. Reintentar el mismo método, ruta y contenido con la misma clave devuelve la respuesta original sin generar ni cobrar de nuevo; reutilizarla para otra solicitud devuelve 409.

La generación devuelve 202 con un recurso y una operación. Consulta la URL de la operación hasta que su estado sea succeeded, partially_succeeded o failed. Las respuestas no terminales incluyen Retry-After.

Endpoints

Consulta, crea, actualiza, genera, organiza y elimina recursos de la cuenta autenticada.

Método Ruta Créditos Descripción
GET /api/v1/me 0 Obtiene el plan, los créditos y las capacidades de API de la cuenta.
GET /api/v1/print_formats 0 Lista tamaños PDF compatibles, proporciones y dimensiones de imagen recomendadas.
POST /api/v1/book_plans 0 Crea un plan editable sin persistencia, una estimación exacta de créditos y una solicitud lista para generar.
GET /api/v1/operations 0 Lista las operaciones de generación asíncronas de la cuenta.
GET /api/v1/operations/{id} 0 Consulta el estado, el progreso y el resultado de créditos de una operación.
GET /api/v1/characters 0 Lista los personajes reutilizables activos de la cuenta.
POST /api/v1/characters 1 Crea y genera un personaje reutilizable de forma asíncrona.
GET /api/v1/characters/{id} 0 Obtiene un personaje reutilizable activo de la cuenta.
PATCH /api/v1/characters/{id} 0 Actualiza el nombre o la vista previa pública de un personaje.
PUT /api/v1/characters/{id} 0 Actualiza el nombre o la vista previa pública de un personaje.
DELETE /api/v1/characters/{id} 0 Archiva un personaje reutilizable propio.
GET /api/v1/characters/{id}/reference_image 0 Descarga la imagen de referencia generada y autorizada del personaje.
POST /api/v1/characters/{id}/regenerate 1 Regenera un personaje reutilizable de forma asíncrona.
POST /api/v1/characters/{id}/restore 0 Restaura un personaje reutilizable archivado.
GET /api/v1/books 0 Lista los libros de la cuenta.
POST /api/v1/books 1 por página de contenido generada Crea un libro y genera sus páginas y portada de forma asíncrona.
GET /api/v1/books/{id} 0 Obtiene un libro propio con los resúmenes de sus páginas ordenadas.
PATCH /api/v1/books/{id} 0 Actualiza los metadatos y personajes reutilizables de un libro.
PUT /api/v1/books/{id} 0 Actualiza los metadatos y personajes reutilizables de un libro.
DELETE /api/v1/books/{id} 0 Elimina un libro propio.
GET /api/v1/books/{id}/pdf 0 Genera y descarga un PDF final estándar cuando todas las páginas incluidas están listas.
POST /api/v1/books/{book_id}/pages 0 adjuntar / 1 generar Genera una página nueva o adjunta una página existente lista a un libro.
DELETE /api/v1/books/{book_id}/pages/{id} 0 Separa una página de un libro sin eliminarla.
PATCH /api/v1/books/{id}/pages/order 0 Reemplaza el orden de las páginas de un libro.
GET /api/v1/pages 0 Lista las páginas de la cuenta.
POST /api/v1/pages 1 Crea y genera una página independiente de forma asíncrona.
POST /api/v1/pages/import 0 Importa arte externo terminado como una página independiente lista.
GET /api/v1/pages/{id} 0 Obtiene una página propia.
PATCH /api/v1/pages/{id} 0 Actualiza los metadatos y personajes reutilizables de una página.
PUT /api/v1/pages/{id} 0 Actualiza los metadatos y personajes reutilizables de una página.
DELETE /api/v1/pages/{id} 0 Elimina una página propia.
GET /api/v1/pages/{id}/image 0 Descarga la imagen generada y autorizada de la página.
PUT /api/v1/pages/{id}/image 0 Reemplaza la imagen de una página con arte externo terminado sin generación por IA.
POST /api/v1/pages/{id}/regenerate 1 Regenera una página propia de forma asíncrona.

Paginación

Los endpoints de lista aceptan limit de 1 a 100, con 25 por defecto, y un cursor after opaco devuelto como meta.next_cursor. Trata los IDs de recursos y los cursores como cadenas opacas.

curl --get https://coloringbookify.com/api/v1/pages \
  --header "Authorization: Bearer $COLORINGBOOKIFY_API_KEY" \
  --data-urlencode "limit=25" \
  --data-urlencode "after=next_cursor_value"

Respuestas y errores

Los errores JSON usan una estructura estable con un código legible por máquina, un mensaje seguro y el ID de la solicitud. Las respuestas incluyen la versión de la API y nunca se almacenan en caché públicamente.

{
  "error": {
    "code": "not_found",
    "message": "The requested resource was not found.",
    "request_id": "request-id"
  }
}
400
Paginación o parámetros de solicitud no válidos.
401
Falta el token Bearer o no es válido.
402
La cuenta no tiene suficientes créditos para la generación.
403
La cuenta no tiene actualmente un plan Business activo.
404
El recurso no existe o no pertenece a la cuenta.
409
La clave de idempotencia entra en conflicto con otra solicitud o ya hay una generación activa.
422
La solicitud no supera la validación o se alcanzó un límite de la cuenta.
429
Se hicieron demasiadas solicitudes de planificación en poco tiempo.
503
La planificación de libros no está disponible temporalmente.

Seguridad y alcance actual

  • Todas las respuestas de la API usan Cache-Control private, no-store.
  • Las descargas de imágenes vuelven a comprobar la propiedad en cada solicitud.
  • Nunca se exponen imágenes fuente ni URLs permanentes de almacenamiento.
  • Los errores omiten detalles de excepciones del proveedor y URLs internas.

Los endpoints de generación requieren claves de idempotencia, registran transacciones de créditos inmutables y solo muestran errores de operación seguros.