REST API HTTP INTERFACE
The table below describes the routes that the HTTP interface provides. This HTTP interface is available for all models in Learning Locker.
...
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.
Method | Description |
---|---|
Gets a count of the models. | |
Gets a subset of the models. | |
Creates a model. | |
Gets a single model. | |
Creates or overwrites a model. | |
Creates or overwrites a model. | |
Patches a model. | |
Deletes a model. |
MODELS
The table below lists the models supported by this interface, you can view the model schemas by clicking the model names.
Name | API Model Name | Description |
---|---|---|
| Activity with many identifiers. | |
| Credentials that access HTTP Interfaces. | |
| Customisable grid of visualisations. | |
| Record of downloaded exports. | |
| Template for exporting statements. | |
| Journeys visualisation. | |
| Journey progress. | |
| Container of clients and stores that a subset of users can access. | |
| Person with many identifiers and attributes across systems. | |
| Unique xAPI identifier for a persona. | |
| Attribute of a persona. | |
| Saved filter for statements. | |
| Group of permissions for accessing organisation data via users. | |
| Container for xAPI data (statements, documents, and attachments). | |
| Login details for accessing the UI. | |
| Graphical view of statements. |
ROUTES
GET /COUNT
This route returns a count of the models. A request to this route would look something like the request below.
...
Code Block |
---|
{ "$or": [ { "name": { "$regex": "exampleSearchString", "$options": "i" } }, { "email": { "$regex": "exampleSearchString", "$options": "i" } } ] } |
GET /
This route returns an array of models. A request to this route would look something like the request below.
...
A request like the one above, will respond with a 200 response like the one below containing the models as JSON in the body. Different models will respond with a different schema, you can view the schemas by clicking the model names in the model table above.
Code Block |
---|
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 [ { "createdAt": "2017-08-08T14:35:18.400Z", "organisation": "111aaa1111a111111aa11111", "statementCount": 987, "title": "Example Store", "__v": 0, "updatedAt": "2017-08-08T14:35:33.721Z", "_id": "111aaa1111a111111aa11112" } ] |
...
Code Block |
---|
{ "$or": [ { "name": { "$regex": "exampleSearchString", "$options": "i" } }, { "email": { "$regex": "exampleSearchString", "$options": "i" } } ] } |
POST /
This route creates a model. A request to this route would look something like the request below. Different models will require and respond with a different schema, you can view the schemas by clicking the model names in the model table above.
Code Block |
---|
POST http://www.example.org/api/v2/lrs Authorization: Basic YOUR_BASIC_AUTH Content-Type: application/json; charset=utf-8 { "title": "Example Store" } |
...
Code Block |
---|
HTTP/1.1 201 CREATED Content-Type: application/json; charset=utf-8 { "createdAt": "2017-08-08T14:35:18.400Z", "organisation": "111aaa1111a111111aa11111", "statementCount": 0, "title": "Example Store", "updatedAt": "2017-08-08T14:35:33.721Z", "_id": "111aaa1111a111111aa11112", "__v": 0 } |
GET /:ID
This route returns a single model that has the specified identifier from the URL. A request to this route would look something like the request below.
...
A request like the one above, will respond with a 200 response like the one below containing the model as JSON in the body. Different models will respond with a different schema, you can view the schemas by clicking the model names in the model table above. Note that the request will return a 404 response if the model doesn’t exist.
...
For more information about the acceptable URL query parameters, view the Restify documentation.
PUT OR POST /:ID
This route creates or updates a single model that has the specified identifier from the URL. A request to this route would look something like the request below. Different models will require and respond with a different schema, you can view the schemas by clicking the model names in the model table above.
Code Block |
---|
PUT http://www.example.org/api/v2/lrs/111aaa1111a111111aa11112 Authorization: Basic YOUR_BASIC_AUTH Content-Type: application/json; charset=utf-8 { "createdAt": "2017-08-08T14:35:18.400Z", "organisation": "111aaa1111a111111aa11111", "statementCount": 987, "title": "Updated Title", "updatedAt": "2017-08-08T14:35:33.721Z", "_id": "111aaa1111a111111aa11112" } |
...
Code Block |
---|
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "createdAt": "2017-08-08T14:35:18.400Z", "organisation": "111aaa1111a111111aa11111", "statementCount": 987, "title": "Updated Title", "__v": 0, "updatedAt": "2017-08-08T14:35:33.721Z", "_id": "111aaa1111a111111aa11112" } |
PATCH /:ID
This route patches a single model that has the specified identifier from the URL. A request to this route would look something like the request below. Different models will require and respond with a different schema, you can view the schemas by clicking the model names in the model table above.
Code Block |
---|
PATCH http://www.example.org/api/v2/lrs/111aaa1111a111111aa11112 Authorization: Basic YOUR_BASIC_AUTH Content-Type: application/json; charset=utf-8 { "title": "Patched Title" } |
...
Code Block |
---|
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "createdAt": "2017-08-08T14:35:18.400Z", "organisation": "111aaa1111a111111aa11111", "statementCount": 987, "title": "Patched Title", "__v": 0, "updatedAt": "2017-08-08T14:35:33.721Z", "_id": "111aaa1111a111111aa11112" } |
DELETE /:ID
This route deletes a single model that has the specified identifier from the URL. A request to this route would look something like the request below.
...