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:

  • An active LMS integration must exist for the `provider-identifier` — create one using Create integration.
  • The `actor.mbox` email must match the work email of an active employee in Bob.
  • The `object.id` should correspond to the `sourceLink` of a known training content item pushed via Create training content.
  • Supply a unique `id` (UUID) per statement for idempotency — resubmitting the same UUID returns `409`.

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.

Path Params
string
required

The provider identifier of the LMS integration.

Body Params

xAPI statement accepted by XapiProgressStatement. Unknown JSON fields may be ignored where annotated with @JsonIgnoreProperties(ignoreUnknown = true) on nested types.

uuid

Optional statement UUID.

string
required

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

actor
object
required
verb
object
required
object
object
required
result
object
Responses

204

No content — statement ignored (unknown type)

403

Forbidden — feature disabled or missing permissions

Language
Credentials
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json