lti-tool Documentation
    Preparing search index...

    Interface LTISession

    Represents an active LTI session containing user information, context data, and available services after successful launch verification.

    interface LTISession {
        context: { id: string; label: string; title: string };
        customParameters: Record<string, string>;
        id: string;
        isAdmin: boolean;
        isAssignmentAndGradesAvailable: boolean;
        isDeepLinkingAvailable: boolean;
        isInstructor: boolean;
        isNameAndRolesAvailable: boolean;
        isStudent: boolean;
        jwtPayload: JWTPayload;
        launch: { target: string };
        platform: {
            clientId: string;
            deploymentId: string;
            issuer: string;
            name: string;
        };
        resourceLink?: { id: string; title?: string };
        services?: {
            ags?: { lineitem?: string; lineitems?: string; scopes: string[] };
            deepLinking?: {
                acceptMediaTypes?: string;
                acceptMultiple: boolean;
                acceptPresentationDocumentTargets: string[];
                acceptTypes: string[];
                autoCreate: boolean;
                data?: string;
                returnUrl: string;
            };
            nrps?: { membershipUrl: string; versions: string[] };
        };
        user: {
            email?: string;
            familyName?: string;
            givenName?: string;
            id: string;
            name?: string;
            roles: string[];
        };
    }
    Index

    Properties

    context: { id: string; label: string; title: string }

    Course/context information

    Type Declaration

    • id: string

      Unique context identifier from the platform

    • label: string

      Short context label (e.g., course code)

    • title: string

      Full context title (e.g., course name)

    customParameters: Record<string, string>

    Custom parameters passed from platform

    id: string

    Unique session identifier (UUID)

    isAdmin: boolean

    True if user has administrator privileges

    isAssignmentAndGradesAvailable: boolean

    True if Assignment and Grade Services are available

    isDeepLinkingAvailable: boolean

    True if Deep Linking is available

    isInstructor: boolean

    True if user has instructor/teacher role

    isNameAndRolesAvailable: boolean

    True if Names and Role Provisioning Services are available

    isStudent: boolean

    True if user has student/learner role

    jwtPayload: JWTPayload

    Original JWT payload from the platform for reference

    launch: { target: string }

    Launch target information

    Type Declaration

    • target: string

      Target link URI where user should be directed

    platform: {
        clientId: string;
        deploymentId: string;
        issuer: string;
        name: string;
    }

    Platform identification

    Type Declaration

    • clientId: string

      OAuth2 client identifier

    • deploymentId: string

      Deployment identifier

    • issuer: string

      Platform issuer URL

    • name: string

      Human-readable platform name

    resourceLink?: { id: string; title?: string }

    Resource link information (if applicable)

    Type Declaration

    • id: string

      Unique resource link identifier

    • Optionaltitle?: string

      Resource link title

    services?: {
        ags?: { lineitem?: string; lineitems?: string; scopes: string[] };
        deepLinking?: {
            acceptMediaTypes?: string;
            acceptMultiple: boolean;
            acceptPresentationDocumentTargets: string[];
            acceptTypes: string[];
            autoCreate: boolean;
            data?: string;
            returnUrl: string;
        };
        nrps?: { membershipUrl: string; versions: string[] };
    }

    Available LTI Advantage services

    Type Declaration

    • Optionalags?: { lineitem?: string; lineitems?: string; scopes: string[] }

      Assignment and Grade Services (AGS) configuration

      • Optionallineitem?: string

        Single line item endpoint URL

      • Optionallineitems?: string

        Line items collection endpoint URL

      • scopes: string[]

        Available AGS scopes

    • OptionaldeepLinking?: {
          acceptMediaTypes?: string;
          acceptMultiple: boolean;
          acceptPresentationDocumentTargets: string[];
          acceptTypes: string[];
          autoCreate: boolean;
          data?: string;
          returnUrl: string;
      }

      Deep Linking configuration

      • OptionalacceptMediaTypes?: string

        Accepted media types

      • acceptMultiple: boolean

        Whether multiple items can be selected

      • acceptPresentationDocumentTargets: string[]

        Accepted presentation targets

      • acceptTypes: string[]

        Accepted content types

      • autoCreate: boolean

        Whether items should be auto-created

      • Optionaldata?: string

        Platform-specific data to return

      • returnUrl: string

        URL to return deep linking response

    • Optionalnrps?: { membershipUrl: string; versions: string[] }

      Names and Role Provisioning Services (NRPS) configuration

      • membershipUrl: string

        Membership endpoint URL

      • versions: string[]

        Supported NRPS versions

    user: {
        email?: string;
        familyName?: string;
        givenName?: string;
        id: string;
        name?: string;
        roles: string[];
    }

    User information extracted from LTI claims

    Type Declaration

    • Optionalemail?: string

      User's email address

    • OptionalfamilyName?: string

      User's family/last name

    • OptionalgivenName?: string

      User's given/first name

    • id: string

      Unique user identifier from the platform

    • Optionalname?: string

      User's display name

    • roles: string[]