curl --request POST \
--url https://api.mnemom.ai/v1/agents/{agent_id}/reclassify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"checkpoint_id": "<string>",
"reason": "<string>",
"card_amendment_id": "<string>",
"after_classification": "clear"
}
'import requests
url = "https://api.mnemom.ai/v1/agents/{agent_id}/reclassify"
payload = {
"checkpoint_id": "<string>",
"reason": "<string>",
"card_amendment_id": "<string>",
"after_classification": "clear"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
checkpoint_id: '<string>',
reason: '<string>',
card_amendment_id: '<string>',
after_classification: 'clear'
})
};
fetch('https://api.mnemom.ai/v1/agents/{agent_id}/reclassify', 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.mnemom.ai/v1/agents/{agent_id}/reclassify",
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([
'checkpoint_id' => '<string>',
'reason' => '<string>',
'card_amendment_id' => '<string>',
'after_classification' => 'clear'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mnemom.ai/v1/agents/{agent_id}/reclassify"
payload := strings.NewReader("{\n \"checkpoint_id\": \"<string>\",\n \"reason\": \"<string>\",\n \"card_amendment_id\": \"<string>\",\n \"after_classification\": \"clear\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.post("https://api.mnemom.ai/v1/agents/{agent_id}/reclassify")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"checkpoint_id\": \"<string>\",\n \"reason\": \"<string>\",\n \"card_amendment_id\": \"<string>\",\n \"after_classification\": \"clear\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mnemom.ai/v1/agents/{agent_id}/reclassify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"checkpoint_id\": \"<string>\",\n \"reason\": \"<string>\",\n \"card_amendment_id\": \"<string>\",\n \"after_classification\": \"clear\"\n}"
response = http.request(request)
puts response.read_body{
"reclassification_id": "<string>",
"checkpoint_id": "<string>",
"agent_id": "<string>",
"original_type": "<string>",
"new_type": "<string>",
"reason": "<string>",
"score_impact": {
"previous_score": 123,
"new_score": 123,
"delta": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}Reclassify a checkpoint violation
Reclassify a previously recorded AIP checkpoint violation.
curl --request POST \
--url https://api.mnemom.ai/v1/agents/{agent_id}/reclassify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"checkpoint_id": "<string>",
"reason": "<string>",
"card_amendment_id": "<string>",
"after_classification": "clear"
}
'import requests
url = "https://api.mnemom.ai/v1/agents/{agent_id}/reclassify"
payload = {
"checkpoint_id": "<string>",
"reason": "<string>",
"card_amendment_id": "<string>",
"after_classification": "clear"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
checkpoint_id: '<string>',
reason: '<string>',
card_amendment_id: '<string>',
after_classification: 'clear'
})
};
fetch('https://api.mnemom.ai/v1/agents/{agent_id}/reclassify', 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.mnemom.ai/v1/agents/{agent_id}/reclassify",
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([
'checkpoint_id' => '<string>',
'reason' => '<string>',
'card_amendment_id' => '<string>',
'after_classification' => 'clear'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mnemom.ai/v1/agents/{agent_id}/reclassify"
payload := strings.NewReader("{\n \"checkpoint_id\": \"<string>\",\n \"reason\": \"<string>\",\n \"card_amendment_id\": \"<string>\",\n \"after_classification\": \"clear\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.post("https://api.mnemom.ai/v1/agents/{agent_id}/reclassify")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"checkpoint_id\": \"<string>\",\n \"reason\": \"<string>\",\n \"card_amendment_id\": \"<string>\",\n \"after_classification\": \"clear\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mnemom.ai/v1/agents/{agent_id}/reclassify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"checkpoint_id\": \"<string>\",\n \"reason\": \"<string>\",\n \"card_amendment_id\": \"<string>\",\n \"after_classification\": \"clear\"\n}"
response = http.request(request)
puts response.read_body{
"reclassification_id": "<string>",
"checkpoint_id": "<string>",
"agent_id": "<string>",
"original_type": "<string>",
"new_type": "<string>",
"reason": "<string>",
"score_impact": {
"previous_score": 123,
"new_score": 123,
"delta": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}Authorizations
Supabase JWT token in Authorization: Bearer header
Path Parameters
Agent identifier (e.g. smolt-abc123)
Body
Request to reclassify a checkpoint violation.
Identifier of the checkpoint to reclassify
Human-readable justification for the reclassification
Optional ID of an alignment card amendment that triggered this reclassification
Verdict the checkpoint is reclassified TO (MNE-2156). Omit for a full exoneration ('clear', the historical behavior); send 'review_needed' or 'boundary_violation' when the review lowers the severity without clearing the agent. An unrecognized value is rejected with 400 — it is never coerced to 'clear'. This is deliberately a SUBSET of the checkpoint verdict enum: 'unverified' means the integrity control did not run, which the system assigns and a reviewer cannot choose.
clear, review_needed, boundary_violation Response
Reclassification result with score impact
Result of a checkpoint violation reclassification.
Unique identifier for this reclassification
Identifier of the reclassified checkpoint
Agent whose checkpoint was reclassified
Original violation type before reclassification
New violation type after reclassification
Justification provided for the reclassification
Impact of the reclassification on the agent's score
Show child attributes
Show child attributes