MOTAR
Search…
AI
Permissions based plugin end-points for AI Engines to integrate with MOTAR.

Since the APIs are designed to be used by an AI agent rather than a specific user, you must use your plugin's client ID and client secret for authentication, rather than a standard MOTAR auth token generated by the SSO.
See Plugins page for more information.
Steps for generating a basic auth token:
  1. 1.
    Concatenate your app's client ID and client secret with a ":" character between them: <client_id>:<client_secret>
  2. 2.
    Base 64 encode the result.
  3. 3.
    Attach the resulting string as a header to your API request: Authorization: Basic <base64_encoded_string>
Each set of AI Plugin APIs are permission controlled by MOTAR Admin. To begin, you need to create your AI plugin and ask a MOTAR Admin to enable the correct permissions for it.

This API allows your AI Engine to access the user learning record, also known as the Airman Learning Record (ALR) or Airman Guardian Learning Record (AGLR)
get
https://api.motar.io
/plugin/v2/ai/record-data
Returns student record data for the supplied functional orgs, or all the orgs your plugin has access to.

This API set allows you to assert badges for a user's record or return a set of badges held by a user.
post
https://api.motar.io
/plugin/v2/ai/badge/assertion
Asserts a badge for a user.
get
https://api.motar.io
/plugin/v2/ai/badge/assertion
Returns badge assertions for a user.
post
/plugin/v2/ai/badge
Creates a badge.
get
https://api.motar.io
/plugin/v2/ai/badge/course
Returns course badges from all courses selected functional org(s) member(s) are enrolled in.
get
https://api.motar.io
/plugin/v2/ai/badge/objective
Returns objective badges from all courses selected functional org(s) member(s) are enrolled in.

This API allows the AI to read a user's hobbies and skills from their record.
get
https://api.motar.io
/plugin/v2/ai/other-skills
Returns a user's hobbies and other skills.

post
https://api.motar.io
/plugin/v2/ai/additional-info

For your plugin to support Mission Planner Search, you must implement a capabilities search request endpoint, and a candidate search request endpoint. When a user uses the MOTAR Mission Planner and your plugin has been configured properly, they will have the option to select your plugin for their search.
All requests to your API from MOTAR will include a basic auth header, as detailed in "Authentication" above. You should decode this header and verify the client ID and client secret match before returning a response.

Be sure to configure your AI plugin in MOTAR Studio with your Capabilities Search endpoint. If you have not set your endpoint, your plugin will not appear as an option for Mission Planner search.
Request body (from MOTAR):
Request Body
{
"positions": [{
"title": String,
"knowledgeLevel": KnowledgeLevel,
"afsc": String,
"count": Number,
"exactMatch": Boolean
}]
}
Expected response (from plugin API):
Response Body
{
"positions": [{
"title": String,
"competencies": [{
"competencyId": String,
"title": "String,
"preferredCompetencyLevel": CompetencyLevel
}]
}],
"additionalCompetencies": [{
"competencyId": String,
"title": String
}]
}

Be sure to configure your AI plugin in MOTAR Studio with your Candidate Search endpoint. If you have not set your endpoint, your plugin will not appear as an option for Mission Planner search.
Request body (from MOTAR):
Request Body
{
"positions": [{
"title": String,
"count": Number,
"competencies": [{
"competencyId": String,
"title": String,
"minimumRequirement": CompetencyLeveL,
"preferredRequirement": CompetencyLevel
}]
}]
}
Expected response (from plugin API):
Response Body
{
"positions": [{
"title": String,
"readyCandidates": [{
"candidateId": String,
"trainingGap": [{
"competencyId": String,
"recommendedAction": [{
"type": ActionType,
"objectIds": [String]
}]
}]
}],
"recommendedCandidates": [{
"candidateId": String,
"trainingGap": [{
"competencyId": String,
"recommendedAction": [{
"type": ActionType,
"objectIds": [String]
}]
}]
}]
}]
}

KnowledgeLevel
[
"apprentice",
"journeyman",
"craftsman",
"superintendent"
]
ActionType
[
"course",
"objective"
]
CompetencyLevel
[
"basic",
"intermediate",
"advanced",
"expert"
]
Last modified 5mo ago
Copy link
On this page
Authentication
User Record
get
Returns student record data for the supplied functional orgs, or all the orgs your plugin has access to.
Badge Data API Methods
post
Asserts a badge for a user.
get
Returns badge assertions for a user.
post
Creates a badge.
get
Returns course badges from all courses selected functional org(s) member(s) are enrolled in.
get
Returns objective badges from all courses selected functional org(s) member(s) are enrolled in.
Hobbies and Other Skills API
get
Returns a user's hobbies and other skills.
Additional Info API
post
Mission Planner Search API
Capabilities Search Request
Candidate Search Request
Data Types