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
- Pedí o creá una credencial de sandbox en el portal administrativo.
- Intercambiá client ID y secret por un token corto en
/api/public/oauth/token. - Consultá
/api/public/v1/curriculum/outcomescon el scopecurriculum:read. - Seguí
page.nextCursory 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.