Axis REST API

Introduction and Overview

Return Data Format

All data is returned in JSON notation. Each documented endpoint page describes the data it returns.

For example, here is an example of an enpoint that returns a single result back - this is an example of what might be returned for a GET /courses/{course-id}/ endpoint:

{
  "id": "1",
  "name": "Course 101",
  "catalog_id": "001 CC-101",
  "description": "Lorem ipsum dolor sit amet",
  "is_active": "yes",
  "created": "2023-02-25 17:06:51",
  "last_updated": "2023-06-02 12:30:32",
  "admin_keyword_tags": "overview onboarding",
  "user_keyword_tags": "new first",
  "passing_score": "70",
  "for_sale": "no",
  "price": "0.00",
  "thumbnail": "https://www.imagelocation.com/image.png",
  "webhook": ""
}
 
Some endpoints return a result in JSON notation that represents multiple results, even if the returned result is a single record. This occurs in the following scenarios:
 
  • If an endpoint is returning more than one result
  • If an enpoint can return more than one result
  • If an endpoint is part of a series of enpoints that are capable of returning more than one result
  • If an endpoint is returning a value from /count/
In these scenarios, the returned JSON result will look similar to this example result from the GET /reports/courses/{course-id} endpoint:
 
[
    {
        "user_id": "25",
        "username": "gregory0429",
        "status": "incomplete",
        "progress": "0",
        "score": "0",
        "start_date": "20210429",
        "completion_date": ""
    },
    {
        "user_id": "71",
        "username": "adc9776",
        "status": "complete",
        "progress": "100",
        "score": "88",
        "start_date": "20200612",
        "completion_date": "20200614"
    }
]


Note that a single result may be returned like this:

[
    {
        "user_id": "25",
        "username": "gregory0429",
        "status": "incomplete",
        "progress": "0",
        "score": "0",
        "start_date": "20210429",
        "completion_date": ""
    }
]
 
The nesting of arrays in some endpoints can compound in some endpoints.
 
When the endpoint is invalid, or the API can not process the request for any reason, a JSON response similar to the following will be sent:
 

{
  "timestamp": "2023-09-22T12:04:07-04:00",
  "status": "422",
  "error": "unable to process request",
  "message": "invalid API endpoint"
}

The message in the response will indicate what the issue was.

 

Introduction and Overview
How to Use this Documentation
Authentication and API Keys
Authorization using Bearer Tokens
Data Types
Return Data Format
Pagination
API Logging
Consuming the Axis REST API
cURL Example Code
PHP Example Code
Certifications Endpoints
Certifications Endpoints Overview
GET /certifications/list/
GET /certifications/{program-id}/
GET /certifications/{program-id}/users/
GET /certifications/certificates/
GET /certifications/ceus/
POST /certifications/certificates/online/
POST /certifications/certificates/offline/
PUT /certifications/certificates/extend/
Courses Endpoints
Courses Endpoints Overview
GET /courses/count/
GET /courses/list/
GET /courses/{course-id}/
GET /courses/{course-id}/users/
POST /courses/enrollments/
DELETE /courses/enrollments/
ILT Endpoints
ILT Endpoints Overview
GET /ilt/list/
GET /ilt/users/{user-id}/sessions/
GET /ilt/{program-id}/
GET /ilt/{program-id}/sessions/
GET /ilt/{program-id}/meetings/
GET /ilt/{program-id}/completions/
POST /ilt/enrollments/
PUT /ilt/attendance/
DELETE /ilt/enrollments/
Learningpaths Endpoints
Learningpaths Endpoints Overview
GET /learningpaths/list/
GET /learningpaths/{learningpath-id}/users/
POST /learningpaths/enrollments/
DELETE /learningpaths/enrollments/
Organizations Endpoints
Organizations Endpoints Overview
GET /organizations/list/
GET /organizations/branches/
GET /organizations/users/{organization-id}/
GET /organizations/users/{organization-id}/{branch-id}/
POST /organizations/users/
DELETE /organizations/users/
Reports Endpoints
Reports Endpoints Overview
GET /reports/certifications/
GET /reports/courses/
GET /reports/learningpaths/
GET /reports/ilt/
GET /reports/users/{user-id}/courses/
GET /reports/users/all/courses/
GET /reports/users/filtered/courses/
GET /reports/users/{user-id}/archived/
GET /reports/users/all/archived/
GET /reports/users/filtered/archived/
GET/reports/users/{user-id}/certifications/
GET /reports/users/all/certifications/
GET /reports/users/filtered/certifications/
GET /reports/users/{user-id}/ilt/
GET /reports/users/all/ilt/
GET /reports/users/filtered/ilt/
GET /reports/users/{user-id}/learningpaths/
GET /reports/users/all/learningpaths/
GET /reports/users/filtered/learningpaths/
Users Endpoints
Users Endpoints Overview
GET /users/list/
GET /users/{user-id}/
GET /users/all/
GET /users/filtered/
POST /users/
PUT /users/
Usergroups Endpoints
Usergroups Endpoints Overview
GET /usergroups/list/
GET /usergroups/{usergroup-id}/
GET /usergroups/{usergroup-id}/members/
POST /usergroups/
POST /usergroups/members/
DELETE /usergroups/
DELETE /usergroups/members/