curl --request PUT \
--url https://api.mnemom.ai/v1/alignment/platform/{scope_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"card_version": "<string>",
"agent_id": "<string>",
"principal": {
"identifier": "<string>",
"escalation_contact": "<string>"
},
"values": {
"declared": [
"<string>"
],
"definitions": {},
"conflicts_with": [
"<string>"
]
},
"autonomy": {
"bounded_actions": [
"<string>"
],
"forbidden_actions": [
"<string>"
],
"escalation_triggers": [
{
"condition": "<string>",
"reason": "<string>"
}
],
"max_autonomous_value": {
"amount": 123,
"currency": "<string>"
}
},
"audit": {
"retention_days": 1,
"queryable": true,
"trace_format": "<string>",
"query_endpoint": "<string>",
"storage": {
"location": "<string>"
}
},
"card_id": "<string>",
"issued_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"capabilities": {},
"enforcement": {
"allow_unmapped_tools": true,
"forbidden_tools": [
{
"pattern": "<string>",
"reason": "<string>"
}
],
"grace_period_hours": 123
},
"extensions": {},
"_composition": {
"canonical_id": "<string>",
"composed_at": "2023-11-07T05:31:56Z",
"scopes_applied": [
{
"scope": "<string>",
"version": 123,
"template_version": 123,
"card_id": "<string>"
}
],
"exemptions_applied": [
"<string>"
],
"source_card_id": "<string>",
"source_policy_id": "<string>"
},
"content_hash": "<string>",
"version": 123
}
'import requests
url = "https://api.mnemom.ai/v1/alignment/platform/{scope_id}"
payload = {
"card_version": "<string>",
"agent_id": "<string>",
"principal": {
"identifier": "<string>",
"escalation_contact": "<string>"
},
"values": {
"declared": ["<string>"],
"definitions": {},
"conflicts_with": ["<string>"]
},
"autonomy": {
"bounded_actions": ["<string>"],
"forbidden_actions": ["<string>"],
"escalation_triggers": [
{
"condition": "<string>",
"reason": "<string>"
}
],
"max_autonomous_value": {
"amount": 123,
"currency": "<string>"
}
},
"audit": {
"retention_days": 1,
"queryable": True,
"trace_format": "<string>",
"query_endpoint": "<string>",
"storage": { "location": "<string>" }
},
"card_id": "<string>",
"issued_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"capabilities": {},
"enforcement": {
"allow_unmapped_tools": True,
"forbidden_tools": [
{
"pattern": "<string>",
"reason": "<string>"
}
],
"grace_period_hours": 123
},
"extensions": {},
"_composition": {
"canonical_id": "<string>",
"composed_at": "2023-11-07T05:31:56Z",
"scopes_applied": [
{
"scope": "<string>",
"version": 123,
"template_version": 123,
"card_id": "<string>"
}
],
"exemptions_applied": ["<string>"],
"source_card_id": "<string>",
"source_policy_id": "<string>"
},
"content_hash": "<string>",
"version": 123
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
card_version: '<string>',
agent_id: '<string>',
principal: {identifier: '<string>', escalation_contact: '<string>'},
values: {declared: ['<string>'], definitions: {}, conflicts_with: ['<string>']},
autonomy: {
bounded_actions: ['<string>'],
forbidden_actions: ['<string>'],
escalation_triggers: [{condition: '<string>', reason: '<string>'}],
max_autonomous_value: {amount: 123, currency: '<string>'}
},
audit: {
retention_days: 1,
queryable: true,
trace_format: '<string>',
query_endpoint: '<string>',
storage: {location: '<string>'}
},
card_id: '<string>',
issued_at: '2023-11-07T05:31:56Z',
expires_at: '2023-11-07T05:31:56Z',
capabilities: {},
enforcement: {
allow_unmapped_tools: true,
forbidden_tools: [{pattern: '<string>', reason: '<string>'}],
grace_period_hours: 123
},
extensions: {},
_composition: {
canonical_id: '<string>',
composed_at: '2023-11-07T05:31:56Z',
scopes_applied: [{scope: '<string>', version: 123, template_version: 123, card_id: '<string>'}],
exemptions_applied: ['<string>'],
source_card_id: '<string>',
source_policy_id: '<string>'
},
content_hash: '<string>',
version: 123
})
};
fetch('https://api.mnemom.ai/v1/alignment/platform/{scope_id}', 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/alignment/platform/{scope_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'card_version' => '<string>',
'agent_id' => '<string>',
'principal' => [
'identifier' => '<string>',
'escalation_contact' => '<string>'
],
'values' => [
'declared' => [
'<string>'
],
'definitions' => [
],
'conflicts_with' => [
'<string>'
]
],
'autonomy' => [
'bounded_actions' => [
'<string>'
],
'forbidden_actions' => [
'<string>'
],
'escalation_triggers' => [
[
'condition' => '<string>',
'reason' => '<string>'
]
],
'max_autonomous_value' => [
'amount' => 123,
'currency' => '<string>'
]
],
'audit' => [
'retention_days' => 1,
'queryable' => true,
'trace_format' => '<string>',
'query_endpoint' => '<string>',
'storage' => [
'location' => '<string>'
]
],
'card_id' => '<string>',
'issued_at' => '2023-11-07T05:31:56Z',
'expires_at' => '2023-11-07T05:31:56Z',
'capabilities' => [
],
'enforcement' => [
'allow_unmapped_tools' => true,
'forbidden_tools' => [
[
'pattern' => '<string>',
'reason' => '<string>'
]
],
'grace_period_hours' => 123
],
'extensions' => [
],
'_composition' => [
'canonical_id' => '<string>',
'composed_at' => '2023-11-07T05:31:56Z',
'scopes_applied' => [
[
'scope' => '<string>',
'version' => 123,
'template_version' => 123,
'card_id' => '<string>'
]
],
'exemptions_applied' => [
'<string>'
],
'source_card_id' => '<string>',
'source_policy_id' => '<string>'
],
'content_hash' => '<string>',
'version' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$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/alignment/platform/{scope_id}"
payload := strings.NewReader("{\n \"card_version\": \"<string>\",\n \"agent_id\": \"<string>\",\n \"principal\": {\n \"identifier\": \"<string>\",\n \"escalation_contact\": \"<string>\"\n },\n \"values\": {\n \"declared\": [\n \"<string>\"\n ],\n \"definitions\": {},\n \"conflicts_with\": [\n \"<string>\"\n ]\n },\n \"autonomy\": {\n \"bounded_actions\": [\n \"<string>\"\n ],\n \"forbidden_actions\": [\n \"<string>\"\n ],\n \"escalation_triggers\": [\n {\n \"condition\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"max_autonomous_value\": {\n \"amount\": 123,\n \"currency\": \"<string>\"\n }\n },\n \"audit\": {\n \"retention_days\": 1,\n \"queryable\": true,\n \"trace_format\": \"<string>\",\n \"query_endpoint\": \"<string>\",\n \"storage\": {\n \"location\": \"<string>\"\n }\n },\n \"card_id\": \"<string>\",\n \"issued_at\": \"2023-11-07T05:31:56Z\",\n \"expires_at\": \"2023-11-07T05:31:56Z\",\n \"capabilities\": {},\n \"enforcement\": {\n \"allow_unmapped_tools\": true,\n \"forbidden_tools\": [\n {\n \"pattern\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"grace_period_hours\": 123\n },\n \"extensions\": {},\n \"_composition\": {\n \"canonical_id\": \"<string>\",\n \"composed_at\": \"2023-11-07T05:31:56Z\",\n \"scopes_applied\": [\n {\n \"scope\": \"<string>\",\n \"version\": 123,\n \"template_version\": 123,\n \"card_id\": \"<string>\"\n }\n ],\n \"exemptions_applied\": [\n \"<string>\"\n ],\n \"source_card_id\": \"<string>\",\n \"source_policy_id\": \"<string>\"\n },\n \"content_hash\": \"<string>\",\n \"version\": 123\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
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.put("https://api.mnemom.ai/v1/alignment/platform/{scope_id}")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"card_version\": \"<string>\",\n \"agent_id\": \"<string>\",\n \"principal\": {\n \"identifier\": \"<string>\",\n \"escalation_contact\": \"<string>\"\n },\n \"values\": {\n \"declared\": [\n \"<string>\"\n ],\n \"definitions\": {},\n \"conflicts_with\": [\n \"<string>\"\n ]\n },\n \"autonomy\": {\n \"bounded_actions\": [\n \"<string>\"\n ],\n \"forbidden_actions\": [\n \"<string>\"\n ],\n \"escalation_triggers\": [\n {\n \"condition\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"max_autonomous_value\": {\n \"amount\": 123,\n \"currency\": \"<string>\"\n }\n },\n \"audit\": {\n \"retention_days\": 1,\n \"queryable\": true,\n \"trace_format\": \"<string>\",\n \"query_endpoint\": \"<string>\",\n \"storage\": {\n \"location\": \"<string>\"\n }\n },\n \"card_id\": \"<string>\",\n \"issued_at\": \"2023-11-07T05:31:56Z\",\n \"expires_at\": \"2023-11-07T05:31:56Z\",\n \"capabilities\": {},\n \"enforcement\": {\n \"allow_unmapped_tools\": true,\n \"forbidden_tools\": [\n {\n \"pattern\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"grace_period_hours\": 123\n },\n \"extensions\": {},\n \"_composition\": {\n \"canonical_id\": \"<string>\",\n \"composed_at\": \"2023-11-07T05:31:56Z\",\n \"scopes_applied\": [\n {\n \"scope\": \"<string>\",\n \"version\": 123,\n \"template_version\": 123,\n \"card_id\": \"<string>\"\n }\n ],\n \"exemptions_applied\": [\n \"<string>\"\n ],\n \"source_card_id\": \"<string>\",\n \"source_policy_id\": \"<string>\"\n },\n \"content_hash\": \"<string>\",\n \"version\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mnemom.ai/v1/alignment/platform/{scope_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"card_version\": \"<string>\",\n \"agent_id\": \"<string>\",\n \"principal\": {\n \"identifier\": \"<string>\",\n \"escalation_contact\": \"<string>\"\n },\n \"values\": {\n \"declared\": [\n \"<string>\"\n ],\n \"definitions\": {},\n \"conflicts_with\": [\n \"<string>\"\n ]\n },\n \"autonomy\": {\n \"bounded_actions\": [\n \"<string>\"\n ],\n \"forbidden_actions\": [\n \"<string>\"\n ],\n \"escalation_triggers\": [\n {\n \"condition\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"max_autonomous_value\": {\n \"amount\": 123,\n \"currency\": \"<string>\"\n }\n },\n \"audit\": {\n \"retention_days\": 1,\n \"queryable\": true,\n \"trace_format\": \"<string>\",\n \"query_endpoint\": \"<string>\",\n \"storage\": {\n \"location\": \"<string>\"\n }\n },\n \"card_id\": \"<string>\",\n \"issued_at\": \"2023-11-07T05:31:56Z\",\n \"expires_at\": \"2023-11-07T05:31:56Z\",\n \"capabilities\": {},\n \"enforcement\": {\n \"allow_unmapped_tools\": true,\n \"forbidden_tools\": [\n {\n \"pattern\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"grace_period_hours\": 123\n },\n \"extensions\": {},\n \"_composition\": {\n \"canonical_id\": \"<string>\",\n \"composed_at\": \"2023-11-07T05:31:56Z\",\n \"scopes_applied\": [\n {\n \"scope\": \"<string>\",\n \"version\": 123,\n \"template_version\": 123,\n \"card_id\": \"<string>\"\n }\n ],\n \"exemptions_applied\": [\n \"<string>\"\n ],\n \"source_card_id\": \"<string>\",\n \"source_policy_id\": \"<string>\"\n },\n \"content_hash\": \"<string>\",\n \"version\": 123\n}"
response = http.request(request)
puts response.read_body{
"card_version": "<string>",
"autonomy_mode": "off",
"integrity_mode": "off",
"agent_id": "<string>",
"values": {
"declared": [
"<string>"
],
"definitions": {},
"conflicts_with": [
"<string>"
],
"hierarchy": "lexicographic"
},
"autonomy": {
"bounded_actions": [
"<string>"
],
"forbidden_actions": [
"<string>"
],
"escalation_triggers": [
{
"condition": "<string>",
"action": "escalate",
"reason": "<string>"
}
],
"max_autonomous_value": {
"amount": 123,
"currency": "<string>"
}
},
"audit": {
"retention_days": 1,
"queryable": true,
"trace_format": "<string>",
"query_endpoint": "<string>",
"tamper_evidence": "append_only",
"storage": {
"type": "local",
"location": "<string>"
}
},
"card_id": "<string>",
"issued_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"principal": {
"type": "human",
"relationship": "delegated_authority",
"identifier": "<string>",
"escalation_contact": "<string>"
},
"conscience": {
"mode": "augment",
"values": [
{
"type": "BOUNDARY",
"content": "<string>",
"id": "<string>",
"severity": "advisory"
}
]
},
"capabilities": {},
"enforcement": {
"allow_unmapped_tools": true,
"default_unmapped_severity": "low",
"forbidden_tools": [
{
"pattern": "<string>",
"reason": "<string>",
"severity": "critical"
}
],
"grace_period_hours": 123
},
"extensions": {},
"_composition": {
"canonical_id": "<string>",
"composed_at": "2023-11-07T05:31:56Z",
"scopes_applied": [
{
"scope": "<string>",
"version": 123,
"template_version": 123,
"card_id": "<string>"
}
],
"exemptions_applied": [
"<string>"
],
"source_card_id": "<string>",
"source_policy_id": "<string>"
},
"content_hash": "<string>",
"version": 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>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}Publish or replace the alignment manifest
Accepts YAML (text/yaml, application/yaml) or JSON.
curl --request PUT \
--url https://api.mnemom.ai/v1/alignment/platform/{scope_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"card_version": "<string>",
"agent_id": "<string>",
"principal": {
"identifier": "<string>",
"escalation_contact": "<string>"
},
"values": {
"declared": [
"<string>"
],
"definitions": {},
"conflicts_with": [
"<string>"
]
},
"autonomy": {
"bounded_actions": [
"<string>"
],
"forbidden_actions": [
"<string>"
],
"escalation_triggers": [
{
"condition": "<string>",
"reason": "<string>"
}
],
"max_autonomous_value": {
"amount": 123,
"currency": "<string>"
}
},
"audit": {
"retention_days": 1,
"queryable": true,
"trace_format": "<string>",
"query_endpoint": "<string>",
"storage": {
"location": "<string>"
}
},
"card_id": "<string>",
"issued_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"capabilities": {},
"enforcement": {
"allow_unmapped_tools": true,
"forbidden_tools": [
{
"pattern": "<string>",
"reason": "<string>"
}
],
"grace_period_hours": 123
},
"extensions": {},
"_composition": {
"canonical_id": "<string>",
"composed_at": "2023-11-07T05:31:56Z",
"scopes_applied": [
{
"scope": "<string>",
"version": 123,
"template_version": 123,
"card_id": "<string>"
}
],
"exemptions_applied": [
"<string>"
],
"source_card_id": "<string>",
"source_policy_id": "<string>"
},
"content_hash": "<string>",
"version": 123
}
'import requests
url = "https://api.mnemom.ai/v1/alignment/platform/{scope_id}"
payload = {
"card_version": "<string>",
"agent_id": "<string>",
"principal": {
"identifier": "<string>",
"escalation_contact": "<string>"
},
"values": {
"declared": ["<string>"],
"definitions": {},
"conflicts_with": ["<string>"]
},
"autonomy": {
"bounded_actions": ["<string>"],
"forbidden_actions": ["<string>"],
"escalation_triggers": [
{
"condition": "<string>",
"reason": "<string>"
}
],
"max_autonomous_value": {
"amount": 123,
"currency": "<string>"
}
},
"audit": {
"retention_days": 1,
"queryable": True,
"trace_format": "<string>",
"query_endpoint": "<string>",
"storage": { "location": "<string>" }
},
"card_id": "<string>",
"issued_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"capabilities": {},
"enforcement": {
"allow_unmapped_tools": True,
"forbidden_tools": [
{
"pattern": "<string>",
"reason": "<string>"
}
],
"grace_period_hours": 123
},
"extensions": {},
"_composition": {
"canonical_id": "<string>",
"composed_at": "2023-11-07T05:31:56Z",
"scopes_applied": [
{
"scope": "<string>",
"version": 123,
"template_version": 123,
"card_id": "<string>"
}
],
"exemptions_applied": ["<string>"],
"source_card_id": "<string>",
"source_policy_id": "<string>"
},
"content_hash": "<string>",
"version": 123
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
card_version: '<string>',
agent_id: '<string>',
principal: {identifier: '<string>', escalation_contact: '<string>'},
values: {declared: ['<string>'], definitions: {}, conflicts_with: ['<string>']},
autonomy: {
bounded_actions: ['<string>'],
forbidden_actions: ['<string>'],
escalation_triggers: [{condition: '<string>', reason: '<string>'}],
max_autonomous_value: {amount: 123, currency: '<string>'}
},
audit: {
retention_days: 1,
queryable: true,
trace_format: '<string>',
query_endpoint: '<string>',
storage: {location: '<string>'}
},
card_id: '<string>',
issued_at: '2023-11-07T05:31:56Z',
expires_at: '2023-11-07T05:31:56Z',
capabilities: {},
enforcement: {
allow_unmapped_tools: true,
forbidden_tools: [{pattern: '<string>', reason: '<string>'}],
grace_period_hours: 123
},
extensions: {},
_composition: {
canonical_id: '<string>',
composed_at: '2023-11-07T05:31:56Z',
scopes_applied: [{scope: '<string>', version: 123, template_version: 123, card_id: '<string>'}],
exemptions_applied: ['<string>'],
source_card_id: '<string>',
source_policy_id: '<string>'
},
content_hash: '<string>',
version: 123
})
};
fetch('https://api.mnemom.ai/v1/alignment/platform/{scope_id}', 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/alignment/platform/{scope_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'card_version' => '<string>',
'agent_id' => '<string>',
'principal' => [
'identifier' => '<string>',
'escalation_contact' => '<string>'
],
'values' => [
'declared' => [
'<string>'
],
'definitions' => [
],
'conflicts_with' => [
'<string>'
]
],
'autonomy' => [
'bounded_actions' => [
'<string>'
],
'forbidden_actions' => [
'<string>'
],
'escalation_triggers' => [
[
'condition' => '<string>',
'reason' => '<string>'
]
],
'max_autonomous_value' => [
'amount' => 123,
'currency' => '<string>'
]
],
'audit' => [
'retention_days' => 1,
'queryable' => true,
'trace_format' => '<string>',
'query_endpoint' => '<string>',
'storage' => [
'location' => '<string>'
]
],
'card_id' => '<string>',
'issued_at' => '2023-11-07T05:31:56Z',
'expires_at' => '2023-11-07T05:31:56Z',
'capabilities' => [
],
'enforcement' => [
'allow_unmapped_tools' => true,
'forbidden_tools' => [
[
'pattern' => '<string>',
'reason' => '<string>'
]
],
'grace_period_hours' => 123
],
'extensions' => [
],
'_composition' => [
'canonical_id' => '<string>',
'composed_at' => '2023-11-07T05:31:56Z',
'scopes_applied' => [
[
'scope' => '<string>',
'version' => 123,
'template_version' => 123,
'card_id' => '<string>'
]
],
'exemptions_applied' => [
'<string>'
],
'source_card_id' => '<string>',
'source_policy_id' => '<string>'
],
'content_hash' => '<string>',
'version' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$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/alignment/platform/{scope_id}"
payload := strings.NewReader("{\n \"card_version\": \"<string>\",\n \"agent_id\": \"<string>\",\n \"principal\": {\n \"identifier\": \"<string>\",\n \"escalation_contact\": \"<string>\"\n },\n \"values\": {\n \"declared\": [\n \"<string>\"\n ],\n \"definitions\": {},\n \"conflicts_with\": [\n \"<string>\"\n ]\n },\n \"autonomy\": {\n \"bounded_actions\": [\n \"<string>\"\n ],\n \"forbidden_actions\": [\n \"<string>\"\n ],\n \"escalation_triggers\": [\n {\n \"condition\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"max_autonomous_value\": {\n \"amount\": 123,\n \"currency\": \"<string>\"\n }\n },\n \"audit\": {\n \"retention_days\": 1,\n \"queryable\": true,\n \"trace_format\": \"<string>\",\n \"query_endpoint\": \"<string>\",\n \"storage\": {\n \"location\": \"<string>\"\n }\n },\n \"card_id\": \"<string>\",\n \"issued_at\": \"2023-11-07T05:31:56Z\",\n \"expires_at\": \"2023-11-07T05:31:56Z\",\n \"capabilities\": {},\n \"enforcement\": {\n \"allow_unmapped_tools\": true,\n \"forbidden_tools\": [\n {\n \"pattern\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"grace_period_hours\": 123\n },\n \"extensions\": {},\n \"_composition\": {\n \"canonical_id\": \"<string>\",\n \"composed_at\": \"2023-11-07T05:31:56Z\",\n \"scopes_applied\": [\n {\n \"scope\": \"<string>\",\n \"version\": 123,\n \"template_version\": 123,\n \"card_id\": \"<string>\"\n }\n ],\n \"exemptions_applied\": [\n \"<string>\"\n ],\n \"source_card_id\": \"<string>\",\n \"source_policy_id\": \"<string>\"\n },\n \"content_hash\": \"<string>\",\n \"version\": 123\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
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.put("https://api.mnemom.ai/v1/alignment/platform/{scope_id}")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"card_version\": \"<string>\",\n \"agent_id\": \"<string>\",\n \"principal\": {\n \"identifier\": \"<string>\",\n \"escalation_contact\": \"<string>\"\n },\n \"values\": {\n \"declared\": [\n \"<string>\"\n ],\n \"definitions\": {},\n \"conflicts_with\": [\n \"<string>\"\n ]\n },\n \"autonomy\": {\n \"bounded_actions\": [\n \"<string>\"\n ],\n \"forbidden_actions\": [\n \"<string>\"\n ],\n \"escalation_triggers\": [\n {\n \"condition\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"max_autonomous_value\": {\n \"amount\": 123,\n \"currency\": \"<string>\"\n }\n },\n \"audit\": {\n \"retention_days\": 1,\n \"queryable\": true,\n \"trace_format\": \"<string>\",\n \"query_endpoint\": \"<string>\",\n \"storage\": {\n \"location\": \"<string>\"\n }\n },\n \"card_id\": \"<string>\",\n \"issued_at\": \"2023-11-07T05:31:56Z\",\n \"expires_at\": \"2023-11-07T05:31:56Z\",\n \"capabilities\": {},\n \"enforcement\": {\n \"allow_unmapped_tools\": true,\n \"forbidden_tools\": [\n {\n \"pattern\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"grace_period_hours\": 123\n },\n \"extensions\": {},\n \"_composition\": {\n \"canonical_id\": \"<string>\",\n \"composed_at\": \"2023-11-07T05:31:56Z\",\n \"scopes_applied\": [\n {\n \"scope\": \"<string>\",\n \"version\": 123,\n \"template_version\": 123,\n \"card_id\": \"<string>\"\n }\n ],\n \"exemptions_applied\": [\n \"<string>\"\n ],\n \"source_card_id\": \"<string>\",\n \"source_policy_id\": \"<string>\"\n },\n \"content_hash\": \"<string>\",\n \"version\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mnemom.ai/v1/alignment/platform/{scope_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"card_version\": \"<string>\",\n \"agent_id\": \"<string>\",\n \"principal\": {\n \"identifier\": \"<string>\",\n \"escalation_contact\": \"<string>\"\n },\n \"values\": {\n \"declared\": [\n \"<string>\"\n ],\n \"definitions\": {},\n \"conflicts_with\": [\n \"<string>\"\n ]\n },\n \"autonomy\": {\n \"bounded_actions\": [\n \"<string>\"\n ],\n \"forbidden_actions\": [\n \"<string>\"\n ],\n \"escalation_triggers\": [\n {\n \"condition\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"max_autonomous_value\": {\n \"amount\": 123,\n \"currency\": \"<string>\"\n }\n },\n \"audit\": {\n \"retention_days\": 1,\n \"queryable\": true,\n \"trace_format\": \"<string>\",\n \"query_endpoint\": \"<string>\",\n \"storage\": {\n \"location\": \"<string>\"\n }\n },\n \"card_id\": \"<string>\",\n \"issued_at\": \"2023-11-07T05:31:56Z\",\n \"expires_at\": \"2023-11-07T05:31:56Z\",\n \"capabilities\": {},\n \"enforcement\": {\n \"allow_unmapped_tools\": true,\n \"forbidden_tools\": [\n {\n \"pattern\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ],\n \"grace_period_hours\": 123\n },\n \"extensions\": {},\n \"_composition\": {\n \"canonical_id\": \"<string>\",\n \"composed_at\": \"2023-11-07T05:31:56Z\",\n \"scopes_applied\": [\n {\n \"scope\": \"<string>\",\n \"version\": 123,\n \"template_version\": 123,\n \"card_id\": \"<string>\"\n }\n ],\n \"exemptions_applied\": [\n \"<string>\"\n ],\n \"source_card_id\": \"<string>\",\n \"source_policy_id\": \"<string>\"\n },\n \"content_hash\": \"<string>\",\n \"version\": 123\n}"
response = http.request(request)
puts response.read_body{
"card_version": "<string>",
"autonomy_mode": "off",
"integrity_mode": "off",
"agent_id": "<string>",
"values": {
"declared": [
"<string>"
],
"definitions": {},
"conflicts_with": [
"<string>"
],
"hierarchy": "lexicographic"
},
"autonomy": {
"bounded_actions": [
"<string>"
],
"forbidden_actions": [
"<string>"
],
"escalation_triggers": [
{
"condition": "<string>",
"action": "escalate",
"reason": "<string>"
}
],
"max_autonomous_value": {
"amount": 123,
"currency": "<string>"
}
},
"audit": {
"retention_days": 1,
"queryable": true,
"trace_format": "<string>",
"query_endpoint": "<string>",
"tamper_evidence": "append_only",
"storage": {
"type": "local",
"location": "<string>"
}
},
"card_id": "<string>",
"issued_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"principal": {
"type": "human",
"relationship": "delegated_authority",
"identifier": "<string>",
"escalation_contact": "<string>"
},
"conscience": {
"mode": "augment",
"values": [
{
"type": "BOUNDARY",
"content": "<string>",
"id": "<string>",
"severity": "advisory"
}
]
},
"capabilities": {},
"enforcement": {
"allow_unmapped_tools": true,
"default_unmapped_severity": "low",
"forbidden_tools": [
{
"pattern": "<string>",
"reason": "<string>",
"severity": "critical"
}
],
"grace_period_hours": 123
},
"extensions": {},
"_composition": {
"canonical_id": "<string>",
"composed_at": "2023-11-07T05:31:56Z",
"scopes_applied": [
{
"scope": "<string>",
"version": 123,
"template_version": 123,
"card_id": "<string>"
}
],
"exemptions_applied": [
"<string>"
],
"source_card_id": "<string>",
"source_policy_id": "<string>"
},
"content_hash": "<string>",
"version": 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>"
}
}{
"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
Headers
Client-supplied idempotency token. Replays within 24 hours return the stored result. See ADR-023.
1 - 128Path Parameters
Always default — the platform scope is a singleton; any other value returns 400 with care-framed guidance pointing at default.
default Body
Unified alignment card (ADR-008/ADR-039). Authored in YAML or JSON; composed server-side with platform defaults, org template, and active exemptions before storage. This schema matches the runtime validator at src/composition/validate.ts EXACTLY — a card authored strictly to it passes PUT /v1/agents/{id}/alignment-card and the preview-compose endpoint. Output-only fields (card_id, issued_at, expires_at, _composition, content_hash, version) are server-assigned and must NOT be sent on a PUT.
Card schema version (required, non-empty). Current canonical value: unified/2026-04-26.
1ADR-039 master switch for the action-policing pipeline (autonomy constraints). Required at the top level post-cutover; the legacy enforcement.mode location is rejected.
off, observe, nudge, enforce ADR-039 master switch for the values/conscience pipeline (integrity constraints). Required at the top level post-cutover; the legacy integrity.enforcement_mode location is rejected.
off, observe, nudge, enforce Target agent id. On PUT, server overwrites to match the URL path.
Required object describing whose authority the agent acts under (ADR-039 Decision 10).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Card row id. Server-assigned on PUT (ac-{uuid}).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Optional ADR-039 Decision-3 user-facing knobs for unmapped-tool handling. The legacy mode, unmapped_tool_action and fail_open keys are REJECTED by the validator (mode → top-level autonomy_mode; fail_open → gateway env config).
Show child attributes
Show child attributes
System-managed block describing which scope sources merged into the canonical card. Only returned when ?include_composition=true.
Show child attributes
Show child attributes
Response-only: content hash of the composed card (sha256:<hex>), injected by the GET/PUT response. Server-assigned — do not send on a PUT.
Response-only: monotonic card version, injected by the GET/PUT response. Server-assigned — do not send on a PUT.
Response
Composed canonical card after the write.
OUTPUT-only variant of UnifiedAlignmentCard for the COMPOSED card the server emits on GET /v1/alignment/{scope}/{id}, /effective, and the composed field of preview-compose. Identical to UnifiedAlignmentCard except principal is optional (a default / org-scope composed card has no agent principal) and values.declared / autonomy.bounded_actions may be empty (a fresh card declares nothing yet). The strict UnifiedAlignmentCard remains the authoring/request contract.
Card schema version (required, non-empty). Current canonical value: unified/2026-04-26.
1ADR-039 master switch for the action-policing pipeline (autonomy constraints). Required at the top level post-cutover; the legacy enforcement.mode location is rejected.
off, observe, nudge, enforce ADR-039 master switch for the values/conscience pipeline (integrity constraints). Required at the top level post-cutover; the legacy integrity.enforcement_mode location is rejected.
off, observe, nudge, enforce Target agent id. On PUT, server overwrites to match the URL path.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Card row id. Server-assigned on PUT (ac-{uuid}).
Required object describing whose authority the agent acts under (ADR-039 Decision 10).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Optional ADR-039 Decision-3 user-facing knobs for unmapped-tool handling. The legacy mode, unmapped_tool_action and fail_open keys are REJECTED by the validator (mode → top-level autonomy_mode; fail_open → gateway env config).
Show child attributes
Show child attributes
System-managed block describing which scope sources merged into the canonical card. Only returned when ?include_composition=true.
Show child attributes
Show child attributes
Response-only: content hash of the composed card (sha256:<hex>), injected by the GET/PUT response. Server-assigned — do not send on a PUT.
Response-only: monotonic card version, injected by the GET/PUT response. Server-assigned — do not send on a PUT.