• ASCENT
    • Overview
    • Pricing
    • Specs
    • Trainers
    • Resellers
    • FAQ
    • Support
    • Integration
    • Buy
    • API Documentation
  • Courses
  • About
    • About Aerostudies
  • Showcase
  • News
  • Contact Us
AEROSTUDIESAEROSTUDIES
  • ASCENT
    • Overview
    • Pricing
    • Specs
    • Trainers
    • Resellers
    • FAQ
    • Support
    • Integration
    • Buy
    • API Documentation
  • Courses
  • About
    • About Aerostudies
  • Showcase
  • News
  • Contact Us

API Documentation

Home API Documentation

Introduction

The Aerostudies API is designed to be able to allow third-parties to fully manage or access all parts of our LMS as easily as possible. Synchronizing data between our application and yours is also made easier with the option to receive callback events for most of the important events that occur within our application.

Overview

There are multiple different components of the API which reflect the different aspects of how users would generally interact with our system. The components are logically organized for the most part, and each one deals with general administration of that area as well as managing how that part pertains to users as well.

All components generally have a set of functions (endpoints) that allow you to manage the higher level aspects of the data objects that are relevant for that component. These are general CRUD type operations, though each CRUD action is mapped to a specific endpoint (update/create/delete) and all utilize POST, instead of segregating the functionality into different request types.

When sending data to an endpoint you should always expect some sort of return data. The data returned may be as simple as a boolean true/false, or an entire data structure, especially in the cases of creation/updating data objects. Most, if not all, component actions will have example return data shown in the API so you know what to expect at the very least.

Authentication

Our API currently only supports OAuth 2.0 and specifically only the authorization code workflow.

Please see this guide for implementing OAuth with our system: Aerostudies OAuth API Guide

Error Codes

Component actions will always return either an error or success code to let you know of errors. Errors are also descriptive where it’s appropriate and possible. We do not however, send different error codes for different error types; We instead try to use verbose errors when you encounter them.

Rate Limit

We do rate limit requests, however it’s very unlikely you would need to work around that. Our application is not a high request type of environment, so if you are having issues with this please contact us.

Synchronizing User Id’s

It’s important to synchronize user id’s between systems in order to be able to effectively utilize callback’s and pull relevant user data. One of the easiest methods of doing this is to utilize our auth redirect workflow. You simply direct the user in question to an auth link with specific query paramaters added to that link and after they are successfully authorized, our system will pass back their user id so that you save that to identify this user through the API in the future.

An example URL you would use:

https://ascent.aerostudies.com/main/auth/signin?redirect=aHR0cHM6Ly93d3cubXl3ZWJhcHAuY29tL3VzZXJzL3N5bmNJZA==&sendUserIdOnRedirect=true

In this example, we have setup the “redirect” query paramater to a base 64 encoded version of the url we want to send the user to after they’ve successfully authenticated on Ascent. For the purposes of this example, the redirect url (https://www.mywebapp.com/users/syncId) would send the user back to our web app at a location that would save the returned user id. We need to also set the “sendUserIdOnRedirect” so that the Ascent system knows to not only redirect the user, but also append the Ascent User id onto the redirect url. In this example, after successful authentication Ascent will redirect the user to the following url:

https://www.mywebapp.com/users/syncId&systemUserId=38495

The important part being the added “systemUserId” query parameter which signifies that the user that just signed in is recognized by this id in the Ascent system. At this point you would save that Ascent system user id in your application and do whatever suits your workflow.

Automatically signing in users to the Ascent system

In order to provide a “seamless” integration to the Ascent system you will likely not want your users to need to re-authenticate every time they need to use the Ascent system. In this case you can utilize the OTP (One Time Password) functionality of the Ascent API to generate a temporary OTP to sign them in without any effort.

The appropriate Ascent API endpoint is: /users/generateOtp

With this, you are only required to send the userId or email of the user you want to sign in and it will generate a valid OTP for that specific user which you can then place as a link/button on your web application for the user to sign in with. As long as the OTP is valid (Has not expired, not malformed) the user will be signed in to the Ascent system.

Building on the OTP functionality you can also send redirect and/or sendUserIdOnRedirect parameters to that endpoint to redirect the user after signing in with the OTP and to get the userId back, which could be utilized as an alternative method to synchronize user id’s.

  • Competency
    • Assign Competency
    • Create Competency
    • Delete Competency
    • List Competencies
    • List User Assigned Competencies
    • Update Competency
    • Update Competency Assignment
    • Withdraw Competency Assignment
  • Document
    • Assign Document
    • Create Document
    • Delete Document
    • List Documents
    • List User Assigned Documents
    • Update Document
    • Update Document Assignment
    • Withdraw Document Assignment
  • Express
    • Assign Express Module
    • Generate Express Certificate
    • Generate Express Exam PDF
    • Get Progress
    • Get Training Link
    • LIst Modules
    • Token Inventory
    • Withdraw express training
  • Groups
    • Assign Managers To Group
    • Assign Students To Group
    • Create Group
    • Delete Group
    • List Groups
    • List Managers
    • List Students
    • Update Group
    • Withdraw Managers From Group
    • Withdraw Students From Group
  • Learning Center
    • Get Information
  • Modules
    • Create Module
    • List Modules
    • Manage Module Schedule
  • OAuth
    • Authorize
    • Refresh Token
    • Register
    • Token
  • OLTE
    • Assign OLTE
    • Create OLTE
    • Delete OLTE
    • List Oltes
    • List User Assigned Oltes
    • Update OLTE
    • Update OLTE Assignment
    • Withdraw OLTE Assignment
  • System Callbacks
    • Competency
    • Document
    • Groups
    • Modules
    • OLTE
    • Training
    • Users
  • Tokens
    • Get Token Inventory
    • Get Token Requests
    • Request Tokens
  • Training
    • Archive Training
    • Assign Training
    • Generate Exam Detail PDF
    • Generate Exam PDF
    • Generate Module Certificate
    • Get Training Link
    • Get Training Progress
    • List Training
    • Update Training
    • Withdraw Training
  • Users
    • Archive User
    • Assign Groups
    • Assign Roles
    • Create User
    • Delete User
    • Generate OTP Link
    • Get User
    • List Students
    • Suspend
    • Update User
    • Withdraw Groups
    • Withdraw Roles

Competency 8

urlencoded

Assign Competency  |  POST   {{apiUrl}}/competency/assign

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id to assign competency to

competencyId323

Competency id

dueDate2010-01-01

Date that competency is due

dueDateNotification1

Send a due date notification email (0 = false, 1 = true)

NotificationSetting[student][notify]1

Send due date notification to student (0 = false, 1 = true)

NotificationSetting[student][period]10

The number of (days/weeks/months) that this assignment will be due in

NotificationSetting[student][periodType]W

Determines the due date interval (D = Day, W = Week, M = Month, Y = Year)

NotificationSetting[student][repeatDays]10

Repeat the due date reminder every specified number of days


Example Request

URL: {{apiUrl}}/competency/assign
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id to assign competency to

competencyId323

Competency id

dueDate2010-01-01

Date that competency is due

dueDateNotification1

Send a due date notification email (0 = false, 1 = true)

NotificationSetting[student][notify]1

Send due date notification to student (0 = false, 1 = true)

NotificationSetting[student][period]10

The number of (days/weeks/months) that this assignment will be due in

NotificationSetting[student][periodType]W

Determines the due date interval (D = Day, W = Week, M = Month, Y = Year)

NotificationSetting[student][repeatDays]10

Repeat the due date reminder every specified number of days

Example Response

Body
{ "status": "success", "data": { "StudentCompetency": { "id": 441, "userId": 38576, "competencyId": 323, "created": "2020-06-08 16:33:01", "modified": "2020-06-08 16:33:01", "dueDate": "2010-01-01 00:00:00", "dueDateNotification": 1, "networkId": 106, "notes": null }, "Competency": { "id": 323, "name": "BE20 Pilot proficiency – 2020", "created": "2020-06-08 14:18:47", "modified": "2020-06-08 16:29:11", "networkId": 106 }, "NotificationSetting": { "student": { "notify": 1, "period": 10, "periodType": "W", "repeatDays": 10 } } } }
Code:
200
urlencoded

Create Competency  |  POST   {{apiUrl}}/competency/create

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

nameBE20 Pilot proficiency

Competency name

CompetencyRequirement[0][objectId]54531

Competency requirement object id

CompetencyRequirement[0][type]0

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[1][objectId]48670

Competency requirement object id

CompetencyRequirement[1][type]0

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[2][objectId]1608

Competency requirement object id

CompetencyRequirement[2][type]1

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[3][objectId]1609

Competency requirement object id

CompetencyRequirement[3][type]1

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[4][objectId]375

Competency requirement object id

CompetencyRequirement[4][type]2

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[5][objectId]302

Competency requirement object id

CompetencyRequirement[5][type]2

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[6][objectId]635

Competency requirement object id

CompetencyRequirement[6][type]3

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[7][objectId]358

Competency requirement object id

CompetencyRequirement[7][type]3

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)


Example Request

URL: {{apiUrl}}/competency/create
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

nameBE20 Pilot proficiency

Competency name

CompetencyRequirement[0][objectId]54531

Competency requirement object id

CompetencyRequirement[0][type]0

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[1][objectId]48670

Competency requirement object id

CompetencyRequirement[1][type]0

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[2][objectId]1608

Competency requirement object id

CompetencyRequirement[2][type]1

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[3][objectId]1609

Competency requirement object id

CompetencyRequirement[3][type]1

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[4][objectId]375

Competency requirement object id

CompetencyRequirement[4][type]2

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[5][objectId]302

Competency requirement object id

CompetencyRequirement[5][type]2

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[6][objectId]635

Competency requirement object id

CompetencyRequirement[6][type]3

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[7][objectId]358

Competency requirement object id

CompetencyRequirement[7][type]3

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

Example Response

