LtiTool
The LtiTool object
The LtiTool object looks like this in JSON:
{
"object": "lti_tool",
"id": 1,
"name": "SoftChalk",
"description": "Blah blah",
"icon_url": null,
"launch_url": null,
"launch_target": "frame",
"privacy_level": "public",
"enabled": true,
"status": "active",
"lti_version": "1p1",
"client_id": null,
"deployment_id": null,
"oidc_login_url": null,
"jwt_key_url": null,
"deep_link_url": null,
"proctor": false,
"is_global": true,
"ags_setting": "off",
"nrps_setting": "off",
"allow_sync": false,
"added_at": null,
"added_by_id": null,
"updated_at": null,
"updated_by_id": null,
"sandbox": true,
"api_version": null
}
| Attribute | Required | Data Type |
|---|---|---|
| id | Yes | int |
| name | Yes | text (500) |
| description | No | text (2000) |
| icon_url | No | text (2000) |
| launch_url | No | text (2000) |
| launch_target | Yes | enum (frame, window) |
| privacy_level | Yes | enum (public, email_only, name_only, anonymous) |
| enabled | Yes | bool |
| status | Yes | enum (active, deleted) |
| lti_version | Yes | enum (1p1, 1p3) |
| client_id | No | text (50) |
| deployment_id | No | text (50) |
| oidc_login_url | No | text (1000) |
| jwt_key_url | No | text (3000) |
| deep_link_url | No | text (1000) |
| proctor | Yes | bool |
| is_global | Yes | bool |
| ags_setting | Yes | enum (off, grading_only, grading_and_lineitems) |
| nrps_setting | Yes | enum (off, on) |
| allow_sync | Yes | bool |
| added_at | No | datetime |
| added_by_id | No | int |
| updated_at | No | datetime |
| updated_by_id | No | int |
| sandbox | No | bool |
| api_version | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/ltitools" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/ltitools',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/ltitools',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/ltitools"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/ltitools');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "lti_tool",
"id": 1,
"name": "SoftChalk",
"description": "Blah blah",
"icon_url": null,
"launch_url": null,
"launch_target": "frame",
"privacy_level": "public",
"enabled": true,
"status": "active",
"lti_version": "1p1",
"client_id": null,
"deployment_id": null,
"oidc_login_url": null,
"jwt_key_url": null,
"deep_link_url": null,
"proctor": false,
"is_global": true,
"ags_setting": "off",
"nrps_setting": "off",
"allow_sync": false,
"added_at": null,
"added_by_id": null,
"updated_at": null,
"updated_by_id": null
}
],
"sandbox": true,
"api_version": "2026-07-13"
}
Retrieves all global LTI tools in the account.
HTTP Request
GET /ltitools
Parameters
None
Expandable Properties
- custom_params
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/ltitools/(ltitool)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/ltitools/(ltitool)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/ltitools/(ltitool)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/ltitools/(ltitool)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/ltitools/(ltitool)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "lti_tool",
"id": 1,
"name": "SoftChalk",
"description": "Blah blah",
"icon_url": null,
"launch_url": null,
"launch_target": "frame",
"privacy_level": "public",
"enabled": true,
"status": "active",
"lti_version": "1p1",
"client_id": null,
"deployment_id": null,
"oidc_login_url": null,
"jwt_key_url": null,
"deep_link_url": null,
"proctor": false,
"is_global": true,
"ags_setting": "off",
"nrps_setting": "off",
"allow_sync": false,
"added_at": null,
"added_by_id": null,
"updated_at": null,
"updated_by_id": null,
"sandbox": true,
"api_version": "2026-07-13"
}
Retrieves a specific global LTI tool.
HTTP Request
GET /ltitools/(ltitool)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- custom_params