Secundaria para Todos

API pública v1

Integrá currículas, LMS y SIS

OAuth Client Credentials, scopes mínimos, contratos versionados, rate limits visibles y conectores server-side cuyo sandbox usa exclusivamente datos sintéticos.

Inicio rápido

  1. Pedí o creá una credencial de sandbox en el portal administrativo.
  2. Intercambiá client ID y secret por un token corto en /api/public/oauth/token.
  3. Consultá /api/public/v1/curriculum/outcomes con el scope curriculum:read.
  4. Seguí page.nextCursor y respetá los headers de cuota.

Estado y contrato

El status no expone tenants ni dependencias internas y confirma si el dataset es sintético. El contrato distribuido con el SDK vive en docs/api/openapi.yaml.

Asignaciones y resultados LMS

Con lms:assignments:write, POST /api/public/v1/lms/assignments importa una revisión completa sólo cuando course, assessment y todos los learners tienen mapping activo. Con lms:results:read, POST /api/public/v1/lms/results devuelve evidencia paginada, versiones exactas y método de corrección. Ambos endpoints exigen Idempotency-Key UUID.

El LMS nunca entrega una nota a la plataforma. El resultado se publica seleccionando mastery.evidence; una propuesta de IA, evidencia provisional o autoría pendiente se exporta sin score como pending_review.

Personas, cursos y matrículas SIS

El adapter generic-sis@1 traduce páginas externas a person@1, course@1 y enrollment@1. Admite incremental y snapshot por cursor; cada run produce validación y diff antes de aplicar. Los external IDs se aíslan por tenant, conector y provider.

Una persona SIS debe vincularse a un usuario existente: nunca se crea una identidad paralela ni se fusionan coincidencias ambiguas. Administradores AAL2 pueden revisar cuarentena, mappings y tombstones lógicos en la consola SIS.

Errores y soporte

Todos los errores usan Problem Details y un X-Correlation-ID. Guardá ese identificador; nunca envíes el client secret a soporte.

API para integradores — Secundaria para Todos