curl --request GET \
--url https://{host}/api/contexts/{slug}/manifest \
--header 'Authorization: Bearer <token>'import requests
url = "https://{host}/api/contexts/{slug}/manifest"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/api/contexts/{slug}/manifest', 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://{host}/api/contexts/{slug}/manifest",
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://{host}/api/contexts/{slug}/manifest"
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://{host}/api/contexts/{slug}/manifest")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/contexts/{slug}/manifest")
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{
"curate": {
"chunks": {
"enabled": true,
"embedding_model": "multilingual-e5-large",
"chunking": {
"strategy": "markdown_heading",
"target_size": 512,
"overlap": 64,
"respect_sections": true
},
"keyword": {
"enabled": true
}
},
"artifacts": {
"enabled": false,
"artifact_model": "lite",
"artifact_types": [
{
"name": "<string>",
"kind": "topic",
"scope": "corpus",
"icon": "<string>",
"description": "<string>",
"coverage": [
"<string>"
],
"sections": [
"<string>"
],
"min_doc_count": 1,
"format": "markdown",
"columns": [
{
"name": "<string>",
"type": "TEXT",
"description": "<string>"
}
],
"natural_key": [
"<string>"
]
}
],
"edge_types": [
{
"name": "<string>",
"from": "<string>",
"to": "<string>",
"description": "<string>",
"attributes": [
"<string>"
]
}
],
"min_doc_count": 1,
"max_tokens": 1500,
"max_doc_chars": 60000,
"extraction_window_chars": 0,
"mention_max_chars": 400,
"max_mentions_per_artifact": 40,
"mention_context_chars": 8000,
"max_artifacts_per_type": 10000
}
},
"optimize": {
"schedule": "0 * * * *",
"latency_threshold_ms": 60000,
"min_group_size": 2,
"eval_pass_rate_threshold": 1,
"max_iterations": 20
},
"search": {
"instructions": "<string>"
}
}{
"message": "<string>",
"code": "<string>"
}Get the context's manifest
The context’s pinned manifest document. A context that pins nothing returns null — the runtime fills defaults. Writes go through the manifest field on PUT /contexts/{slug}.
curl --request GET \
--url https://{host}/api/contexts/{slug}/manifest \
--header 'Authorization: Bearer <token>'import requests
url = "https://{host}/api/contexts/{slug}/manifest"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/api/contexts/{slug}/manifest', 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://{host}/api/contexts/{slug}/manifest",
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://{host}/api/contexts/{slug}/manifest"
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://{host}/api/contexts/{slug}/manifest")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/contexts/{slug}/manifest")
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{
"curate": {
"chunks": {
"enabled": true,
"embedding_model": "multilingual-e5-large",
"chunking": {
"strategy": "markdown_heading",
"target_size": 512,
"overlap": 64,
"respect_sections": true
},
"keyword": {
"enabled": true
}
},
"artifacts": {
"enabled": false,
"artifact_model": "lite",
"artifact_types": [
{
"name": "<string>",
"kind": "topic",
"scope": "corpus",
"icon": "<string>",
"description": "<string>",
"coverage": [
"<string>"
],
"sections": [
"<string>"
],
"min_doc_count": 1,
"format": "markdown",
"columns": [
{
"name": "<string>",
"type": "TEXT",
"description": "<string>"
}
],
"natural_key": [
"<string>"
]
}
],
"edge_types": [
{
"name": "<string>",
"from": "<string>",
"to": "<string>",
"description": "<string>",
"attributes": [
"<string>"
]
}
],
"min_doc_count": 1,
"max_tokens": 1500,
"max_doc_chars": 60000,
"extraction_window_chars": 0,
"mention_max_chars": 400,
"max_mentions_per_artifact": 40,
"mention_context_chars": 8000,
"max_artifacts_per_type": 10000
}
},
"optimize": {
"schedule": "0 * * * *",
"latency_threshold_ms": 60000,
"min_group_size": 2,
"eval_pass_rate_threshold": 1,
"max_iterations": 20
},
"search": {
"instructions": "<string>"
}
}{
"message": "<string>",
"code": "<string>"
}Authorizations
Session token from POST /auth/login, sent as Authorization: Bearer <token>.
Headers
Date-based contract version, echoed back on the same header. Omit for the default (2026-07); send unstable for the in-development surface. An unrecognized value is rejected with 400 unsupported_api_version.
Path Parameters
Context slug or UUID.
Response
The manifest document, or null when the context pins none
The pinned manifest, or null when the context pins none.
What curate builds out of the sources — the chunk leg, the artifact leg, or both.
Show child attributes
Show child attributes
The scheduled self-tuning loop: it clusters the queries that answered badly and tries candidate manifests against an ephemeral index until one reproduces the recorded answers.
Show child attributes
Show child attributes
Standing instructions for the query runtime, pinned on the context rather than sent per turn.
Show child attributes
Show child attributes
Was this page helpful?