Index memories and context chunks (extract entities)
curl --request POST \
--url http://127.0.0.1:4319/memory/index \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "http://127.0.0.1:4319/memory/index"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('http://127.0.0.1:4319/memory/index', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://127.0.0.1:4319/memory/index"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4319",
CURLOPT_URL => "http://127.0.0.1:4319/memory/index",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("http://127.0.0.1:4319/memory/index")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("http://127.0.0.1:4319/memory/index")
.header("Content-Type", "application/json")
.body("{}")
.asString();using RestSharp;
var options = new RestClientOptions("http://127.0.0.1:4319/memory/index");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddJsonBody("{}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
{
"indexed": 3,
"chunksIndexed": 12
}Indexing & graph
Index memories and context chunks (extract entities)
Extract entities from memories AND context chunks that have not been indexed yet and link them into the graph with mention edges. Runs the LLM extractor (one call per row, so large documents take proportionally longer); a no-op in offline mode.
POST
/
memory
/
index
Index memories and context chunks (extract entities)
curl --request POST \
--url http://127.0.0.1:4319/memory/index \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "http://127.0.0.1:4319/memory/index"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('http://127.0.0.1:4319/memory/index', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://127.0.0.1:4319/memory/index"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4319",
CURLOPT_URL => "http://127.0.0.1:4319/memory/index",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("http://127.0.0.1:4319/memory/index")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("http://127.0.0.1:4319/memory/index")
.header("Content-Type", "application/json")
.body("{}")
.asString();using RestSharp;
var options = new RestClientOptions("http://127.0.0.1:4319/memory/index");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddJsonBody("{}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
{
"indexed": 3,
"chunksIndexed": 12
}Headers
The owner this request acts for. Applies to every owner-scoped endpoint, reads as well
as writes. Omit it and the daemon's own default owner answers (see GET /health), which
is what a single-owner install has always used. A value that is not a uuid is refused
with 400 rather than coerced.
Body
application/json
The body is of type object.