Xapi.Client
0.2.0
dotnet add package Xapi.Client --version 0.2.0
NuGet\Install-Package Xapi.Client -Version 0.2.0
<PackageReference Include="Xapi.Client" Version="0.2.0" />
<PackageVersion Include="Xapi.Client" Version="0.2.0" />
<PackageReference Include="Xapi.Client" />
paket add Xapi.Client --version 0.2.0
#r "nuget: Xapi.Client, 0.2.0"
#:package Xapi.Client@0.2.0
#addin nuget:?package=Xapi.Client&version=0.2.0
#tool nuget:?package=Xapi.Client&version=0.2.0
Xapi.Client
Experience API (xAPI 2.0, IEEE 9274.1.1, and 1.0.3) client for .NET over HttpClient. It covers every LRS
resource: Statements with attachments and signing, State and profile documents with ETag preconditions, Agents,
Activities and About. The client negotiates the xAPI version with the LRS and validates statements before it
sends them.
dotnet add package Xapi.Client
Usage
With using Xapi; and using Xapi.Client;:
using var http = new HttpClient();
var client = new XapiClient(http, new XapiClientOptions
{
Endpoint = new Uri("https://lrs.example.com/xapi/"),
Credentials = XapiCredentials.Basic(key, secret),
});
var statement = new Statement(
Agent.FromMbox("learner@example.com", "Ada Learner"),
Verbs.Completed,
new Activity(new Iri("https://example.com/courses/fire-safety")));
var id = await client.SaveStatementAsync(statement);
Console.WriteLine($"The LRS stored statement {id}");
To keep statements through network outages and restarts, add Xapi.Client.Outbox.
Target frameworks
netstandard2.0 (.NET Framework 4.6.2 and later) and net10.0. The net10.0 build can be trimmed and
published with Native AOT, and adds registration with dependency injection and IHttpClientFactory.
Links
License
Apache License 2.0. The package contains the LICENSE, NOTICE and THIRD-PARTY-NOTICES.md files.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.0)
- System.Diagnostics.DiagnosticSource (>= 7.0.0)
- System.Text.Json (>= 10.0.0)
- Xapi.Core (>= 0.2.0)
-
net10.0
- Microsoft.Extensions.Http (>= 10.0.13)
- Xapi.Core (>= 0.2.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Xapi.Client:
| Package | Downloads |
|---|---|
|
Xapi.Client.Outbox
Durable outbox for Experience API (xAPI 2.0 and 1.0.3) statements on top of Xapi.Client: statements are stored on disk before they are sent, then delivered in order and in batches with retries, error classification, dead letters and idempotent resend. Works offline, on .NET Framework, Unity and modern .NET. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0 | 41 | 10/17/2026 |
| 0.1.0-preview.1 | 41 | 10/17/2026 |