Body
{ "status": "success", "data": { "Competency": { "id": 323, "name": "BE20 Pilot proficiency", "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47", "networkId": 106 }, "CompetencyRequirement": [ { "id": 2144, "competencyId": 323, "type": 0, "objectId": 54531, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2145, "competencyId": 323, "type": 0, "objectId": 48670, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2146, "competencyId": 323, "type": 1, "objectId": 1608, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2147, "competencyId": 323, "type": 1, "objectId": 1609, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2148, "competencyId": 323, "type": 2, "objectId": 375, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2149, "competencyId": 323, "type": 2, "objectId": 302, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2150, "competencyId": 323, "type": 3, "objectId": 635, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2151, "competencyId": 323, "type": 3, "objectId": 358, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" } ] } }
Code:
200
urlencoded

Delete Competency  |  POST   {{apiUrl}}/competency/delete

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

id174

Competency to delete


Example Request

URL: {{apiUrl}}/competency/delete
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

id174

Competency to delete

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

List Competencies  |  POST   {{apiUrl}}/competency/listCompetencies

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/competency/listCompetencies
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": { "1": "Forklift Operator", "174": "Ability to Work Airside", "251": "Pilot – General", "252": "New Competency", "253": "Captain – B737", "277": "Ramp Ops", "323": "BE20 Pilot proficiency" } }
Code:
200
urlencoded

List User Assigned Competencies  |  POST   {{apiUrl}}/competency/listAssigned

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id to list assigned competencies for


Example Request

URL: {{apiUrl}}/competency/listAssigned
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id to list assigned competencies for

Example Response

Body
{ "status": "success", "data": [ { "StudentCompetency": { "id": 437, "userId": 38576, "competencyId": 322, "created": "2020-06-04 16:12:27", "modified": "2020-06-04 16:12:27", "dueDate": "2010-01-01 00:00:00", "dueDateNotification": 1, "networkId": 106, "notes": null }, "Competency": { "id": 322, "name": "First Aid", "created": "2020-05-28 11:56:16", "modified": "2020-05-28 11:56:16", "networkId": 106 }, "NotificationSetting": { "student": { "notify": 1, "period": 10, "periodType": "W", "repeatDays": 10 } } } ] }
Code:
200
urlencoded

Update Competency  |  POST   {{apiUrl}}/competency/update

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

id323

Competency id to update

nameBE20 Pilot proficiency – 2020

Competency name

CompetencyRequirement[0][objectId]54531

Competency requirement object id

CompetencyRequirement[0][type]0

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[1][objectId]48671

Competency requirement object id

CompetencyRequirement[1][type]0

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[2][objectId]1608

Competency requirement object id

CompetencyRequirement[2][type]1

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[3][objectId]1609

Competency requirement object id

CompetencyRequirement[3][type]1

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[4][objectId]375

Competency requirement object id

CompetencyRequirement[4][type]2

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[5][objectId]302

Competency requirement object id

CompetencyRequirement[5][type]2

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[6][objectId]635

Competency requirement object id

CompetencyRequirement[6][type]3

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[7][objectId]358

Competency requirement object id

CompetencyRequirement[7][type]3

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)


Example Request

URL: {{apiUrl}}/competency/update
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

id323

Competency id to update

nameBE20 Pilot proficiency – 2020

Competency name

CompetencyRequirement[0][objectId]54531

Competency requirement object id

CompetencyRequirement[0][type]0

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[1][objectId]48671

Competency requirement object id

CompetencyRequirement[1][type]0

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[2][objectId]1608

Competency requirement object id

CompetencyRequirement[2][type]1

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[3][objectId]1609

Competency requirement object id

CompetencyRequirement[3][type]1

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[4][objectId]375

Competency requirement object id

CompetencyRequirement[4][type]2

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[5][objectId]302

Competency requirement object id

CompetencyRequirement[5][type]2

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[6][objectId]635

Competency requirement object id

CompetencyRequirement[6][type]3

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

CompetencyRequirement[7][objectId]358

Competency requirement object id

CompetencyRequirement[7][type]3

Competency requirement type (0 = module, 1 = curriculum, 2 = olte, 3 = document)

Example Response

Body
{ "status": "success", "data": { "Competency": { "id": 323, "name": "BE20 Pilot proficiency – 2020", "created": "2020-06-08 14:18:47", "modified": "2020-06-08 16:29:11", "networkId": 106 }, "CompetencyRequirement": [ { "id": 2144, "competencyId": 323, "type": 0, "objectId": 54531, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2146, "competencyId": 323, "type": 1, "objectId": 1608, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2147, "competencyId": 323, "type": 1, "objectId": 1609, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2148, "competencyId": 323, "type": 2, "objectId": 375, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2149, "competencyId": 323, "type": 2, "objectId": 302, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2150, "competencyId": 323, "type": 3, "objectId": 635, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2151, "competencyId": 323, "type": 3, "objectId": 358, "created": "2020-06-08 14:18:47", "modified": "2020-06-08 14:18:47" }, { "id": 2152, "competencyId": 323, "type": 0, "objectId": 48671, "created": "2020-06-08 16:29:11", "modified": "2020-06-08 16:29:11" } ] } }
Code:
200
urlencoded

Update Competency Assignment  |  POST   {{apiUrl}}/competency/updateAssignment

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id to update competency assignment for

id441

Competency assignment id

dueDate2010-01-01

Date that competency is due

dueDateNotification1

Send a due date notification email (0 = false, 1 = true)

notestest123

Extraneous notes that may be applicable to this competency assignment

NotificationSetting[student][notify]1

Send due date notification to student (0 = false, 1 = true)

NotificationSetting[student][period]20

The number of (days/weeks/months) that this assignment will be due in

NotificationSetting[student][periodType]M

Determines the due date interval (D = Day, W = Week, M = Month, Y = Year)

NotificationSetting[student][repeatDays]20

Repeat the due date reminder every specified number of days


Example Request

URL: {{apiUrl}}/competency/updateAssignment
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id to update competency assignment for

id441

Competency assignment id

dueDate2010-01-01

Date that competency is due

dueDateNotification1

Send a due date notification email (0 = false, 1 = true)

notestest123

Extraneous notes that may be applicable to this competency assignment

NotificationSetting[student][notify]1

Send due date notification to student (0 = false, 1 = true)

NotificationSetting[student][period]20

The number of (days/weeks/months) that this assignment will be due in

NotificationSetting[student][periodType]M

Determines the due date interval (D = Day, W = Week, M = Month, Y = Year)

NotificationSetting[student][repeatDays]20

Repeat the due date reminder every specified number of days

Example Response

Body
{ "status": "success", "data": { "StudentCompetency": { "id": 441, "userId": 38576, "competencyId": 323, "created": "2020-06-08 16:33:01", "modified": "2020-06-08 16:35:15", "dueDate": "2010-01-01 00:00:00", "dueDateNotification": 1, "networkId": 106, "notes": "test123" }, "Competency": { "id": 323, "name": "BE20 Pilot proficiency – 2020", "created": "2020-06-08 14:18:47", "modified": "2020-06-08 16:29:11", "networkId": 106 }, "NotificationSetting": { "student": { "notify": 1, "period": 20, "periodType": "M", "repeatDays": 20 } } } }
Code:
200
urlencoded

Withdraw Competency Assignment  |  POST   {{apiUrl}}/competency/withdraw

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

id441

Competency assignment id


Example Request

URL: {{apiUrl}}/competency/withdraw
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

id441

Competency assignment id

Example Response

Body
{ "status": "success", "data": true }
Code:
200

Document 8

formdata

Assign Document  |  POST   {{apiUrl}}/document/assign

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to assign document to

documentID1638

Document id to assign to user

expires1

Sets whether this document expires or not (0 = false, 1 = true)

files[]

Document specific to this olte assignment

files[]

Document specific to this olte assignment


Example Request

URL: {{apiUrl}}/document/assign
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to assign document to

documentID1638

Document id to assign to user

expires1

Sets whether this document expires or not (0 = false, 1 = true)

files[]

Document specific to this olte assignment

files[]

Document specific to this olte assignment

Example Response

Body
{ "status": "success", "data": { "LicenseAndEndorsement": { "courseID": 20335, "networkID": 106, "userID": 38576, "date_created": "0000-00-00 00:00:00", "active": 1, "date_expiry": null, "categoryID": 0, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 0, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "date_issued": null, "documentID": 1638, "document_number": null, "files": "/files/offline_attachments/16/1.png,/files/offline_attachments/16/2.png", "verificationStatus": 0, "verificationData": null }, "DocumentName": { "documentID": 1638, "document_name": "Pilot License (All pilots)", "networkID": 106, "id": 1638, "name": "Pilot License (All pilots)" }, "NotificationSetting": { "id": 1881700, "settings": "{\"student\":{\"notify\":1,\"period\":1,\"periodType\":\"M\",\"repeatDays\":5},\"manager\":{\"notify\":0,\"period\":1,\"periodType\":\"M\",\"repeatDays\":5},\"other\":[],\"misc\":{\"expiry_notes\":false}}", "type": "doc", "userID": 38576, "objectID": 20335, "created": "2020-06-08 14:01:09", "modified": "2020-06-08 14:01:09" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5 }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5 }, "other": [], "misc": { "expiry_notes": false } } } }
Code:
200
urlencoded

Create Document  |  POST   {{apiUrl}}/document/create

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

document_namePilot license

Document name


Example Request

URL: {{apiUrl}}/document/create
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

document_namePilot license

Document name

Example Response

Body
{ "status": "success", "data": { "DocumentName": { "documentID": 1638, "document_name": "Pilot license", "networkID": 106, "id": 1638, "name": "Pilot license" } } }
Code:
200
urlencoded

Delete Document  |  POST   {{apiUrl}}/document/delete

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

documentID1638

Document id to delete


Example Request

URL: {{apiUrl}}/document/delete
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

documentID1638

Document id to delete

Example Response

Body
{ "status": "success", "data": true }
Code:
200
urlencoded

List Documents  |  POST   {{apiUrl}}/document/listDocuments

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/document/listDocuments
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": { "4": "Medical Certificate – Class 1", "273": "Drivers Licence", "358": "MasterCard – Expense", "468": "Passport", "588": "TDG Certificate", "635": "CPLca339681", "1638": "Pilot license" } }
Code:
200
urlencoded

List User Assigned Documents  |  POST   {{apiUrl}}/document/listAssigned

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to list assigned documents for


Example Request

URL: {{apiUrl}}/document/listAssigned
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to list assigned documents for

Example Response

Body
{ "status": "success", "data": [ { "LicenseAndEndorsement": { "courseID": 7120, "networkID": 106, "userID": 38576, "date_created": "2016-06-17 10:57:55", "active": 0, "date_expiry": "2019-04-01 00:00:00", "categoryID": 0, "notes": "", "expiration_date": "2019-04-01 00:00:00", "expiration_period": 1, "expiration_type": 1, "expires": 1, "expiration_notify_status": 1, "expiration_period_type": "days", "date_issued": "2014-04-01 00:00:00", "documentID": 588, "document_number": null, "files": "", "verificationStatus": 0, "verificationData": null }, "DocumentName": { "documentID": 588, "document_name": "TDG Certificate", "networkID": 106, "id": 588, "name": "TDG Certificate" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "manager": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "other": [] } }, { "LicenseAndEndorsement": { "courseID": 10428, "networkID": 106, "userID": 38576, "date_created": "2017-03-22 09:58:50", "active": 0, "date_expiry": null, "categoryID": 0, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 1, "expires": 0, "expiration_notify_status": 0, "expiration_period_type": "days", "date_issued": null, "documentID": 635, "document_number": null, "files": "/files/offline_attachments/16/images.jpg", "verificationStatus": 0, "verificationData": null }, "DocumentName": { "documentID": 635, "document_name": "CPLca339681", "networkID": 106, "id": 635, "name": "CPLca339681" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "other": [] } }, { "LicenseAndEndorsement": { "courseID": 20133, "networkID": 106, "userID": 38576, "date_created": "2020-04-06 15:50:41", "active": 1, "date_expiry": "2021-04-06 00:00:00", "categoryID": 0, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 1, "expires": 0, "expiration_notify_status": 0, "expiration_period_type": "years", "date_issued": null, "documentID": 358, "document_number": "", "files": "", "verificationStatus": 0, "verificationData": { "verifiedBy": "Martin Rel", "date": "2020-04-06", "hasDocument": 0, "location": "", "notes": "" } }, "DocumentName": { "documentID": 358, "document_name": "MasterCard – Expense", "networkID": 106, "id": 358, "name": "MasterCard – Expense" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "other": [], "misc": { "expiry_notes": false } } } ] }
Code:
200
urlencoded

Update Document  |  POST   {{apiUrl}}/document/update

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

documentID1638

Document id

document_namePilot License (All pilots)

Document name


Example Request

URL: {{apiUrl}}/document/update
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

documentID1638

Document id

document_namePilot License (All pilots)

Document name

Example Response

Body
{ "status": "success", "data": { "DocumentName": { "documentID": 1638, "document_name": "Pilot License (All pilots)", "networkID": 106, "id": 1638, "name": "Pilot License (All pilots)" } } }
Code:
200
formdata

Update Document Assignment  |  POST   {{apiUrl}}/document/updateAssignment

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id that has document assignment

courseID20335

Document assignment id to update

notesadded notes

Any notes that may be relevant to this assignment


Example Request

URL: {{apiUrl}}/document/updateAssignment
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id that has document assignment

courseID20335

Document assignment id to update

notesadded notes

Any notes that may be relevant to this assignment

Example Response

Body
{ "status": "success", "data": { "LicenseAndEndorsement": { "courseID": 20335, "networkID": 106, "userID": 38576, "date_created": "0000-00-00 00:00:00", "active": 1, "date_expiry": null, "categoryID": 0, "notes": "added notes", "expiration_date": null, "expiration_period": 1, "expiration_type": 0, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "date_issued": null, "documentID": 1638, "document_number": null, "files": "/files/offline_attachments/16/1.png,/files/offline_attachments/16/2.png", "verificationStatus": 0, "verificationData": null }, "DocumentName": { "documentID": 1638, "document_name": "Pilot License (All pilots)", "networkID": 106, "id": 1638, "name": "Pilot License (All pilots)" }, "NotificationSetting": { "id": 1881700, "settings": "{\"student\":{\"notify\":1,\"period\":1,\"periodType\":\"M\",\"repeatDays\":5},\"manager\":{\"notify\":0,\"period\":1,\"periodType\":\"M\",\"repeatDays\":5},\"other\":[],\"misc\":{\"expiry_notes\":false}}", "type": "doc", "userID": 38576, "objectID": 20335, "created": "2020-06-08 14:01:09", "modified": "2020-06-08 14:09:02" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5 }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5 }, "other": [], "misc": { "expiry_notes": false } } } }
Code:
200
urlencoded

Withdraw Document Assignment  |  POST   {{apiUrl}}/document/withdraw

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

courseID20335

Document assignment id to withdraw from student


Example Request

URL: {{apiUrl}}/document/withdraw
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

courseID20335

Document assignment id to withdraw from student

Example Response

Body
{ "status": "success", "data": true }
Code:
200

Express 8

Express API calls are only meant for those who use our application for managing and using express modules. Express modules are generally used for one-off training events, or where tracking training for students is not critical. Students that are enrolled in express modules are not tracked as users within our application and instead, their data only lives with the specific express module that was assigned to them.

urlencoded

Assign Express Module  |  POST   {{apiUrl}}/express/assignTraining

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Student[firstName]some

Students first name

Student[lastName]guy

Students last name

Student[email]

Students email

Module[id]62936

Express module id to assign

Module[sendCertificate]false

Send a module certificate after completion (false/true)

Module[onCompleteRedirectUri]https://www.ourcompany.com/api/moduleComplete/userid=1234

Redirect student to specified URL on completion


Example Request

URL: {{apiUrl}}/express/assignTraining
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Student[firstName]some

Students first name

Student[lastName]guy

Students last name

Student[email]

Students email

Module[id]62936

Express module id to assign

Module[sendCertificate]false

Send a module certificate after completion (false/true)

Module[onCompleteRedirectUri]https://www.ourcompany.com/api/moduleComplete/userid=1234

