curl --request GET \
--url http://127.0.0.1:4319/memory/reconcile/runsimport requests
url = "http://127.0.0.1:4319/memory/reconcile/runs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://127.0.0.1:4319/memory/reconcile/runs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://127.0.0.1:4319/memory/reconcile/runs"
req, _ := http.NewRequest("GET", url, nil)
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/reconcile/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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/reconcile/runs")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("http://127.0.0.1:4319/memory/reconcile/runs")
.asString();using RestSharp;
var options = new RestClientOptions("http://127.0.0.1:4319/memory/reconcile/runs");
var client = new RestClient(options);
var request = new RestRequest("");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"runs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "dry_run",
"trigger": "manual",
"status": "running",
"scanned": 123,
"retired": 123,
"folded": 123,
"questions": 123,
"conflictsRaised": 123,
"possible": 123,
"llmCalls": 123,
"spentUsd": 123,
"spentInputTokens": 123,
"spentOutputTokens": 123,
"error": "<string>",
"startedAt": "2023-11-07T05:31:56Z",
"finishedAt": "2023-11-07T05:31:56Z",
"revertedAt": "2023-11-07T05:31:56Z"
}
]
}List reconcile runs
Every run for this store, newest first, with what each one scanned, changed, and asked.
This is the Console tab’s history. A run with status running is still going and its
counters move.
curl --request GET \
--url http://127.0.0.1:4319/memory/reconcile/runsimport requests
url = "http://127.0.0.1:4319/memory/reconcile/runs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://127.0.0.1:4319/memory/reconcile/runs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://127.0.0.1:4319/memory/reconcile/runs"
req, _ := http.NewRequest("GET", url, nil)
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/reconcile/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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/reconcile/runs")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("http://127.0.0.1:4319/memory/reconcile/runs")
.asString();using RestSharp;
var options = new RestClientOptions("http://127.0.0.1:4319/memory/reconcile/runs");
var client = new RestClient(options);
var request = new RestRequest("");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"runs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "dry_run",
"trigger": "manual",
"status": "running",
"scanned": 123,
"retired": 123,
"folded": 123,
"questions": 123,
"conflictsRaised": 123,
"possible": 123,
"llmCalls": 123,
"spentUsd": 123,
"spentInputTokens": 123,
"spentOutputTokens": 123,
"error": "<string>",
"startedAt": "2023-11-07T05:31:56Z",
"finishedAt": "2023-11-07T05:31:56Z",
"revertedAt": "2023-11-07T05:31:56Z"
}
]
}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.
Query Parameters
Response
Reconcile runs, newest first.
Hide child attributes
Hide child attributes
dry_run, apply manual, idle, startup running, success, error, aborted Active memories the run looked at.
Memories staled. Never deleted, and undo puts them back.
Entities folded into another.
Findings reported rather than fixed.
Unconfirmed contradictions the re-check recorded. Not conflicts until a human says so.
What the run actually cost, from the provider's own billed figures. Written per call, so it survives a crash mid-sweep.
Why a run with status error failed. Null otherwise.