Skip to main content
Programas

Editar un programa

Edita el borrador. Envía solo lo que cambias: los campos omitidos conservan su valor (incluido general.name).

PATCH
/programs/{id}

Envía solo lo que cambias. Para editar el contenido, primero obtén los id con GET /programs/{id} y devuelve el árbol completo:

curl -X PATCH https://hub.grou.com/api/ext/programs/$PROGRAM_ID \
  -H "Authorization: Bearer $GROU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": {
      "modules": [
        {
          "id": "<id-del-modulo>",
          "name": "Módulo 1 — Fundamentos",
          "lessons": [
            { "id": "<id-de-la-leccion>", "name": "Bienvenida", "provider": "vimeo", "video_url": "https://vimeo.com/123" },
            { "name": "Lección nueva", "provider": "youtube", "video_url": "https://youtu.be/abc123def45" }
          ]
        }
      ]
    }
  }'

Si el programa ya está publicado, lo publicado no cambia: la edición queda en un borrador nuevo y sale en vivo cuando vuelvas a publicar.

Si envías content, es el árbol completo: cada módulo o lección con su id se edita en su lugar (y conserva el progreso de tus estudiantes), sin id se crea uno nuevo, y los que no envíes se eliminan. Un id que no pertenece a este programa devuelve 400.

Authorizationstringheaderrequired

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

idstringrequired

El id del recurso, tal como lo devolvió la API.

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.

contentobject
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
generalobject

Como General, pero todos los campos son opcionales.

program_typeenum<string>
Available options: diploma, course

Response

application/json

El programa actualizado.

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.