NAV
shell ruby python csharp php

Link

The Link object looks like this in JSON:

{
    "object": "link",
    "id": 3,
    "owner_type": "instance",
    "owner_id": 21908,
    "name": "Professor Website",
    "description": null,
    "order_id": 1,
    "url": "https:\/\/www.example.com",
    "lti_tool_id": null,
    "status": "active",
    "import_id": null,
    "lti_resource_id": null,
    "lti_resource_tag": null,
    "cloned_from_offering_ids": null,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}
Attribute Required Data Type
id No int
owner_type Yes enum (instance, lesson, assignment, link_list)
owner_id Yes int
name Yes text (500)
description Yes text
order_id No int
url Yes text (2100)
lti_tool_id No int
status Yes enum (active, deleted)
import_id No int
lti_resource_id No text (500)
lti_resource_tag No text (100)
cloned_from_offering_ids No text (255)
added_at No datetime
added_by_id No int
sandbox No bool

index (courselesson)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links',
 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/courselessons/(courselesson)/links"), 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/courselessons/(courselesson)/links');
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": 2,
    "results": 2,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "link",
            "id": 1,
            "owner_type": "lesson",
            "owner_id": 1,
            "name": "SoftChalk WWII",
            "description": "blah blah",
            "order_id": 1,
            "url": "https:\/\/www.softchalkcloud.com\/scorecenter\/lti\/6geILQsDzBpFVA",
            "lti_tool_id": 1,
            "status": "active",
            "import_id": null,
            "lti_resource_id": null,
            "lti_resource_tag": null,
            "cloned_from_offering_ids": null,
            "added_at": null,
            "added_by_id": null
        }
    ],
    "sandbox": true
}

Retrieves all Links from a course lesson.

HTTP Request

GET /courselessons/(courselesson)/links

Parameters

None

Permissions

One of the following roles is required to call this method:

index (syllabus and lessons)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": []
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links',
 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/courseofferings/(courseoffering)/links"), 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/courseofferings/(courseoffering)/links');
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": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "link",
            "id": 3,
            "owner_type": "instance",
            "owner_id": 21908,
            "name": "Professor Website",
            "description": null,
            "order_id": 1,
            "url": "https:\/\/www.example.com",
            "lti_tool_id": null,
            "status": "active",
            "import_id": null,
            "lti_resource_id": null,
            "lti_resource_tag": null,
            "cloned_from_offering_ids": null,
            "custom_params": [],
            "added_at": null,
            "added_by_id": null,
            "report_data": []
        }
    ],
    "sandbox": true
}

Retrieves all Links from the course syllabus page and course lessons.

HTTP Request

GET /courseofferings/(courseoffering)/links

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
id integer
name text
url text
lti_tool_id integer
owner_id integer
owner_type text
lti_resource_id text
lti_resource_tag text
import_id integer
status text
added_at datetime
added_by integer
deleted_at datetime
deleted_by integer

Permissions

One of the following roles is required to call this method:

show (courselesson)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
 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/courselessons/(courselesson)/links/(link)"), 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/courselessons/(courselesson)/links/(link)');
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": "link",
    "id": 3,
    "owner_type": "instance",
    "owner_id": 21908,
    "name": "Professor Website",
    "description": null,
    "order_id": 1,
    "url": "https:\/\/www.example.com",
    "lti_tool_id": null,
    "status": "active",
    "import_id": null,
    "lti_resource_id": null,
    "lti_resource_tag": null,
    "cloned_from_offering_ids": null,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Retrieves a specific Link from a course lesson.

HTTP Request

GET /courselessons/(courselesson)/links/(link)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

update (courselesson)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "custom_params": "{\"name1\":\"value1\",\"name2\":\"value2\"}"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
 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/courselessons/(courselesson)/links/(link)"), Method.Put);
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/courselessons/(courselesson)/links/(link)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "link",
    "id": 3,
    "owner_type": "instance",
    "owner_id": 21908,
    "name": "Professor Website",
    "description": null,
    "order_id": 1,
    "url": "https:\/\/www.example.com",
    "lti_tool_id": null,
    "status": "active",
    "import_id": null,
    "lti_resource_id": null,
    "lti_resource_tag": null,
    "cloned_from_offering_ids": null,
    "custom_params": [
        {
            "object": "lti_param",
            "id": 2,
            "owner_type": "link",
            "owner_id": 3,
            "param_name": "name1",
            "param_value": "value1",
            "param_type": "resource_link",
            "added_at": "2026-07-25T16:24:06+00:00",
            "added_by_id": 22,
            "updated_at": "2026-07-25T16:24:06+00:00",
            "updated_by_id": 22
        },
        {
            "object": "lti_param",
            "id": 3,
            "owner_type": "link",
            "owner_id": 3,
            "param_name": "name2",
            "param_value": "value2",
            "param_type": "resource_link",
            "added_at": "2026-07-25T16:24:06+00:00",
            "added_by_id": 22,
            "updated_at": "2026-07-25T16:24:06+00:00",
            "updated_by_id": 22
        }
    ],
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Updates a specific Link in a course lesson.

