Complete Launch Form
Completes a resource link launch and returns a self-submitting HTML form that posts the signed ID Token to the tool.
Return the form string as the body of your Launch URL response and the browser lands in the tool, logged in. The request body is identical to Complete Launch.
Request Body required
The metadata claim from the verified payload JWT that LTIAAS sent to your Launch URL. Expires ten minutes after the launch begins.
user object required
The user being launched. Name and email fields are only forwarded if the tool's privacy level permits it, so it is safe to always send them.
id object required
Your identifier for the user. Should match the user value you sent on the launch.
string
Your identifier for the user. Should match the user value you sent on the launch.
integer
Your identifier for the user. Should match the user value you sent on the launch.
Possible values: [SYSTEM_ADMINISTRATOR, SYSTEM_NONE, SYSTEM_ACCOUNT_ADMIN, SYSTEM_CRETOR, SYSTEM_SYS_ADMIN, SYSTEM_SYS_SUPPORT, SYSTEM_USER, INSTITUTION_ADMINISTRATOR, INSTITUTION_FACULTY, INSTITUTION_GUEST, INSTITUTION_NONE, INSTITUTION_OTHER, INSTITUTION_STAFF, INSTITUTION_STUDENT, INSTITUTION_ALUMNI, INSTITUTION_INSTRUCTOR, INSTITUTION_LEARNER, INSTITUTION_MEMBER, INSTITUTION_MENTOR, INSTITUTION_OBSERVER, INSTITUTION_PROSPECTIVE, CONTEXT_ADMINISTRATOR, CONTEXT_CONTENT_DEVELOPER, CONTEXT_INSTRUCTOR, CONTEXT_LEARNER, CONTEXT_MENTOR, CONTEXT_MANAGER, CONTEXT_MEMBER, CONTEXT_OFFICER]
The user's roles in this context. Many tools change what they show based on whether the user is an instructor or a learner.
context object required
id object required
Your identifier for the context. Should match the context value you sent on the launch.
string
Your identifier for the context. Should match the context value you sent on the launch.
integer
Your identifier for the context. Should match the context value you sent on the launch.
Short name, such as a course code.
Full name.
The kind of context this is. Most integrations send ["CourseOffering"].
resource object required
The activity being launched.
id object required
Your identifier for the placement. Should match the resource value you sent on the launch.
string
Your identifier for the placement. Should match the resource value you sent on the launch.
integer
Your identifier for the placement. Should match the resource value you sent on the launch.
- 201
- 400
- 401
- 403
ID Token form created
Schema
A self-submitting HTML form. Render it in an iframe or a new tab; it posts itself as soon as it loads.
{
"form": "<form id=\"ltiaas_launch\" style=\"display: none;\" action=\"https://mytool.ltiaas.com/lti/login\" method=\"POST\">\n <input type=\"hidden\" name=\"iss\" value=\"https://your.ltiaas.com\" />\n <input type=\"hidden\" name=\"client_id\" value=\"U0gIhEYg2rdIr4ABscEJ\" />\n <input type=\"hidden\" name=\"lti_deployment_id\" value=\"EgAssgssdfgsfshshq8iw\" />\n <input type=\"hidden\" name=\"target_link_uri\" value=\"https://mytool.ltiaas.com/lti/launch\" />\n <input type=\"hidden\" name=\"login_hint\" value=\"rKk4PdLgcRbqE4PdSW3iV0KhAmu2\" />\n <input type=\"hidden\" name=\"lti_message_hint\" value=\"a.long.jwt\" />\n </form>\n <script>document.getElementById(\"ltiaas_launch\").submit()</script>"
}
One or more request parameters were missing or malformed.
Schema
- Array [
- ]
details object
errors object[]
One entry per field that failed validation.
{
"status": 400,
"error": "Bad Request",
"details": {
"errors": [
{
"field": "clientId",
"message": "Missing 'clientId' parameter."
}
]
}
}
The Authorization header was missing, malformed, or carried the wrong key.
Schema
details object
Context for the failure. Always carries a message code; the other keys depend on what went wrong.
Context for the failure. Always carries a message code; the other keys depend on what went wrong.
{
"status": 403,
"error": "Forbidden",
"details": {
"message": "INACTIVE_SERVICE",
"description": "string"
}
}
{
"status": 401,
"error": "Unauthorized",
"details": {
"message": "INVALID_BEARER_AUTHORIZATION_HEADER",
"description": "Invalid API Key for account."
}
}
The account is not permitted to use this endpoint — most often because it is an LTIAAS Launch account rather than a Connect one, or because a trial quota has been reached.
Schema
details object
Context for the failure. Always carries a message code; the other keys depend on what went wrong.
Context for the failure. Always carries a message code; the other keys depend on what went wrong.
{
"status": 403,
"error": "Forbidden",
"details": {
"message": "INACTIVE_SERVICE",
"description": "string"
}
}
{
"status": 403,
"error": "Forbidden",
"details": {
"message": "INVALID_ACCOUNT_TYPE"
}
}
