curl --request GET \
--url https://api.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks \
--header 'x-api-key: <api-key>'import requests
url = "https://api.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks', 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.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"identifier": "88718ae4-2da7-57c4-9678-cea8d26cef2d",
"name": "Carnegie Skills Progressions",
"description": "A research-grounded durable skills framework from the Carnegie Foundation for the Advancement of Teaching and ETS. Volume 1 defines three capabilities — Collaboration, Communication, and Critical Thinking — across 11 subskills, 31 indicators, and 76 indicator items, each developing through four levels: Exploring, Analyzing, Integrating, and Extending.",
"jurisdiction": "Multi-State",
"inLanguage": "en-US",
"isCurrent": true,
"dateCreated": "2026-07-07",
"dateModified": "2026-07-07",
"author": "Carnegie Foundation for the Advancement of Teaching",
"provider": "Learning Commons",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attributionStatement": "Knowledge Graph is provided by Learning Commons under the CC BY-4.0 license, available at https://creativecommons.org/licenses/by/4.0. Learning Commons received the Carnegie Skills Progressions curriculum under CC BY-4.0 from Carnegie Foundation for the Advancement of Teaching."
},
{
"identifier": "b6df6e45-fe43-5bfc-9986-cca09092006b",
"name": "XQ Competencies",
"description": "A research-backed durable skills framework from XQ Institute, defining 5 learner outcomes, 13 domains, 37 competencies, and 115 component skills across four progression levels. Covers foundational knowledge, fundamental literacies, collaboration, lifelong learning, and original thinking.",
"jurisdiction": "Multi-State",
"inLanguage": "en-US",
"isCurrent": true,
"dateCreated": "2026-11-04",
"dateModified": "2026-11-04",
"author": "XQ Institute",
"provider": "Learning Commons",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attributionStatement": "Knowledge Graph is provided by Learning Commons under the CC BY-4.0 license, available at creativecommons.org/licenses/by/4.0. XQ Competencies (c) 2026 XQ Institute. Licensed under CC BY 4.0. When using this material, please credit XQ Competencies by XQ Institute with a link to xqsuperschool.org."
}
],
"pagination": {
"limit": 2,
"nextCursor": null,
"hasMore": false
}
}{
"error": "ValidationError",
"message": "Invalid query parameter value provided",
"requestId": "req_12345"
}{
"error": "UnauthorizedError",
"message": "Missing or invalid bearer token",
"requestId": "req_12345"
}{
"error": "InternalServerError",
"message": "An unexpected error occurred while retrieving durable skills frameworks",
"requestId": "req_12345"
}Durable skills frameworks
Fetches the list of DurableSkillsFramework objects available in the knowledge graph.
Durable skills frameworks describe transferable competencies — collaboration, communication, critical thinking and similar — rather than subject-area academic content. They are published outside the CASE Network, so they carry no CASE identifiers and are addressed by their Knowledge Graph identifier.
Use this endpoint when you need to:
- Discover which durable skills frameworks are available
- Find the framework
identifierrequired by GET /durable-skills - Get framework metadata (name, description, publisher, modification dates)
Retired frameworks are excluded by default. Set includeNonCurrent=true to include them.
Related topics:
curl --request GET \
--url https://api.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks \
--header 'x-api-key: <api-key>'import requests
url = "https://api.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks', 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.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.learningcommons.org/knowledge-graph/v0/durable-skills-frameworks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"identifier": "88718ae4-2da7-57c4-9678-cea8d26cef2d",
"name": "Carnegie Skills Progressions",
"description": "A research-grounded durable skills framework from the Carnegie Foundation for the Advancement of Teaching and ETS. Volume 1 defines three capabilities — Collaboration, Communication, and Critical Thinking — across 11 subskills, 31 indicators, and 76 indicator items, each developing through four levels: Exploring, Analyzing, Integrating, and Extending.",
"jurisdiction": "Multi-State",
"inLanguage": "en-US",
"isCurrent": true,
"dateCreated": "2026-07-07",
"dateModified": "2026-07-07",
"author": "Carnegie Foundation for the Advancement of Teaching",
"provider": "Learning Commons",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attributionStatement": "Knowledge Graph is provided by Learning Commons under the CC BY-4.0 license, available at https://creativecommons.org/licenses/by/4.0. Learning Commons received the Carnegie Skills Progressions curriculum under CC BY-4.0 from Carnegie Foundation for the Advancement of Teaching."
},
{
"identifier": "b6df6e45-fe43-5bfc-9986-cca09092006b",
"name": "XQ Competencies",
"description": "A research-backed durable skills framework from XQ Institute, defining 5 learner outcomes, 13 domains, 37 competencies, and 115 component skills across four progression levels. Covers foundational knowledge, fundamental literacies, collaboration, lifelong learning, and original thinking.",
"jurisdiction": "Multi-State",
"inLanguage": "en-US",
"isCurrent": true,
"dateCreated": "2026-11-04",
"dateModified": "2026-11-04",
"author": "XQ Institute",
"provider": "Learning Commons",
"license": "https://creativecommons.org/licenses/by/4.0/",
"attributionStatement": "Knowledge Graph is provided by Learning Commons under the CC BY-4.0 license, available at creativecommons.org/licenses/by/4.0. XQ Competencies (c) 2026 XQ Institute. Licensed under CC BY 4.0. When using this material, please credit XQ Competencies by XQ Institute with a link to xqsuperschool.org."
}
],
"pagination": {
"limit": 2,
"nextCursor": null,
"hasMore": false
}
}{
"error": "ValidationError",
"message": "Invalid query parameter value provided",
"requestId": "req_12345"
}{
"error": "UnauthorizedError",
"message": "Missing or invalid bearer token",
"requestId": "req_12345"
}{
"error": "InternalServerError",
"message": "An unexpected error occurred while retrieving durable skills frameworks",
"requestId": "req_12345"
}Authorizations
API key for authentication
Query Parameters
Include frameworks that are no longer current. Defaults to false, which returns only frameworks currently in effect.
Maximum number of results to return
1 <= x <= 1000Pagination cursor obtained from the nextCursor field in a previous response (not needed for the first page)
Was this page helpful?