Redirect student to specified URL on completion

Example Response

Body
{ "status": "success", "data": { "token": "d6CaL3w58z9onkKiENOSXXULYK6EZx9k", "trainingLink": "http://dev.aerostudies.com/student/express_learn/518314b43fed3cd7521bca9c440a3ac4/d6CaL3w58z9onkKiENOSXXULYK6EZx9k" } }
Code:
200
urlencoded

Generate Express Certificate  |  POST   {{apiUrl}}/express/generateCertificate

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}

Express token

access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/express/generateCertificate
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}
access_token{{access_token}}

Example Response

Body
{ "status": "success", "data": { "certificatePdfLink": "http://dev.aerostudies.com/certificate/viewExpress//FEeOR05nrIUWfUYAOjKoPQ4RDdKJoZlM/pdf/S" } }
Code:
200
urlencoded

Generate Express Exam PDF  |  POST   {{apiUrl}}/express/generateExamPDF

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}

Express token

access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/express/generateExamPDF
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}

Express token

access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": { "examPdfLink": "http://dev.aerostudies.com/student/express_exam_detail//FEeOR05nrIUWfUYAOjKoPQ4RDdKJoZlM" } }
Code:
200
urlencoded

Get Progress  |  POST   {{apiUrl}}/express/progress

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}
access_token{{access_token}}

Example Request

URL: {{url}}/express/progress?token={token}
Headers
KeyValueDescription
Auth-IdQk0jmg8kC9MieGz8td8HZ3H4bpKzpU0f
Auth-KeyR2ea5tZxWBokqgALPR89DLJ9m9916A5d
Query
KeyValueDescription
token{token}

Example Response

Body
{ "status": "success", "data": { "Student": { "firstName": "test", "lastName": "person", "email": "" }, "Progress": { "isComplete": false, "percentComplete": 75, "secondsSpentInModule": 3660, "furthestPage": 75, "dateCompleted": "0000-00-00 00:00:00" }, "Module": { "name": "Sample Module", "id": "12345", "pageCount": "100" } } }
Code:
200
urlencoded

Get Training Link  |  POST   {{apiUrl}}/express/trainingLink

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}

Express token

access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/express/trainingLink
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}
access_token{{access_token}}

Example Response

Body
{ "status": "success", "data": "http://dev.aerostudies.com/student/express_learn/518314b43fed3cd7521bca9c440a3ac4/FEeOR05nrIUWfUYAOjKoPQ4RDdKJoZlM" }
Code:
200
urlencoded

LIst Modules  |  POST   {{apiUrl}}/express/listModules

Headers
KeyValueDescription
Auth-IdQk0jmg8kC9MieGz8td8HZ3H4bpKzpU0f
Auth-KeyR2ea5tZxWBokqgALPR89DLJ9m9916A5d
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth acces token


Example Request

URL: {{apiUrl}}/express/listModules
Headers
KeyValueDescription
Auth-IdQk0jmg8kC9MieGz8td8HZ3H4bpKzpU0f
Auth-KeyR2ea5tZxWBokqgALPR89DLJ9m9916A5d
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth acces token

Example Response

Body
{ "status": "success", "data": [ { "name": "First Aid – New 2020", "id": 62936, "status": 0, "number": 0, "customData": null } ] }
Code:
200
urlencoded

Token Inventory  |  POST   {{apiUrl}}/express/tokenInventory

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/express/tokenInventory
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

Example Response

Body
{ "status": "success", "data": { "available": 3, "used": 6, "total": 9 } }
Code:
200
urlencoded

Withdraw express training  |  POST   {{apiUrl}}/express/withdraw

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}
access_token{{access_token}}

Example Request

URL: {{apiUrl}}/express/withdraw
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}
access_token{{access_token}}

Example Response

Body
{ "status": "success", "data": false }
Code:
200

Groups 10

urlencoded

Assign Managers To Group  |  POST   {{apiUrl}}/groups/assignManagers

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to assign managers to

managerIds[0]67461

Manager user id to assign

managerIds[1]18924

Manager user id to assign


Example Request

URL: {{apiUrl}}/groups/assignManagers
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to assign managers to

managerIds[0]67461

Manager user id to assign

managerIds[1]18924

Manager user id to assign

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

Assign Students To Group  |  POST   {{apiUrl}}/groups/assignStudents

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to assign students to

studentIds[0]18924

Student user id to assign


Example Request

URL: {{apiUrl}}/groups/assignStudents
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to assign students to

studentIds[0]18924

Student user id to assign

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

Create Group  |  POST   {{apiUrl}}/groups/create

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

group_nameAir traffic controllers

Student group name


Example Request

URL: {{apiUrl}}/groups/create
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

group_nameAir traffic controllers

Student group name

Example Response

Body
{ "status": "success", "data": { "StudentGroup": { "group_name": "Air traffic controllers", "networkID": 106, "groupID": 8935 } } }
Code:
200
urlencoded

Delete Group  |  POST   {{apiUrl}}/groups/delete

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to delete


Example Request

URL: {{apiUrl}}/groups/delete
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to delete

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

List Groups  |  POST   {{apiUrl}}/groups/listGroups

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/groups/listGroups
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": [ { "groupID": 6054, "group_name": "Admin" }, { "groupID": 1055, "group_name": "BE20 Pilots" }, { "groupID": 8271, "group_name": "Dangerous Goods Transport" }, { "groupID": 1048, "group_name": "Dispatch" }, { "groupID": 8272, "group_name": "Maintenance" }, { "groupID": 1049, "group_name": "New Employees" }, { "groupID": 6329, "group_name": "Oakville" }, { "groupID": 1046, "group_name": "Operations" }, { "groupID": 6571, "group_name": "Toronto" }, { "groupID": 5123, "group_name": "Warehouse Equipment Operators" } ] }
Code:
200
urlencoded

List Managers  |  POST   {{apiUrl}}/groups/listManagers

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID1055

Student group id you want to see list of managers for


Example Request

URL: {{apiUrl}}/groups/listManagers
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID1055

Student group id you want to see list of managers for

Example Response

Body
{ "status": "success", "data": [ 42536 ] }
Code:
200
urlencoded

List Students  |  POST   {{apiUrl}}/groups/listStudents

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID1055

Student group id which you want list of students for


Example Request

URL: {{apiUrl}}/groups/listStudents
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID1055

Student group id of student list

Example Response

Body
{ "status": "success", "data": [ 39252, 40148, 41159, 41747, 52300, 54297, 65889, 67071, 76797 ] }
Code:
200
urlencoded

Update Group  |  POST   {{apiUrl}}/groups/update

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to update

group_nameAir Traffic Controllers (YVR)

Student group name


Example Request

URL: {{apiUrl}}/groups/update
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}
groupID8935
group_nameAir Traffic Controllers (YVR)

Example Response

Body
{ "status": "success", "data": { "StudentGroup": { "groupID": 8935, "group_name": "Air Traffic Controllers (YVR)", "networkID": 106 } } }
Code:
200
urlencoded

Withdraw Managers From Group  |  POST   {{apiUrl}}/groups/withdrawManagers

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to withdraw managers from

managerIds[0]18924

Manager user id to withdraw


Example Request

URL: {{apiUrl}}/groups/withdrawManagers
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to withdraw managers from

managerIds[0]18924

Manager user id to withdraw

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

Withdraw Students From Group  |  POST   {{apiUrl}}/groups/withdrawStudents

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to withdraw students from

studentIds[0]18924

Student user id to withdraw


Example Request

URL: {{apiUrl}}/groups/withdrawStudents
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

groupID8935

Student group id to withdraw students from

studentIds[0]18924

Student user id to withdraw

Example Response

Body
{ "status": "success", "data": null }
Code:
200

Learning Center 1

urlencoded

Get Information  |  POST   {{apiUrl}}/learningCenter/getInfo

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/learningCenter/getInfo
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": { "id": 106, "name": "AeroSouth", "address": "100 Carbide Drive", "city": "Littlewood", "state": "Florida", "zip": 71921, "country": "United States", "logo": "https://ascent.aerostudies.com/files/media_library/106/corporate_logo/images/aerosouth_logo3501.jpg", "edition": "trainers" } }
Code:
200

Modules 3

formdata

Create Module  |  POST   {{apiUrl}}/modules/create

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

course_nameAPI Test Module

Module name

customData{test: “random data”}

Custom data you can set, up to 4kb in text format (Can put JSON/XML here, or whatever is useful to you)

author_userID{{userID}}

User id which is manually set as the author of this module (Integer id)

image

Logo image for the module, shows up in student, training developer and registrar module listings

cert_logo

A custom logo to use for the module certificate specific to this module

background_image

A global background image to show on all pages throughout the module


Example Request

URL: {{url}}/express/progress?token={token}
Headers
KeyValueDescription
Auth-IdQk0jmg8kC9MieGz8td8HZ3H4bpKzpU0f
Auth-KeyR2ea5tZxWBokqgALPR89DLJ9m9916A5d
Query
KeyValueDescription
token{token}

Example Response

Body
{ "status": "success", "data": { "Student": { "firstName": "test", "lastName": "person", "email": "" }, "Progress": { "isComplete": false, "percentComplete": 75, "secondsSpentInModule": 3660, "furthestPage": 75, "dateCompleted": "0000-00-00 00:00:00" }, "Module": { "name": "Sample Module", "id": "12345", "pageCount": "100" } } }
Code:
200
urlencoded

