v1

latestOpenAPI 3.1.1Proprietary2026-07-26184406877.9 KB
Provider integrations

Submit xAPI statement

Submits a single xAPI statement to record learner progress for a course. On success, returns 200 OK with accepted: true and the echoed statementId.

Submitting the same statement id (UUID) more than once returns 409 Conflict. Statements with an unrecognised verb are silently ignored and return 204 No Content with no body.

Before using this endpoint:

<ul> <li>An active LMS integration must exist for the `provider-identifier` — create one using <a href="/reference/post_learning-lms-integrations" target="_blank">Create integration</a>.</li> <li>The `actor.mbox` email must match the work email of an active employee in Bob.</li> <li>The `object.id` should correspond to the `sourceLink` of a known training content item pushed via <a href="/reference/post_learning-lms-integrations-provider-identifier-training-content" target="_blank">Create training content</a>.</li> <li>Supply a unique `id` (UUID) per statement for idempotency — resubmitting the same UUID returns `409`.</li> </ul>

Testing notes: Open the Examples panel and select a Request Example to inspect the body parameters. Supported xAPI verbs include completed, passed, and failed. The result object is optional but recommended.

post/learning/lms-integrations/{provider-identifier}/xapi/statements

Path parameters

provider-identifierstring required

The provider identifier of the LMS integration.

Request body

idstring uuid

Optional statement UUID.

timestampstring required

Statement timestamp (multiple ISO formats supported server-side).

Response

Statement accepted and processed successfully

acceptedboolean

Whether the statement was accepted.

statementIdstring nullable

Statement id echoed from the request when present.