The Access API covers several groups of sub-APIs.
3 access control APIs:
3 connector APIs:
The Access API is enabled globally by default, and can be disabled with the ACCESS_API config option set to false.
It is fully accessible to all the clients which have the access/all permission enabled.
The API endpoints rely on the base endpoint of each client.
In this documentation, we will designate the base endpoint by <base-endpoint>.
To get the base endpoint of a client:
Access > API Consumers > Clients page.(i) icon of a client.Base endpoint label. Use the POST method on <base-endpoint>/stores with the following JSON props:
| Param | Description |
|---|---|
| slug | Required string. |
| name | Required string. |
Use the PUT method on <base-endpoint>/stores/<store-id> with the same above content, except slug which can't be modified.
Use the GET method on <base-endpoint>/stores.
Use the GET method on <base-endpoint>/stores/<store-id>.
Use the POST method on <base-endpoint>/clients with the following JSON props:
| Param | Description |
|---|---|
| slug | Required string. |
| name | Required string. |
| guard | Required string: basic-http, cmi5-token. |
| credentials | JSON object with username and password properties (min length of 8 chars). |
| cors | Optional string. |
| permissions | JSON object with permission settings (e.g. {"xapi/statements/write": true, "xapi/statements/read/mine": true}). |
| pipeline | JSON object with xAPI pipeline settings (e.g. {"validate_statements": true, "check_conflicts": true}). |
| store | Required slug of store. |
Use the PUT method on <base-endpoint>/clients/<client-id> with the same above content, except slug which can't be modified.
Use the GET method on <base-endpoint>/clients.
Use the GET method on <base-endpoint>/clients/<client-id>.
Use the DELETE method on <base-endpoint>/clients/<client-id>.
Use the POST method on <base-endpoint>/users with the following JSON props:
| Param | Description |
|---|---|
| firstname | Required string. |
| lastname | Required string. |
| Required email. Must be unique in the database. | |
| password | Required string (min length of 8 chars). |
| agent | Optional JSON encoded xAPI agent. |
| role | Required string: actor, analyst, manager, supervisor, admin. |
| stores | Required JSON encoded array of store slugs the user has access to. |
Use the PUT method on <base-endpoint>/users/<user-id> with the same above content,
except that the password are optional.
Use the GET method on <base-endpoint>/users.
Use the GET method on <base-endpoint>/users/<user-id>.
Use the DELETE method on <base-endpoint>/users/<user-id>.
Use the POST method on <base-endpoint>/connections/lrs with the following JSON props:
| Param | Description |
|---|---|
| name | Required string. |
| endpoint | Required URL. The endpoint of the targeted LRS. |
| username | Required string. The BasicHTTP username. |
| password | Required string. The BasicHTTP password. |
Use the PUT method on <base-endpoint>/connections/lrs/<connection-id> with the same above content,
except that the username and password are optional.
Use the GET method on <base-endpoint>/connections/lrs.
Use the GET method on <base-endpoint>/connections/lrs/<connection-id>.
Use the DELETE method on <base-endpoint>/connections/lrs.
Use the DELETE method on <base-endpoint>/connections/lrs/<connection-id>.
Use the POST method on <base-endpoint>/connections/db with the following JSON props:
| Param | Description |
|---|---|
| name | Required string. |
| driver | Required string: mysql, pgsql, mongodb, elasticsearch, opensearch. |
| host | Required string. The host of the targeted database. |
| username | Optional string. Credentials of the targeted database. |
| password | Optional string. Credentials of the targeted database. |
| prefix | Optional string. Prefix applicable to the table names. |
Use the PUT method on <base-endpoint>/connections/db/<connection-id> with the same above content.
Use the GET method on <base-endpoint>/connections/db.
Use the GET method on <base-endpoint>/connections/db/<connection-id>.
Use the DELETE method on <base-endpoint>/connections/db.
Use the DELETE method on <base-endpoint>/connections/db/<connection-id>.
Use the POST method on <base-endpoint>/connections/file with the following JSON props:
| Param | Description |
|---|---|
| name | Required string. |
| folder | Required string. The path of a folder. |
| prefix | Optional string. Prefix applicable to the file names. |
Use the PUT method on <base-endpoint>/connections/file/<connection-id> with the same above content.
Use the GET method on <base-endpoint>/connections/file.
Use the GET method on <base-endpoint>/connections/file/<connection-id>.
Use the DELETE method on <base-endpoint>/connections/file.
Use the DELETE method on <base-endpoint>/connections/file/<connection-id>.