Get Program Details
curl --request GET \
--url https://schoolmaker.co/api/v1/products/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://schoolmaker.co/api/v1/products/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://schoolmaker.co/api/v1/products/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://schoolmaker.co/api/v1/products/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://schoolmaker.co/api/v1/products/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://schoolmaker.co/api/v1/products/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://schoolmaker.co/api/v1/products/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"is_published": true,
"position": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"default_reviewer_ids": [
"<string>"
],
"settings": {
"store_url": "<string>",
"show_member_count": true,
"is_certificate_enabled": true,
"is_milestone_display_enabled": true,
"is_coaching_disabled": true,
"is_section_groups_enabled": true,
"is_inline_questions_category": true,
"is_questions_disabled": true
},
"questions_category_id": "<string>",
"questions_category_type": "<string>",
"image_logo_url": "<string>",
"image_cover_url": "<string>",
"progression": {
"total_steps": 123,
"completed_steps": 123,
"total_optional_steps": 123,
"completed_optional_steps": 123,
"progression_rate": 123,
"progression_rate_including_optional_steps": 123,
"time_spent": "<string>",
"first_viewed_at": "<string>",
"last_viewed_at": "<string>"
}
}{
"error": "Access denied"
}{
"error": "Forbidden"
}{
"error": "Record not found"
}{
"error": "Validation failed"
}Programs
Get Program Details
Retrieves details from a specific program.
GET
/
products
/
{id}
Get Program Details
curl --request GET \
--url https://schoolmaker.co/api/v1/products/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://schoolmaker.co/api/v1/products/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://schoolmaker.co/api/v1/products/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://schoolmaker.co/api/v1/products/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://schoolmaker.co/api/v1/products/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://schoolmaker.co/api/v1/products/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://schoolmaker.co/api/v1/products/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"is_published": true,
"position": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"default_reviewer_ids": [
"<string>"
],
"settings": {
"store_url": "<string>",
"show_member_count": true,
"is_certificate_enabled": true,
"is_milestone_display_enabled": true,
"is_coaching_disabled": true,
"is_section_groups_enabled": true,
"is_inline_questions_category": true,
"is_questions_disabled": true
},
"questions_category_id": "<string>",
"questions_category_type": "<string>",
"image_logo_url": "<string>",
"image_cover_url": "<string>",
"progression": {
"total_steps": 123,
"completed_steps": 123,
"total_optional_steps": 123,
"completed_optional_steps": 123,
"progression_rate": 123,
"progression_rate_including_optional_steps": 123,
"time_spent": "<string>",
"first_viewed_at": "<string>",
"last_viewed_at": "<string>"
}
}{
"error": "Access denied"
}{
"error": "Forbidden"
}{
"error": "Record not found"
}{
"error": "Validation failed"
}Authorizations
Query Parameters
Response
Product details
Up to 100 staff user IDs to assign as reviewers for new steps. Defaults to an empty list on creation. Omit on update to keep the current list or send [] to clear it. Null is not accepted. Reviewers already assigned to existing steps are kept.
Maximum array length:
100Required string length:
1 - 255Was this page helpful?