List Modules  |  POST   {{apiUrl}}/modules/listModules

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/modules/listModules
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": [ { "Course": { "courseID": 221, "networkID": 106, "course_name": "AVOP Training [Online Component]", "course_number": "ATC001", "image": "/files/media_library/106/student_home_banner/images/gemini-jets-airport-vehicles-set-scale-1-400-gjarptseta-1796-p.jpg", "prerequisites": "Valid License", "short_description": "Airside Vehicle Operations Permit course.", "detailed_description": "Anyone operating any kind of vehicle on the part of airport property which can be accessed by an airplane must have a valid \"Airside Vehicle Operator's Permit\". This includes employees of the airport, employees of airport tenants, as well as contractors and sub-contractors.", "course_price": 98.5, "course_points": 5, "course_points_type": 0, "status": 1, "course_navigation": 1, "navigation_lock": 1, "scorm_meta": "", "date_created": "2004-02-03 14:04:09", "date_last_updated": "2020-03-30 18:09:22", "start_date": "0000-00-00 00:00:00", "end_date": "0000-00-00 00:00:00", "seconds_alloted": 0, "show_certificate": 0, "email_cert": 1, "pdf_cert": 1, "manual_mark": 0, "notify_instructor": 1, "course_currency": "CAD$", "systemTime": 1, "systemTimeHours": 0, "systemTimeMinutes": 0, "course_summary": "", "ecomm": 0, "image_large": "", "featured": 0, "assign_course_mark": 1, "course_time_cert": 0, "practical": 0, "expiration_date": "0000-00-00 00:00:00", "expiration_period_days": 0, "show_expiration_on_certificate": 0, "email_expiration_reminder": 0, "expiration_reminder_notice_in_days": 0, "expiration_reminder_notice_in_months": 0, "expiration_reminder_repeat_period_in_days": 0, "expiration_period_months": 0, "expiration_period_years": 0, "expiration_period_type": 0, "expiration_reminder_to_student": 1, "expiration_reminder_to_manager": 0, "expiration_reminder_email_1": "", "expiration_reminder_email_2": "", "expiration_reminder_email_3": "", "expiration_reminder_email_4": "", "expiration_reminder_email_5": "", "round_expiration_date_up": 0, "expires": 0, "expiration_notify_status": 0, "repeat_expiration_reminder": 0, "expiration_type": "period", "expiration_day_month": 0, "expiration_day_month_type": 0, "round_expiration_date_day": 1, "minimum_required_course_time_seconds": 5400, "minimum_required_course_time_open_nav": 0, "help_link_destination": "coach", "show_course_mark": 0, "mark_message": "", "showdetails": 1, "certificate_details": "<p>This course includes:</p>\r\n<p>&nbsp;</p>\r\n<ul>\r\n<li>Airport Orientation</li>\r\n<li>Regulations &amp; Laws</li>\r\n<li>Types of Vehicles</li>\r\n<li>Airport traffic areas&nbsp;</li>\r\n<li>Pavement markings</li>\r\n<li>Signs</li>\r\n<li>Lights</li>\r\n<li>Runway crossing procedures</li>\r\n<li>Exam</li>\r\n</ul>\r\n<p style=\"text-align: center;\"><img src=\"https://ascent.aerostudies.com/learning_object_library/106/IMAGES/Runway_Safety_images/RunSaf_1.gif\" alt=\"\" width=\"150\" /></p>", "cert_logo": "", "transition": "none", "template_type": 0, "recurrent_status": 0, "recurrent_type": 0, "recurrent_frequency": 0, "recurrent_date": "0000-00-00 00:00:00", "recurrent_date_every": 0, "recurrent_notify_period": "", "recurrent_notify_repeat_status": 0, "recurrent_notify_repeat": 0, "recurrent_notify_student": 0, "recurrent_notify_manager": 0, "recurrent_notify_instructor": 0, "recurrent_notify_custom": "", "list_in_marketplace": 0, "wallet_layout": "", "wallet_status": 0, "auto_assign_status": 0, "auto_assign_course_status": 0, "auto_assign_courseID": 0, "auto_assign_date_type": 0, "auto_assign_date_period": 0, "auto_assign_date_period_type": 0, "auto_assign_date": 0, "auto_assign_retain_month": 0, "default_header_status": 0, "default_header": "", "default_footer_status": 0, "default_footer": "", "permission_type": 0, "author_userID": 18924, "version": "", "calc_npages": 90, "phponly": 1, "expiration_period": 0, "expiration_reminder_emails": "", "auto_assign_due_date_period": 0, "auto_assign_due_date_type": "D", "assignment_notify_student": 1, "assignment_notify_manager": 0, "assignment_notify_registrar": 0, "auto_assign_due_date_period_type": 0, "assignment_notify_custom": "", "expiration_reminder_custom": "", "access_practical_marking": 0, "background_image": "{\"url\":\"\",\"opacity\":1}", "addendums": "", "allow_simple_editor": 0, "maximum_course_time": 0, "maximum_course_time_seconds": 0, "maximum_course_time_notify_manager": 0, "maximum_course_time_notify_instructor": 0, "groupIds": "[]", "valid_period_type": 1, "valid_period_length": 1, "valid_period_interval": "D", "valid_period_after": 1, "notifyArDueDate": 0, "expressVerified": 0, "customdata": "", "isExpress": 0, "id": 221, "name": "AVOP Training [Online Component]", "number": "ATC001" } }, { "Course": { "courseID": 1402, "networkID": 106, "course_name": "TEMPLATE – New Course", "course_number": 0, "image": "/files/media_library/106/modules/1402/images/large/placeholderASCENT4.gif", "prerequisites": "None", "short_description": "A basic template of key elements of online course.", "detailed_description": "You can take this course and select 'Save As' from the menu, then re-name it as your new course and edit appropriately.", "course_price": 0, "course_points": 0, "course_points_type": 0, "status": 4, "course_navigation": 1, "navigation_lock": 1, "scorm_meta": "", "date_created": "2007-10-02 17:21:36", "date_last_updated": "2015-09-11 15:24:35", "start_date": "0000-00-00 00:00:00", "end_date": "0000-00-00 00:00:00", "seconds_alloted": 0, "show_certificate": 0, "email_cert": 0, "pdf_cert": 0, "manual_mark": 0, "notify_instructor": 1, "course_currency": "CAD$", "systemTime": 1, "systemTimeHours": 0, "systemTimeMinutes": 0, "course_summary": "", "ecomm": 0, "image_large": "", "featured": 0, "assign_course_mark": 1, "course_time_cert": 0, "practical": 0, "expiration_date": "0000-00-00 00:00:00", "expiration_period_days": 0, "show_expiration_on_certificate": 0, "email_expiration_reminder": 0, "expiration_reminder_notice_in_days": 0, "expiration_reminder_notice_in_months": 0, "expiration_reminder_repeat_period_in_days": 0, "expiration_period_months": 0, "expiration_period_years": 0, "expiration_period_type": 0, "expiration_reminder_to_student": 1, "expiration_reminder_to_manager": 0, "expiration_reminder_email_1": null, "expiration_reminder_email_2": null, "expiration_reminder_email_3": null, "expiration_reminder_email_4": null, "expiration_reminder_email_5": null, "round_expiration_date_up": 0, "expires": 0, "expiration_notify_status": 0, "repeat_expiration_reminder": 0, "expiration_type": "period", "expiration_day_month": 0, "expiration_day_month_type": 0, "round_expiration_date_day": 1, "minimum_required_course_time_seconds": 0, "minimum_required_course_time_open_nav": 0, "help_link_destination": "instructor", "show_course_mark": 0, "mark_message": "", "showdetails": 0, "certificate_details": null, "cert_logo": 0, "transition": "none", "template_type": 0, "recurrent_status": 0, "recurrent_type": 0, "recurrent_frequency": 0, "recurrent_date": "0000-00-00 00:00:00", "recurrent_date_every": 0, "recurrent_notify_period": "", "recurrent_notify_repeat_status": 0, "recurrent_notify_repeat": 0, "recurrent_notify_student": 0, "recurrent_notify_manager": 0, "recurrent_notify_instructor": 0, "recurrent_notify_custom": "", "list_in_marketplace": 0, "wallet_layout": null, "wallet_status": null, "auto_assign_status": 0, "auto_assign_course_status": 0, "auto_assign_courseID": 0, "auto_assign_date_type": 0, "auto_assign_date_period": 0, "auto_assign_date_period_type": 0, "auto_assign_date": 0, "auto_assign_retain_month": 0, "default_header_status": 0, "default_header": "", "default_footer_status": 0, "default_footer": "", "permission_type": 0, "author_userID": 0, "version": "", "calc_npages": 17, "phponly": 1, "expiration_period": 0, "expiration_reminder_emails": null, "auto_assign_due_date_period": 0, "auto_assign_due_date_type": "D", "assignment_notify_student": 1, "assignment_notify_manager": 0, "assignment_notify_registrar": 0, "auto_assign_due_date_period_type": 0, "assignment_notify_custom": "", "expiration_reminder_custom": "", "access_practical_marking": 0, "background_image": null, "addendums": "", "allow_simple_editor": 0, "maximum_course_time": 0, "maximum_course_time_seconds": 0, "maximum_course_time_notify_manager": 0, "maximum_course_time_notify_instructor": 0, "groupIds": "[]", "valid_period_type": 1, "valid_period_length": 1, "valid_period_interval": "D", "valid_period_after": 1, "notifyArDueDate": 0, "expressVerified": 0, "customdata": null, "isExpress": 0, "id": 1402, "name": "TEMPLATE – New Course", "number": 0 } }, { "Course": { "courseID": 1435, "networkID": 106, "course_name": "Security Guidelines – General Aviation Operation", "course_number": "0001s", "image": "/files/media_library/106/student_home_banner/images/245595_6234.jpg", "prerequisites": "none", "short_description": "TSA Security Guidelines for GA & BA Airports", "detailed_description": "Overview of what is required to meet TSA security guidelines for U.S. General Aviation airports.", "course_price": 0, "course_points": 10, "course_points_type": 0, "status": 0, "course_navigation": 0, "navigation_lock": 1, "scorm_meta": "", "date_created": "2006-01-27 21:08:28", "date_last_updated": "2013-11-16 15:43:20", "start_date": "0000-00-00 00:00:00", "end_date": "0000-00-00 00:00:00", "seconds_alloted": 0, "show_certificate": 0, "email_cert": 1, "pdf_cert": 1, "manual_mark": 0, "notify_instructor": 1, "course_currency": "CAD$", "systemTime": 1, "systemTimeHours": 0, "systemTimeMinutes": 0, "course_summary": "This course copied over from Aerostudies Learning Center", "ecomm": 0, "image_large": "", "featured": 0, "assign_course_mark": 0, "course_time_cert": 1, "practical": 0, "expiration_date": "0000-00-00 00:00:00", "expiration_period_days": 0, "show_expiration_on_certificate": 0, "email_expiration_reminder": 0, "expiration_reminder_notice_in_days": 0, "expiration_reminder_notice_in_months": 0, "expiration_reminder_repeat_period_in_days": 0, "expiration_period_months": 0, "expiration_period_years": 0, "expiration_period_type": 0, "expiration_reminder_to_student": 1, "expiration_reminder_to_manager": 0, "expiration_reminder_email_1": null, "expiration_reminder_email_2": null, "expiration_reminder_email_3": null, "expiration_reminder_email_4": null, "expiration_reminder_email_5": null, "round_expiration_date_up": 0, "expires": 0, "expiration_notify_status": 0, "repeat_expiration_reminder": 0, "expiration_type": "period", "expiration_day_month": 0, "expiration_day_month_type": 0, "round_expiration_date_day": 1, "minimum_required_course_time_seconds": 0, "minimum_required_course_time_open_nav": 0, "help_link_destination": "instructor", "show_course_mark": 0, "mark_message": "", "showdetails": 0, "certificate_details": null, "cert_logo": 0, "transition": "none", "template_type": 0, "recurrent_status": 0, "recurrent_type": 0, "recurrent_frequency": 0, "recurrent_date": "0000-00-00 00:00:00", "recurrent_date_every": 0, "recurrent_notify_period": "", "recurrent_notify_repeat_status": 0, "recurrent_notify_repeat": 0, "recurrent_notify_student": 0, "recurrent_notify_manager": 0, "recurrent_notify_instructor": 0, "recurrent_notify_custom": "", "list_in_marketplace": 0, "wallet_layout": null, "wallet_status": null, "auto_assign_status": 0, "auto_assign_course_status": 0, "auto_assign_courseID": 0, "auto_assign_date_type": 0, "auto_assign_date_period": 0, "auto_assign_date_period_type": 0, "auto_assign_date": 0, "auto_assign_retain_month": 0, "default_header_status": 0, "default_header": "", "default_footer_status": 0, "default_footer": "", "permission_type": 0, "author_userID": 0, "version": "", "calc_npages": 118, "phponly": 0, "expiration_period": 0, "expiration_reminder_emails": null, "auto_assign_due_date_period": 0, "auto_assign_due_date_type": "D", "assignment_notify_student": 1, "assignment_notify_manager": 0, "assignment_notify_registrar": 0, "auto_assign_due_date_period_type": 0, "assignment_notify_custom": "", "expiration_reminder_custom": "", "access_practical_marking": 0, "background_image": null, "addendums": "", "allow_simple_editor": 0, "maximum_course_time": 0, "maximum_course_time_seconds": 0, "maximum_course_time_notify_manager": 0, "maximum_course_time_notify_instructor": 0, "groupIds": "[]", "valid_period_type": 1, "valid_period_length": 1, "valid_period_interval": "D", "valid_period_after": 1, "notifyArDueDate": 0, "expressVerified": 0, "customdata": null, "isExpress": 0, "id": 1435, "name": "Security Guidelines – General Aviation Operation", "number": "0001s" } } ] }
Code:
200
urlencoded

Manage Module Schedule  |  POST   {{apiUrl}}/modules/manageSchedule

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

courseID54531

Module Id which will have its schedule changed

expires1

Flag that determines whether the module expires or not (0 = false, 1 = true)

expiration_period1

The number of (days/weeks/months) for expiry

expiration_period_typeD

Determines the expiry interval (D = Day, W = Week, M = Month, Y = Year)

expiration_notify_status1

Send out expiration notification emails (0 = false, 1 = true)

show_expiration_on_certificate1

Show expiration date on module certificate (0 = false, 1 = true)

valid_period_type1

How valid period is calculated relative to expiry date (0 = on expiry date, 1 = last day of expiry calendar month, 2 = first day of month following expiry, 3 = relative custom date)

valid_period_length

The number of (days/weeks/months) for validity (Only used when valid_period_type = 3)

valid_period_interval

Determines the validity interval (D = Day, W = Week, M = Month, Y = Year) (Only used when valid_period_type = 3)

valid_period_after1

Whether to calculate validity before or after relative to expiry date (0 = before, 1 = after) (Only used when valid_period_type = 3)

auto_assign_courseID54531

The module id to assign when this module is about to expire and re-assign a new module in its place (Even if that’s the same module id)

auto_assign_date_period1

The number of (days/weeks/months) for auto assignment

auto_assign_date_typeW

Determines the auto assignment interval (D = Day, W = Week, M = Month, Y = Year)

assignment_notify_student1

Notify the student on auto assignment (0 = false, 1 = true)

assignment_notify_manager1

Notify the manager on auto assignment (0 = false, 1 = true)

assignment_notify_registrar1

Notify the registrar on auto assignment (0 = false, 1 = true)

assignment_notify_custom,

Notify custom email addresses on auto assignment (comma separated list)

recurrent_type1

Determines how newly assigned module’s due date is calculated (0 = relative date from expiry, 1 = last day of expiry month)

auto_assign_due_date_period1

The number of (days/weeks/months) for due date calculation (Only used when recurrent_type = 0)

auto_assign_due_date_typeD

Determines the due date interval (D = Day, W = Week, M = Month, Y = Year) (Only used when recurrent_type = 0)

auto_assign_due_date_period_type1

Whether to calculate due date before or after relative to expiry date (0 = before, 1 = after) (Only used when recurrent_type = 0)

auto_assign_retain_month1

Retains the expiry date if student finishes it within the validity period

notifyArDueDate1

Notify student when newly auto assigned module is becoming due


Example Request

URL: {{apiUrl}}/modules/manageSchedule
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

courseID54531

Module Id which will have its schedule changed

expires1

Flag that determines whether the module expires or not (0 = false, 1 = true)

expiration_period1

The number of (days/weeks/months) for expiry

expiration_period_typeD

Determines the expiry interval (D = Day, W = Week, M = Month, Y = Year)

expiration_notify_status1

Send out expiration notification emails (0 = false, 1 = true)

