Developer Platform (May 2024)

LTI Advantage management (registrations, deployments, and links)

«  Assessments and rubrics   ·  [   home  ·   reference  ·   community   |   search  ·   index   ·  routing table   ·  scopes table   ]   ·  LTI management (links and tool providers)  »

The Learning Tools Interoperability® actions let an organization manage the LTI® registrations, deployments, and links available to particular organization units. Callers can use these routes to fetch, register, deploy, update, and remove entries for LTI tools and LTI links. Note that each created LTI link will have a unique D2LID assigned so you can identify a link independently of the org unit with which it’s registered; however, you cannot register a single LTI link with more than one org unit. Registrations and deployments can only be created at the organization. These routes apply to LTI 1.3+ only.

Note

These structures and routes apply only to LTI Advantage (LTI 1.3+). You can also refer to the reference for legacy LTI support (LTI 1.1.x). The LTI API routes are fulfilled by the LE product component and included in the LE API contract version. The ‘lti’ product component listed in version blocks (such as Version.ProductVersions) indicates the level of LTI standard the platform supports, and not the API contract version for these routes.

Attributes

EXTENSION_T

LTI Advantage extensions can have values of a variety of data types; we use the term EXTENSION_T to stand in for an appropriate integer value:

Data type name

Value

AssignmentAndGradeServices

1

DeepLinking

2

NamesAndRoleProvisioningServices

3

(reserved for future use)

4

(reserved for future use)

5

(reserved for future use)

6

LTI Advantage Link types can have values of a variety of data types; we use the term LINK_TYPE_T to stand in for an appropriate integer value:

Data type name

Value

Basic

1

Widget

2

Quicklink

3

InsertStuff

4

MIGRATION_STATUS_T

LTI Advantage migration job statuses can have values of a variety of data types; we use the term MIGRATION_STATUS_T to stand in for an appropriate integer value:

Data type name

Value

Queued

0

Processing

1

Complete

2

Error

3

Paused

4

Cancelled

5

MIGRATION_TYPE_T

LTI Advantage migration job types can have values of a variety of data types; we use the term MIGRATION_TYPE_T to stand in for an appropriate integer value:

Data type name

Value

LinkApi

0

CopyCourse

1

ButtonUI

2

JobApi

3

Tool Registration

LTI.CreateRegistrationData

When a client invokes an action to register or update an already registered LTI tool for an organization, it should provide a structure like this:

{
    "IsEnabled": <boolean>,
    "Name": <string>,
    "Description": <string>|null,
    "Domain": <string>,
    "RedirectUrls": [ <string>, ... ],
    "OpenIDConnectLoginUrl": <string>,
    "KeysetUrl": <string>|null,
    "EnabledExtensions": [ <number:EXTENSION_T>, ... ],
    "SendInstitutionRole": <boolean>,
    "CustomParameters": [ { <composite:LTI.CustomParameters> }, ... ],
    "TargetLinkUri": <string>|null
}
CustomParameters

Pass any custom parameters as name-value pairs in this required property; if you need no custom parameters for this LTI link, you should provide an empty array. Supported custom parameters will show as Substitution Parameters in Brightspace.

LTI.RegistrationData

When a client invokes an action that would retrieve the registration information for an LTI tool, the Learning Service sends back a structure like this:

{
    "ClientId": <GUID>,
    "IsEnabled": <boolean>,
    "Name": <string>,
    "Description": <string>|null,
    "Domain": <string>,
    "RedirectUrls": [ <string>, ... ],
    "OpenIDConnectLoginUrl": <string>,
    "KeysetUrl": <string>,
    "EnabledExtensions": [ <number:EXTENSION_T>, ... ],
    "SendInstitutionRole": <boolean>,
    "BrightspaceAudience": <string>,
    "BrightspaceIssuer": <string>,
    "BrightspaceKeysetURL": <string>,
    "BrightspaceOAuth2AccessTokenURL": <string>,
    "BrightspaceOIDCAuthenticationEndpoint": <string>,
    "CustomParameters": [ { <composite:LTI.CustomParameters> }, ... ],
    "TargetLinkUri": <string>|null
}
Brightspace* properties

All the Brightspace* properties are Brightspace values that should be shared back to the tool.

Tool Deployment

LTI.CreateDeploymentData

When a client invokes an action to deploy an LTI tool or update an already deployed LTI tool for an organization, it should provide a structure like this:

{
    "ClientId": <GUID>,
    "IsEnabled": <boolean>,
    "Name": <string>,
    "Description": <string>|null,
    "EnabledExtensions": [ <number:EXTENSION_T>, ... ],
    "Anonymous": <boolean>,
    "SendOrgUnitInformation": <boolean>,
    "SendUserFirstName": <boolean>,
    "SendUserMiddleName": <boolean>,
    "SendUserLastName": <boolean>,
    "SendUserEmail": <boolean>,
    "SendD2LUserId": <boolean>,
    "SendD2LUsername": <boolean>,
    "SendD2LOrgDefinedId": <boolean>,
    "SendLinkTitle": <boolean>,
    "SendLinkDescription": <boolean>,
    "PreProvisioning": <boolean>,
    "CustomParameters": [ { <composite:LTI.CustomParameters> }, ... ],
    "OpenAsExternal": <boolean>,
    "IncludeInFinalGrade": <boolean>,
    "AutoMigrateLinks": <boolean>,  // Added with LE API v1.67
    "AutoCreateGrade": <boolean>  // Added with LE API v1.68
}
ClientID

Identifies the Registration this deployment belongs to. When using this structure to update an existing Deployment, you must not provide a different value for this field (tool deployments should always remain associated with the registration they were originally created with).

PreProvisioning

Security setting to send classlist including users not known to tool.

CustomParameters

Pass any custom parameters as name-value pairs in this required property; if you need no custom parameters for this LTI link, you should provide an empty array. Supported custom parameters will show as Substitution Parameters in Brightspace.

LTI.DeploymentData

When a client invokes an action that would retrieve the deployment information for an LTI tool, the Learning Service sends back a structure like this:

{
    "DeploymentId": <GUID>,
    "ClientId": <GUID>,
    "IsEnabled": <boolean>,
    "Name": <string>,
    "Description": <string>|null,
    "EnabledExtensions ": [ <number:EXTENSION_T>, ... ],
    "AvailableExtensions": [ <number:EXTENSION_T>, ... ],
    "Anonymous": <boolean>,
    "SendOrgUnitInformation": <boolean>,
    "SendUserFirstName": <boolean>,
    "SendUserMiddleName": <boolean>,
    "SendUserLastName": <boolean>,
    "SendUserEmail": <boolean>,
    "SendD2LUserId": <boolean>,
    "SendD2LUsername": <boolean>,
    "SendD2LOrgDefinedId": <boolean>,
    "SendLinkTitle": <boolean>,
    "SendLinkDescription": <boolean>,
    "PreProvisioning": <boolean>,
    "IsAvailable": <boolean>,
    "CustomParameters": [ { <composite:LTI.CustomParameters> }, ... ],
    "OpenAsExternal": <boolean>,
    "IncludeInFinalGrade": <boolean>,
    "AutoMigrateLinks": <boolean>,  // Added with LE API v1.67
    "AutoCreateGrade": <boolean>  // Added with LE API v1.68
}
PreProvisioning

Security setting to send classlist including users not known to tool.

AvailableExtensions, EnableExtensions

For an extension to be active it must be in both the AvailableExtensions and EnabledExtensions lists.

Tool Deployment Sharing

LTI.CreateSharingRuleData

When a client invokes an create a sharing rule that will make an LTI Deployment available to an org unit they should send this structure:

{
    "SharingOrgUnitId":  <number:D2LID>,
    "ShareWithOrgUnit": <boolean>,
    "ShareWithDescendants": <boolean>
}
LTI.UpdateSharingRuleData

When a client invokes an update a sharing rule that will make an LTI Deployment available to an org unit they should send this structure:

{
    "ShareWithOrgUnit": <boolean>,
    "ShareWithDescendants": <boolean>
}
LTI.OrgUnitSharingRuleData

When a client invokes an action to retrieve the sharing information for an already registered LTI Deployment they will receive this structure:

{
    "SharingOrgUnitId":  <number:D2LID>,
    "ShareWithOrgUnit": <boolean>,
    "ShareWithDescendants": <boolean>,
    "Inherited": <boolean>|null
}
Inherited

Determines if an org unit has been shared to by having a parent that is shared with all descendants.

Migration

LTI.MigrationData

When a client invokes an action to migrate a 1.1 LTI link to an LTI Advantage link, they should send this structure:

{
    "DeploymentId":  <GUID>,
    "ToolProviderId": <number:D2LID>|null,
}
DeploymentId

Identifies the target LTI Advantage deployment to which the back-end service will seek to migrate the link.

ToolProviderId

If you provide a Tool Provider identifier for this propery, the back-end service uses domain matching to ensure that the domain of the link matches your specified Tool Provider’s domain.

If you provide null for this property, the back-end service assumes that link has its own key and secret to authenticate launches, and will not check the domain of the link against any other domain.

LTI.MigrationJobData

When a client invokes an action to migrate all legacy LTI links to LTI Advantage links for an org unit, they should send this structure:

{
    "OrgUnitId": <number:D2LID>
}
LTI.MigrationJob

When a client invokes an action to migrate all legacy LTI links to LTI Advantage links for an org unit, they should receive this structure:

{
    "JobId": <number:D2LID>
}
LTI.MigrationJobStatus

When a client invokes an action to view an LTI migration job, they should receive this structure:

{
    "JobId": <number:D2LID>,  // Added with LMS v20.23.3
    "Status": <number:MIGRATION_STATUS_T>,
    "OrgUnitId": <number:D2LID>,
    "Counts": {
        "Success": <number>,
        "Failure": <number>,
        "NoDomainMatch": <number>
    },
    "MigrationType": <number:MIGRATION_TYPE_T>,
    "QueueDate": <string:UTCDateTime>|null,  // Added with LMS v20.23.3
    "StartDate": <string:UTCDateTime>|null,  // Added with LMS v20.23.3
    "CompleteDate": <string:UTCDateTime>|null  // Added with LMS v20.23.3
}

Actions

Tool Registration

DELETE /d2l/api/le/(version)/ltiadvantage/registration/(clientId)

Remove an LTI Advantage registration.

Parameters:
  • version (D2LVERSION) – API version.

  • clientId (GUID) – Client ID.

Oauth2 Scopes:

ltiadvantage:registrations:delete

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Note

A registration may only be deleted if it is not tied to any deployments.

GET /d2l/api/le/(version)/ltiadvantage/registration/

Retrieve the information for all LTI registrations for the organization.

Parameters:
Query Parameters:
  • isEnabled (boolean) – Optional. Used to limit registrations based on IsEnabled status.

Oauth2 Scopes:

ltiadvantage:registrations:read

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns an ObjectListPage JSON block containing a list of registrations belonging to the organization.

GET /d2l/api/le/(version)/ltiadvantage/registration/(clientId)

Retrieve the information for a particular LTI registration.

Parameters:
  • version (D2LVERSION) – API version.

  • clientId (GUID) – Client ID.

Oauth2 Scopes:

ltiadvantage:registrations:read

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Registration JSON block containing the data associated with the matching LTI registration.

GET /d2l/api/le/(version)/ltiadvantage/registration/(clientId)/legacydomains/

Retrieve the domain names for migration-routing in provided LTI tool registration.

Parameters:
  • version (D2LVERSION) – API version.

  • clientId (GUID) – Client ID.

Oauth2 Scopes:

ltiadvantage:registrations:read

Status Codes:
  • 200 OK – Action succeeded.

  • 403 Forbidden – No permission to see migration domain names for LTI tool registration.

  • 404 Not Found – No such LTI tool registration.

API Versions:
  • 1.68+ – Route first appears in LMS v20.24.4.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns an array of domain name strings configured for a particular LTI tool registration that will match against legacy LTI tool configurations during migration into LTI Advantage.

POST /d2l/api/le/(version)/ltiadvantage/registration/

Register a new LTI tool for the organization.

Parameters:
JSON Parameters:
Oauth2 Scopes:

ltiadvantage:registrations:create

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Registration JSON block containing the data associated with the newly created LTI registratation.

POST /d2l/api/le/(version)/ltiadvantage/registration/(clientId)/legacydomains/

Add a domain name to be used for migration-routing for a provided LTI tool.

Parameters:
  • version (D2LVERSION) – API version.

  • clientId (GUID) – Client ID for the registered LTI tool.

Oauth2 Scopes:

ltiadvantage:registrations:update

Status Codes:
  • 200 OK – Action succeeded.

  • 400 Bad Request – Domain name already in use for the provided, or another, LTI tool.

  • 403 Forbidden – No permission to update migration domain names for LTI tool.

  • 404 Not Found – No such LTI tool registration.

API Versions:
  • 1.68+ – Route first appears in LMS v20.24.4.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Input. The action’s body should be a JSON string with a value of a valid URL identifying the replacement domain to apply to the LTI tool registration; this will add a new domain to the list of domain name strings that will match against legacy LTI tool configurations during migration into LTI Advantage for this registered tool.

PUT /d2l/api/le/(version)/ltiadvantage/registration/(clientId)

Update the information associated with an LTI tool registration.

Parameters:
  • version (D2LVERSION) – API version.

  • clientId (GUID) – Client ID.

JSON Parameters:
Oauth2 Scopes:

ltiadvantage:registrations:update

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Registration JSON block containing the updated data for the tool registration.

PUT /d2l/api/le/(version)/ltiadvantage/registration/(clientId)/legacydomains/

Update the domain names to be used for migration routing for a provided LTI tool.

Parameters:
  • version (D2LVERSION) – API version.

  • clientId (GUID) – Client ID for the registered LTI tool.

Oauth2 Scopes:

ltiadvantage:registrations:update

Status Codes:
  • 200 OK – Action succeeded.

  • 400 Bad Request – Domain name already in use for the provided, or another, LTI tool.

  • 403 Forbidden – No permission to update migration domain names for LTI tool.

  • 404 Not Found – No such LTI tool registration.

API Versions:
  • 1.68+ – Route first appears in LMS v20.24.4.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Input. The action’s body should be a JSON array containing a list of valid URL strings identifying the list of domain name strings that will match against legacy LTI tool configurations during migration into LTI Advantage for this registered tool.

Tool Deployment

DELETE /d2l/api/le/(version)/ltiadvantage/deployment/(deploymentId)

Remove an LTI Advantage deployment.

Parameters:
  • version (D2LVERSION) – API version.

  • deploymentId (GUID) – Deployment ID.

Oauth2 Scopes:

ltiadvantage:deployments:delete

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Note

A LTI tool deployment may only be deleted if it is not tied to any links.

GET /d2l/api/le/(version)/ltiadvantage/deployment/

Retrieve the information for all LTI deployments for the organization.

Parameters:
Query Parameters:
  • clientId (GUID) – Optional. Used to limit deployments based on ClientId value.

  • isEnabled (boolean) – Optional. Used to limit deployments based on IsEnabled status.

  • isAvailable (boolean) – Optional. Used to limit deployments based on IsAvailable status.

Oauth2 Scopes:

ltiadvantage:deployments:read

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns an ObjectListPage JSON block containing a list of LTI tool deployments belonging to the organization.

GET /d2l/api/le/(version)/ltiadvantage/deployment/(deploymentId)

Retrieve the information for a particular LTI tool deployment.

Parameters:
  • version (D2LVERSION) – API version.

  • deploymentId (GUID) – Deployment ID.

Oauth2 Scopes:

ltiadvantage:deployments:read

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Deployment JSON block containing the data associated with the matching LTI tool deployment.

POST /d2l/api/le/(version)/ltiadvantage/deployment/

Create a new LTI tool deployment for the organization.

Parameters:
JSON Parameters:
Oauth2 Scopes:

ltiadvantage:deployments:create

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Deployment JSON block containing the data associated with the newly created LTI tool deployment.

PUT /d2l/api/le/(version)/ltiadvantage/deployment/(deploymentId)

Update the information associated with an LTI tool deployment.

Parameters:
  • version (D2LVERSION) – API version.

  • deploymentId (GUID) – Deployment ID.

JSON Parameters:
Oauth2 Scopes:

ltiadvantage:deployments:update

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Input. While you provide an CreateDeploymentData JSON block when using this action to update an LTI tool deployment, you should not provide a different ClientID value for your updated tool deployment. Tool deployments should always remain with the registration they were originally created with.

Return. This action returns a Deployment JSON block containing the updated data for the LTI tool deployment.

Tool Deployment Sharing

DELETE /d2l/api/le/(version)/ltiadvantage/deployment/(deploymentId)/sharing/

Delete all sharing rules for a particular LTI deployment.

Parameters:
  • version (D2LVERSION) – API version.

  • deploymentId (GUID) – Deployment ID.

Oauth2 Scopes:

ltiadvantage:deployments:update

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

DELETE /d2l/api/le/(version)/ltiadvantage/deployment/(deploymentId)/sharing/(sharingOrgUnitId)

Delete the sharing rule for a particular org unit and LTI deployment.

Parameters:
  • version (D2LVERSION) – API version.

  • deploymentId (GUID) – Deployment ID.

  • sharingOrgUnitId (D2LID) – Org unit ID the deployment is shared to.

Oauth2 Scopes:

ltiadvantage:deployments:update

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

GET /d2l/api/le/(version)/ltiadvantage/deployment/(deploymentId)/sharing/

Retrieve the sharing rules for a particular LTI deployment.

Parameters:
  • version (D2LVERSION) – API version.

  • deploymentId (GUID) – Deployment ID.

