List a toolbox's skill versions
/toolbox/{id}/skill-version
Every write of the toolbox's `skill`, newest first, cursor-paginated — the 50 newest are kept per toolbox, older ones are pruned on the next write. Restoring a version is an ordinary `PATCH /toolbox/{id} { skill }` with its text, which records a new version. Requires `edit` access or ownership: `404` when the caller cannot see the toolbox, `403` when they can see it below `edit`. Rejects a dynamic id with `400`.
Path Parameters
Stored toolbox id (tbx_…).
Response Body
Who made this write (usr_…).
Their name, else email. Null beside a non-null author: no longer a member.
Length in Unicode code points; 0 for cleared.
The opening of the text as one plain line, at most 200 code points. Null for cleared.
Version id (skv_…).
True on the newest version — the text the resource holds now.
written: new text. reaffirmed: the same text saved again ("still accurate"). cleared: the skill was removed. copied: a toolbox stamped from a template started with its skill.
writtenreaffirmedclearedcopied
True when this version's text equals the resource's current skill (restoring it would change nothing). Not the same as is_current: a later "still accurate" save repeats an older version's text, and both match.
copied rows: the template it came from.
Its current name; null once deleted.
curl -X GET 'https://api.elaichi.ai/toolbox/<id>/skill-version' \
-H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
-H 'Content-Type: application/json'const response = await fetch('https://api.elaichi.ai/toolbox/<id>/skill-version', {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data);import os
import requests
url = "https://api.elaichi.ai/toolbox/<id>/skill-version"
headers = {
"Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())