Ga naar inhoud

API: LTI-tools

De LTI-tools van een cursus opvragen, aanmaken, bijwerken en verwijderen.

Een LTI-tool publiceert een hele cursus of één leerobject naar een extern LMS. Met deze endpoints vraag je de tools van een cursus op en maak je een tool aan, werk je die bij of verwijder je die. De velden komen overeen met het formulier in de Linqur-interface: LTI-versie, publicatiemodus, rollen, provisioning, cijfer- en gebruikerssynchronisatie en de inschrijfperiode, uitgelegd in Instellingen van een LTI-tool uitgelegd. Het antwoord van /course/tool/list bevat de launch-URL, de registratie-URL en de secret van elke tool; ga daar vertrouwelijk mee om.

Elk endpoint accepteert zowel GET als POST; de kop toont de methode die de specificatie als eerste noemt. Uploads gaan alleen met POST. Stuur je API-sleutel mee in de header Access-Token. De basis-URL is https://<your-platform>/local/ltisaas/api.php/v1; met v0 en het token dummy krijg je testdata. Foutmeldingen komen terug als JSON met success: false, error en debuginfo. Authenticatie, versies en limieten staan in API-documentatie. De beschrijvingen van endpoints en velden hieronder komen uit de specificatie en zijn Engels.

Gegenereerd uit de LtiSaas API-specificatie 1.0, opgehaald op 2026-10-30 van dev-auto.

EndpointBeschrijving
GET /course/tool/listList all LTI tools within a course
GET /course/tool/addAdd new tool to a course
GET /course/tool/updateUpdate a specific course tool
GET /course/tool/deleteDelete a specific course tool

GET /course/tool/list

List all LTI tools within a course. This endpoint will list all the LTI tools associated within a course.

Parameters

NaamInTypeVerplichtBeschrijving
courseidqueryintegerjaThe ID of the course.
ltitypequerystringneeThe version of LTI. Either LTI Advantage or Legacy LTI. Toegestane waarden: "LTI Advantage", "Legacy LTI".

Voorbeeldverzoek

curl -H "Access-Token: <your token>" \
  "https://<your-platform>/local/ltisaas/api.php/v1/course/tool/list?courseid=<courseid>"

Voorbeeldantwoord (200). Returns the tool id created when the call is successful.

{
  "success": true,
  "results": [
    {
      "toolid": 0,
      "enrollmentid": 0,
      "totalregistrations": 0,
      "learningobjectid": 0,
      "name": "string",
      "secret": "string",
      "timecreated": "string",
      "ltitype": "string",
      "cartridgeurl": "string",
      "launchurl": "string",
      "registrationurl": "string",
      "customproperties": "string",
      "resourcetype": "string"
    }
  ]
}

Fouten: 400 Bad Request, 401 Unauthorized

GET /course/tool/add

Add new tool to a course. This endpoint allows you to add a new tool to an existing course. You must provide the course ID and the details of the tool to be added.

Parameters

NaamInTypeVerplichtBeschrijving
courseidqueryintegerjaThe ID of the course.
ltiversionquerystringjaThe version of LTI. Either LTI Advantage or Legacy LTI. Toegestane waarden: "Legacy LTI", "LTI Advantage".
namequerystringjaThe name.
publishmodequerystringjaThe mode of publishing (course or activity). Toegestane waarden: "course", "activity".
learningobjectidqueryintegerneeThe ID of the learning object. Only required if publishmode is set to activity.
maxenrolledqueryintegerneeThe maximum enrollment. Defaults to unlimited (0).
roleinstructorqueryintegerneeThe role of the instructor. Defaults to 3.
rolelearnerqueryintegerneeThe role of the learner. Defaults to 5.
provisioningmodeinstructorqueryintegerneeThe provisioning mode of the instructor. Defaults to 2. Toegestane waarden: 1, 2, 3.
provisioningmodelearnerqueryintegerneeThe provisioning mode of the learner. Defaults to 1. Toegestane waarden: 1, 2, 3.
gradesyncqueryintegerneeWhether grade sync is enabled. Grade synchronization (1=Yes, 0=No). Toegestane waarden: 0, 1.
gradesynccompletionqueryintegerneeRequire course or activity completion prior to grade synchronisation (1=Yes, 0=No). Toegestane waarden: 0, 1.
membersyncqueryintegerneeWhether member sync is enabled. User synchronisation (1=Yes, 0=No). Toegestane waarden: 0, 1.
membersyncmodequeryintegerneeUser synchronisation mode (1=Enrol new and unenrol missing users, 2=Enrol new users, 3=Unenrol missing users). Toegestane waarden: 1, 2, 3.
enrolperiodqueryintegerneeThe duration of the enrolment (in seconds).
enrolstartdatequerystringneeThe enrolment start date (YYYY-MM-DDTHH:mm).
enrolenddatequerystringneeThe enrolment end date (YYYY-MM-DDTHH:mm).

