Table of Contents

Namespace Xapi

Classes

About

The response of the About resource: the xAPI versions an LRS supports, plus extensions.

Account

An account identifier: a user account on an existing system, such as an LMS.

Activity

An Activity: something an Actor interacted with, identified by an IRI.

ActivityDefinition

Metadata about an Activity, including the interaction properties of assessment items.

Actor

An Agent or a Group: who a Statement is about, its authority, or an instructor or team.

Agent

An individual, identified by exactly one inverse functional identifier.

Attachment

The header of a Statement attachment: what it is, its type, size and hash.

Context

Contextual information that gives a Statement more meaning.

ContextActivities

Activities that give a Statement context, grouped by their relationship to it.

ContextAgent

An Agent related to a Statement, with the kinds of relationship (xAPI 2.0 contextAgents).

ContextGroup

A Group related to a Statement, with the kinds of relationship (xAPI 2.0 contextGroups).

Extensions

An immutable xAPI extensions map: IRI keys mapped to arbitrary JSON values, as found in result.extensions, context.extensions, Activity definitions and the About resource.

Group

A Group of Agents. An identified Group has an inverse functional identifier and may list members; an anonymous Group has no identifier and must list at least one member.

InteractionComponent

One item of an interaction component list (choices, scale, source, target, steps).

InverseFunctionalIdentifier

An inverse functional identifier (IFI) that identifies an Agent or Group: Mbox, MboxSha1Sum, OpenId or Account.

LanguageMap

An immutable xAPI language map: RFC 5646 language tags mapped to strings in that language.

Mbox

An mbox identifier: a mailto: IRI such as mailto:learner@example.com.

MboxSha1Sum

An mbox_sha1sum identifier: the hex SHA-1 of a mailto: IRI.

OpenId

An openid identifier: an OpenID URI that identifies the Agent.

Person

The response of the Agents resource: everything an LRS knows about a person, where each property is a list and several identifiers may appear together.

Result

A measured outcome of the experience a Statement describes.

Score

The score of an Agent for an Activity.

Statement

An xAPI Statement: an Actor, a Verb and an object, with optional result, context and attachments.

StatementObject

The object of a Statement: an Activity, an Agent or Group, a StatementRef or a SubStatement.

StatementRef

A reference to another Statement by its id, used as an object (for example when voiding) or as context.statement.

SubStatement

A Statement used as the object of another Statement, for example to record something an Actor plans to do. It has no id, stored, version or authority, and its object cannot be another SubStatement.

UuidV7Generator

Generates RFC 9562 version 7 UUIDs that are strictly increasing per generator, also within the same millisecond. Use them as statement ids and as time-ordered storage keys.

Verb

The action an Actor took, identified by an IRI, with optional display names.

Verbs

Common Verbs from the ADL vocabulary (http://adlnet.gov/expapi/verbs/), with an en-US display name.

XapiError

One problem found while reading or validating xAPI data.

XapiErrorCodes

The stable error codes used in Code. Codes name the rule; Path says where it was broken. Section numbers refer to IEEE 9274.1.1 (LRS book unless stated).

XapiList

Factory methods for XapiList<T>, usable from C# 9 and as a collection-expression builder.

XapiList<T>

An immutable list with structural (element-by-element, ordered) equality, so that records holding lists compare by value.

XapiTimestamp

Reads and writes xAPI timestamps (timestamp, stored).

XapiValidationException

Thrown at API edges (for example GetValueOrThrow) when xAPI data is invalid.

Structs

Iri

An absolute Internationalized Resource Identifier (RFC 3987), such as an Activity id, a Verb id or an extension key. Also used for IRLs (moreInfo, homePage, openid, fileUrl).

XapiDuration

An ISO 8601 duration as used by result.duration, for example PT1H30M or P4W.

XapiList<T>.Enumerator

A struct enumerator for XapiList<T>.

XapiVersion

An xAPI version profile. Reading, writing and validation take one explicitly, so one process can serve both versions.

Enums

InteractionType

The kind of interaction an Activity represents (interactionType).