Adds a new LTI client platform configuration.
Client configuration (ID will be auto-generated)
The generated client ID
Adds a new deployment to an existing client.
Client identifier
Deployment configuration to add
The generated deployment ID
Completes LTI 1.3 dynamic registration by processing form submission and storing client configuration. Validates session, registers with platform, stores client/deployment data, and returns success page.
Validated form data containing selected services and session token
HTML success page with registration details and close button
Creates a Deep Linking response with selected content items. Generates a signed JWT and returns HTML form that auto-submits to the platform.
Active LTI session containing Deep Linking configuration
Array of content items selected by the user
HTML string containing auto-submit form
Creates a new line item (gradebook column) on the platform using Assignment and Grade Services (AGS).
Active LTI session containing AGS service endpoints
Line item data including label, scoreMaximum, and optional metadata
OptionalendDateTime?: stringOptional end date/time for the assignment
Human-readable label for the line item
OptionalresourceId?: stringOptional resource identifier that this line item is associated with
OptionalresourceLinkId?: stringOptional resource link identifier
Maximum score possible for this line item
OptionalstartDateTime?: stringOptional start date/time for the assignment
Optionaltag?: stringOptional tag to identify the line item
Created line item with platform-generated ID and validated data
Creates and stores a new LTI session from validated JWT payload.
Validated LTI 1.3 JWT payload from successful launch
Created session object with user, context, and service information
Removes a client configuration and all its deployments.
Unique client identifier
Removes a deployment from a client.
Client identifier
Deployment identifier to remove
Deletes a line item (gradebook column) from the platform using Assignment and Grade Services (AGS).
Active LTI session containing AGS service endpoints
Removes a registration session from storage after completion or expiration. Used for cleanup to prevent session accumulation.
Unique session identifier to delete
Fetches and validates the OpenID Connect configuration from an LTI platform during dynamic registration. Validates that the OIDC endpoint and issuer have matching hostnames for security.
Registration request containing openid_configuration URL and optional registration_token
Validated OpenID configuration with platform endpoints and supported features
Retrieves a specific client configuration by ID.
Unique client identifier
Client configuration if found, undefined otherwise
Retrieves a specific deployment configuration.
Client identifier
Deployment identifier
Deployment configuration if found, undefined otherwise
Generates JSON Web Key Set (JWKS) containing the tool's public key for platform verification.
JWKS object with the tool's public key for JWT signature verification
Retrieves a specific line item (gradebook column) from the platform using Assignment and Grade Services (AGS).
Active LTI session containing AGS service endpoints
Line item data from the platform
Retrieves course/context members using Names and Role Provisioning Services (NRPS).
Active LTI session containing NRPS service endpoints
Array of members with clean camelCase properties
Retrieves a registration session by its ID for validation during completion. Returns undefined if the session is not found or has expired.
Unique session identifier
Registration session if found and not expired, undefined otherwise
Retrieves all scores for a specific line item from the platform using Assignment and Grade Services (AGS).
Active LTI session containing AGS service endpoints
Array of score submissions for the line item
Retrieves an existing LTI session by session ID.
Unique session identifier
Session object if found, undefined otherwise
Handles LTI 1.3 login initiation by generating state/nonce and redirecting to platform auth.
Login parameters from the platform
OAuth2 client identifier for this tool
Platform issuer URL (identifies the LMS)
URL where platform will POST the id_token after auth
Platform-specific user identifier hint
Deployment identifier within the platform
Optionallti_message_hint?: stringOptional platform-specific message context
Final destination URL after successful launch
Authorization URL to redirect user to for authentication
Initiates LTI 1.3 dynamic registration by fetching platform configuration and generating registration form. Creates a temporary session and returns vendor-specific HTML form for service selection.
Registration request containing openid_configuration URL and optional registration_token
Current request path used to build form action URLs
HTML form for service selection and registration completion
Retrieves all configured LTI client platforms.
Array of client configurations (without deployment details)
Lists all deployments for a specific client platform.
Client identifier
Array of deployment configurations for the client
Retrieves line items (gradebook columns) from the platform using Assignment and Grade Services (AGS).
Active LTI session containing AGS service endpoints
Array of line items from the platform
Stores a temporary registration session during LTI 1.3 dynamic registration flow. Sessions automatically expire after the configured TTL period.
Unique session identifier (typically a UUID)
Registration session data including platform config and tokens
Submits a grade score to the platform using Assignment and Grade Services (AGS).
Active LTI session containing AGS service endpoints
Score submission data including grade value and user ID
Student's progress on the activity itself.
Optionalcomment?: stringOptional feedback comment to display to the student
Instructor's progress on grading the submission.
Points awarded to the student (must be non-negative)
Maximum possible points for this assignment (must be non-negative)
Optionaltimestamp?: stringTimestamp when score was generated (optional - defaults to current time)
OptionaluserId?: stringUser ID to submit score for (optional - defaults to session user if not provided)
Updates an existing client configuration.
Unique client identifier
Partial client object with fields to update
Updates an existing deployment configuration.
Client identifier
Deployment identifier
Partial deployment object with fields to update
Updates an existing line item (gradebook column) on the platform using Assignment and Grade Services (AGS).
Active LTI session containing AGS service endpoints
Updated line item data including all required fields
OptionalendDateTime?: stringOptional end date/time for the assignment
Human-readable label for the line item
OptionalresourceId?: stringOptional resource identifier that this line item is associated with
Maximum score possible for this line item
OptionalstartDateTime?: stringOptional start date/time for the assignment
Optionaltag?: stringOptional tag to identify the line item
Updated line item with validated data from the platform
Verifies and validates an LTI 1.3 launch by checking JWT signatures, nonces, and claims.
Performs comprehensive security validation including:
JWT id_token received from platform after authentication
State JWT that was generated during login initiation
Validated and parsed LTI 1.3 JWT payload
Main LTI 1.3 Tool implementation providing secure authentication, launch verification, and LTI Advantage services integration.
Example