Disciplines
Get a discipline
Returns a single discipline with its parent domains and child sub-disciplines.
GET
/api/v2/disciplines/:slug
Response
Authentication
Requires Bearer token in the Authorization header.
Path Parameters
slug
string
required
The URL slug of the discipline (e.g., statistics)
Response
id
uuid
Unique identifier
name
string
Discipline name
slug
string
URL-safe identifier
description
string
Brief description
domains
array
Parent domains this discipline belongs to
sub_disciplines_count
integer
Number of sub-disciplines
sub_disciplines
array
List of sub-disciplines (show only)
curl -X GET "https://macademiatree.com/api/v2/disciplines/natural-sciences" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"import requests
response = requests.get(
"https://macademiatree.com/api/v2/disciplines/natural-sciences",
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()const response = await fetch("https://macademiatree.com/api/v2/disciplines/natural-sciences", {
headers: {
"Authorization": "Bearer YOUR_API_KEY"
}
});
const data = await response.json();$ch = curl_init("https://macademiatree.com/api/v2/disciplines/natural-sciences");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer YOUR_API_KEY"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);req, _ := http.NewRequest("GET", "https://macademiatree.com/api/v2/disciplines/natural-sciences", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://macademiatree.com/api/v2/disciplines/natural-sciences"))
.header("Authorization", "Bearer YOUR_API_KEY")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());require "net/http"
require "json"
uri = URI("https://macademiatree.com/api/v2/disciplines/natural-sciences")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body){
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Statistics",
"slug": "statistics",
"description": "Collection and analysis of data",
"domains": [
{
"id": "...",
"name": "Natural Sciences",
"slug": "natural-sciences"
}
],
"sub_disciplines_count": 2,
"sub_disciplines": [
{
"id": "...",
"name": "Bayesian Statistics",
"slug": "bayesian-statistics",
"description": "Statistical inference using Bayes' theorem",
"topics_count": 4
}
]
}{
"error": "Resource not found"
}{
"error": "Invalid or missing API key"
}