BUILD WITH UNDERSTANDING
The API, explained.
Explore the contract behind ZubLMS. Real operations, explicit schemas and a clear path from request to response.
This reference includes browser/session operations and scoped company partner APIs. Company settings → Integrations manages machine credentials. Native mobile authentication remains separately scoped. Start with authentication.
Find an operation
95 operations
/api/v1/activity/configCurrent event destinations and privacy choicesSession requiredPOST/api/v1/activity/eventsRecord an allowlisted activity or video engagement eventSession requiredGET/api/v1/activity/historyRecent company activity and provider submission statusSession requiredPUT/api/v1/activity/preferencesChoose optional analytics and marketing event sharingSession requiredPUT/api/v1/activity/settingsChoose company destinations and allowed event typesSession requiredGET/api/v1/activity/video/{enrolment}/{activity}Resolve authorised video playback and last observed positionSession requiredPOST/api/v1/ai/course-proposalsGenerate an unsaved course proposal for review; never publishes; requests count against a company daily limitSession requiredGET/api/v1/ai/draftingCheck optional AI drafting and resource assistance availability for the current authorSession requiredPOST/api/v1/ai/resource-answersAnswer from explicitly selected current resources with verified quotations; author pilotSession requiredPOST/api/v1/ai/sources/verifyRecheck source access and revisions before using a proposal; no model callSession requiredGET/api/v1/clientsList 25 clients for a platform operatorSession requiredGET/api/v1/clients/accessCheck explicit platform operator accessSession requiredGET/api/v1/clients/directorySearch the platform company directory with classification filters and cursor paginationSession requiredGET/api/v1/clients/{client}Read a company profile, usage counts, workspace policy and recent audit history as an explicit operatorSession requiredPUT/api/v1/clients/{client}Update company profile and directory classification with revision checking and operator auditSession requiredPUT/api/v1/clients/{client}/address-policyAllow or freeze company slug and custom-domain self-service independentlySession requiredGET/api/v1/clients/{client}/ai-policyPlatform operator: read organisation AI policySession requiredPUT/api/v1/clients/{client}/ai-policyPlatform operator: allow providers, company keys and a maximum daily capSession requiredGET/api/v1/clients/{client}/peoplePlatform operator: find company members for profile management and supportSession requiredGET/api/v1/clients/{client}/people/{person}Operator: read a company member profile, identity providers and paginated learning historySession requiredPUT/api/v1/clients/{client}/people/{person}Operator: update contact profile with recent authentication, reason and expected revision; sign-in identity unchangedSession requiredGET/api/v1/collectionsBrowse authorised collectionsSession requiredPOST/api/v1/collectionsSave a collection revisionSession requiredPOST/api/v1/collections/followFollow or unfollow a collection without enrolmentSession requiredGET/api/v1/companyRead company settingsSession requiredPUT/api/v1/companyUpdate company settingsSession requiredPOST/api/v1/company/accessChange member access as an organisation ownerSession requiredGET/api/v1/company/addressesRead company slug, domain verification and self-service policySession requiredPOST/api/v1/company/addressesChange a slug or manage a DNS ownership claim; does not provision HTTPSSession requiredGET/api/v1/company/aiRead redacted AI connections, policy, routing and today’s usageSession requiredPUT/api/v1/company/ai/connectionsCreate or rotate an encrypted connection; invalidates test and activationSession requiredPOST/api/v1/company/ai/connections/actionsTest with synthetic content, activate, disable or remove credentials; recent sign-in requiredSession requiredPUT/api/v1/company/ai/routingChoose one explicit connection per feature and a company daily cap; no fallbackSession requiredGET/api/v1/company/auditRead the latest 100 company administration eventsSession requiredGET/api/v1/company/integrationsRead service accounts, token metadata and recent webhook deliveriesSession requiredPOST/api/v1/company/integrations/actionsManage company tokens and webhooks; recent authentication required; secrets shown onceSession requiredGET/api/v1/company/peopleRead company members and role scopesSession requiredGET/api/v1/company/ssoRead redacted SSO setupSession requiredPUT/api/v1/company/ssoSave an encrypted SSO draftSession requiredPOST/api/v1/company/sso/actionsValidate or submit SSO for operator reviewSession requiredGET/api/v1/company/sso/connectionsList company SSO connections without secretsSession requiredGET/api/v1/company/sso/connections/{connection}Read one connection or prepare an unused UUID draftSession requiredPUT/api/v1/company/sso/connections/{connection}Save one encrypted SSO connection and exact domain routesSession requiredPOST/api/v1/company/sso/connections/{connection}/actionsValidate, request activation or block one SSO connectionSession requiredGET/api/v1/enrolments/{id}/certificateDownload current authorised completion evidenceSession requiredGET/api/v1/learning-groupsBrowse learning groupsSession requiredPOST/api/v1/learning-groupsSave a manual learning group revisionSession requiredGET/api/v1/messagesRead your inbox, sent messages or draftsSession requiredPUT/api/v1/messagesSave your draft with a revision checkSession requiredPUT/api/v1/messages/preferencesChoose whether to receive optional message email alertsSession requiredGET/api/v1/messages/{id}Read a message you sent or receivedSession requiredPOST/api/v1/messages/{id}/readMark your own in-app message as readSession requiredPOST/api/v1/messages/{id}/sendSend the reviewed draft to its selected audienceSession requiredGET/api/v1/packagesList up to 200 package versions for authorsSession requiredPOST/api/v1/packagesValidate and scan a SCORM 1.2 ZIP; body is application/zip, maximum 50 MiBSession requiredPOST/api/v1/packages/launchOpen an isolated author preview or a pinned learner activity; restart preserves prior attempt historySession requiredPOST/api/v1/packages/{id}/approveMake a reviewed and scanned immutable version available to course authorsSession requiredGET/api/v1/packages/{id}/originalDownload the original ZIP as an authorised authorSession requiredPOST/api/v1/partner/enrolmentsAssign a published course version; scoped token and stable request UUID requiredCompany bearer tokenGET/api/v1/partner/{resource}Read a scoped company dataset with a signed cursor (up to 100 records)Company bearer tokenGET/api/v1/pathwaysBrowse programme drafts or published pathwaysSession requiredPOST/api/v1/pathwaysSave a pathway draft revisionSession requiredGET/api/v1/pathways/assignmentsRead owned or manager-scoped pathway progressSession requiredPOST/api/v1/pathways/assignmentsAssign a published pathway versionSession requiredPOST/api/v1/pathways/cancelCancel a pathway assignment while retaining course historySession requiredPOST/api/v1/pathways/launchLaunch an available pathway courseSession requiredPOST/api/v1/pathways/publishPublish an immutable pathway versionSession requiredGET/api/v1/peopleSearch the authorised people directorySession requiredPOST/api/v1/people/actionsApply a reviewed action to at most 100 explicit people, with retry receiptsSession requiredGET/api/v1/people/optionsFind available people action targetsSession requiredGET/api/v1/reportsRead own recent report requestsSession requiredPOST/api/v1/reports/enrolmentsQueue a scoped enrolment CSVSession requiredGET/api/v1/reports/{id}Read own report request statusSession requiredGET/api/v1/reports/{id}/downloadDownload a current scoped reportSession requiredGET/api/v1/support/accessRead platform profile-management capability for this sessionSession requiredPOST/api/v1/support/stopEnd support view and return to the administratorSession requiredGET/api/v1/support/viewRead this session's support sessionSession requiredPOST/api/v1/support/viewStart a 15 minute audited support session (view or explicitly enabled act mode)Session requiredGET/api/v1/workspaceCurrent authorised native workspaceSession requiredPOST/api/v1/workspace/commandsApply an authenticated native workspace actionSession requiredPOST/auth/backchannel-logoutReceive signed provider session revocationSigned provider tokenGET/auth/callbackComplete browser sign-inSign-in protocolGET/auth/company-ssoStart one explicitly selected or uniquely resolved company SSO connectionSession requiredGET/auth/company-sso/optionsList active sign-in choices for the resolved companySession requiredGET/auth/loginStart browser sign-inSign-in protocolPOST/auth/logoutEnd the browser sessionSession requiredGET/auth/membershipsOrganisations for this sign-inSession requiredGET/auth/profileCurrent encrypted profileSession requiredPUT/auth/profileUpdate your profileSession requiredGET/auth/sessionCurrent browser sessionSession requiredPOST/auth/switchSwitch organisationSession requiredGET/auth/workspaces/{slug}Start sign-in for a reserved company slug; membership is still requiredSign-in protocolGET/health/liveLiveness probeRuntime endpointGET/health/readyReadiness probeRuntime endpointGET/versionBuild versionRuntime endpointSchema library
Complete field definitions from the same contract as the endpoint reference.
AccessChange
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/AccessChange.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"action": {
"enum": [
"grant",
"revoke",
"suspend"
],
"type": "string"
},
"bindingId": {
"type": "string"
},
"commandId": {
"format": "uuid",
"type": "string"
},
"role": {
"enum": [
"owner",
"administrator",
"author",
"learner",
"unit_manager",
""
],
"type": "string"
},
"unitId": {
"type": "string"
},
"userId": {
"format": "uuid",
"type": "string"
},
"version": {
"format": "int64",
"minimum": 1,
"type": "integer"
}
},
"required": [
"commandId",
"userId",
"version",
"action",
"role",
"unitId",
"bindingId"
],
"type": "object"
}AddressChange
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/AddressChange.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"action": {
"enum": [
"slug",
"add-domain",
"verify-domain",
"remove-domain"
],
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
},
"value": {
"maxLength": 253,
"type": "string"
}
},
"required": [
"revision",
"action",
"value"
],
"type": "object"
}Addresses
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Addresses.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"allowCustomDomains": {
"type": "boolean"
},
"allowSlugChanges": {
"type": "boolean"
},
"domains": {
"items": {
"$ref": "#/components/schemas/DomainClaim"
},
"type": [
"array",
"null"
]
},
"name": {
"type": "string"
},
"organisationId": {
"format": "uuid",
"type": "string"
},
"revision": {
"format": "int64",
"type": "integer"
},
"slug": {
"type": "string"
}
},
"required": [
"organisationId",
"name",
"slug",
"revision",
"allowSlugChanges",
"allowCustomDomains",
"domains"
],
"type": "object"
}Ai-verify-sourcesRequest
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Ai-verify-sourcesRequest.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"sources": {
"items": {
"$ref": "#/components/schemas/SourceRef"
},
"maxItems": 3,
"minItems": 1,
"type": [
"array",
"null"
]
}
},
"required": [
"sources"
],
"type": "object"
}Answer
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Answer.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"model": {
"type": "string"
},
"points": {
"items": {
"$ref": "#/components/schemas/AnswerPoint"
},
"type": [
"array",
"null"
]
},
"requestId": {
"type": "string"
},
"supported": {
"type": "boolean"
}
},
"required": [
"requestId",
"model",
"supported",
"points"
],
"type": "object"
}AnswerPoint
{
"additionalProperties": false,
"properties": {
"citations": {
"items": {
"$ref": "#/components/schemas/Citation"
},
"type": [
"array",
"null"
]
},
"text": {
"type": "string"
}
},
"required": [
"text",
"citations"
],
"type": "object"
}Audit
{
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"actor": {
"type": "string"
},
"at": {
"type": "string"
},
"resource": {
"type": "string"
}
},
"required": [
"action",
"actor",
"resource",
"at"
],
"type": "object"
}Binding
{
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"role": {
"type": "string"
},
"unit": {
"type": "string"
},
"unitId": {
"type": "string"
}
},
"required": [
"id",
"role",
"unitId",
"unit"
],
"type": "object"
}Capability
{
"additionalProperties": false,
"properties": {
"configured": {
"type": "boolean"
},
"provider": {
"type": "string"
},
"purpose": {
"type": "string"
}
},
"required": [
"provider",
"configured",
"purpose"
],
"type": "object"
}Caption
{
"additionalProperties": false,
"properties": {
"label": {
"type": "string"
},
"language": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"url",
"language",
"label"
],
"type": "object"
}Channel
{
"additionalProperties": false,
"properties": {
"available": {
"type": "boolean"
},
"detail": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"available",
"detail"
],
"type": "object"
}Citation
{
"additionalProperties": false,
"properties": {
"quote": {
"type": "string"
},
"revision": {
"format": "int64",
"type": "integer"
},
"sourceId": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"sourceId",
"revision",
"title",
"quote"
],
"type": "object"
}Client-operator-accessResponse
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Client-operator-accessResponse.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"allowed": {
"type": "boolean"
}
},
"required": [
"allowed"
],
"type": "object"
}ClientPolicy
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ClientPolicy.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"allowCustomDomains": {
"type": "boolean"
},
"allowSlugChanges": {
"type": "boolean"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"revision",
"allowSlugChanges",
"allowCustomDomains"
],
"type": "object"
}Clients
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Clients.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/Addresses"
},
"type": [
"array",
"null"
]
},
"next": {
"type": "string"
}
},
"required": [
"items",
"next"
],
"type": "object"
}Command
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Command.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"action": {
"enum": [
"save",
"publish",
"assign",
"progress",
"save_resource",
"archive_resource",
"bookmark_resource",
"bookmark_course"
],
"type": "string"
},
"answer": {
"format": "int64",
"type": "integer"
},
"bookmarked": {
"type": "boolean"
},
"commandId": {
"format": "uuid",
"type": "string"
},
"course": {
"$ref": "#/components/schemas/Course"
},
"courseId": {
"type": "string"
},
"dueAt": {
"type": "string"
},
"enrolmentId": {
"type": "string"
},
"lessonId": {
"type": "string"
},
"resource": {
"$ref": "#/components/schemas/Resource"
},
"resourceId": {
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
},
"userIds": {
"items": {
"type": "string"
},
"maxItems": 100,
"type": [
"array",
"null"
]
}
},
"required": [
"action",
"commandId"
],
"type": "object"
}Company
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Company.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"accent": {
"enum": [
"violet",
"mint",
"blue",
"peach",
"rose",
"sand"
],
"type": "string"
},
"logo": {
"maxLength": 350000,
"type": "string"
},
"name": {
"maxLength": 160,
"minLength": 1,
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
},
"supportEmail": {
"maxLength": 254,
"type": "string"
},
"supportUrl": {
"maxLength": 2048,
"type": "string"
},
"timezone": {
"maxLength": 80,
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"timezone",
"logo",
"accent",
"supportEmail",
"supportUrl",
"revision"
],
"type": "object"
}CompanyDirectory
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/CompanyDirectory.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/DirectoryEntry"
},
"type": "array"
},
"next": {
"type": "string"
},
"total": {
"format": "int64",
"type": "integer"
}
},
"required": [
"items",
"total",
"next"
],
"type": "object"
}Connection
{
"additionalProperties": false,
"properties": {
"active": {
"type": "boolean"
},
"hasKey": {
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
},
"model": {
"type": "string"
},
"name": {
"type": "string"
},
"privacyReviewed": {
"type": "boolean"
},
"provider": {
"type": "string"
},
"revision": {
"format": "int64",
"type": "integer"
},
"testedAt": {
"type": "string"
},
"testedRevision": {
"format": "int64",
"type": "integer"
}
},
"required": [
"id",
"revision",
"name",
"provider",
"model",
"hasKey",
"privacyReviewed",
"active",
"testedRevision",
"testedAt"
],
"type": "object"
}ConnectionAction
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ConnectionAction.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"action": {
"enum": [
"test",
"activate",
"disable",
"remove-key"
],
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"requestId": {
"format": "uuid",
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"revision",
"action",
"requestId"
],
"type": "object"
}ConnectionChange
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ConnectionChange.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"key": {
"maxLength": 8192,
"type": "string",
"writeOnly": true
},
"model": {
"maxLength": 160,
"minLength": 1,
"type": "string"
},
"name": {
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"privacyReviewed": {
"type": "boolean"
},
"provider": {
"enum": [
"openrouter",
"openai",
"anthropic",
"deepseek"
],
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"revision",
"name",
"provider",
"model",
"privacyReviewed"
],
"type": "object"
}Course
{
"additionalProperties": false,
"properties": {
"category": {
"maxLength": 60,
"type": "string"
},
"colour": {
"enum": [
"violet",
"peach",
"mint",
"blue",
"rose",
"sand"
],
"type": "string"
},
"description": {
"maxLength": 600,
"type": "string"
},
"duration": {
"format": "int64",
"maximum": 600,
"minimum": 1,
"type": "integer"
},
"id": {
"type": "string"
},
"lessons": {
"items": {
"$ref": "#/components/schemas/Lesson"
},
"maxItems": 100,
"type": [
"array",
"null"
]
},
"modules": {
"items": {
"$ref": "#/components/schemas/Module"
},
"maxItems": 30,
"type": [
"array",
"null"
]
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
},
"status": {
"enum": [
"draft",
"published"
],
"type": "string"
},
"title": {
"maxLength": 160,
"type": "string"
},
"versionId": {
"type": "string"
}
},
"required": [
"id",
"title",
"description",
"category",
"colour",
"duration",
"revision",
"versionId",
"status",
"lessons"
],
"type": "object"
}Delivery
{
"additionalProperties": false,
"properties": {
"channel": {
"type": "string"
},
"name": {
"type": "string"
},
"read": {
"type": "boolean"
},
"reason": {
"type": "string"
},
"state": {
"type": "string"
},
"userId": {
"type": "string"
}
},
"required": [
"userId",
"name",
"channel",
"state",
"reason",
"read"
],
"type": "object"
}Destination
{
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"events": {
"items": {
"type": "string"
},
"maxItems": 20,
"type": [
"array",
"null"
]
},
"provider": {
"enum": [
"mixpanel",
"ga4",
"klaviyo",
"meta"
],
"type": "string"
}
},
"required": [
"provider",
"enabled",
"events"
],
"type": "object"
}DirBulk
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/DirBulk.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"action": {
"enum": [
"assign_course",
"assign_pathway",
"recommend_collection",
"add_group",
"remove_group"
],
"type": "string"
},
"dueAt": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"resourceId": {
"format": "uuid",
"type": "string"
},
"userIds": {
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"type": [
"array",
"null"
]
},
"versionId": {
"type": "string"
}
},
"required": [
"id",
"action",
"resourceId",
"versionId",
"userIds",
"dueAt"
],
"type": "object"
}DirGroup
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/DirGroup.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"archived": {
"type": "boolean"
},
"canEdit": {
"type": "boolean"
},
"description": {
"maxLength": 1600,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"managed": {
"type": "boolean"
},
"members": {
"format": "int64",
"type": "integer"
},
"name": {
"maxLength": 160,
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"revision",
"archived",
"managed",
"members",
"canEdit"
],
"type": "object"
}DirGroups
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/DirGroups.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"canCreate": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/DirGroup"
},
"type": [
"array",
"null"
]
},
"total": {
"format": "int64",
"type": "integer"
}
},
"required": [
"items",
"total",
"canCreate"
],
"type": "object"
}DirOption
{
"additionalProperties": false,
"properties": {
"detail": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"versionId": {
"type": "string"
}
},
"required": [
"id",
"name",
"detail",
"versionId"
],
"type": "object"
}DirOptions
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/DirOptions.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/DirOption"
},
"type": [
"array",
"null"
]
},
"more": {
"type": "boolean"
}
},
"required": [
"items",
"more"
],
"type": "object"
}DirPeople
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/DirPeople.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"canAssign": {
"type": "boolean"
},
"canManageGroups": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/DirPerson"
},
"type": [
"array",
"null"
]
},
"limit": {
"format": "int64",
"type": "integer"
},
"offset": {
"format": "int64",
"type": "integer"
},
"total": {
"format": "int64",
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"canAssign",
"canManageGroups"
],
"type": "object"
}DirPerson
{
"additionalProperties": false,
"properties": {
"active": {
"format": "int64",
"type": "integer"
},
"completed": {
"format": "int64",
"type": "integer"
},
"groupCount": {
"format": "int64",
"type": "integer"
},
"groups": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"overdue": {
"format": "int64",
"type": "integer"
},
"roles": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"suspended": {
"type": "boolean"
},
"teams": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"required": [
"id",
"name",
"suspended",
"roles",
"teams",
"groups",
"groupCount",
"active",
"completed",
"overdue"
],
"type": "object"
}DirResult
{
"additionalProperties": false,
"properties": {
"message": {
"type": "string"
},
"status": {
"type": "string"
},
"userId": {
"type": "string"
}
},
"required": [
"userId",
"status",
"message"
],
"type": "object"
}DirResults
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/DirResults.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"id": {
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/DirResult"
},
"type": [
"array",
"null"
]
}
},
"required": [
"id",
"items"
],
"type": "object"
}DirectoryEntry
{
"additionalProperties": false,
"properties": {
"kind": {
"enum": [
"company",
"showcase",
"test"
],
"type": "string"
},
"name": {
"type": "string"
},
"organisationId": {
"format": "uuid",
"type": "string"
},
"slug": {
"type": "string"
}
},
"required": [
"organisationId",
"name",
"slug",
"kind"
],
"type": "object"
}DomainClaim
{
"additionalProperties": false,
"properties": {
"hostname": {
"type": "string"
},
"record": {
"type": "string"
},
"status": {
"enum": [
"pending",
"verified"
],
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"hostname",
"record",
"value",
"status"
],
"type": "object"
}Draft
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Draft.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"body": {
"maxLength": 8000,
"minLength": 1,
"type": "string"
},
"channels": {
"items": {
"type": "string"
},
"maxItems": 2,
"minItems": 1,
"type": [
"array",
"null"
]
},
"id": {
"format": "uuid",
"type": "string"
},
"recipients": {
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"type": [
"array",
"null"
]
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
},
"subject": {
"maxLength": 160,
"minLength": 1,
"type": "string"
}
},
"required": [
"id",
"revision",
"subject",
"body",
"recipients",
"channels"
],
"type": "object"
}Enrolment
{
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
},
"certificateState": {
"type": "string"
},
"colour": {
"type": "string"
},
"completed": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"contentAvailable": {
"type": "boolean"
},
"courseId": {
"type": "string"
},
"dueAt": {
"type": "string"
},
"duration": {
"format": "int64",
"type": "integer"
},
"id": {
"type": "string"
},
"lessons": {
"items": {
"$ref": "#/components/schemas/Lesson"
},
"type": [
"array",
"null"
]
},
"modules": {
"items": {
"$ref": "#/components/schemas/Module"
},
"maxItems": 30,
"type": [
"array",
"null"
]
},
"state": {
"type": "string"
},
"title": {
"type": "string"
},
"userId": {
"type": "string"
}
},
"required": [
"id",
"userId",
"courseId",
"title",
"state",
"dueAt",
"completed",
"lessons",
"category",
"colour",
"duration",
"contentAvailable",
"certificateState"
],
"type": "object"
}ErrorDetail
{
"additionalProperties": false,
"properties": {
"location": {
"description": "Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'",
"type": "string"
},
"message": {
"description": "Error message text",
"type": "string"
},
"value": {
"description": "The value at the given location"
}
},
"type": "object"
}ErrorModel
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ErrorModel.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"detail": {
"description": "A human-readable explanation specific to this occurrence of the problem.",
"examples": [
"Property foo is required but is missing."
],
"type": "string"
},
"errors": {
"description": "Optional list of individual error details",
"items": {
"$ref": "#/components/schemas/ErrorDetail"
},
"type": [
"array",
"null"
]
},
"instance": {
"description": "A URI reference that identifies the specific occurrence of the problem.",
"examples": [
"https://example.com/error-log/abc123"
],
"format": "uri",
"type": "string"
},
"status": {
"description": "HTTP status code",
"examples": [
400
],
"format": "int64",
"type": "integer"
},
"title": {
"description": "A short, human-readable summary of the problem type. This value should not change between occurrences of the error.",
"examples": [
"Bad Request"
],
"type": "string"
},
"type": {
"default": "about:blank",
"description": "A URI reference to human-readable documentation for the error.",
"examples": [
"https://example.com/errors/example"
],
"format": "uri",
"type": "string"
}
},
"type": "object"
}Event
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Event.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"activityId": {
"type": "string"
},
"duration": {
"format": "double",
"maximum": 86400,
"minimum": 0,
"type": "number"
},
"enrolmentId": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"name": {
"maxLength": 40,
"type": "string"
},
"page": {
"maxLength": 40,
"type": "string"
},
"playbackId": {
"type": "string"
},
"position": {
"format": "double",
"maximum": 86400,
"minimum": 0,
"type": "number"
},
"rate": {
"format": "double",
"maximum": 4,
"minimum": 0,
"type": "number"
},
"sequence": {
"format": "int64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"name",
"page"
],
"type": "object"
}Info
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Info.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"build_time": {
"type": "string"
},
"commit": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"version",
"commit",
"build_time"
],
"type": "object"
}IntegrationAccount
{
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"ownerId": {
"type": "string"
}
},
"required": [
"id",
"name",
"enabled",
"ownerId"
],
"type": "object"
}IntegrationAssignment
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/IntegrationAssignment.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"courseId": {
"format": "uuid",
"type": "string"
},
"dueAt": {
"format": "date-time",
"type": "string"
},
"requestId": {
"format": "uuid",
"type": "string"
},
"userId": {
"format": "uuid",
"type": "string"
},
"versionId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"requestId",
"userId",
"courseId",
"versionId"
],
"type": "object"
}IntegrationAttempt
{
"additionalProperties": false,
"properties": {
"attempts": {
"format": "int64",
"type": "integer"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"endpointId": {
"type": "string"
},
"eventId": {
"type": "string"
},
"eventType": {
"type": "string"
},
"id": {
"type": "string"
},
"nextAttemptAt": {
"format": "date-time",
"type": "string"
},
"originalDeliveryId": {
"type": "string"
},
"outcome": {
"type": "string"
},
"status": {
"format": "int64",
"type": "integer"
}
},
"required": [
"id",
"endpointId",
"eventId",
"eventType",
"attempts",
"outcome",
"createdAt",
"nextAttemptAt"
],
"type": "object"
}IntegrationChange
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/IntegrationChange.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"action": {
"enum": [
"create-token",
"rotate-token",
"revoke-token",
"disable-account",
"create-hook",
"enable-hook",
"disable-hook",
"rotate-hook",
"test-hook",
"retry"
],
"type": "string"
},
"days": {
"format": "int64",
"maximum": 365,
"minimum": 0,
"type": "integer"
},
"events": {
"items": {
"type": "string"
},
"maxItems": 10,
"type": [
"array",
"null"
]
},
"id": {
"type": "string"
},
"name": {
"maxLength": 100,
"type": "string"
},
"revision": {
"format": "int64",
"type": "integer"
},
"scopes": {
"items": {
"type": "string"
},
"maxItems": 10,
"type": [
"array",
"null"
]
},
"url": {
"maxLength": 2000,
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
}IntegrationHook
{
"additionalProperties": false,
"properties": {
"authorised": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"events": {
"items": {
"type": "string"
},
"type": "array"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"revision": {
"format": "int64",
"type": "integer"
},
"url": {
"type": "string"
}
},
"required": [
"authorised",
"id",
"name",
"url",
"events",
"enabled",
"revision"
],
"type": "object"
}IntegrationPage
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/IntegrationPage.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"items": {
"items": {},
"type": "array"
},
"nextCursor": {
"type": "string"
}
},
"required": [
"items"
],
"type": "object"
}IntegrationResult
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/IntegrationResult.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"id": {
"type": "string"
},
"message": {
"type": "string"
},
"secret": {
"type": "string"
}
},
"required": [
"id",
"message"
],
"type": "object"
}IntegrationToken
{
"additionalProperties": false,
"properties": {
"accountId": {
"type": "string"
},
"authorised": {
"type": "boolean"
},
"expiresAt": {
"format": "date-time",
"type": "string"
},
"id": {
"type": "string"
},
"lastUsedAt": {
"format": "date-time",
"type": "string"
},
"prefix": {
"type": "string"
},
"requests": {
"format": "int64",
"type": "integer"
},
"revokedAt": {
"format": "date-time",
"type": "string"
},
"scopes": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"authorised",
"id",
"accountId",
"prefix",
"scopes",
"expiresAt",
"requests"
],
"type": "object"
}IntegrationUsage
{
"additionalProperties": false,
"properties": {
"day": {
"type": "string"
},
"requests": {
"format": "int64",
"type": "integer"
},
"tokenId": {
"type": "string"
}
},
"required": [
"tokenId",
"day",
"requests"
],
"type": "object"
}IntegrationView
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/IntegrationView.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"accounts": {
"items": {
"$ref": "#/components/schemas/IntegrationAccount"
},
"type": "array"
},
"allowedHosts": {
"items": {
"type": "string"
},
"type": "array"
},
"deliveries": {
"items": {
"$ref": "#/components/schemas/IntegrationAttempt"
},
"type": "array"
},
"enabled": {
"type": "boolean"
},
"events": {
"items": {
"type": "string"
},
"type": "array"
},
"hooks": {
"items": {
"$ref": "#/components/schemas/IntegrationHook"
},
"type": "array"
},
"scopes": {
"items": {
"type": "string"
},
"type": "array"
},
"tokens": {
"items": {
"$ref": "#/components/schemas/IntegrationToken"
},
"type": "array"
},
"usage": {
"items": {
"$ref": "#/components/schemas/IntegrationUsage"
},
"type": "array"
}
},
"required": [
"usage",
"accounts",
"tokens",
"hooks",
"deliveries",
"scopes",
"events",
"allowedHosts",
"enabled"
],
"type": "object"
}Launch
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Launch.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"attempt": {
"format": "int64",
"type": "integer"
},
"expiresAt": {
"type": "string"
},
"preview": {
"type": "boolean"
},
"url": {
"type": "string"
}
},
"required": [
"url",
"expiresAt",
"preview",
"attempt"
],
"type": "object"
}LaunchRequest
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/LaunchRequest.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"activityId": {
"type": "string"
},
"enrolmentId": {
"type": "string"
},
"packageId": {
"type": "string"
},
"restart": {
"type": "boolean"
}
},
"required": [
"restart"
],
"type": "object"
}Lesson
{
"additionalProperties": false,
"properties": {
"answer": {
"format": "int64",
"type": "integer"
},
"body": {
"maxLength": 20000,
"type": "string"
},
"bodyFormat": {
"enum": [
"plain",
"html"
],
"type": "string"
},
"id": {
"type": "string"
},
"kind": {
"enum": [
"text",
"quiz",
"video",
"scorm"
],
"type": "string"
},
"moduleId": {
"type": "string"
},
"options": {
"items": {
"type": "string"
},
"maxItems": 4,
"type": [
"array",
"null"
]
},
"packageId": {
"type": "string"
},
"title": {
"maxLength": 160,
"type": "string"
},
"video": {
"$ref": "#/components/schemas/Video"
}
},
"required": [
"id",
"title",
"kind",
"body"
],
"type": "object"
}LiveOutputBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/LiveOutputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"status": {
"description": "Process is alive",
"enum": [
"ok"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}ManagementView
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ManagementView.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"connections": {
"items": {
"$ref": "#/components/schemas/Connection"
},
"type": [
"array",
"null"
]
},
"dailyLimit": {
"format": "int64",
"type": "integer"
},
"deploymentAvailable": {
"type": "boolean"
},
"deploymentModel": {
"type": "string"
},
"deploymentProvider": {
"type": "string"
},
"globalEnabled": {
"type": "boolean"
},
"keysAvailable": {
"type": "boolean"
},
"policy": {
"$ref": "#/components/schemas/Policy"
},
"providers": {
"items": {
"$ref": "#/components/schemas/ProviderInfo"
},
"type": [
"array",
"null"
]
},
"routing": {
"$ref": "#/components/schemas/Routing"
},
"usage": {
"items": {
"$ref": "#/components/schemas/Usage"
},
"type": [
"array",
"null"
]
}
},
"required": [
"dailyLimit",
"globalEnabled",
"keysAvailable",
"policy",
"routing",
"providers",
"connections",
"deploymentProvider",
"deploymentModel",
"deploymentAvailable",
"usage"
],
"type": "object"
}Member
{
"additionalProperties": false,
"properties": {
"bindings": {
"items": {
"$ref": "#/components/schemas/Binding"
},
"type": [
"array",
"null"
]
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"suspended": {
"type": "boolean"
},
"version": {
"format": "int64",
"type": "integer"
}
},
"required": [
"id",
"name",
"suspended",
"version",
"bindings"
],
"type": "object"
}MembershipBody
{
"additionalProperties": false,
"properties": {
"current": {
"description": "True when this session is already bound here",
"type": "boolean"
},
"name": {
"description": "Organisation name",
"type": "string"
},
"organisation_id": {
"description": "Organisation the signed-in subject can enter",
"type": "string"
}
},
"required": [
"organisation_id",
"name",
"current"
],
"type": "object"
}MembershipsOutputBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/MembershipsOutputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"memberships": {
"items": {
"$ref": "#/components/schemas/MembershipBody"
},
"type": [
"array",
"null"
]
}
},
"required": [
"memberships"
],
"type": "object"
}Message
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Message.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"body": {
"type": "string"
},
"channels": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"createdAt": {
"type": "string"
},
"deliveries": {
"items": {
"$ref": "#/components/schemas/Delivery"
},
"type": [
"array",
"null"
]
},
"id": {
"type": "string"
},
"read": {
"type": "boolean"
},
"recipientIds": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"revision": {
"format": "int64",
"type": "integer"
},
"sender": {
"type": "string"
},
"senderId": {
"type": "string"
},
"sentAt": {
"type": "string"
},
"state": {
"type": "string"
},
"subject": {
"type": "string"
}
},
"required": [
"id",
"subject",
"body",
"sender",
"senderId",
"revision",
"state",
"createdAt",
"sentAt",
"read",
"channels"
],
"type": "object"
}MessagePreferenceInputBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/MessagePreferenceInputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"email": {
"type": "boolean"
}
},
"required": [
"email"
],
"type": "object"
}MessageSendInputBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/MessageSendInputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 1,
"type": "integer"
}
},
"required": [
"revision"
],
"type": "object"
}Module
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"summary": {
"maxLength": 1200,
"type": "string"
},
"title": {
"maxLength": 160,
"type": "string"
}
},
"required": [
"id",
"title",
"summary"
],
"type": "object"
}OutputAssignPathwayBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/OutputAssignPathwayBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
}
},
"type": "object"
}OutputCancelPathwayBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/OutputCancelPathwayBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
}
},
"type": "object"
}OutputFollowCollectionBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/OutputFollowCollectionBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
}
},
"type": "object"
}Package
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Package.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"bytes": {
"format": "int64",
"type": "integer"
},
"createdAt": {
"type": "string"
},
"familyId": {
"type": "string"
},
"filename": {
"type": "string"
},
"id": {
"type": "string"
},
"sha256": {
"type": "string"
},
"state": {
"type": "string"
},
"title": {
"type": "string"
},
"usage": {
"format": "int64",
"type": "integer"
},
"version": {
"format": "int64",
"type": "integer"
}
},
"required": [
"id",
"familyId",
"version",
"title",
"filename",
"bytes",
"sha256",
"state",
"createdAt",
"usage"
],
"type": "object"
}Page
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Page.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"canSend": {
"type": "boolean"
},
"channels": {
"items": {
"$ref": "#/components/schemas/Channel"
},
"type": [
"array",
"null"
]
},
"emailOptIn": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Message"
},
"type": [
"array",
"null"
]
},
"next": {
"type": "string"
}
},
"required": [
"items",
"next",
"canSend",
"channels",
"emailOptIn"
],
"type": "object"
}People
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/People.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"canManage": {
"type": "boolean"
},
"members": {
"items": {
"$ref": "#/components/schemas/Member"
},
"type": [
"array",
"null"
]
},
"next": {
"type": "string"
},
"selfId": {
"type": "string"
},
"units": {
"items": {
"$ref": "#/components/schemas/Unit"
},
"type": [
"array",
"null"
]
}
},
"required": [
"members",
"units",
"next",
"canManage",
"selfId"
],
"type": "object"
}Person
{
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
}
},
"required": [
"id",
"name",
"unit"
],
"type": "object"
}PersonAudit
{
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"actorId": {
"type": "string"
},
"at": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"action",
"actorId",
"at",
"reason"
],
"type": "object"
}PersonLearning
{
"additionalProperties": false,
"properties": {
"course": {
"type": "string"
},
"cycle": {
"format": "int64",
"type": "integer"
},
"dueAt": {
"type": "string"
},
"id": {
"type": "string"
},
"state": {
"type": "string"
}
},
"required": [
"id",
"course",
"state",
"cycle",
"dueAt"
],
"type": "object"
}PlanAssign
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanAssign.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"dueAt": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"userId": {
"format": "uuid",
"type": "string"
},
"versionId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"id",
"versionId",
"userId",
"dueAt"
],
"type": "object"
}PlanAssignment
{
"additionalProperties": false,
"properties": {
"assignedAt": {
"type": "string"
},
"canCancel": {
"type": "boolean"
},
"completed": {
"format": "int64",
"type": "integer"
},
"dueAt": {
"type": "string"
},
"id": {
"type": "string"
},
"pathwayId": {
"type": "string"
},
"progress": {
"format": "int64",
"type": "integer"
},
"required": {
"format": "int64",
"type": "integer"
},
"stages": {
"items": {
"$ref": "#/components/schemas/PlanStageProgress"
},
"type": [
"array",
"null"
]
},
"state": {
"type": "string"
},
"title": {
"type": "string"
},
"userId": {
"type": "string"
},
"userName": {
"type": "string"
},
"version": {
"format": "int64",
"type": "integer"
},
"versionId": {
"type": "string"
}
},
"required": [
"id",
"pathwayId",
"versionId",
"version",
"title",
"userId",
"userName",
"assignedAt",
"dueAt",
"state",
"required",
"completed",
"progress",
"stages",
"canCancel"
],
"type": "object"
}PlanAssignmentsView
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanAssignmentsView.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/PlanAssignment"
},
"type": [
"array",
"null"
]
},
"limited": {
"type": "boolean"
}
},
"required": [
"items",
"limited"
],
"type": "object"
}PlanCollection
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanCollection.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"archived": {
"type": "boolean"
},
"audienceUnit": {
"type": "string"
},
"colour": {
"type": "string"
},
"courses": {
"items": {
"$ref": "#/components/schemas/PlanCourseRef"
},
"maxItems": 30,
"type": [
"array",
"null"
]
},
"description": {
"maxLength": 1600,
"type": "string"
},
"following": {
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
},
"published": {
"type": "boolean"
},
"recommended": {
"type": "boolean"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
},
"title": {
"maxLength": 160,
"type": "string"
}
},
"required": [
"id",
"revision",
"title",
"description",
"colour",
"audienceUnit",
"published",
"archived",
"following",
"courses"
],
"type": "object"
}PlanCollectionsView
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanCollectionsView.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"canEdit": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PlanCollection"
},
"type": [
"array",
"null"
]
},
"limited": {
"type": "boolean"
},
"units": {
"items": {
"$ref": "#/components/schemas/PlanUnit"
},
"type": [
"array",
"null"
]
}
},
"required": [
"items",
"units",
"canEdit",
"limited"
],
"type": "object"
}PlanCourseProgress
{
"additionalProperties": false,
"properties": {
"credited": {
"type": "boolean"
},
"enrolmentId": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"required": {
"type": "boolean"
},
"state": {
"type": "string"
},
"title": {
"type": "string"
},
"versionId": {
"type": "string"
}
},
"required": [
"state",
"enrolmentId",
"credited",
"id",
"title",
"versionId",
"required"
],
"type": "object"
}PlanCourseRef
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"required": {
"type": "boolean"
},
"title": {
"type": "string"
},
"versionId": {
"type": "string"
}
},
"required": [
"id",
"title",
"versionId",
"required"
],
"type": "object"
}PlanFollow
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanFollow.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"following": {
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"id",
"following"
],
"type": "object"
}PlanID
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanID.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
}PlanLaunch
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanLaunch.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"assignmentId": {
"format": "uuid",
"type": "string"
},
"courseId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"assignmentId",
"courseId"
],
"type": "object"
}PlanLaunchResult
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanLaunchResult.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"enrolmentId": {
"type": "string"
}
},
"required": [
"enrolmentId"
],
"type": "object"
}PlanPathway
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanPathway.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"allowPrior": {
"type": "boolean"
},
"archived": {
"type": "boolean"
},
"colour": {
"type": "string"
},
"description": {
"maxLength": 1600,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"priorDays": {
"format": "int64",
"maximum": 3650,
"minimum": 0,
"type": "integer"
},
"publishedRevision": {
"format": "int64",
"type": "integer"
},
"publishedTitle": {
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
},
"sequential": {
"type": "boolean"
},
"stages": {
"items": {
"$ref": "#/components/schemas/PlanStage"
},
"maxItems": 12,
"type": [
"array",
"null"
]
},
"title": {
"maxLength": 160,
"type": "string"
},
"version": {
"format": "int64",
"type": "integer"
},
"versionId": {
"type": "string"
}
},
"required": [
"id",
"revision",
"title",
"description",
"colour",
"sequential",
"allowPrior",
"priorDays",
"stages",
"versionId",
"version",
"archived"
],
"type": "object"
}PlanPathwaysView
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanPathwaysView.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"canAssign": {
"type": "boolean"
},
"canEdit": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PlanPathway"
},
"type": [
"array",
"null"
]
},
"limited": {
"type": "boolean"
}
},
"required": [
"items",
"canEdit",
"canAssign",
"limited"
],
"type": "object"
}PlanPublish
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlanPublish.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"revision"
],
"type": "object"
}PlanStage
{
"additionalProperties": false,
"properties": {
"courses": {
"items": {
"$ref": "#/components/schemas/PlanCourseRef"
},
"maxItems": 20,
"type": [
"array",
"null"
]
},
"dueDays": {
"format": "int64",
"maximum": 3650,
"minimum": 0,
"type": "integer"
},
"id": {
"format": "uuid",
"type": "string"
},
"title": {
"maxLength": 160,
"type": "string"
}
},
"required": [
"id",
"title",
"dueDays",
"courses"
],
"type": "object"
}PlanStageProgress
{
"additionalProperties": false,
"properties": {
"courses": {
"items": {
"$ref": "#/components/schemas/PlanCourseProgress"
},
"type": [
"array",
"null"
]
},
"dueAt": {
"type": "string"
},
"id": {
"type": "string"
},
"state": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title",
"dueAt",
"state",
"courses"
],
"type": "object"
}PlanUnit
{
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
}PlatformCompany
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlatformCompany.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"addresses": {
"$ref": "#/components/schemas/Addresses"
},
"audit": {
"items": {
"$ref": "#/components/schemas/Audit"
},
"type": "array"
},
"completions": {
"format": "int64",
"type": "integer"
},
"courses": {
"format": "int64",
"type": "integer"
},
"enrolments": {
"format": "int64",
"type": "integer"
},
"kind": {
"enum": [
"company",
"showcase",
"test"
],
"type": "string"
},
"members": {
"format": "int64",
"type": "integer"
},
"organisationId": {
"format": "uuid",
"type": "string"
},
"profile": {
"$ref": "#/components/schemas/Company"
},
"ssoConnections": {
"format": "int64",
"type": "integer"
}
},
"required": [
"organisationId",
"kind",
"profile",
"addresses",
"members",
"courses",
"enrolments",
"completions",
"ssoConnections",
"audit"
],
"type": "object"
}PlatformCompanyChange
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlatformCompanyChange.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"kind": {
"enum": [
"company",
"showcase",
"test"
],
"type": "string"
},
"profile": {
"$ref": "#/components/schemas/Company"
}
},
"required": [
"profile",
"kind"
],
"type": "object"
}PlatformPerson
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlatformPerson.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"actEnabled": {
"type": "boolean"
},
"audit": {
"items": {
"$ref": "#/components/schemas/PersonAudit"
},
"type": [
"array",
"null"
]
},
"canSupport": {
"type": "boolean"
},
"company": {
"type": "string"
},
"id": {
"type": "string"
},
"identityProviders": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"learning": {
"items": {
"$ref": "#/components/schemas/PersonLearning"
},
"type": [
"array",
"null"
]
},
"learningMore": {
"type": "boolean"
},
"organisationId": {
"type": "string"
},
"profile": {
"$ref": "#/components/schemas/ProfileDetails"
},
"revision": {
"format": "int64",
"type": "integer"
},
"roles": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"suspended": {
"type": "boolean"
},
"teams": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"required": [
"id",
"organisationId",
"company",
"profile",
"revision",
"suspended",
"roles",
"teams",
"identityProviders",
"learning",
"learningMore",
"audit",
"canSupport",
"actEnabled"
],
"type": "object"
}PlatformPersonAccess
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlatformPersonAccess.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"actEnabled": {
"type": "boolean"
},
"operator": {
"type": "boolean"
},
"organisationId": {
"type": "string"
}
},
"required": [
"organisationId",
"operator",
"actEnabled"
],
"type": "object"
}PlatformPersonChange
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/PlatformPersonChange.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"profile": {
"$ref": "#/components/schemas/ProfileDetails"
},
"reason": {
"maxLength": 500,
"minLength": 10,
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 1,
"type": "integer"
}
},
"required": [
"revision",
"reason",
"profile"
],
"type": "object"
}Playback
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Playback.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"captions": {
"items": {
"$ref": "#/components/schemas/Caption"
},
"type": [
"array",
"null"
]
},
"expiresAt": {
"type": "string"
},
"position": {
"format": "double",
"type": "number"
},
"url": {
"type": "string"
},
"video": {
"$ref": "#/components/schemas/Video"
},
"watchedSeconds": {
"format": "double",
"type": "number"
}
},
"required": [
"video",
"position",
"watchedSeconds"
],
"type": "object"
}Policy
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Policy.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"allowCompanyKeys": {
"type": "boolean"
},
"dailyLimit": {
"format": "int64",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"enabled": {
"type": "boolean"
},
"providers": {
"items": {
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": [
"array",
"null"
]
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"revision",
"enabled",
"allowCompanyKeys",
"providers",
"dailyLimit"
],
"type": "object"
}Preference
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Preference.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"analytics": {
"type": "boolean"
},
"marketing": {
"type": "boolean"
}
},
"required": [
"analytics",
"marketing"
],
"type": "object"
}ProfileDetails
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ProfileDetails.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"address": {
"maxLength": 1000,
"type": "string"
},
"email": {
"maxLength": 254,
"type": "string"
},
"name": {
"maxLength": 160,
"minLength": 1,
"type": "string"
},
"phone": {
"maxLength": 60,
"type": "string"
}
},
"required": [
"name",
"email",
"phone",
"address"
],
"type": "object"
}ProfileOutputBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ProfileOutputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"address": {
"description": "Postal address",
"type": "string"
},
"email": {
"description": "Contact email",
"type": "string"
},
"name": {
"description": "Display name",
"type": "string"
},
"phone": {
"description": "Telephone number",
"type": "string"
}
},
"required": [
"name",
"email",
"phone",
"address"
],
"type": "object"
}Proposal
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Proposal.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"course": {
"$ref": "#/components/schemas/Course"
},
"model": {
"type": "string"
},
"requestId": {
"type": "string"
},
"sources": {
"items": {
"$ref": "#/components/schemas/SourceRef"
},
"type": [
"array",
"null"
]
}
},
"required": [
"course",
"model",
"requestId"
],
"type": "object"
}ProviderInfo
{
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"output": {
"type": "string"
},
"privacy": {
"type": "string"
}
},
"required": [
"id",
"name",
"output",
"privacy"
],
"type": "object"
}Question
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Question.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"configuration": {
"maxLength": 300,
"type": "string"
},
"consent": {
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
},
"question": {
"maxLength": 1000,
"minLength": 10,
"type": "string"
},
"sources": {
"items": {
"$ref": "#/components/schemas/SourceRef"
},
"maxItems": 3,
"minItems": 1,
"type": [
"array",
"null"
]
}
},
"required": [
"id",
"question",
"sources",
"consent"
],
"type": "object"
}ReadyOutputBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ReadyOutputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"status": {
"description": "Process may receive traffic",
"enum": [
"ready"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}Receipt
{
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"occurredAt": {
"type": "string"
},
"page": {
"type": "string"
},
"provider": {
"type": "string"
},
"reason": {
"type": "string"
},
"state": {
"type": "string"
}
},
"required": [
"id",
"name",
"page",
"occurredAt",
"provider",
"state",
"reason"
],
"type": "object"
}ReportCreateInputBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ReportCreateInputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"requestId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"requestId"
],
"type": "object"
}ReportHistoryItem
{
"additionalProperties": false,
"properties": {
"createdAt": {
"type": "string"
},
"id": {
"type": "string"
},
"state": {
"enum": [
"queued",
"ready",
"failed"
],
"type": "string"
}
},
"required": [
"id",
"state",
"createdAt"
],
"type": "object"
}ReportStatus
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/ReportStatus.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"state": {
"enum": [
"queued",
"ready",
"failed"
],
"type": "string"
}
},
"required": [
"id",
"state"
],
"type": "object"
}Request
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Request.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"audience": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"brief": {
"maxLength": 4000,
"minLength": 20,
"type": "string"
},
"configuration": {
"maxLength": 300,
"type": "string"
},
"consent": {
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
},
"sources": {
"items": {
"$ref": "#/components/schemas/SourceRef"
},
"maxItems": 3,
"type": [
"array",
"null"
]
}
},
"required": [
"id",
"brief",
"audience"
],
"type": "object"
}Resource
{
"additionalProperties": false,
"properties": {
"body": {
"maxLength": 30000,
"type": "string"
},
"bookmarked": {
"type": "boolean"
},
"category": {
"maxLength": 60,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"kind": {
"enum": [
"guide",
"checklist",
"template",
"policy"
],
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
},
"summary": {
"maxLength": 600,
"type": "string"
},
"title": {
"maxLength": 160,
"type": "string"
}
},
"required": [
"id",
"title",
"summary",
"category",
"kind",
"body",
"revision",
"bookmarked"
],
"type": "object"
}Routing
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Routing.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"answer": {
"type": "string"
},
"course": {
"type": "string"
},
"dailyLimit": {
"format": "int64",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"revision",
"course",
"answer",
"dailyLimit"
],
"type": "object"
}SSOAction
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SSOAction.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"action": {
"enum": [
"check",
"publish",
"disable"
],
"type": "string"
},
"revision": {
"format": "int64",
"type": "integer"
}
},
"required": [
"revision",
"action"
],
"type": "object"
}SSOChange
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SSOChange.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"config": {
"$ref": "#/components/schemas/SSOConfig"
},
"domains": {
"items": {
"type": "string"
},
"maxItems": 20,
"type": [
"array",
"null"
]
},
"revision": {
"format": "int64",
"type": "integer"
}
},
"required": [
"revision",
"config"
],
"type": "object"
}SSOChoice
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"name": {
"type": "string"
},
"protocol": {
"type": "string"
},
"signInUrl": {
"type": "string"
}
},
"required": [
"id",
"name",
"protocol",
"signInUrl"
],
"type": "object"
}SSOChoices
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SSOChoices.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"company": {
"type": "string"
},
"connections": {
"items": {
"$ref": "#/components/schemas/SSOChoice"
},
"type": [
"array",
"null"
]
}
},
"required": [
"company",
"connections"
],
"type": "object"
}SSOConfig
{
"additionalProperties": false,
"properties": {
"certificate": {
"maxLength": 12000,
"type": "string"
},
"clientId": {
"maxLength": 254,
"type": "string"
},
"clientSecret": {
"maxLength": 4096,
"type": "string"
},
"issuer": {
"maxLength": 2048,
"type": "string"
},
"jwksUrl": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"protocol": {
"enum": [
"saml",
"oidc"
],
"type": "string"
},
"ssoUrl": {
"maxLength": 2048,
"type": "string"
},
"tokenUrl": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"protocol",
"name",
"issuer",
"ssoUrl",
"tokenUrl",
"jwksUrl",
"certificate",
"clientId"
],
"type": "object"
}SSOConnections
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SSOConnections.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"canManage": {
"type": "boolean"
},
"connections": {
"items": {
"$ref": "#/components/schemas/SSOSummary"
},
"type": [
"array",
"null"
]
},
"limit": {
"format": "int64",
"type": "integer"
}
},
"required": [
"connections",
"canManage",
"limit"
],
"type": "object"
}SSOSummary
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"lastSignIn": {
"type": "string"
},
"name": {
"type": "string"
},
"protocol": {
"type": "string"
},
"revision": {
"format": "int64",
"type": "integer"
},
"status": {
"type": "string"
}
},
"required": [
"id",
"name",
"protocol",
"status",
"revision",
"lastSignIn"
],
"type": "object"
}SSOView
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SSOView.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"callbackUrl": {
"type": "string"
},
"canManage": {
"type": "boolean"
},
"checkedRevision": {
"format": "int64",
"type": "integer"
},
"config": {
"$ref": "#/components/schemas/SSOConfig"
},
"domains": {
"items": {
"type": "string"
},
"maxItems": 20,
"type": [
"array",
"null"
]
},
"entityId": {
"type": "string"
},
"hasSecret": {
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
},
"lastSignIn": {
"type": "string"
},
"message": {
"type": "string"
},
"publishedRevision": {
"format": "int64",
"type": "integer"
},
"revision": {
"format": "int64",
"type": "integer"
},
"signInUrl": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"publishedRevision",
"id",
"domains",
"canManage",
"config",
"hasSecret",
"revision",
"checkedRevision",
"status",
"message",
"callbackUrl",
"entityId",
"signInUrl",
"lastSignIn"
],
"type": "object"
}SessionOutputBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SessionOutputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"organisation_id": {
"description": "Organisation bound to this session",
"type": "string"
},
"user_id": {
"description": "Local user bound to this session",
"type": "string"
}
},
"required": [
"organisation_id",
"user_id"
],
"type": "object"
}Settings
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Settings.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"destinations": {
"items": {
"$ref": "#/components/schemas/Destination"
},
"maxItems": 4,
"type": [
"array",
"null"
]
},
"revision": {
"format": "int64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"revision",
"destinations"
],
"type": "object"
}SourceRef
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"revision": {
"format": "int64",
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"revision"
],
"type": "object"
}State
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/State.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"accent": {
"type": "string"
},
"canAdmin": {
"type": "boolean"
},
"courses": {
"items": {
"$ref": "#/components/schemas/Course"
},
"type": [
"array",
"null"
]
},
"drafts": {
"items": {
"$ref": "#/components/schemas/Course"
},
"type": [
"array",
"null"
]
},
"enrolments": {
"items": {
"$ref": "#/components/schemas/Enrolment"
},
"type": [
"array",
"null"
]
},
"limited": {
"type": "boolean"
},
"logo": {
"type": "string"
},
"organisation": {
"type": "string"
},
"people": {
"items": {
"$ref": "#/components/schemas/Person"
},
"type": [
"array",
"null"
]
},
"resources": {
"items": {
"$ref": "#/components/schemas/Resource"
},
"type": [
"array",
"null"
]
},
"roles": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"savedCourseIds": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"supportEmail": {
"type": "string"
},
"supportUrl": {
"type": "string"
},
"timezone": {
"type": "string"
},
"user": {
"$ref": "#/components/schemas/Person"
}
},
"required": [
"resources",
"savedCourseIds",
"canAdmin",
"logo",
"accent",
"supportEmail",
"supportUrl",
"timezone",
"drafts",
"limited",
"organisation",
"user",
"roles",
"courses",
"people",
"enrolments"
],
"type": "object"
}Status
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Status.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"answerConfiguration": {
"type": "string"
},
"answerModel": {
"type": "string"
},
"answerProvider": {
"type": "string"
},
"courseConfiguration": {
"type": "string"
},
"courseEnabled": {
"type": "boolean"
},
"courseProvider": {
"type": "string"
},
"dailyLimit": {
"format": "int64",
"type": "integer"
},
"enabled": {
"type": "boolean"
},
"model": {
"type": "string"
},
"resourcesEnabled": {
"type": "boolean"
}
},
"required": [
"courseProvider",
"answerProvider",
"answerModel",
"courseConfiguration",
"answerConfiguration",
"courseEnabled",
"resourcesEnabled",
"enabled",
"model",
"dailyLimit"
],
"type": "object"
}Support-startResponse
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Support-startResponse.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
}
},
"type": "object"
}Support-stopResponse
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/Support-stopResponse.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
}
},
"type": "object"
}SupportPeople
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SupportPeople.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"items": {
"items": {
"$ref": "#/components/schemas/SupportPerson"
},
"type": [
"array",
"null"
]
},
"more": {
"type": "boolean"
}
},
"required": [
"items",
"more"
],
"type": "object"
}SupportPerson
{
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"roles": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"suspended": {
"type": "boolean"
}
},
"required": [
"suspended",
"id",
"name",
"roles"
],
"type": "object"
}SupportStart
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SupportStart.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"confirm": {
"type": "boolean"
},
"mode": {
"enum": [
"view",
"act"
],
"type": "string"
},
"organisationId": {
"format": "uuid",
"type": "string"
},
"reason": {
"maxLength": 500,
"minLength": 10,
"type": "string"
},
"userId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"organisationId",
"userId",
"reason"
],
"type": "object"
}SupportState
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SupportState.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"actEnabled": {
"type": "boolean"
},
"active": {
"type": "boolean"
},
"company": {
"type": "string"
},
"expiresAt": {
"type": "string"
},
"mode": {
"type": "string"
},
"name": {
"type": "string"
},
"present": {
"type": "boolean"
},
"reason": {
"type": "string"
}
},
"required": [
"mode",
"actEnabled",
"present",
"active",
"name",
"company",
"expiresAt",
"reason"
],
"type": "object"
}SwitchInputBody
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/SwitchInputBody.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"organisation_id": {
"description": "Organisation to enter",
"minLength": 1,
"type": "string"
}
},
"required": [
"organisation_id"
],
"type": "object"
}Unit
{
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
}Usage
{
"additionalProperties": false,
"properties": {
"attempts": {
"format": "int64",
"type": "integer"
},
"failed": {
"format": "int64",
"type": "integer"
},
"inputTokens": {
"format": "int64",
"type": "integer"
},
"kind": {
"type": "string"
},
"measured": {
"format": "int64",
"type": "integer"
},
"model": {
"type": "string"
},
"outputTokens": {
"format": "int64",
"type": "integer"
},
"pending": {
"format": "int64",
"type": "integer"
},
"provider": {
"type": "string"
},
"succeeded": {
"format": "int64",
"type": "integer"
}
},
"required": [
"provider",
"model",
"kind",
"attempts",
"succeeded",
"failed",
"pending",
"inputTokens",
"outputTokens",
"measured"
],
"type": "object"
}Video
{
"additionalProperties": false,
"properties": {
"captionsReviewed": {
"type": "boolean"
},
"hash": {
"maxLength": 64,
"type": "string"
},
"id": {
"maxLength": 32,
"type": "string"
},
"provider": {
"enum": [
"youtube",
"vimeo",
"vimeo_api"
],
"type": "string"
}
},
"required": [
"provider",
"id",
"captionsReviewed"
],
"type": "object"
}View
{
"additionalProperties": false,
"properties": {
"$schema": {
"description": "A URL to the JSON Schema for this object.",
"examples": [
"https://example.com/schemas/View.json"
],
"format": "uri",
"readOnly": true,
"type": "string"
},
"canManage": {
"type": "boolean"
},
"capabilities": {
"items": {
"$ref": "#/components/schemas/Capability"
},
"type": [
"array",
"null"
]
},
"events": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"organisationId": {
"type": "string"
},
"preferences": {
"$ref": "#/components/schemas/Preference"
},
"settings": {
"$ref": "#/components/schemas/Settings"
},
"vimeoApi": {
"type": "boolean"
}
},
"required": [
"organisationId",
"preferences",
"settings",
"capabilities",
"canManage",
"vimeoApi",
"events"
],
"type": "object"
}Using the contract
Examples use relative URLs on your authorised LMS origin. There is no live request runner on this page. You can inspect the API without sending credentials or changing company data.
The reference is built directly from the committed Go-generated OpenAPI file. It documents registered HTTP operations, not every internal module or future integration. Runtime probes may be restricted by your installation’s proxy.