show_expiration_on_certificate1

Show expiration date on module certificate (0 = false, 1 = true)

valid_period_type1

How valid period is calculated relative to expiry date (0 = on expiry date, 1 = last day of expiry calendar month, 2 = first day of month following expiry, 3 = relative custom date)

valid_period_length

The number of (days/weeks/months) for validity (Only used when valid_period_type = 3)

valid_period_interval

Determines the validity interval (D = Day, W = Week, M = Month, Y = Year) (Only used when valid_period_type = 3)

valid_period_after1

Whether to calculate validity before or after relative to expiry date (0 = before, 1 = after) (Only used when valid_period_type = 3)

auto_assign_courseID54531

The module id to assign when this module is about to expire and re-assign a new module in its place (Even if that’s the same module id)

auto_assign_date_period1

The number of (days/weeks/months) for auto assignment

auto_assign_date_typeW

Determines the auto assignment interval (D = Day, W = Week, M = Month, Y = Year)

assignment_notify_student1

Notify the student on auto assignment (0 = false, 1 = true)

assignment_notify_manager1

Notify the manager on auto assignment (0 = false, 1 = true)

assignment_notify_registrar1

Notify the registrar on auto assignment (0 = false, 1 = true)

assignment_notify_custom,

Notify custom email addresses on auto assignment (comma separated list)

recurrent_type1

Determines how newly assigned module’s due date is calculated (0 = relative date from expiry, 1 = last day of expiry month)

auto_assign_due_date_period1

The number of (days/weeks/months) for due date calculation (Only used when recurrent_type = 0)

auto_assign_due_date_typeD

Determines the due date interval (D = Day, W = Week, M = Month, Y = Year) (Only used when recurrent_type = 0)

auto_assign_due_date_period_type1

Whether to calculate due date before or after relative to expiry date (0 = before, 1 = after) (Only used when recurrent_type = 0)

auto_assign_retain_month1

Retains the expiry date if student finishes it within the validity period

notifyArDueDate1

Notify student when newly auto assigned module is becoming due

Example Response

Body
{ "status": "success", "data": { "Course": { "courseID": 54531, "networkID": 106, "course_name": "Aviation Terminology – Level 1", "course_number": "SPN01", "image": "/files/media_library/106//hola.png", "prerequisites": "None", "short_description": "", "detailed_description": "", "course_price": 0, "course_points": 0, "course_points_type": 0, "status": 1, "course_navigation": 0, "navigation_lock": 1, "scorm_meta": "", "date_created": "2019-10-16 10:18:57", "date_last_updated": "2020-06-08 09:57:12", "start_date": "0000-00-00 00:00:00", "end_date": "0000-00-00 00:00:00", "seconds_alloted": 0, "show_certificate": 0, "email_cert": 1, "pdf_cert": 0, "manual_mark": 0, "notify_instructor": 0, "course_currency": "CAD$", "systemTime": 0, "systemTimeHours": 0, "systemTimeMinutes": 0, "course_summary": "", "ecomm": 0, "image_large": "", "featured": 0, "assign_course_mark": 0, "course_time_cert": 0, "practical": 0, "expiration_date": "0000-00-00 00:00:00", "expiration_period_days": 0, "show_expiration_on_certificate": 1, "email_expiration_reminder": 0, "expiration_reminder_notice_in_days": 0, "expiration_reminder_notice_in_months": 0, "expiration_reminder_repeat_period_in_days": 0, "expiration_period_months": 0, "expiration_period_years": 0, "expiration_period_type": "D", "expiration_reminder_to_student": 0, "expiration_reminder_to_manager": 0, "expiration_reminder_email_1": "", "expiration_reminder_email_2": "", "expiration_reminder_email_3": "", "expiration_reminder_email_4": "", "expiration_reminder_email_5": "", "round_expiration_date_up": 0, "expires": 1, "expiration_notify_status": 1, "repeat_expiration_reminder": 0, "expiration_type": "period", "expiration_day_month": 0, "expiration_day_month_type": 0, "round_expiration_date_day": 0, "minimum_required_course_time_seconds": 0, "minimum_required_course_time_open_nav": 0, "help_link_destination": "coach", "show_course_mark": 0, "mark_message": "", "showdetails": 1, "certificate_details": "<p>This course includes:</p><p>&nbsp;</p><p><br></p><ul><li>Basic greetings in Spanish</li><li>Review Question</li><li>Exam</li></ul>", "cert_logo": "", "transition": "none", "template_type": 0, "recurrent_status": 0, "recurrent_type": 1, "recurrent_frequency": 0, "recurrent_date": "0000-00-00 00:00:00", "recurrent_date_every": 0, "recurrent_notify_period": "", "recurrent_notify_repeat_status": 0, "recurrent_notify_repeat": 0, "recurrent_notify_student": 0, "recurrent_notify_manager": 0, "recurrent_notify_instructor": 0, "recurrent_notify_custom": "", "list_in_marketplace": 0, "wallet_layout": "", "wallet_status": null, "auto_assign_status": 0, "auto_assign_course_status": 0, "auto_assign_courseID": 54531, "auto_assign_date_type": "W", "auto_assign_date_period": 1, "auto_assign_date_period_type": 0, "auto_assign_date": 0, "auto_assign_retain_month": 1, "default_header_status": 0, "default_header": "", "default_footer_status": 1, "default_footer": "<hr><p>Hola Basic Spanish &nbsp;- Level 1</p>", "permission_type": 0, "author_userID": 18924, "version": 1, "calc_npages": 5, "phponly": 1, "expiration_period": 1, "expiration_reminder_emails": "", "auto_assign_due_date_period": 1, "auto_assign_due_date_type": "D", "assignment_notify_student": 1, "assignment_notify_manager": 1, "assignment_notify_registrar": 1, "auto_assign_due_date_period_type": 1, "assignment_notify_custom": ", ", "expiration_reminder_custom": "", "access_practical_marking": 0, "background_image": "{\"url\":\"\",\"opacity\":\"\"}", "addendums": "", "allow_simple_editor": 0, "maximum_course_time": 0, "maximum_course_time_seconds": 0, "maximum_course_time_notify_manager": 0, "maximum_course_time_notify_instructor": 0, "groupIds": "[]", "valid_period_type": 1, "valid_period_length": 0, "valid_period_interval": "", "valid_period_after": 1, "notifyArDueDate": 1, "expressVerified": 0, "customdata": "", "isExpress": 0, "id": 54531, "name": "Aviation Terminology – Level 1", "number": "SPN01" } } }
Code:
200

OAuth 4

This section pertains to the methods used for registering and authorizing your application as an OAuth client.

Authorize  |  GET   {{url}}/oauth/authorize

Query
KeyValueDescription
client_id{{client_id}}

OAuth client id

redirect_uri{{redirect_uri}}

Redirect url used for registering

urlencoded

Refresh Token  |  POST   {{url}}/oauth/token

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
grant_typerefresh_token

Should always be “refresh_token”

refresh_token{{refresh_token}}

The refresh token you received when your system was approved for access

client_id{{client_id}}

Your client id

client_secret{{client_secret}}

Your client secret

formdata

Register  |  POST   {{url}}/oauth/register

Body
KeyValueDescription
apiId{{apiId}}

API id generated within Ascent, shared by admin user

companyNameMr Nuts

Your company’s name. Will be shown to admin user when authorizing access

applicationNameTestey checker

Your company’s application name. Will be shown to admin user when authorizing access

redirect_urihttp://dev.aerostudies.com/utilities/cb2

Your URI for receiving OAuth and other API calls

callbackEnabledtrue

Whether or not to receive callbacks from our system (true/false)

urlencoded

Token  |  POST   {{url}}/oauth/token

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
grant_typeauthorization_code

This should always be “authorization_code”

code{{code}}

Code sent to your redirect_uri when admin user approves OAuth access

client_id{{client_id}}

Your client id

client_secret{{client_secret}}

Your client secret

OLTE 8

formdata

Assign OLTE  |  POST   {{apiUrl}}/offlineTraining/assign

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to assign olte to

courseNameID2853

Olte id to assign

expires1

Sets whether this olte expires or not (0 = false, 1 = true)

files[]

Document specific to this olte assignment

files[]

Document specific to this olte assignment


Example Request

URL: {{apiUrl}}/offlineTraining/assign
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to assign olte to

courseNameID2853

Olte id to assign

expires1

Sets whether this olte expires or not (0 = false, 1 = true)

files[]

Document specific to this olte assignment

files[]

Document specific to this olte assignment

Example Response

Body
{ "status": "success", "data": { "OfflineCourse": { "courseID": 43822, "networkID": 106, "userID": 38576, "date_created": null, "extraInfo": null, "active": 1, "date_expiry": null, "categoryID": 0, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 0, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "courseNameID": 2853, "event_date": null, "files": "/files/offline_attachments/16/1.png,/files/offline_attachments/16/2.png", "filesCert": "", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 2853, "course_name": "First Aid 2021", "networkID": 106, "private": 0, "id": 2853, "name": "First Aid 2021" }, "NotificationSetting": { "id": 1881699, "settings": "{\"student\":{\"notify\":1,\"period\":1,\"periodType\":\"M\",\"repeatDays\":5},\"manager\":{\"notify\":0,\"period\":1,\"periodType\":\"M\",\"repeatDays\":5},\"other\":[],\"misc\":{\"expiry_notes\":false}}", "type": "olte", "userID": 38576, "objectID": 43822, "created": "2020-06-08 13:17:00", "modified": "2020-06-08 13:17:00" }, "FutureNotificationSetting": { "id": null, "settings": null, "type": null, "userID": null, "objectID": null, "created": null, "modified": null } } }
Code:
200
urlencoded

Create OLTE  |  POST   {{apiUrl}}/offlineTraining/create

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

course_nameFirst Aid 2020

Olte name


Example Request

URL: {{apiUrl}}/offlineTraining/create
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

course_nameFirst Aid 2020

Olte name

Example Response

Body
{ "status": "success", "data": { "course_name": "First Aid 2020", "courseNameID": 2853 } }
Code:
200
urlencoded

Delete OLTE  |  POST   {{apiUrl}}/offlineTraining/delete

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

courseNameID2853

Olte id to delete


Example Request

URL: {{apiUrl}}/offlineTraining/delete
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}
courseNameID2853

Example Response

Body
{ "status": "success", "data": true }
Code:
200
urlencoded

List Oltes  |  POST   {{apiUrl}}/offlineTraining/listOltes

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/offlineTraining/listOltes
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": { "38": "Fire Extinguisher Hands-on Course", "41": "Sim Training", "46": "CPR", "57": "DHC3 Sim", "273": "Forklift Operator Course", "302": "De-Ice Training", "375": "Basic First Aid", "397": "Testing", "792": "State Wide CPR", "1713": "Practical Emergency Training", "1714": "PPC", "2201": "Policies Tracking Seminar", "2745": "YXE Fire Extinguisher Day", "2852": "First Aid", "2853": "First Aid 2020" } }
Code:
200
urlencoded

List User Assigned Oltes  |  POST   {{apiUrl}}/offlineTraining/listAssigned

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to list assigned olte’s for


Example Request

URL: {{apiUrl}}/offlineTraining/listAssigned
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to list assigned olte’s for

Example Response

