Take the lesson's receipt now and diff it against its last version; write nothing
curl --request GET \
--url https://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview', 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://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview",
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://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview"
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://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview")
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{
"lessonId": "<string>",
"dryRun": true,
"version": 123,
"baseline": true,
"unchanged": true,
"written": true,
"changed": {
"items": [
"<string>"
],
"article": true,
"video": true,
"checkpoints": [
"<string>"
]
},
"receipt": {
"takenAt": "<string>",
"resourceIds": [
"<string>"
],
"parts": [
{
"kind": "practice-set",
"componentResourceId": "<string>",
"resourceId": "<string>",
"test": "<string>",
"items": [
{
"identifier": "<string>",
"sha256": "<string>",
"updatedAt": "<string>",
"version": 123,
"updatedBy": "<string>"
}
],
"changed": true
}
]
},
"previous": {
"id": "<string>",
"version": 123,
"declaredAt": "<string>",
"declaredByClientId": "<string>",
"run": {
"eligible": 1,
"reassigned": 1,
"failed": 1,
"remaining": 1,
"ranAt": "<string>",
"reassignedTotal": 1
}
},
"declaredByClientId": "<string>",
"declaredAt": "<string>",
"population": {
"lessons": 1,
"plans": 1,
"counts": {
"eligible": 1,
"completedNotMastered": 1,
"mastered": 1,
"notAttempted": 1,
"missesUntouched": 1,
"alreadyReassigned": 1,
"operatorSkipped": 1
},
"byCourse": [
{
"courseId": "<string>",
"plans": 1,
"eligible": 1,
"completedNotMastered": 1
}
],
"items": [
{
"id": "<string>",
"firstAnswers": 1,
"correctFirstAnswers": 1,
"firstTimePassRate": 123
}
]
},
"run": {
"eligible": 1,
"reassigned": 1,
"failed": 1,
"remaining": 1,
"ranAt": "<string>",
"reassignedTotal": 1
}
}{
"imsx_codeMajor": "failure",
"imsx_severity": "error",
"imsx_description": "<string>",
"imsx_CodeMinor": {
"imsx_codeMinorField": [
{
"imsx_codeMinorFieldName": "TargetEndSystem",
"imsx_codeMinorFieldValue": "unauthorisedrequest"
}
]
},
"imsx_error_details": [
{}
]
}{
"imsx_codeMajor": "failure",
"imsx_severity": "error",
"imsx_description": "<string>",
"imsx_CodeMinor": {
"imsx_codeMinorField": [
{
"imsx_codeMinorFieldName": "TargetEndSystem",
"imsx_codeMinorFieldValue": "forbidden"
}
]
},
"imsx_error_details": [
{}
]
}{
"imsx_codeMajor": "failure",
"imsx_severity": "error",
"imsx_description": "<string>",
"imsx_CodeMinor": {
"imsx_codeMinorField": [
{
"imsx_codeMinorFieldName": "TargetEndSystem",
"imsx_codeMinorFieldValue": "unknownobject"
}
]
},
"imsx_error_details": [
{}
]
}Lesson Plans
Take the lesson's receipt now and diff it against its last version; write nothing
The same code as the declaration with dryRun forced. changed non-empty against the last version = content changed with no declaration (a change, not a fix). 502 names the part that could not be fetched.
GET
/
powerpath
/
lessons
/
{lessonId}
/
versions
/
preview
Take the lesson's receipt now and diff it against its last version; write nothing
curl --request GET \
--url https://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview', 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://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview",
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://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview"
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://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.alpha-1edtech.ai/powerpath/lessons/{lessonId}/versions/preview")
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{
"lessonId": "<string>",
"dryRun": true,
"version": 123,
"baseline": true,
"unchanged": true,
"written": true,
"changed": {
"items": [
"<string>"
],
"article": true,
"video": true,
"checkpoints": [
"<string>"
]
},
"receipt": {
"takenAt": "<string>",
"resourceIds": [
"<string>"
],
"parts": [
{
"kind": "practice-set",
"componentResourceId": "<string>",
"resourceId": "<string>",
"test": "<string>",
"items": [
{
"identifier": "<string>",
"sha256": "<string>",
"updatedAt": "<string>",
"version": 123,
"updatedBy": "<string>"
}
],
"changed": true
}
]
},
"previous": {
"id": "<string>",
"version": 123,
"declaredAt": "<string>",
"declaredByClientId": "<string>",
"run": {
"eligible": 1,
"reassigned": 1,
"failed": 1,
"remaining": 1,
"ranAt": "<string>",
"reassignedTotal": 1
}
},
"declaredByClientId": "<string>",
"declaredAt": "<string>",
"population": {
"lessons": 1,
"plans": 1,
"counts": {
"eligible": 1,
"completedNotMastered": 1,
"mastered": 1,
"notAttempted": 1,
"missesUntouched": 1,
"alreadyReassigned": 1,
"operatorSkipped": 1
},
"byCourse": [
{
"courseId": "<string>",
"plans": 1,
"eligible": 1,
"completedNotMastered": 1
}
],
"items": [
{
"id": "<string>",
"firstAnswers": 1,
"correctFirstAnswers": 1,
"firstTimePassRate": 123
}
]
},
"run": {
"eligible": 1,
"reassigned": 1,
"failed": 1,
"remaining": 1,
"ranAt": "<string>",
"reassignedTotal": 1
}
}{
"imsx_codeMajor": "failure",
"imsx_severity": "error",
"imsx_description": "<string>",
"imsx_CodeMinor": {
"imsx_codeMinorField": [
{
"imsx_codeMinorFieldName": "TargetEndSystem",
"imsx_codeMinorFieldValue": "unauthorisedrequest"
}
]
},
"imsx_error_details": [
{}
]
}{
"imsx_codeMajor": "failure",
"imsx_severity": "error",
"imsx_description": "<string>",
"imsx_CodeMinor": {
"imsx_codeMinorField": [
{
"imsx_codeMinorFieldName": "TargetEndSystem",
"imsx_codeMinorFieldValue": "forbidden"
}
]
},
"imsx_error_details": [
{}
]
}{
"imsx_codeMajor": "failure",
"imsx_severity": "error",
"imsx_description": "<string>",
"imsx_CodeMinor": {
"imsx_codeMinorField": [
{
"imsx_codeMinorFieldName": "TargetEndSystem",
"imsx_codeMinorFieldValue": "unknownobject"
}
]
},
"imsx_error_details": [
{}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
Course component sourcedId of the lesson
Response
The receipt and its diff
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I