Query Parameters:
  • incldueInherited (boolean) – Optional. Used to include org units shared by inheritence.

  • orgUnitId (D2LID) – Optional. Used to limit to a single org unit.

Oauth2 Scopes:

ltiadvantage:deployments:read

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns an ObjectListPage JSON block containing a list of OrgUnitSharingRuleData for the deployment.

POST /d2l/api/le/(version)/ltiadvantage/deployment/(deploymentId)/sharing/

Add a sharing rule for a particular LTI deployment.

Parameters:
  • version (D2LVERSION) – API version.

  • deploymentId (GUID) – Deployment ID.

JSON Parameters:
Oauth2 Scopes:

ltiadvantage:deployments:update

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a CreateSharingRuleData JSON block containing the data associated with the newly registered sharing rule.

PUT /d2l/api/le/(version)/ltiadvantage/deployment/(deploymentId)/sharing/(sharingOrgUnitId)

Update the sharing rule for a particular org unit and LTI tool deployment.

Parameters:
  • version (D2LVERSION) – API version.

  • deploymentId (GUID) – Deployment ID.

  • sharingOrgUnitId (D2LID) – Org unit ID the deployment is shared to.

JSON Parameters:
Oauth2 Scopes:

ltiadvantage:deployments:update

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a CreateSharingRuleData JSON block containing the data associated with the newly updated sharing rule.

Links

Remove an LTI Advantage link.

Parameters:
  • version (D2LVERSION) – API version.

  • orgUnitId (D2LID) – Org Unit ID.

  • linkId (D2LID) – Link ID.

Oauth2 Scopes:

ltiadvantage:links:delete

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Retrieve the summaries for all LTI Advantage links for the deployment.

Parameters:
Query Parameters:
  • isEnabled (boolean) – Optional. Used to limit links based on IsEnabled status.

  • orgUnitOnly (boolean) – Optional. When true only links that are owned by an orgUnit are returned.

Oauth2 Scopes:

ltiadvantage:links:read

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns an ObjectListPage JSON block containing a list of Link Summaries belonging to the deployment.

Retrieve the information for all LTI Advantage links for the organization.

Parameters:
Query Parameters:
  • deploymentId (GUID) – Optional. Used to limit links based on deployment.

  • isEnabled (boolean) – Optional. Used to limit links based on IsEnabled status.

  • IsAvailable (boolean) – Optional. Used to limit links based on IsAvailable status.

  • type (LINK_TYPE_T) – Optional. Used to limit links based on Type.

Oauth2 Scopes:

ltiadvantage:links:read

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns an ObjectListPage JSON block containing a list of Links belonging to the organization.

Retrieve the information for a particular LTI Advantage organization link.

Parameters:
Oauth2 Scopes:

ltiadvantage:links:read

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Link JSON block containing the data associated with the matching LTI Advantage link.

Retrieve the information for all LTI Advantage links within the scope of an org unit.

Parameters:
Query Parameters:
  • deploymentId (GUID) – Optional. Used to limit links based on deployment.

  • isEnabled (boolean) – Optional. Used to limit links based on IsEnabled status.

  • IsAvailable (boolean) – Optional. Used to limit links based on IsAvailable status.

  • type (LINK_TYPE_T) – Optional. Used to limit links based on Type.

Oauth2 Scopes:

ltiadvantage:links:read

Status Codes:
  • 200 OK – Action succeeded.

  • 403 Forbidden – No permission to manage external learning tool links or create external learning tool links from external learning tool providers or create quicklinks from available external learning tools links.

  • 429 Too Many Requests – API call-rate limit exceeded.

API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns an ObjectListPage JSON block containing a list of Links belonging to the org unit.

Retrieve the information for a particular LTI Advantage link.

Parameters:
  • version (D2LVERSION) – API version.

  • orgUnitId (D2LID) – Org Unit ID.

  • linkId (D2LID) – Link ID.

Oauth2 Scopes:

ltiadvantage:links:read

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Link JSON block containing the data associated with the matching LTI Advantage link.

POST /d2l/api/le/(version)/ltiadvantage/links/organization/

Create a new LTI Advantage link for the organization.

Parameters:
JSON Parameters:
Oauth2 Scopes:

ltiadvantage:links:create

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Link JSON block containing the data associated with the newly created LTI Advantage link.

POST /d2l/api/le/(version)/ltiadvantage/links/orgunit/(orgUnitId)/

Create a new LTI Advantage link for an org unit.

