Skip to content
Dark mode

Complete a mission or AI Roleplay

Marks a mission or AI Roleplay module as complete for a specific learner.

Prerequisites

  1. Authentication and setup: A valid access token.
  2. Invite users to a module: The learner must be invited to the mission or AI Roleplay.
  3. Assign reviewers to users: An active reviewer is required. This assignment API supports human reviewers for missions and coaching sessions only. AI or Copilot reviewers cannot be assigned through a public API.
POST /api/v1/cag/COMPANY_ID/series/SERIES_ID/entity/ENTITY_ID/learner/LEARNER_ID/_complete

Replace COMPANY_ID, SERIES_ID, ENTITY_ID, and LEARNER_ID with the values in the path parameters table.

Base URL: the API3 host for your region, not the standard API base URL. See Base URLs.

Headers: Authorization: Bearer ACCESS_TOKEN, Content-Type: application/json.

Parameter Type Required Description
COMPANY_ID string Required The company ID (CNAME) for your Mindtickle instance.
SERIES_ID string Required Mindtickle series ID.
ENTITY_ID string Required Mindtickle module ID for the module, either a mission or an AI Roleplay.
LEARNER_ID string Required Mindtickle user ID for the learner.

The request body is optional. Sending an empty JSON object {} completes the module with the default score of 100.

Parameter Type Required Description
score integer Optional The score to assign. Must be 0 or 100. Default: 100 (pass).

A JSON body specifying the score:

{
"score": 100
}

The completion payload is returned under object.

Field Type Description
requestId string Unique tracking identifier for the request.
object object The completion payload containing the module and learner details.
object.entity_id string The identifier of the module, either a mission or an AI Roleplay, that was completed.
object.learner_id string The identifier for the learner.
object.series_id string The series ID the module belongs to.
object.score integer The final score applied, 0 or 100.
object.completed_at integer Epoch timestamp, in seconds, when the completion occurred.
{
"requestId": "req_101",
"stackTrace": null,
"statusCode": 200,
"statusMsg": null,
"object": {
"entity_id": "1234567890123456101",
"learner_id": "123456789abcd102",
"series_id": "1234567890123456103",
"score": 100,
"completed_at": 1778846250
},
"meta": {}
}

The JSON statusCode is an application code, not necessarily the HTTP status. For HTTP 400 responses, application code 5 means the score must be 0 or 100; application code 33 means no active reviewer is associated with the assignment.

Status Error Reason
400 Bad Request Could not resolve a mission type for entityId=ID The entity has no resolvable mission type.
400 Bad Request Failed to resolve mission type: MESSAGE The mission-type lookup failed for the provided entity ID.
400 Bad Request score must be 0 or 100 The provided score value is invalid.
400 Bad Request No active reviewer associated for entityId=ID learnerId=ID The learner does not have an assigned reviewer for this mission or AI Roleplay.
400 Bad Request Could not resolve orgId for companyId=ID The provided company identifier is invalid.
400 Bad Request Reviewer sessionNo unresolved for reviewerId=ID The system could not determine the session for the assigned reviewer.
400 Bad Request Could not resolve NODE_TYPE node for entityId=ID The evaluation activity node for the mission or AI Roleplay could not be resolved.
500 Internal Server Error Unknown exception A general server-side failure occurred.

Error example, invalid score:

{
"requestId": "req_101",
"stackTrace": null,
"statusCode": 5,
"statusMsg": "score must be 0 or 100"
}

Error example, no active reviewer:

{
"requestId": "req_101",
"stackTrace": null,
"statusCode": 33,
"statusMsg": "No active reviewer associated for entityId=1234567890123456101 learnerId=123456789abcd102 \u2014 cannot complete mission"
}
  • Completion flow: The API starts the learner session, initializes a draft, attaches media, submits the learner activity, and submits the reviewer evaluation for all active reviewers associated with the learner.
  • Supported module types: The API completes missions and AI Roleplays. A single dispatcher endpoint resolves the module type from the entity ID and delegates to the matching completion flow, so you do not need to know the module type in advance.
  • Mission, email and task evaluation: Learners submit a write-up, such as an email, or upload documents, media, and zipped files as a task. The review is done by the reviewers you appoint.
  • Mission, screen capture: Learners record their narration or video over a screen-share demo. The review is done by the reviewers you appoint.
  • Mission, voice-over slideshow: Learners record their narration over a slideshow. The review is done by the reviewers you appoint.
  • Mission, video roleplay: Learners record their video directly through Mindtickle or upload a pre-recorded video. The review is done by the reviewers you appoint.
  • AI Roleplay: Learners complete an AI Roleplay scenario. The review is done by the reviewers you appoint, including Mindtickle Copilot for AI-powered reviews.
  • Email and task evaluation shortcut: For email and task evaluation missions specifically, you can also call POST /api/v1/cag/COMPANY_ID/series/SERIES_ID/entity/ENTITY_ID/learner/LEARNER_ID/email/_complete, which completes the mission directly without the mission-type resolution step.
  • Silent completion: The API bypasses manual reviewer workflows by automatically starting and submitting reviewer evaluations for all active reviewers associated with the learner. The result is a silent completion: no pending review tasks are generated and no automated email notifications are triggered for either the learner or the reviewer.
  • Draft and media: To keep data valid and prevent workflow failures, a draft is initialized and a static media placeholder is attached. The module then has the required artifact for status changes, and no external media upload is needed.
  • Downstream effects: Recording the completion triggers series unlocking and certification eligibility immediately.
  • Audit: Every completion processed through this API carries a completion_origin tag labeled external_completion_api, visible in analytics to distinguish these from organic submissions.
  • Learner view: The module transitions to a Completed status. The submission view displays a placeholder note, Externally reported completion, instead of a standard media file.
  • Scoring: Only binary scoring, 0 or 100, is supported. Granular rubric-level grading is not available.
  • Reviewer assignments: An active reviewer must be assigned to the learner for the mission or AI Roleplay before you call this API.
  • Progress states: The API is for final completion only. It does not support in-progress states.
  • Media limits: While a static artifact is attached for data integrity, the API does not support uploading unique external videos or PDFs.
  • Use case: The endpoint synchronizes data from external partner portals or third-party certification sites, so the platform remains the central system of record for all readiness data.