Body
{ "status": "success", "data": [ { "OfflineCourse": { "courseID": 7223, "networkID": 106, "userID": 38576, "date_created": "2016-01-11 11:34:31", "extraInfo": { "course_number": "", "provider": "", "location": "", "course_duration": 1, "course_duration_type": "days", "course_price": 0, "course_currency": "CAD", "include_show_mark": 0, "course_mark": "" }, "active": 1, "date_expiry": "2019-01-05 00:00:00", "categoryID": 2129, "notes": "", "expiration_date": "2019-01-05 00:00:00", "expiration_period": 1, "expiration_type": 1, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "courseNameID": 41, "event_date": null, "files": "", "filesCert": "", "verificationStatus": 0, "verificationData": { "verifiedBy": "John Etel", "date": "2018-10-30", "hasDocument": 0, "location": "", "notes": "" }, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 41, "course_name": "Sim Training", "networkID": 106, "private": 0, "id": 41, "name": "Sim Training" }, "expiryNotification": { "student": { "notify": 1, "period": 0, "periodType": "D", "repeatDays": 1 }, "manager": { "notify": 0, "period": 0, "periodType": "D", "repeatDays": 1 }, "other": [], "misc": { "expiry_notes": false } }, "futureEventNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "other": [], "misc": { "expiry_notes": false } } }, { "OfflineCourse": { "courseID": 10824, "networkID": 106, "userID": 38576, "date_created": "2016-08-09 12:29:31", "extraInfo": null, "active": 0, "date_expiry": null, "categoryID": 221, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 1, "expires": 0, "expiration_notify_status": 0, "expiration_period_type": "days", "courseNameID": 375, "event_date": null, "files": "", "filesCert": "", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 375, "course_name": "Basic First Aid", "networkID": 106, "private": 0, "id": 375, "name": "Basic First Aid" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "other": [] }, "futureEventNotification": null }, { "OfflineCourse": { "courseID": 10832, "networkID": 106, "userID": 38576, "date_created": "2016-08-11 09:39:46", "extraInfo": { "course_number": null, "provider": null, "location": null, "course_duration": 1, "course_duration_type": "days", "course_price": null, "course_currency": false, "include_show_mark": null, "course_mark": null }, "active": 1, "date_expiry": "2016-09-01 00:00:00", "categoryID": 2256, "notes": "", "expiration_date": "2016-09-01 00:00:00", "expiration_period": 0, "expiration_type": 1, "expires": 1, "expiration_notify_status": 1, "expiration_period_type": "days", "courseNameID": 273, "event_date": "2016-08-02 00:00:00", "files": "", "filesCert": "/files/offline_attachments/16//cockpit.jpg", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 273, "course_name": "Forklift Operator Course", "networkID": 106, "private": 0, "id": 273, "name": "Forklift Operator Course" }, "expiryNotification": { "student": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "other": [] }, "futureEventNotification": null }, { "OfflineCourse": { "courseID": 10833, "networkID": 106, "userID": 38576, "date_created": "2016-08-11 09:39:46", "extraInfo": { "course_number": "", "provider": "", "location": "", "course_duration": 1, "course_duration_type": "days", "course_price": 0, "course_currency": "CAD", "include_show_mark": 0, "course_mark": "" }, "active": 1, "date_expiry": "2017-08-25 00:00:00", "categoryID": 1741, "notes": "", "expiration_date": "2017-08-25 00:00:00", "expiration_period": 0, "expiration_type": 1, "expires": 1, "expiration_notify_status": 1, "expiration_period_type": "days", "courseNameID": 41, "event_date": "2017-08-09 00:00:00", "files": "", "filesCert": "/files/offline_attachments/16/sample1.pdf", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 41, "course_name": "Sim Training", "networkID": 106, "private": 0, "id": 41, "name": "Sim Training" }, "expiryNotification": { "student": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5, "email": "" }, "other": [], "misc": { "expiry_notes": false } }, "futureEventNotification": null }, { "OfflineCourse": { "courseID": 43812, "networkID": 106, "userID": 38576, "date_created": "2020-06-03 09:47:42", "extraInfo": null, "active": 1, "date_expiry": null, "categoryID": 0, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 0, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "courseNameID": 375, "event_date": null, "files": "/files/offline_attachments/16/1.png,/files/offline_attachments/16/2.png", "filesCert": "", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 375, "course_name": "Basic First Aid", "networkID": 106, "private": 0, "id": 375, "name": "Basic First Aid" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5 }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5 }, "other": [], "misc": { "expiry_notes": false } }, "futureEventNotification": null }, { "OfflineCourse": { "courseID": 43813, "networkID": 106, "userID": 38576, "date_created": "2020-06-03 12:15:55", "extraInfo": null, "active": 1, "date_expiry": null, "categoryID": 0, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 0, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "courseNameID": 375, "event_date": null, "files": "/files/offline_attachments/16/1.png,/files/offline_attachments/16/2.png", "filesCert": "", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 375, "course_name": "Basic First Aid", "networkID": 106, "private": 0, "id": 375, "name": "Basic First Aid" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5 }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5 }, "other": [], "misc": { "expiry_notes": false } }, "futureEventNotification": null }, { "OfflineCourse": { "courseID": 43814, "networkID": 106, "userID": 38576, "date_created": "2020-06-03 12:17:31", "extraInfo": null, "active": 1, "date_expiry": null, "categoryID": 0, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 0, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "courseNameID": 375, "event_date": null, "files": "/files/offline_attachments/16/1.png,/files/offline_attachments/16/2.png", "filesCert": "", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 375, "course_name": "Basic First Aid", "networkID": 106, "private": 0, "id": 375, "name": "Basic First Aid" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5 }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5 }, "other": [], "misc": { "expiry_notes": false } }, "futureEventNotification": null }, { "OfflineCourse": { "courseID": 43815, "networkID": 106, "userID": 38576, "date_created": "2020-06-03 12:24:13", "extraInfo": null, "active": 1, "date_expiry": null, "categoryID": 0, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 0, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "courseNameID": 375, "event_date": null, "files": "/files/offline_attachments/16/1.png,/files/offline_attachments/16/2.png", "filesCert": "", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 375, "course_name": "Basic First Aid", "networkID": 106, "private": 0, "id": 375, "name": "Basic First Aid" }, "expiryNotification": null, "futureEventNotification": null }, { "OfflineCourse": { "courseID": 43816, "networkID": 106, "userID": 38576, "date_created": "2020-06-03 12:24:35", "extraInfo": null, "active": 1, "date_expiry": null, "categoryID": 0, "notes": "", "expiration_date": null, "expiration_period": 1, "expiration_type": 0, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "courseNameID": 375, "event_date": null, "files": "/files/offline_attachments/16/1.png,/files/offline_attachments/16/2.png", "filesCert": "", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 375, "course_name": "Basic First Aid", "networkID": 106, "private": 0, "id": 375, "name": "Basic First Aid" }, "expiryNotification": { "student": { "notify": 1, "period": 1, "periodType": "M", "repeatDays": 5 }, "manager": { "notify": 0, "period": 1, "periodType": "M", "repeatDays": 5 }, "other": [], "misc": { "expiry_notes": false } }, "futureEventNotification": null } ] }
Code:
200
urlencoded

Update OLTE  |  POST   {{apiUrl}}/offlineTraining/update

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

courseNameID2853

Olte id to update

course_nameFirst Aid 2021

Olte name


Example Request

URL: {{apiUrl}}/offlineTraining/update
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

courseNameID2853

Olte id to update

course_nameFirst Aid 2021

Olte name

Example Response

Body
{ "status": "success", "data": { "course_name": "First Aid 2021", "courseNameID": 2853 } }
Code:
200
formdata

Update OLTE Assignment  |  POST   {{apiUrl}}/offlineTraining/updateAssignment

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to assign olte to

courseID43822

The olte assignment id

notesadded notes

Any notes that may be relevant to this assignment


Example Request

URL: {{apiUrl}}/offlineTraining/updateAssignment
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userID{{userID}}

User id to assign olte to

courseID43822

The olte assignment id

notesadded notes

Any notes that may be relevant to this assignment

Example Response

Body
{ "status": "success", "data": { "OfflineCourse": { "courseID": 43822, "networkID": 106, "userID": 38576, "date_created": null, "extraInfo": null, "active": 1, "date_expiry": null, "categoryID": 0, "notes": "added notes", "expiration_date": null, "expiration_period": 1, "expiration_type": 0, "expires": 1, "expiration_notify_status": 0, "expiration_period_type": "years", "courseNameID": 2853, "event_date": null, "files": "/files/offline_attachments/16/1.png,/files/offline_attachments/16/2.png", "filesCert": "", "verificationStatus": 0, "verificationData": null, "required_hours": 0, "future_event_notify_status": 0 }, "OfflineCourseName": { "courseNameID": 2853, "course_name": "First Aid 2021", "networkID": 106, "private": 0, "id": 2853, "name": "First Aid 2021" }, "NotificationSetting": { "id": 1881699, "settings": "{\"student\":{\"notify\":1,\"period\":1,\"periodType\":\"M\",\"repeatDays\":5},\"manager\":{\"notify\":0,\"period\":1,\"periodType\":\"M\",\"repeatDays\":5},\"other\":[],\"misc\":{\"expiry_notes\":false}}", "type": "olte", "userID": 38576, "objectID": 43822, "created": "2020-06-08 13:17:00", "modified": "2020-06-08 13:17:00" }, "FutureNotificationSetting": { "id": null, "settings": null, "type": null, "userID": null, "objectID": null, "created": null, "modified": null } } }
Code:
200
urlencoded

Withdraw OLTE Assignment  |  POST   {{apiUrl}}/offlineTraining/withdraw

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

courseID43822

Olte assignment id to withdraw


Example Request

URL: {{apiUrl}}/offlineTraining/withdraw
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

courseID43822

Olte assignment id to withdraw

Example Response

Body
{ "status": "success", "data": true }
Code:
200

System Callbacks 7

The system callbacks are all designed to hit an endpoint that you have configured to receive API events from our application.

Whenever a captured event happens within our application, it will trigger our API to send off a request to the “callbackUri” you initially registered when setting up the OAuth access. Every event will hit that URL, and will be structured in the following way universally at a minimum level:


{
    "Action": {
    "type": "someType",
    "method": "anAction"
},
    "Data": {
    // Data is structured depending on the event
}
}

The Action object is internally used as an organizational hierarchy, where the type dictates the general “area” or controller, and the method is the specific event within that area. As an example, for “Training” (action type), there are different individual events such as “assigned” or “updated” where each of these events is a method and will dictate how/when you update or respond to data in your app.

Callbacks are initiated through both user actions and when API calls modify data.

Note: The example responses provided below are shown so that you can visualize the data and associated data structures that will be sent.

Competency  |   

Document  |   

Groups  |   

Modules  |   

OLTE  |   

Training  |   

Users  |   

Tokens 3

urlencoded

Get Token Inventory  |  POST   {{apiUrl}}/tokens/inventory

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/tokens/inventory
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": [ { "Total": 130, "Used": 24, "Available": 106, "tokenType": "Student" }, { "Total": 20, "Used": 6, "Available": 14, "tokenType": "Training Developer" }, { "Total": 15, "Used": 4, "Available": 11, "tokenType": "Safety Manager" }, { "Total": 16, "Used": 7, "Available": 9, "tokenType": "Registrar" }, { "Total": 17, "Used": 6, "Available": 11, "tokenType": "Manager" }, { "Total": 12, "Used": 6, "Available": 6, "tokenType": "Instructor" }, { "Total": 14, "Used": 4, "Available": 10, "tokenType": "Coach" }, { "Total": 20, "Used": 7, "Available": 13, "tokenType": "Communications" }, { "Total": 9, "Used": 3, "Available": 6, "tokenType": "Demo Module" }, { "Total": 50, "Used": 2, "Available": 48, "tokenType": "Module" } ] }
Code:
200
urlencoded

Get Token Requests  |  POST   {{apiUrl}}/tokens/listRequests

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/tokens/listRequests
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": [ { "TokenRequest": { "requestID": 445, "networkID": 106, "status": 1, "comments": null, "date_created": "2010-03-22 15:25:22", "date_last_updated": "2010-03-22 15:25:22", "userID": 0, "cost_notes": null, "po_number": "" }, "TokenRequestDetail": { "requestID": 445, "Student": 2, "Training Developer": 0, "Safety Manager": 0, "Registrar": 0, "Manager": 0, "Instructor": 0, "Coach": 0, "Module": 0, "Communications": 0, "Demo Module": 0, "Store Manager": 0 } }, { "TokenRequest": { "requestID": 915, "networkID": 106, "status": 1, "comments": null, "date_created": "2012-04-24 17:31:08", "date_last_updated": "2012-04-24 17:31:08", "userID": 4937, "cost_notes": "", "po_number": "" }, "TokenRequestDetail": { "requestID": 915, "Student": 10, "Training Developer": 0, "Safety Manager": 0, "Registrar": 0, "Manager": 5, "Instructor": 0, "Coach": 0, "Module": 0, "Communications": 0, "Demo Module": 0, "Store Manager": 0 } } ] }
Code:
200
urlencoded

Request Tokens  |  POST   {{apiUrl}}/tokens/requestTokens

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Student5

Number of student roles requested

Training Developer0

Number of training developer roles requested

Safety Manager0

Number of safety manager roles requested

Registrar0

Number of registrar roles requested. Note: Registrar is admin and requests for a large number of these tokens will likely be rejected

Manager0

Number of manager roles requested

Instructor0

Number of instructor roles requested

Coach0

Number of coach roles requested

Communications0

Number of communications roles requested

Demo Module0

Number of demo modules requested

Module10

Number of module tokens requested

poNumber1234

A PO number (If applicable). (Limit: 128 characters)

commentsRefer to INV # 58372

Any applicable comments you wish to add to the token order request. (Limit: 255 characters)


Example Request

URL: {{apiUrl}}/tokens/inventory
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": [ { "Total": 130, "Used": 24, "Available": 106, "tokenType": "Student" }, { "Total": 20, "Used": 6, "Available": 14, "tokenType": "Training Developer" }, { "Total": 15, "Used": 4, "Available": 11, "tokenType": "Safety Manager" }, { "Total": 16, "Used": 7, "Available": 9, "tokenType": "Registrar" }, { "Total": 17, "Used": 6, "Available": 11, "tokenType": "Manager" }, { "Total": 12, "Used": 6, "Available": 6, "tokenType": "Instructor" }, { "Total": 14, "Used": 4, "Available": 10, "tokenType": "Coach" }, { "Total": 20, "Used": 7, "Available": 13, "tokenType": "Communications" }, { "Total": 9, "Used": 3, "Available": 6, "tokenType": "Demo Module" }, { "Total": 50, "Used": 2, "Available": 48, "tokenType": "Module" } ] }
Code:
200

Example Request

URL: {{apiUrl}}/tokens/listRequests
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": [ { "TokenRequest": { "requestID": 445, "networkID": 106, "status": 1, "comments": null, "date_created": "2010-03-22 15:25:22", "date_last_updated": "2010-03-22 15:25:22", "userID": 0, "cost_notes": null, "po_number": "" }, "TokenRequestDetail": { "requestID": 445, "Student": 2, "Training Developer": 0, "Safety Manager": 0, "Registrar": 0, "Manager": 0, "Instructor": 0, "Coach": 0, "Module": 0, "Communications": 0, "Demo Module": 0, "Store Manager": 0 } }, { "TokenRequest": { "requestID": 915, "networkID": 106, "status": 1, "comments": null, "date_created": "2012-04-24 17:31:08", "date_last_updated": "2012-04-24 17:31:08", "userID": 4937, "cost_notes": "", "po_number": "" }, "TokenRequestDetail": { "requestID": 915, "Student": 10, "Training Developer": 0, "Safety Manager": 0, "Registrar": 0, "Manager": 5, "Instructor": 0, "Coach": 0, "Module": 0, "Communications": 0, "Demo Module": 0, "Store Manager": 0 } } ] }
Code:
200

Example Request

URL: {{apiUrl}}/tokens/requestTokens
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Student5

Number of student roles requested

Training Developer0

Number of training developer roles requested

Safety Manager0

Number of safety manager roles requested

Registrar0

Number of registrar roles requested. Note: Registrar is admin and requests for a large number of these tokens will likely be rejected

Manager0

Number of manager roles requested

Instructor0

Number of instructor roles requested

Coach0

Number of coach roles requested

Communications0

Number of communications roles requested

Demo Module0

Number of demo modules requested

Module10

Number of module tokens requested

poNumber1234

A PO number (If applicable)

commentsRefer to INV # 58372

Any applicable comments you wish to add to the token order request

Example Response

Body
{ "status": "success", "data": { "TokenRequest": { "requestID": 3020, "networkID": 106, "status": 0, "comments": "Refer to INV # 58372", "date_created": "2020-09-10 12:44:34", "date_last_updated": "2020-09-10 12:44:34", "userID": 0, "cost_notes": null, "po_number": 1234 }, "TokenRequestDetail": { "requestID": 3020, "Student": 5, "Training Developer": 0, "Safety Manager": 0, "Registrar": 0, "Manager": 0, "Instructor": 0, "Coach": 0, "Module": 10, "Communications": 0, "Demo Module": 0, "Store Manager": 0 } } }
Code:
200

Training 10

urlencoded

Archive Training  |  POST   {{apiUrl}}/training/archive

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId18924

User id to archive training for

archives[0][courseID]26438

Module id to archive


Example Request

URL: {{apiUrl}}/training/archive
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId18924

User id to archive training for

archives[0][courseID]26438

Module id to archive

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

Assign Training  |  POST   {{apiUrl}}/training/assign

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId26331

User id to assign training to

assignments[0][courseID]24631

Module id to assign

assignments[0][due_date]2020-05-06

Date when this module is due

assignments[0][course_available_date]2020-04-05

Date when this module is available to start (Will not show up in training until this date)

assignments[0][send_due_date_reminder]1

Send a due date reminder email notification (0 = false, 1 = true)

assignments[0][dueDateNotification][student][notify]1

Send student the due date reminder notification (0 = false, 1 = true)

assignments[0][dueDateNotification][student][period]10

The number of (days/weeks/months) before due date to start sending notifications

assignments[0][dueDateNotification][student][periodType]W

Determines the reminder interval (D = Day, W = Week, M = Month, Y = Year)

assignments[0][dueDateNotification][student][repeatDays]10

Sets how often this reminder will repeat an email notification from its relative start date, in days (eg. every 10 days)

assignments[0][onCompleteRedirectUri]https://www.ourcompany.com/api/moduleComplete/userid=1234

Redirect student to specified URL on completion

assignments[0][customId]module#1038586

Set a custom id for this assignment (up to 2kb)

assignments[0][customData]{course: module#1038586, ourSystemUserId: asbasf-18365}

Set custom data (up to 4kb) for this assignment

notificationOptions[notifyStudent]1

Send student email notification of this training assignment (0 = false, 1 = true)

assignments[1][courseID]26438

Module id to assign


Example Request

URL: {{apiUrl}}/training/assign
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId18924

User id to assign training to

assignments[0][courseID]24631

Module id to assign

assignments[0][due_date]2020-05-06

Date when this module is due

assignments[0][course_available_date]2020-04-05

Date when this module is available to start (Will not show up in training until this date)

assignments[0][send_due_date_reminder]1

Send a due date reminder email notification (0 = false, 1 = true)

assignments[0][dueDateNotification][student][notify]1

Send student the due date reminder notification (0 = false, 1 = true)

assignments[0][dueDateNotification][student][period]10

The number of (days/weeks/months) before due date to start sending notifications

assignments[0][dueDateNotification][student][periodType]W

Determines the reminder interval (D = Day, W = Week, M = Month, Y = Year)

assignments[0][dueDateNotification][student][repeatDays]10

Sets how often this reminder will repeat an email notification from its relative start date, in days (eg. every 10 days)

notificationOptions[notifyStudent]1

Send student email notification of this training assignment (0 = false, 1 = true)

assignments[1][courseID]26438

Module id to assign

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

Generate Exam Detail PDF  |  POST   {{apiUrl}}/training/generateExamDetailPdf

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

moduleId55384

The module Id you want to generate exam certificates for

userId{{userID}}

The user id that is assigned the module


Example Request

URL: {{apiUrl}}/training/generateExamDetailPdf
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

moduleId55384

The module Id you want to generate exam certificates for

userId{{userID}}

The user id that is assigned the module

Example Response

Body
{ "status": "success", "data": { "examPdfLink": "http://dev.aerostudies.com/student/generateExamDetailPdf/MTA2/Mzg1NzY/NTUzODQ/?view=33ad41ebf78700c5e4d6a6cb49a574a4pOlN9hQmC74vd8lcjQ23YnO14H590toKFjexcl4Fha5B5nqtL1Qusei3hPqprXTqABjuy1gdSUxJUle13npUQgxwumYfQvO8pSCKBk5sxLIkmnlF3cCSPj2T8nkoWFvf4k4aApyP54v8yrQTb9nkiFxniBILEuQ3YyzbFHtvizpjREGAKzMWk5XkfACsKIA7BAbdRIbCCiJBfwWrJTO36txribYNwvqQ" } }
Code:
200
urlencoded

Generate Exam PDF  |  POST   {{apiUrl}}/express/generateExamPDF

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}

Express token

access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/express/generateExamPDF
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
token{{sampleToken}}

Express token

access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": { "examPdfLink": "http://dev.aerostudies.com/student/express_exam_detail//FEeOR05nrIUWfUYAOjKoPQ4RDdKJoZlM" } }
Code:
200
urlencoded

Generate Module Certificate  |  POST   {{apiUrl}}/training/generateCertificate

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User Id you want to get a module certificate for

moduleId48393

The training module Id


Example Request

URL: {{apiUrl}}/training/generateCertificate
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User Id you want to get a module certificate for

moduleId48393

The training module Id

Example Response

Body
{ "status": "success", "data": { "certificatePdfLink": "http://dev.aerostudies.com/certificate/view/pdf/course/48393/38576?view=22a809f90d12f85331f5c9a870e56633" } }
Code:
200
urlencoded

Get Training Link  |  POST   {{apiUrl}}/training/trainingLink

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

moduleId48393

The training module Id


Example Request

URL: {{apiUrl}}/training/trainingLink
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

moduleId48393

The training module Id

Example Response

Body
{ "status": "success", "data": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDgzOTM=" }
Code:
200
urlencoded

Get Training Progress  |  POST   {{apiUrl}}/training/progress

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id you want to get training progress for

moduleId25338

Module id of the assignment you want to get progress for


Example Request

URL: {{apiUrl}}/training/progress
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id you want to get training progress for

moduleId25338

Example Response

Body
{ "status": "success", "data": { "Student": { "firstName": "John", "lastName": "Pate", "email": "" }, "Progress": { "isComplete": true, "percentComplete": 100, "secondsSpentInModule": 537, "furthestPage": 31, "dateCompleted": "2016-03-31 14:53:57", "dateAssigned": "2016-03-31 14:40:23", "dateDue": "0000-00-00 00:00:00", "dateAvailable": "0000-00-00 00:00:00", "dateOnlinePortionCompleted": "2016-03-31 14:53:57" }, "Module": { "name": "Warehouse Safety & Operations", "id": 25338, "pageCount": 31 } } }
Code:
200
urlencoded

List Training  |  POST   {{apiUrl}}/training/listTraining

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/training/listTraining
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

Example Response

Body
{ "status": "success", "data": [ { "userID": 18924, "courseID": 5262, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNTI2Mg==" }, { "userID": 18924, "courseID": 24631, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vMjQ2MzE=" }, { "userID": 18924, "courseID": 26438, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vMjY0Mzg=" }, { "userID": 18924, "courseID": 44842, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDQ4NDI=" }, { "userID": 18924, "courseID": 45364, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDUzNjQ=" }, { "userID": 18924, "courseID": 48670, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDg2NzA=" }, { "userID": 18924, "courseID": 48671, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDg2NzE=" }, { "userID": 18924, "courseID": 54531, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNTQ1MzE=" }, { "userID": 18924, "courseID": 60847, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNjA4NDc=" }, { "userID": 18924, "courseID": 60849, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNjA4NDk=" }, { "userID": 26331, "courseID": 221, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vMjIx" }, { "userID": 38576, "courseID": 25338, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vMjUzMzg=" }, { "userID": 38576, "courseID": 26438, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vMjY0Mzg=" }, { "userID": 38576, "courseID": 44842, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDQ4NDI=" }, { "userID": 38576, "courseID": 48393, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDgzOTM=" }, { "userID": 38576, "courseID": 48670, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDg2NzA=" }, { "userID": 38576, "courseID": 48671, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDg2NzE=" }, { "userID": 38576, "courseID": 49528, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDk1Mjg=" }, { "userID": 38576, "courseID": 62975, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNjI5NzU=" }, { "userID": 39264, "courseID": 221, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vMjIx" }, { "userID": 39264, "courseID": 44842, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDQ4NDI=" }, { "userID": 39264, "courseID": 48670, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDg2NzA=" }, { "userID": 39264, "courseID": 49719, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDk3MTk=" }, { "userID": 39945, "courseID": 221, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vMjIx" }, { "userID": 65889, "courseID": 5262, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNTI2Mg==" }, { "userID": 73741, "courseID": 221, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vMjIx" }, { "userID": 73741, "courseID": 24631, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vMjQ2MzE=" }, { "userID": 73741, "courseID": 48670, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDg2NzA=" }, { "userID": 73741, "courseID": 49528, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDk1Mjg=" }, { "userID": 77621, "courseID": 48393, "trainingLink": "http://dev.aerostudies.com/main/auth/signin?redirect=L3N0dWRlbnQvbGVhcm4vNDgzOTM=" } ] }
Code:
200
urlencoded

Update Training  |  POST   {{apiUrl}}/training/update

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId18924

User id to update training for

assignments[0][courseID]24631

Module id to update

assignments[0][due_date]2020-05-09

Date when this module is due

assignments[0][course_available_date]2020-04-05

Date when this module is available to start (Will not show up in training until this date)

assignments[0][send_due_date_reminder]1

Send a due date reminder email notification (0 = false, 1 = true)

assignments[0][dueDateNotification][student][notify]0

Send student the due date reminder notification (0 = false, 1 = true)

assignments[0][dueDateNotification][student][period]20

The number of (days/weeks/months) before due date to start sending notifications

assignments[0][dueDateNotification][student][periodType]D

Determines the reminder interval (D = Day, W = Week, M = Month, Y = Year)

assignments[0][dueDateNotification][student][repeatDays]10

Sets how often this reminder will repeat an email notification from its relative start date, in days (eg. every 10 days)

assignments[1][courseID]26438

Module id to update

assignments[1][due_date]2020-02-20

Date when this module is due


Example Request

URL: {{apiUrl}}/training/update
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId18924

User id to update training for

assignments[0][courseID]24631

Module id to update

assignments[0][due_date]2020-05-09

Date when this module is due

assignments[0][course_available_date]2020-04-05

Date when this module is available to start (Will not show up in training until this date)

assignments[0][send_due_date_reminder]1

Send a due date reminder email notification (0 = false, 1 = true)

assignments[0][dueDateNotification][student][notify]0

Send student the due date reminder notification (0 = false, 1 = true)

assignments[0][dueDateNotification][student][period]20

The number of (days/weeks/months) before due date to start sending notifications

assignments[0][dueDateNotification][student][periodType]D

Determines the reminder interval (D = Day, W = Week, M = Month, Y = Year)

assignments[0][dueDateNotification][student][repeatDays]10

Sets how often this reminder will repeat an email notification from its relative start date, in days (eg. every 10 days)

assignments[1][courseID]26438

Module id to update

assignments[1][due_date]2020-02-20

Date when this module is due

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

Withdraw Training  |  POST   {{apiUrl}}/training/withdraw

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id to withdraw module from

withdraws[0][courseID]24631

Module id to withdraw


Example Request

URL: {{apiUrl}}/training/withdraw
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId{{userID}}

User id to withdraw module from

withdraws[0][courseID]24631

Module id to withdraw

Example Response

Body
{ "status": "success", "data": null }
Code:
200

Users 12

urlencoded

Archive User  |  POST   {{apiUrl}}/users/archive

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User Id to archive


Example Request

URL: {{apiUrl}}/users/archive
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User Id to archive

Example Response

Body
{ "status": "success", "data": true }
Code:
200
urlencoded

Assign Groups  |  POST   {{apiUrl}}/users/assignGroups

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User Id to assign groups to

Groups[0]1046

Group id to assign

Groups[1]1048

Group id to assign


Example Request

URL: {{apiUrl}}/users/assignGroups
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User Id to assign groups to

Groups[0]1046

Group id to assign

Groups[1]1048

Group id to assign

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

Assign Roles  |  POST   {{apiUrl}}/users/assignRoles

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User Id to asign roles to

Roles[0]student

Role to assign as string

Roles[1]training developer

Role to assign as string


Example Request

URL: {{apiUrl}}/users/assignRoles
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}
userId78312
Roles[0]student
Roles[1]training developer

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

Create User  |  POST   {{apiUrl}}/users/create

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

User[email]

Email address

User[ref_lib_access]1

Allow user to access reference library (0 = false, 1 = true)

User[media_lib_access]1

Allow user to access media library (0 = false, 1 = true)

User[badgeID]badge

Secondary Bagde ID. Used for tracking staff by company ID

User[suspend]0

Toggles whether a user is suspended or not (0 = false, 1 = true)

User[suspendNotifications]0

Suspend notifications to a suspended user (0 = false, 1 = true)

User[suspendReason]

Reason for a suspension (optional)

User[shareCalendar]0

Allows a user to access their calendar publicly. Useful for syncing system calendar events to a mobile phone (0 = false, 1 = true)

User[adminManager]0

If user has manager role, allow them to administer users with restricted priveleges

User[customId]24459

Custom Id field you can use to track a user instead of using our system generated id

User[customData]

Custom data you can set, up to 4kb in text format (Can put JSON/XML here, or whatever is useful to you)

User[password]7509246aB

Password

UserProfile[first_name]John

First Name

UserProfile[last_name]Smith

Last Name


Example Request

URL: {{apiUrl}}/users/create
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

User[email]

Email address

User[ref_lib_access]1

Allow user to access reference library (0 = false, 1 = true)

User[media_lib_access]1

Allow user to access media library (0 = false, 1 = true)

User[badgeID]badge

Secondary Bagde ID. Used for tracking staff by company ID

User[suspend]0

Toggles whether a user is suspended or not (0 = false, 1 = true)

User[suspendNotifications]0

Suspend notifications to a suspended user (0 = false, 1 = true)

User[suspendReason]

Reason for a suspension (optional)

User[shareCalendar]0

Allows a user to access their calendar publicly. Useful for syncing system calendar events to a mobile phone (0 = false, 1 = true)

User[adminManager]0

If user has manager role, allow them to administer users with restricted priveleges

User[customId]24459

Custom Id field you can use to track a user instead of using our system generated id

User[customData]

Custom data you can set, up to 4kb in text format (Can put JSON/XML here, or whatever is useful to you)

User[password]7509246aB

Password

UserProfile[first_name]John

First Name

UserProfile[last_name]Smith

Last Name

Example Response

Body
{ "status": "success", "data": { "User": { "email": "", "media_lib_access": 1, "badgeID": "badge", "customId": 24459, "userID": 78319 }, "UserProfile": { "first_name": "John", "lastName": "Smith" }, "Roles": { "2": "Student" } } }
Code:
200
urlencoded

Delete User  |  POST   {{apiUrl}}/users/delete

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User id to delete


Example Request

URL: {{apiUrl}}/users/delete
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User id to delete

Example Response

Body
{ "status": "success", "data": true }
Code:
200
urlencoded

Generate OTP Link  |  POST   {{apiUrl}}/users/generateOtp

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId38576

User Id we want to generate an OTP for

redirecthttp://dev.aerostudies.com?cat=meow&dog=ruff

A url to redirect to after successful sign in using OTP

sendUserIdOnRedirecttrue

Set to “true” if you would like the system to append a “systemUserId” query parameter to your redirect url. It will contain the user ID of the signed in user

onErrorRedirectUrlhttp://dev.aerostudies.com/oops

A url to redirect to if using the OTP failed in case of timeout, already used, locked out, expired, or system error. Will have an “errorMsg” query parameter added with the specific error message


Example Request

URL: {{apiUrl}}/users/generateOtp
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId38576

User Id we want to generate an OTP for

redirecthttp://dev.aerostudies.com?cat=meow&dog=ruff

A url to redirect to after successful sign in using OTP

sendUserIdOnRedirecttrue

Set to “true” if you would like the system to append a “systemUserId” query parameter to your redirect url. It will contain the user ID of the signed in user

onErrorRedirectUrlhttp://dev.aerostudies.com/oops

A url to redirect to if using the OTP failed in case of timeout, already used, locked out, expired, or system error. Will have an “errorMsg” query parameter added with the specific error message

Example Response

Body
{ "status": "success", "data": { "link": "http://dev.aerostudies.com/main/auth/otp/Mzg1NzY-IIKuoC7WlBsJ8hNlVnu2nYw6qZxV1gaS0mdAEKQOMLPuSeSDmnd1puiyeYTzkAOPC87sm4F-DNiHkOsNDkAYaMS2LPvSUjzC6LkDXLtHPQ1VIy0u3xlQ84oNsgLITmLm6clVpEc8Zlgga4xUheCbbIPaZPAYjsZO0eyc375eE36vU1wx1hfa8UFa6Rw8mcohiTvKeLvaZLsIyBpEI4zwG9Q2TWkYMtrBVbc6Oni2YAS7mRHt0EQAMEQ8QZqr3ESKTWUuz6DU02ETlVQcCFJbIdBRaR6G1kNrwOro9gmOkd5lZFn0cFizTwP20ObPtNxGChm9xDNcHIu4Er399tGgzAkMUwB6mk4oac710gzksm3aDe0kM4E9Ak0aoDUc2ryomv05wgRbKmO7FSmY7k-yQdi7GuA6LX92bHSnA-yJNsoTigzDQjHKnRQAzHMMqg4cSYNOj9FIXaEU0NMelFItw8iPiM3UM3pbOK7Oy8-xBi15Ne7nEVw6UVrf?redirect=aHR0cDovL2Rldi5hZXJvc3R1ZGllcy5jb20/Y2F0PW1lb3cmZG9nPXJ1ZmY=&sendUserIdOnRedirect=true&onErrorRedirectUrl=aHR0cDovL2Rldi5hZXJvc3R1ZGllcy5jb20vb29wcw==", "expires": "2020-09-11 15:25:27" } }
Code:
200
urlencoded

Get User  |  POST   {{apiUrl}}/users/get

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User Id we want to retrieve information about


Example Request

URL: {{apiUrl}}/users/get
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}
userId78312

Example Response

Body
{ "status": "success", "data": { "User": { "email": "", "username": "jsmithiscool", "ref_lib_access": 1, "media_lib_access": 1, "badgeID": 128453, "userID": 78312 }, "UserProfile": { "first_name": "John", "lastName": "Smith" }, "Roles": { "2": "Student", "3": "Training Developer" } } }
Code:
200
urlencoded

List Students  |  POST   {{apiUrl}}/users/listAll

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token


Example Request

URL: {{apiUrl}}/users/listAll
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

Example Response

Body
{ "status": "success", "data": [ { "firstName": "Marcos", "lastName": "Farley", "id": 18924, "email": "", "customId": null, "customData": null }, { "firstName": "Donnie ", "lastName": "Covidal", "id": 26331, "email": "", "customId": null, "customData": null }, { "firstName": "Todd", "lastName": "Patel", "id": 38576, "email": "", "customId": null, "customData": null }, { "firstName": "Matt ", "lastName": "Barkane", "id": 39264, "email": "", "customId": null, "customData": null } ] }
Code:
200
urlencoded

Suspend  |  POST   {{apiUrl}}/users/suspend

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User Id we want to suspend

suspend1

Flag to set whether user is suspended or not (0 = false, 1 = true)

suspendReasoncheerios

The reason for the suspension (Eg. Maternity leave, seasonal, etc).

suspendNotifications0

Whether or not to suspend email notifications while user is suspended (0 = false, 1 = true)


Example Request

URL: {{apiUrl}}/users/suspend
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User Id we want to suspend

suspend1

Flag to set whether user is suspended or not (0 = false, 1 = true)

suspendReasoncheerios

The reason for the suspension (Eg. Maternity leave, seasonal, etc).

suspendNotifications0

Whether or not to suspend email notifications while user is suspended (0 = false, 1 = true)

Example Response

Body
{ "status": "success", "data": true }
Code:
200
urlencoded

Update User  |  POST   {{apiUrl}}/users/update

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

User[email]

Email address

User[username]jsmithiscool

Username

User[ref_lib_access]1

Allow user to access reference library (0 = false, 1 = true)

User[media_lib_access]1

Allow user to access media library (0 = false, 1 = true)

User[badgeID]128453

Secondary Bagde ID. Used for tracking staff by company ID

User[suspend]0

Toggles whether a user is suspended or not (0 = false, 1 = true)

User[suspendNotifications]0

Suspend notifications to a suspended user (0 = false, 1 = true)

User[suspendReason]

Reason for a suspension (optional)

User[shareCalendar]0

Allows a user to access their calendar publicly. Useful for syncing system calendar events to a mobile phone (0 = false, 1 = true)

User[adminManager]0

If user has manager role, allow them to administer users with restricted priveleges

User[customId]

Custom Id field you can use to track a user instead of using our system generated id

User[customData]

Custom data you can set, up to 4kb in text format (Can put JSON/XML here, or whatever is useful to you)

User[userID]78312

System generated unique user id

UserProfile[first_name]John

First Name

UserProfile[last_name]Smith

Last Name


Example Request

URL: {{apiUrl}}/users/update
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

User[email]

Email address

User[username]jsmithiscool

Username

User[ref_lib_access]1

Allow user to access reference library (0 = false, 1 = true)

User[media_lib_access]1

Allow user to access media library (0 = false, 1 = true)

User[badgeID]128453

Secondary Bagde ID. Used for tracking staff by company ID

User[suspend]0

Toggles whether a user is suspended or not (0 = false, 1 = true)

User[suspendNotifications]0

Suspend notifications to a suspended user (0 = false, 1 = true)

User[suspendReason]

Reason for a suspension (optional)

User[shareCalendar]0

Allows a user to access their calendar publicly. Useful for syncing system calendar events to a mobile phone (0 = false, 1 = true)

User[adminManager]0

If user has manager role, allow them to administer users with restricted priveleges

User[customId]

Custom Id field you can use to track a user instead of using our system generated id

User[customData]

Custom data you can set, up to 4kb in text format (Can put JSON/XML here, or whatever is useful to you)

User[userID]78312

System generated unique user id

UserProfile[first_name]John

First Name

UserProfile[last_name]Smith

Last Name

Example Response

Body
{ "status": "success", "data": { "User": { "email": "", "username": "jsmithiscool", "ref_lib_access": 1, "media_lib_access": 1, "badgeID": 128453, "userID": 78312 }, "UserProfile": { "first_name": "John", "lastName": "Smith" }, "Roles": [] } }
Code:
200
urlencoded

Withdraw Groups  |  POST   {{apiUrl}}/users/withdrawGroups

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User id to withdraw groups from

Groups[0]1048

Group id to withdraw

Groups[1]1046

Group id to withdraw


Example Request

URL: {{apiUrl}}/users/withdrawGroups
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User id to withdraw groups from

Groups[0]1048

Group id to withdraw

Groups[1]1046

Group id to withdraw

Example Response

Body
{ "status": "success", "data": null }
Code:
200
urlencoded

Withdraw Roles  |  POST   {{apiUrl}}/users/withdrawRoles

Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User id to withdraw roles from

Roles[0]student

Role as string to withdraw from user

Roles[1]training developer

Role as string to withdraw from user


Example Request

URL: {{apiUrl}}/users/withdrawRoles
Headers
KeyValueDescription
Content-Typeapplication/x-www-form-urlencoded
Body
KeyValueDescription
access_token{{access_token}}

OAuth access token

userId78312

User id to withdraw roles from

Roles[0]student

Role as string to withdraw from user

Roles[1]training developer

Role as string to withdraw from user

Example Response

Body
{ "status": "success", "data": null }
Code:
200

Member Log in

Login

© 2023 · Aerostudies.com

  • Privacy Policy
  • Terms Of Use
  • Site Map