Parameters:
JSON Parameters:
Oauth2 Scopes:

ltiadvantage:links:create

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Link JSON block containing the data associated with the newly created LTI Advantage link.

POST /d2l/api/le/(apiVersion)/ltiadvantage/quicklinks/orgunit/(orgUnitId)/link/(linkId)

Build a new quicklink around an existing LTI Advantage link.

Parameters:
  • version (D2LVERSION) – API version.

  • orgUnitId (D2LID) – Org unit ID.

  • linkId (D2LID) – Link ID.

Oauth2 Scopes:

ltiadvantage:quicklinks:create

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Input. Provide an empty post body.

Return. This action returns a Quicklink JSON block containing the details for the new quicklink.

Update the information associated with an LTI Advantage link.

Parameters:
JSON Parameters:
Oauth2 Scopes:

ltiadvantage:links:update

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Link JSON block containing the updated data for the LTI Advantage link.

Update the information associated with an LTI Advantage link.

Parameters:
  • version (D2LVERSION) – API version.

  • orgUnitId (D2LID) – Org Unit ID.

  • linkId (D2LID) – Link ID.

JSON Parameters:
Oauth2 Scopes:

ltiadvantage:links:update

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Return. This action returns a Link JSON block containing the updated data for the LTI Advantage link.

Migration

GET /d2l/api/le/(version)/ltiadvantage/migration/jobs/

Retrieve the status of all LTI migration jobs.

Parameters:
Query Parameters:
  • orgUnitId (D2LID) – Optional. Used to limit jobs based on org unit.

  • status (MIGRATION_STATUS_T) – Optional. Used to limit jobs based on status.

  • migrationType (MIGRATION_TYPE_T) – Optional. Used to limit jobs based on migration type.

  • startDate (UTCDateTime) – Optional. Used to limit jobs to those that started at or after startDate.

  • endDate (UTCDateTime) – Optional. Used to limit jobs to those that started at or before startDate.

Oauth2 Scopes:

ltiadvantage:migrationjob:view

Status Codes:
API Versions:
  • 1.69+ – Route first appears in LMS v20.23.3.

Return. This action returns an ObjectListPage JSON block containing a list of migration jobs belonging to the organization.

GET /d2l/api/le/(version)/ltiadvantage/migration/jobs/(jobId)

Retrieve the status of an LTI migration job.

Parameters:
Oauth2 Scopes:

ltiadvantage:migrationjob:view

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.66Deprecated as of LMS v20.24.1.

Return. This action returns a MigrationJobStatus JSON block containing the data for the LTI migration job.

POST /d2l/api/le/(version)/ltiadvantage/migration/links/(linkId)

Migrate a legacy LTI link to an LTI Advantage link.

Parameters:
JSON Parameters:
  • MigrationData (MigrationData) – Migration directions for link.

Oauth2 Scopes:

ltiadvantage:links:update

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.61-66Deprecated as of LMS v20.24.1.

  • 1.60-Obsolete as of LMS v20.24.1.

Input. The action’s body should be a MigrationData JSON data block identifying the target deployment to receive the migrated link, and the Tool Provider governing the link if the link does not have its own key and secret.

Return. This action returns an empty body.

Note

Before migrating a link from legacy LTI to LTI Advantage, you should verify with the respective LTI Tool that it will properly support the link after migration.

POST /d2l/api/le/(version)/ltiadvantage/migration/jobs/

Create a migration job to attempt migration of all legacy LTI links to LTI Advantage links for an org unit.

Parameters:
JSON Parameters:
Oauth2 Scopes:

ltiadvantage:migrationjob:manage

Status Codes:
API Versions:
  • 1.67+ – Route first appears in LMS v20.23.1.

  • 1.66Deprecated as of LMS v20.24.1.

Input. The action’s body should be a MigrationJobData JSON data block identifying the target org unit to create the migration job for.

Return. This action returns a MigrationJob JSON block containing the data for the LTI migration job created. If a migration job was already queued or in progress, the returned data will match the pre-exising job.

Note

Legacy LTI links require an enabled registration where the link URL matches the registration domain (or one of the mapped legacy domains for that registration), as well as an enabled deployment shared to the org unit for the migration job in order for a link to be migrated. Before migrating links from legacy LTI to LTI Advantage, you should verify with the respective LTI Tool that it will properly support the link after migration.

«  Assessments and rubrics   ·  [   home  ·   reference  ·   community   |   search  ·   index   ·  routing table   ·  scopes table   ]   ·  LTI management (links and tool providers)  »