HTTP Request

PUT /courselessons/(courselesson)/links/(link)

Parameters

Name Required Data Type Description
name No text (500)
url No text (2100)
custom_params No Object with key/value pairs Custom parameters for LTI links. Existing parameters will be updated if a matching parameter name is found. Any existing parameters not included in the object will be deleted.

Permissions

One of the following roles is required to call this method:

delete (courselesson)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
 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/courselessons/(courselesson)/links/(link)"), Method.Delete);
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/courselessons/(courselesson)/links/(link)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "link",
    "id": 109,
    "deleted": true
}

Deletes a specific Link from a course lesson.

HTTP Request

DELETE /courselessons/(courselesson)/links/(link)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method:

create (syllabus)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "name": "Author Interview",
    "url": "http:\/\/www.youtube.com\/something"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :name => 'Author Interview',
  :url => 'http://www.youtube.com/something'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'name': 'Author Interview',
  'url': 'http://www.youtube.com/something'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  name = "Author Interview",
  url = "http://www.youtube.com/something"
});
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/courseofferings/(courseoffering)/links');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'name' => 'Author Interview',
  'url' => 'http://www.youtube.com/something'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "link",
    "id": 109,
    "owner_type": "instance",
    "owner_id": 21908,
    "name": "Author Interview",
    "description": null,
    "order_id": null,
    "url": "http:\/\/www.youtube.com\/something",
    "lti_tool_id": null,
    "status": "active",
    "import_id": null,
    "lti_resource_id": null,
    "lti_resource_tag": null,
    "cloned_from_offering_ids": null,
    "added_at": "2026-07-25T16:24:06+00:00",
    "added_by_id": 22,
    "sandbox": true
}

Creates a new Link on the course syllabus page.

HTTP Request

POST /courseofferings/(courseoffering)/links

Parameters

Name Required Data Type Description
name Yes text (500)
url Yes text (2100)

Permissions

One of the following roles is required to call this method:

show (syllabus)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
 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/courseofferings/(courseoffering)/links/(link)"), 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/courseofferings/(courseoffering)/links/(link)');
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": "link",
    "id": 3,
    "owner_type": "instance",
    "owner_id": 21908,
    "name": "Professor Website",
    "description": null,
    "order_id": 1,
    "url": "https:\/\/www.example.com",
    "lti_tool_id": null,
    "status": "active",
    "import_id": null,
    "lti_resource_id": null,
    "lti_resource_tag": null,
    "cloned_from_offering_ids": null,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Retrieves a specific Link from the course syllabus page.

HTTP Request

GET /courseofferings/(courseoffering)/links/(link)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

update (syllabus)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "custom_params": "{\"name1\":\"value1\",\"name2\":\"value2\"}"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
 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/courseofferings/(courseoffering)/links/(link)"), Method.Put);
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/courseofferings/(courseoffering)/links/(link)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "link",
    "id": 3,
    "owner_type": "instance",
    "owner_id": 21908,
    "name": "Professor Website",
    "description": null,
    "order_id": 1,
    "url": "https:\/\/www.example.com",
    "lti_tool_id": null,
    "status": "active",
    "import_id": null,
    "lti_resource_id": null,
    "lti_resource_tag": null,
    "cloned_from_offering_ids": null,
    "custom_params": [
        {
            "object": "lti_param",
            "id": 2,
            "owner_type": "link",
            "owner_id": 3,
            "param_name": "name1",
            "param_value": "value1",
            "param_type": "resource_link",
            "added_at": "2026-07-25T16:24:06+00:00",
            "added_by_id": 22,
            "updated_at": "2026-07-25T16:24:06+00:00",
            "updated_by_id": 22
        },
        {
            "object": "lti_param",
            "id": 3,
            "owner_type": "link",
            "owner_id": 3,
            "param_name": "name2",
            "param_value": "value2",
            "param_type": "resource_link",
            "added_at": "2026-07-25T16:24:06+00:00",
            "added_by_id": 22,
            "updated_at": "2026-07-25T16:24:06+00:00",
            "updated_by_id": 22
        }
    ],
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Updates a Link on the course syllabus page.

HTTP Request

PUT /courseofferings/(courseoffering)/links/(link)

Parameters

Name Required Data Type Description
name No text (500)
url No text (2100)
custom_params No Object with key/value pairs Custom parameters for LTI links. Existing parameters will be updated if a matching parameter name is found. Any existing parameters not included in the object will be deleted.

Permissions

One of the following roles is required to call this method:

delete (syllabus)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
 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/courseofferings/(courseoffering)/links/(link)"), Method.Delete);
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/courseofferings/(courseoffering)/links/(link)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "link",
    "id": 3,
    "deleted": true
}

Deletes a Link from the course syllabus page.

HTTP Request

DELETE /courseofferings/(courseoffering)/links/(link)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method: