Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Live Search | ||||||||
---|---|---|---|---|---|---|---|---|
|
Our API Feeds can be used to connect the accessplanit training management system to 3rd party cloud-based software, such as a CRM, HR, VLE, and finance systems, allowing you to sync your data with ease!
You will need middleware to sit in the middle of the two systems or a developer to connect your systems together.
To access the RESTful API Feeds please contact your assigned Customer Success Manager (CSM)
Responses are in JSON by default, but can be returned as XML; to request XML, add a Request Header of Accept with a value of application/xml
DISCLAIMER: By using accessplanit APIs, you agree to our terms of use.
What Feeds are available within the API Module?
API Feed Restrictions
Each individual API Feed end-point is restricted
to 60to 5000 requests per hour, unless your accessplanit system is hosted on a dedicated server (please contact our helpdesk team if you are unsure of this)
HTTP Verbs
The accessplanit API uses HTTP verbs appropriate for each action:
Verb | Description |
GET | Retrieve resource |
POST | Create resource |
PUT | Update resource |
DELETE | Delete resource |
Authorization
A token is required to make any requests on the API. Tokens should be included with every request.
Tokens are valid for 60 minutes from issue and must be included with every request. The token must be included as a Request Header of Authorization with the value Bearer tokenValue
Responses
The status of the response is used to provide feedback about the request:
Status Code | Description |
200 | OK – action completed successfully |
201 | Created – Record created successfully |
400 | Error – See “errors” section |
401 | Not authorized – token has not been provided or is invalid |
404 | Not found – url is incorrect or record does not exist |
Errors
If an error occurs during an operation, the response will have a 400 status code. The response will have a property of Message, which will give clearer information of what issue has occurred. In the case of updating/editing records, another property, ModelState, will be populated. See below for an example response:
Info | ||
---|---|---|
| ||
{ "Message": "The request is invalid.", "ModelState": { "user.DateOfBirth": [ "An error has occurred." ] } } |
Self-Discovery
Although there is documentation, the API is designed around HATEOAS principles and encourages self-discovery through the inclusion of links. Consider the example below:
Info | ||
---|---|---|
| ||
{ "CompanyID": "Example1", "Name": "Example Company", "MainContactUserID": “exmp1”, "EmailAddress": "", "ExternalID": null, "AddressLineOne": "12 Lancaster Street", "Town": "Lancaster", "County": "Lancashire", "Postcode": "LA1 1NY", "Country": "United Kingdom", "Links": [ { "Rel": "Self", "Href": "/api/v1/companies/Example1", "Action": "GET" }, { "Rel": "Self", "Href": "/api/v1/companies/Example1", "Action": "PUT" }, { "Rel": "CompanyGroups", "Href": "/api/v1/companies/Example1/companygroups", "Action": "GET" }, { "Rel": "MainContactUser", "Href": "/api/v1/users/exmp1", "Action": "GET" } ] } |
The Links property defines all the links that are applicable to this company. It also defines which actions are suitable for the provided links. Note how there are two Self-links, but one has the GET action and the other supports the POST action. This defines that the Company supports being read as well as being updated.
On this page:
Table of Contents |
---|