Edge API - Course Reserves LTI Tool (v1)

https://github.com/folio-org/edge-lti-courses

Table of contents

Edge API - Course Reserves LTI Tool

Edge API to allow LTI platforms to fetch course reserves

/lti-courses

GET /lti-courses/.well-known/jwks.json

Return the JWKS the tool uses to sign its JWTs

GET /lti-courses/.well-known/jwks.json

GET /lti-courses/oidc-login-init/{apiKeyPath}

Begin a third-party OIDC login initiation flow

GET /lti-courses/oidc-login-init/{apiKeyPath}
URI Parameters
  • apiKeyPath: required (string)
Query Parameters
  • iss: required (string)

    The Issuer string of the Platform. This corresponds to a JWT's iss.

    Example:

    https://my-lms.edu/
  • login_hint: required (string)

    Unused by this tool but required by the LTI Advantage spec.

  • target_link_uri: required (string)

    The actual end-point that should be executed at the end of the OpenID Connect authentication flow.

    Example:

    https://folio-edge-apis.edu/lti-courses/launches/myApiKey

Response 302

Success, redirecting to the LTI Platform's OAuth Authorization URL

Response 400

Bad request, missing some of the required parameters

Body

Media type: text/plain

Type: any

Example:

Missing required parameter: target_link_uri

POST /lti-courses/launches/{apiKeyPath}

POST /lti-courses/launches/{apiKeyPath}
URI Parameters
  • apiKeyPath: required (string)
Body

Media type: application/x-www-form-urlencoded

Properties:

Response 200

Success, will render the course reserves or a 'none found' message

Body

Media type: text/html

Type: any

Response 400

Bad request, some data is missing or invalid

Body

Media type: text/plain

Type: any

Example:

Issuer not provided

Response 500

Some internal server error, including ones thrown by Folio

Body

Media type: text/plain

Type: any

Example:

Folio had an internal server error

POST /lti-courses/externalIdLaunches/{apiKeyPath}

POST /lti-courses/externalIdLaunches/{apiKeyPath}
URI Parameters
  • apiKeyPath: required (string)
Body

Media type: application/x-www-form-urlencoded

Properties:

Response 200

Success, will render the course reserves or a 'none found' message

Body

Media type: text/html

Type: any

Response 400

Bad request, some data is missing or invalid

Body

Media type: text/plain

Type: any

Example:

Issuer not provided

Response 500

Some internal server error, including ones thrown by Folio

Body

Media type: text/plain

Type: any

Example:

Folio had an internal server error

POST /lti-courses/registrarIdLaunches/{apiKeyPath}

POST /lti-courses/registrarIdLaunches/{apiKeyPath}
URI Parameters
  • apiKeyPath: required (string)
Body

Media type: application/x-www-form-urlencoded

Properties:

Response 200

Success, will render the course reserves or a 'none found' message

Body

Media type: text/html

Type: any

Response 400

Bad request, some data is missing or invalid

Body

Media type: text/plain

Type: any

Example:

Issuer not provided

Response 500

Some internal server error, including ones thrown by Folio

Body

Media type: text/plain

Type: any

Example:

Folio had an internal server error

Health Check

GET /admin/health

Health Check

GET /admin/health

Response 200

Success

Body

Media type: text/plain

Type: any