Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The table below describes the routes that the HTTP interface provides, all of the URLs are relative to http://www.example.org/data/xAPI where http://www.example.org is the URL of your Learning Locker instance. To access this interface, you must additionally supply your Basic Auth details with each request in the Authorization header. Your Basic Auth details can be found under Settings > Clients. Go to the xAPI HTTP interface documentation to see the rest of the xAPI routes.

Route

Description

GET /agents

Retrieves all of the agents used by a person.

PUT /agents/profile

Creates or overwrites a profile document.

POST /agents/profile

Creates or merges a profile document.

GET /agents/profile

Retrieves a single profile document or multiple profile identifiers.

DELETE /agents/profile

Deletes a single profile document.

...

This route allows you to retrieve all of the agents that are used by a single person, given one of the agents that they use via the required agent URL parameter. The request below demonstrates how this is done. A person can be created by inserting statements or using the Persona HTTP interface. Multiple agents can be associated with a person by using the Persona HTTP interface too. For more information, view the GET /agents route in the xAPI specification.

...

To retrieve the ETag for the initial profile, you need to retrieve the profile via the GET /agents/profile route. The request below demonstrates how to do this.

...

This route allows you to create a single profile document if it doesn't exist or merge an existing profile document if it does exist. The route allows the same URL parameters as the PUT /agents/profile route. The profile document is merged when the profile document exists, the existing profile document is a JSON encoded object, and the posted profile document is a JSON encoded object. When the two JSON encoded documents are merged, only the top-level properties are merged. The example requests below demonstrate merging profile documents. For more information, view the POST /agents/profile route in the xAPI specification.

POST Initial Profile

To POST an initial profile, the request should be something like the request below. Notice that there is an If-None-Match header in the request below, this is to ensure that a profile document doesn't already exist before the profile document is created. Without the If-None-Match header there would be a precondition failure thrown and the response would be a 412 for the request below.

...

To retrieve the ETag for the initial profile, you need to retrieve the profile via the GET /agents/profile route. The request below demonstrates how to do this.

...

This route allows you to retrieve a single profile document or multiple profile identifiers. If the profileId URL parameter is set, it will retrieve a single profile document with the profile identifier, otherwise it will retrieve many profile identifiers. For more information, view the GET /agents/profile route in the xAPI specification.

Retrieve Single Agent Document

The route allows the same URL parameters as the PUT /agents/profile route. A request to this route should be similar to the request below.

...

The route allows the same URL parameters as the PUT /agents/profile route except for the profileId parameter and with the addition of the optional since parameter. The since URL parameter is an ISO timestamp that ensures only profile identifiers stored since the timestamp (exclusive) are returned. A request to this route should be similar to the request below.

...

This route allows you to delete a single profile document and allows the same URL parameters as the PUT /agents/profile route. For more information, view the DELETE /agents/profile route in the xAPI specification.

GET Agent Profile ETag

To retrieve the ETag for the agent profile, you need to retrieve the profile via the GET /agents/profile route. The request below demonstrates how to do this.

...