Voorbeeldverzoek

curl -H "Access-Token: <your token>" \
  "https://<your-platform>/local/ltisaas/api.php/v1/course/tool/add?courseid=<courseid>&ltiversion=<ltiversion>&name=<name>&publishmode=<publishmode>"

Voorbeeldantwoord (200). Returns the tool id created when the call is successful.

{
  "success": true,
  "toolid": 0
}

Fouten: 400 Bad Request, 401 Unauthorized

GET /course/tool/update

Update a specific course tool. This endpoint updates a specific tool in a course. Detailed information about the tool such as tool’s identifier, name, ltiversion, etc. need to be provided. Successful operation will update the tool’s details in the course.

Parameters

NaamInTypeVerplichtBeschrijving
toolidqueryintegerjaThe ID of the lti tool.
ltiversionquerystringneeThe version of LTI. Toegestane waarden: "LTI Advantage", "Legacy LTI".
namequerystringneeThe name.
publishmodequerystringneeThe mode of publishing (course or activity). Toegestane waarden: "course", "activity".
learningobjectidqueryintegerneeThe ID of the learning object. Only required if publishmode is set to activity.
maxenrolledqueryintegerneeThe maximum enrollment.
roleinstructorqueryintegerneeThe role of the instructor.
rolelearnerqueryintegerneeThe role of the learner.
provisioningmodeinstructorqueryintegerneeThe provisioning mode of the instructor. Toegestane waarden: 1, 2, 3.
provisioningmodelearnerqueryintegerneeThe provisioning mode of the learner. Toegestane waarden: 1, 2, 3.
gradesyncqueryintegerneeWhether grade sync is enabled. Grade synchronization (1=Yes, 0=No). Toegestane waarden: 0, 1.
gradesynccompletionqueryintegerneeRequire course or activity completion prior to grade synchronisation (1=Yes, 0=No). Toegestane waarden: 0, 1.
membersyncqueryintegerneeWhether member sync is enabled. User synchronisation (1=Yes, 0=No). Toegestane waarden: 0, 1.
membersyncmodequeryintegerneeUser synchronisation mode (1=Enrol new and unenrol missing users, 2=Enrol new users, 3=Unenrol missing users). Toegestane waarden: 1, 2, 3.
enrolperiodqueryintegerneeThe duration of the enrolment (in seconds).
enrolstartdatequerystringneeThe enrolment start date (YYYY-MM-DDTHH:mm).
enrolenddatequerystringneeThe enrolment end date (YYYY-MM-DDTHH:mm).

Voorbeeldverzoek

curl -H "Access-Token: <your token>" \
  "https://<your-platform>/local/ltisaas/api.php/v1/course/tool/update?toolid=<toolid>"

Voorbeeldantwoord (200). LTI registrations within a course for a specific time period.

{
  "success": true,
  "toolid": 0
}

Fouten: 400 Bad Request, 401 Unauthorized

GET /course/tool/delete

Delete a specific course tool. This endpoint deletes a specific tool in a course. Upon successful operation, the tool will be removed from the course. If the tool is not found or cannot be deleted due to any reason, appropriate error responses will be returned.

Parameters

NaamInTypeVerplichtBeschrijving
toolidqueryintegerjaThe identifier of the lti tool.

Voorbeeldverzoek

curl -H "Access-Token: <your token>" \
  "https://<your-platform>/local/ltisaas/api.php/v1/course/tool/delete?toolid=<toolid>"

Voorbeeldantwoord (200). Returns success if the operation was successful.

{
  "success": true
}

Fouten: 400 Bad Request, 401 Unauthorized

Laatst bijgewerkt op