NAV
shell ruby python csharp php

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

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