Table of Contents

Namespace Xapi.Client

Classes

ActivityProfileKey

A document in the Activity Profile resource (activities/profile), IEEE 9274.1.1, 4.1.6.6.

AgentProfileKey

A document in the Agent Profile resource (agents/profile), IEEE 9274.1.1, 4.1.6.5.

AttachmentPayload

The raw data of an Attachment, sent or received as a part of a multipart/mixed request or response and matched to its Attachment object by SHA-2 (IEEE 9274.1.1, 4.1.3).

DocumentKey

Identifies one document in the State, Activity Profile or Agent Profile resource: StateKey, ActivityProfileKey or AgentProfileKey.

DocumentPrecondition

An HTTP precondition for writing or deleting a document, so concurrent writers do not overwrite each other (IEEE 9274.1.1, 4.1.4). A failed precondition throws XapiPreconditionFailedException.

SignedStatement

A Statement signed by StatementSigner, ready to send with its signature.

StateKey

A document in the State resource (activities/state), IEEE 9274.1.1, 4.1.6.2.

StatementQuery

Filters and options for a Statement query (GET on the Statement resource without statementId), IEEE 9274.1.1, 4.1.6.1. Properties left at their defaults are not sent.

StatementResult

One page of a Statement query: the StatementResult object (IEEE 9274.1.1, 4.1.6.1).

StatementSigner

Signs Statements as IEEE 9274.1.1, 4.2.6 "Statement Signing" describes: a JSON Web Signature (RFC 7515, Compact Serialization, RS256, RS384 or RS512) of the Statement, sent as an Attachment with usage type SignatureUsageType and content type application/octet-stream.

XapiClient

The xAPI resources of one LRS over an HttpClient: Statements, State, Activity Profile, Agent Profile, Agents, Activities and About (IEEE 9274.1.1, 4.1.6). Every request carries the X-Experience-API-Version header and, if configured, credentials.

XapiClientDiagnostics

The names of the client's metrics, for OpenTelemetry's AddMeter or a MeterListener. The outbox in Xapi.Client.Outbox reports on the same meter. The names are part of the public contract: they change only in a major release.

XapiClientOptions

Settings for XapiClient. The client copies them when it is created.

XapiConflictException

The LRS answered 409 Conflict.

XapiCredentials

How the client authenticates: HTTP Basic or a bearer token.

XapiDocument

A document of the State, Activity Profile or Agent Profile resource: arbitrary bytes with a content type, plus the ETag and Last-Modified time the LRS returned with it.

XapiHttpException

The LRS answered, but not with something the client can use: an error status, or a success status whose body does not follow the standard.

XapiPreconditionFailedException

The LRS answered 412 Precondition Failed: the If-Match ETag no longer matches, or If-None-Match: * was sent for a document that exists. The LRS changed nothing (IEEE 9274.1.1, 4.1.4).