Skip to main content
Programas externos

Crear un programa externo

Crea un programa externo en borrador. No tiene módulos ni lecciones: solo el external_url donde vive el contenido, así que se puede publicar en cuanto tenga miniatura y precio.

POST
/external
curl -X POST https://hub.grou.com/api/ext/external \
  -H "Authorization: Bearer $GROU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "general": { "name": "Masterclass externa" },
    "content": { "external_url": "https://mi-plataforma.com/curso/7" },
    "commercial": { "base_currency": "USD", "pricing": [{ "currency": "USD", "value": 49 }] }
  }'
Authorizationstringheaderrequired

Tu API Key del Hub (Configuración → API Keys), que empieza por sk_. Solo se muestra una vez al generarla.

Body

application/json
commercialobject

Configuración comercial. Un producto vende o un pago único (precio y cuotas opcionales) o planes de suscripción, no ambos. La tasa de interés de las cuotas se configura en el Hub y se conserva al editar.

contentobjectrequired
coproductionobject[]

Reparto de la coproducción. Incluye tu propio owner_user_id (de GET /me); los porcentajes deben sumar 100.

external_refstring
Minimum string length: 1
generalobjectrequired

Datos generales. No acepta URLs de imagen: la miniatura se sube aparte. Un campo desconocido devuelve 400.

Response

application/json

Borrador creado.

checkout_urlstring | nullrequired

Link de pago. Solo cuando el recurso está published.

contentobject

El contenido con el id de cada elemento, para enviarlo de vuelta al editar.

created_atstringrequired
external_refstring | null

Tu identificador, si lo enviaste al crear.

idstringrequired
stateenum<string>required

draft: borrador, no visible para compradores. published: a la venta, con checkout_url. unpublished: retirado de la venta, se puede volver a publicar.

Available options: draft, published, unpublished
typeenum<string>required
Available options: program, external, workshop, checkout
updated_atstringrequired
version_idstring | null

Versión actual. Siempre null en checkouts.