Skip to main content
API para mentores

Programas

Crea, consulta y edita diplomados y cursos con módulos y lecciones en video.

Los programas (diplomados y cursos) tienen módulos con lecciones en video.

MétodoRutaQué hace
POST/programsCrea un borrador
GET/programsLista tus programas (ver Mi catálogo)
GET/programs/{id}Devuelve el programa, su estado y su contenido
PATCH/programs/{id}Edita el borrador (o abre uno nuevo si ya está publicado)
POST/programs/{id}/imagesSube la miniatura (ver Imágenes)
POST/programs/{id}/publishPublica y genera el checkout_url
POST/programs/{id}/unpublishLo retira de la venta
GET/programs/{id}/versionsHistorial de versiones

Body

CampoRequeridoDescripción
external_refNoTu identificador para este producto
program_typeNodiploma o course
general.nameSíNombre (máx. 120 caracteres)
general.descriptionNoDescripción
general.learning_outcomesNoLista de "Lo que aprenderás"
general.category_idsNoIds de categorías (ver Datos de referencia)
content.modules[]Para publicarMódulos: name (máx. 150), description (máx. 350), lessons[]
content.modules[].lessons[]Para publicarLecciones: name (máx. 120), provider (vimeo, vturb, youtube), video_url
commercialNoPrecios, cuotas o suscripciones (ver Configuración comercial)
coproductionNoLista de { mentor_id, percentage }

Puedes crear el borrador sin contenido, pero un programa necesita al menos un módulo con lecciones para publicarse. Si intentas publicar sin contenido, recibirás un error de validación que indica el primer campo faltante.

El body no acepta URLs de imagen: la miniatura se sube aparte, después de crear el borrador (ver Imágenes). Un campo desconocido en general (por ejemplo thumbnail_url) devuelve 400.

Categorías

general.category_ids recibe una lista de ids (no nombres). Consulta los válidos con GET /reference/categories. Para programas se aplican las categorías de tipo principal y subcategoria; los ids desconocidos o de otro tipo se ignoran.

Ejemplo — crear un borrador

POST /api/ext/programs
Authorization: Bearer sk_<tu-api-key>
Content-Type: application/json

{
  "external_ref": "mi-plataforma-diplomado-42",
  "program_type": "diploma",
  "general": {
    "name": "Diplomado en Marketing Digital",
    "description": "Programa completo de marketing.",
    "category_ids": ["6a27...535a"]
  },
  "content": {
    "modules": [
      {
        "name": "Módulo 1 — Fundamentos",
        "description": "Introducción",
        "lessons": [
          { "name": "Bienvenida", "provider": "vimeo", "video_url": "https://vimeo.com/123" }
        ]
      }
    ]
  },
  "commercial": {
    "base_currency": "USD",
    "pricing": [{ "currency": "USD", "value": 99.0 }]
  }
}

Respuesta 201 Created:

{
  "id": "6ab8...f001",
  "type": "program",
  "external_ref": "mi-plataforma-diplomado-42",
  "state": "draft",
  "version_id": "6ab8...v001",
  "checkout_url": null,
  "created_at": "2026-01-01T00:00:00Z",
  "updated_at": "2026-01-01T00:00:00Z",
  "content": {
    "modules": [
      {
        "id": "6ab8...m001",
        "name": "Módulo 1 — Fundamentos",
        "lessons": [{ "id": "6ab8...l001", "name": "Bienvenida", "provider": "vimeo", "video_url": "https://vimeo.com/123" }]
      }
    ]
  }
}

Editar el contenido

Para editar módulos y lecciones, envía en el PATCH el árbol completo con el id de cada elemento que quieras conservar. Los detalles (reordenar, agregar, eliminar) están en Ciclo de vida y versiones → Editar contenido.