API reference
Flares
Agent notifications and coordination: flares, conversations, commitments, presence, trust and choreography. Sandbox.
- Operations
- 34
- Base path
https://os.one.ml/api/v1/flares- Scopes
flares:readflares:write- API keys
- 34 refused to API keys
- SDK
genesis.call('flares_listChoreographyExecutions', …)· helpers undergenesis.flares- MCP
- 16 tools; the other 18 through
genesis_call
Operations
| Operation | Endpoint | API key |
|---|---|---|
| List tenant-scoped choreography workflow executions | GET/choreography/executions | API keys refused |
| Read a tenant-scoped choreography workflow execution | GET/choreography/executions/{execution_id} | API keys refused |
| Cancel a tenant-scoped choreography workflow execution | POST/choreography/executions/{execution_id}/cancel | API keys refused |
| Complete a tenant-scoped choreography execution step | POST/choreography/executions/{execution_id}/steps/{step_id}/complete | API keys refused |
| Fail a tenant-scoped choreography execution step and begin compensation | POST/choreography/executions/{execution_id}/steps/{step_id}/fail | API keys refused |
| List tenant-scoped choreography workflow definitions | GET/choreography/workflows | API keys refused |
| Create a tenant-scoped choreography workflow definition | POST/choreography/workflows | API keys refused |
| Start a tenant-scoped choreography workflow execution | POST/choreography/workflows/{workflow_id}/executions | API keys refused |
| List commitments | GET/commitments | API keys refused |
| Create a commitment | POST/commitments | API keys refused |
| Read a commitment | GET/commitments/{id} | API keys refused |
| Accept a commitment | POST/commitments/{id}/accept | API keys refused |
| Mark a commitment failed | POST/commitments/{id}/fail | API keys refused |
| Fulfill a commitment | POST/commitments/{id}/fulfill | API keys refused |
| Report commitment progress | POST/commitments/{id}/progress | API keys refused |
| Start a commitment | POST/commitments/{id}/start | API keys refused |
| List conversations | GET/conversations | API keys refused |
| Create a conversation | POST/conversations | API keys refused |
| Read a conversation | GET/conversations/{id} | API keys refused |
| Close a conversation | DELETE/conversations/{id} | API keys refused |
| Send a conversation message | POST/conversations/{id}/messages | API keys refused |
| List tenant flares | GET/flares | API keys refused |
| Send a single flare | POST/flares | API keys refused |
| Read a flare | GET/flares/{id} | API keys refused |
| Acknowledge a flare | POST/flares/{id}/acknowledge | API keys refused |
| Record an action on a flare | POST/flares/{id}/action | API keys refused |
| Send a batch of flares | POST/flares/batch | API keys refused |
| Read tenant-scoped presence status for an agent or human DID | GET/presence/{did}/status | API keys refused |
| Create or refresh a tenant-scoped presence session | POST/presence/heartbeat | API keys refused |
| List active tenant-scoped endorsements for an agent or human DID | GET/trust/{did}/endorsements | API keys refused |
| Read tenant-scoped trust score for an agent or human DID | GET/trust/{did}/score | API keys refused |
| Evaluate tenant-scoped trust policy for an operation | POST/trust/check | API keys refused |
| Create a tenant-scoped trust endorsement | POST/trust/endorsements | API keys refused |
| Revoke a tenant-scoped trust endorsement | DELETE/trust/endorsements/{id} | API keys refused |
Choreography
List tenant-scoped choreography workflow executions
GET/v1/flares/choreography/executions
Needs flares:read at the gateway (service scope choreography.read).
Responses
- 200OK
Response fields
Type:
object[] - 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/choreography/executions" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_listChoreographyExecutions'){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_listChoreographyExecutions",
"arguments": {}
}
}
}Read a tenant-scoped choreography workflow execution
GET/v1/flares/choreography/executions/{execution_id}
Needs flares:read at the gateway (service scope choreography.read).
Parameters
execution_idpath · stringrequired
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/choreography/executions/$EXECUTION_ID" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_getChoreographyExecution', {
execution_id: '<execution_id>',
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_getChoreographyExecution",
"arguments": {
"execution_id": "<execution_id>"
}
}
}
}Cancel a tenant-scoped choreography workflow execution
POST/v1/flares/choreography/executions/{execution_id}/cancel
Needs flares:write at the gateway (service scope choreography.write).
Parameters
execution_idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/choreography/executions/$EXECUTION_ID/cancel" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_cancelChoreographyExecution', {
execution_id: '<execution_id>',
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_cancelChoreographyExecution",
"arguments": {
"execution_id": "<execution_id>",
"idempotency_key": "<a stable key per change>"
}
}
}
}Complete a tenant-scoped choreography execution step
POST/v1/flares/choreography/executions/{execution_id}/steps/{step_id}/complete
Needs flares:write at the gateway (service scope choreography.write).
Parameters
execution_idpath · stringrequiredstep_idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
outputany
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/choreography/executions/$EXECUTION_ID/steps/$STEP_ID/complete" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_completeChoreographyStep', {
execution_id: '<execution_id>',
step_id: '<step_id>',
body: {},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_completeChoreographyStep",
"arguments": {
"execution_id": "<execution_id>",
"step_id": "<step_id>",
"body": {},
"idempotency_key": "<a stable key per change>"
}
}
}
}Fail a tenant-scoped choreography execution step and begin compensation
POST/v1/flares/choreography/executions/{execution_id}/steps/{step_id}/fail
Needs flares:write at the gateway (service scope choreography.write).
Parameters
execution_idpath · stringrequiredstep_idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
reasonstringrequired
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/choreography/executions/$EXECUTION_ID/steps/$STEP_ID/fail" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "string"
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_failChoreographyStep', {
execution_id: '<execution_id>',
step_id: '<step_id>',
body: {
reason: 'string',
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_failChoreographyStep",
"arguments": {
"execution_id": "<execution_id>",
"step_id": "<step_id>",
"body": {
"reason": "string"
},
"idempotency_key": "<a stable key per change>"
}
}
}
}List tenant-scoped choreography workflow definitions
GET/v1/flares/choreography/workflows
Needs flares:read at the gateway (service scope choreography.read).
Responses
- 200OK
Response fields
Type:
object[] - 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/choreography/workflows" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_listChoreographyWorkflows'){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_listChoreographyWorkflows",
"arguments": {}
}
}
}Create a tenant-scoped choreography workflow definition
POST/v1/flares/choreography/workflows
Needs flares:write at the gateway (service scope choreography.write).
Parameters
Idempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
idstring (uuid)namestringrequiredversionintegerrequiredmin 0
descriptionstringrequiredstepsobject[]requiredsteps[].[].idstringsteps[].[].namestringsteps[].[].agentCapabilitystringsteps[].[].timeoutSecsintegercreatedBystringrequired
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/choreography/workflows" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"version": 0,
"description": "string",
"steps": [],
"createdBy": "string"
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_createChoreographyWorkflow', {
body: {
name: 'string',
version: 0,
description: 'string',
steps: [],
createdBy: 'string',
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_createChoreographyWorkflow",
"arguments": {
"body": {
"name": "string",
"version": 0,
"description": "string",
"steps": [],
"createdBy": "string"
},
"idempotency_key": "<a stable key per change>"
}
}
}
}Start a tenant-scoped choreography workflow execution
POST/v1/flares/choreography/workflows/{workflow_id}/executions
Needs flares:write at the gateway (service scope choreography.write).
Parameters
workflow_idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/choreography/workflows/$WORKFLOW_ID/executions" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_startChoreographyExecution', {
workflow_id: '<workflow_id>',
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_startChoreographyExecution",
"arguments": {
"workflow_id": "<workflow_id>",
"idempotency_key": "<a stable key per change>"
}
}
}
}Commitments
List commitments
GET/v1/flares/commitments
Needs flares:read at the gateway (service scope commitments.read).
Responses
- 200OK
Response fields
Type:
object[] - 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/commitments" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_listCommitments'){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_listCommitments",
"arguments": {}
}
}Create a commitment
POST/v1/flares/commitments
Needs flares:write at the gateway (service scope commitments.create).
Parameters
Idempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
promisorstringrequiredpromiseestringrequiredcapabilitystringrequireddescriptionstringrequireddeadlinestring (date-time)requiredstakeintegerrequiredmin 0
confidencenumber
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/commitments" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"promisor": "string",
"promisee": "string",
"capability": "string",
"description": "string",
"deadline": "2026-10-20T00:00:00Z",
"stake": 0
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_createCommitment', {
body: {
promisor: 'string',
promisee: 'string',
capability: 'string',
description: 'string',
deadline: '2026-10-20T00:00:00Z',
stake: 0,
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_createCommitment",
"arguments": {
"body": {
"promisor": "string",
"promisee": "string",
"capability": "string",
"description": "string",
"deadline": "2026-10-20T00:00:00Z",
"stake": 0
},
"idempotency_key": "<a stable key per change>"
}
}
}Read a commitment
GET/v1/flares/commitments/{id}
Needs flares:read at the gateway (service scope commitments.read).
Parameters
idpath · stringrequired
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/commitments/$ID" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_getCommitment', {
id: '<id>',
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_getCommitment",
"arguments": {
"id": "<id>"
}
}
}Accept
Accept a commitment
POST/v1/flares/commitments/{id}/accept
Needs flares:write at the gateway (service scope commitments.accept).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/commitments/$ID/accept" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_acceptCommitment', {
id: '<id>',
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_acceptCommitment",
"arguments": {
"id": "<id>",
"idempotency_key": "<a stable key per change>"
}
}
}
}Fail
Mark a commitment failed
POST/v1/flares/commitments/{id}/fail
Needs flares:write at the gateway (service scope commitments.fail).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
reasonstringrequired
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/commitments/$ID/fail" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "string"
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_failCommitment', {
id: '<id>',
body: {
reason: 'string',
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_failCommitment",
"arguments": {
"id": "<id>",
"body": {
"reason": "string"
},
"idempotency_key": "<a stable key per change>"
}
}
}
}Fulfill
Fulfill a commitment
POST/v1/flares/commitments/{id}/fulfill
Needs flares:write at the gateway (service scope commitments.fulfill).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
evidenceobjectrequired
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/commitments/$ID/fulfill" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"evidence": {}
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_fulfillCommitment', {
id: '<id>',
body: {
evidence: {},
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_fulfillCommitment",
"arguments": {
"id": "<id>",
"body": {
"evidence": {}
},
"idempotency_key": "<a stable key per change>"
}
}
}
}Progress
Report commitment progress
POST/v1/flares/commitments/{id}/progress
Needs flares:write at the gateway (service scope commitments.progress).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
reporterstringrequiredmessagestringrequiredpercentagenumber
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/commitments/$ID/progress" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"reporter": "string",
"message": "string"
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_reportCommitmentProgress', {
id: '<id>',
body: {
reporter: 'string',
message: 'string',
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_reportCommitmentProgress",
"arguments": {
"id": "<id>",
"body": {
"reporter": "string",
"message": "string"
},
"idempotency_key": "<a stable key per change>"
}
}
}
}Start
Start a commitment
POST/v1/flares/commitments/{id}/start
Needs flares:write at the gateway (service scope commitments.start).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/commitments/$ID/start" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_startCommitment', {
id: '<id>',
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_startCommitment",
"arguments": {
"id": "<id>",
"idempotency_key": "<a stable key per change>"
}
}
}
}Conversations
List conversations
GET/v1/flares/conversations
Needs flares:read at the gateway (service scope conversations.read).
Responses
- 200OK
Response fields
Type:
object[] - 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/conversations" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_listConversations'){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_listConversations",
"arguments": {}
}
}Create a conversation
POST/v1/flares/conversations
Needs flares:write at the gateway (service scope conversations.create).
Parameters
Idempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
topicstringrequiredmin length 1
participantsstring[]required
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/conversations" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"topic": "string",
"participants": [
"string"
]
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_createConversation', {
body: {
topic: 'string',
participants: [
'string',
],
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_createConversation",
"arguments": {
"body": {
"topic": "string",
"participants": [
"string"
]
},
"idempotency_key": "<a stable key per change>"
}
}
}Read a conversation
GET/v1/flares/conversations/{id}
Needs flares:read at the gateway (service scope conversations.read).
Parameters
idpath · stringrequired
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/conversations/$ID" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_getConversation', {
id: '<id>',
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_getConversation",
"arguments": {
"id": "<id>"
}
}
}Close a conversation
DELETE/v1/flares/conversations/{id}
Needs flares:write at the gateway (service scope conversations.close).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X DELETE "https://os.one.ml/api/v1/flares/conversations/$ID" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_closeConversation', {
id: '<id>',
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_closeConversation",
"arguments": {
"id": "<id>",
"idempotency_key": "<a stable key per change>"
}
}
}
}Messages
Send a conversation message
POST/v1/flares/conversations/{id}/messages
Needs flares:write at the gateway (service scope conversations.message).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
senderstringrequiredcontentobjectrequiredtext {text}, query {question}, response {answer, confidence} or system {text}
content.type"text" | "query" | "response" | "system"requiredcontent.textstringcontent.questionstringcontent.answerstringcontent.confidencenumber
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/conversations/$ID/messages" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"sender": "string",
"content": {
"type": "text"
}
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_sendConversationMessage', {
id: '<id>',
body: {
sender: 'string',
content: {
type: 'text',
},
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_sendConversationMessage",
"arguments": {
"id": "<id>",
"body": {
"sender": "string",
"content": {
"type": "text"
}
},
"idempotency_key": "<a stable key per change>"
}
}
}Flares
List tenant flares
GET/v1/flares/flares
Needs flares:read at the gateway (service scope flares.read).
Parameters
recipient_didquery · stringOnly flares for this recipient DID
Responses
- 200OK
Response fields
idstringstatusstringflareTypestringrecipientIdstringrecipientTypestringprioritystringchannelsstring[]createdAtstringupdatedAtstringdeliveryReceiptsobject
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/flares" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_listFlares'){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_listFlares",
"arguments": {}
}
}Send a single flare
POST/v1/flares/flares
Needs flares:write at the gateway (service scope flares.send).
Parameters
Idempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
typestringrequiredFlare type
recipientobjectrequiredrecipient.typestringrequiredrecipient.idstringrequiredRecipient DID or id
payloadobjectrequiredseverity"low" | "normal" | "high" | "urgent" | "critical"channels"push" | "email" | "sms" | "in_app" | "webhook" | "slack" | "discord"[]
Responses
- 200OK
Response fields
idstringstatusstring
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/flares" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "string",
"recipient": {
"type": "string",
"id": "string"
},
"payload": {}
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_sendFlare', {
body: {
type: 'string',
recipient: {
type: 'string',
id: 'string',
},
payload: {},
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_sendFlare",
"arguments": {
"body": {
"type": "string",
"recipient": {
"type": "string",
"id": "string"
},
"payload": {}
},
"idempotency_key": "<a stable key per change>"
}
}
}Read a flare
GET/v1/flares/flares/{id}
Needs flares:read at the gateway (service scope flares.read).
Parameters
idpath · stringrequired
Responses
- 200OK
Response fields
idstringstatusstringflareTypestringrecipientIdstringrecipientTypestringprioritystringchannelsstring[]createdAtstringupdatedAtstringdeliveryReceiptsobject
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/flares/$ID" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_getFlare', {
id: '<id>',
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_getFlare",
"arguments": {
"id": "<id>"
}
}
}Send a batch of flares
POST/v1/flares/flares/batch
Needs flares:write at the gateway (service scope flares.send).
Parameters
Idempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
flaresobject[]requiredflares[].[].typestringrequiredFlare type
flares[].[].recipientobjectrequiredflares[].[].recipient.typestringrequiredflares[].[].recipient.idstringrequiredRecipient DID or id
flares[].[].payloadobjectrequiredflares[].[].severity"low" | "normal" | "high" | "urgent" | "critical"flares[].[].channels"push" | "email" | "sms" | "in_app" | "webhook" | "slack" | "discord"[]
Responses
- 200OK
Response fields
resultsobject[]results[].[].idstringresults[].[].statusstring
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/flares/batch" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"flares": []
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_sendFlareBatch', {
body: {
flares: [],
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_sendFlareBatch",
"arguments": {
"body": {
"flares": []
},
"idempotency_key": "<a stable key per change>"
}
}
}
}Acknowledge
Acknowledge a flare
POST/v1/flares/flares/{id}/acknowledge
Needs flares:write at the gateway (service scope flares.acknowledge).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
agent_idstringrequired
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/flares/$ID/acknowledge" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "string"
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_acknowledgeFlare', {
id: '<id>',
body: {
agent_id: 'string',
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_acknowledgeFlare",
"arguments": {
"id": "<id>",
"body": {
"agent_id": "string"
},
"idempotency_key": "<a stable key per change>"
}
}
}Action
Record an action on a flare
POST/v1/flares/flares/{id}/action
Needs flares:write at the gateway (service scope flares.action).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
agent_idstringrequiredaction_idstringrequiredaction_dataany
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/flares/$ID/action" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "string",
"action_id": "string"
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_actOnFlare', {
id: '<id>',
body: {
agent_id: 'string',
action_id: 'string',
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_actOnFlare",
"arguments": {
"id": "<id>",
"body": {
"agent_id": "string",
"action_id": "string"
},
"idempotency_key": "<a stable key per change>"
}
}
}Status
Read tenant-scoped presence status for an agent or human DID
GET/v1/flares/presence/{did}/status
Needs flares:read at the gateway (service scope presence.read).
Parameters
didpath · stringrequired
Responses
- 200OK
Response fields
didstringstatusstringsessionIdstringsessionCountintegerlastSeenAtstring
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/presence/$DID/status" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_getPresence', {
did: '<did>',
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_getPresence",
"arguments": {
"did": "<did>"
}
}
}Presence
Create or refresh a tenant-scoped presence session
POST/v1/flares/presence/heartbeat
Needs flares:write at the gateway (service scope presence.write).
Parameters
Idempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
didstringrequiredsessionIdstringstatusstringmetadataobject
Responses
- 200OK
Response fields
didstringstatusstringsessionIdstringsessionCountintegerlastSeenAtstring
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/presence/heartbeat" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"did": "string"
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_presenceHeartbeat', {
body: {
did: 'string',
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_presenceHeartbeat",
"arguments": {
"body": {
"did": "string"
},
"idempotency_key": "<a stable key per change>"
}
}
}Endorsements
List active tenant-scoped endorsements for an agent or human DID
GET/v1/flares/trust/{did}/endorsements
Needs flares:read at the gateway (service scope trust.read).
Parameters
didpath · stringrequired
Responses
- 200OK
Response fields
Type:
object[] - 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/trust/$DID/endorsements" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_listEndorsements', {
did: '<did>',
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_listEndorsements",
"arguments": {
"did": "<did>"
}
}
}
}Score
Read tenant-scoped trust score for an agent or human DID
GET/v1/flares/trust/{did}/score
Needs flares:read at the gateway (service scope trust.read).
Parameters
didpath · stringrequired
Responses
- 200OK
Response fields
didstringscorenumberconfidencenumberdataPointsintegercomputedAtstringexpiresAtstringtrustLevelstringendorsementCountinteger
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl "https://os.one.ml/api/v1/flares/trust/$DID/score" \
-H "Authorization: Bearer $GENESIS_API_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const result = await genesis.call('flares_getTrustScore', {
did: '<did>',
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_getTrustScore",
"arguments": {
"did": "<did>"
}
}
}Trust
Evaluate tenant-scoped trust policy for an operation
POST/v1/flares/trust/check
Needs flares:write at the gateway (service scope trust.check).
Parameters
Idempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
didstringrequiredoperationstringrequired
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/trust/check" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"did": "string",
"operation": "string"
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_checkTrust', {
body: {
did: 'string',
operation: 'string',
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "flares_checkTrust",
"arguments": {
"body": {
"did": "string",
"operation": "string"
},
"idempotency_key": "<a stable key per change>"
}
}
}Create a tenant-scoped trust endorsement
POST/v1/flares/trust/endorsements
Needs flares:write at the gateway (service scope trust.write).
Parameters
Idempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Request body application/json
endorserDidstringrequiredendorsedDidstringrequiredlevel"untrusted" | "low" | "medium" | "high" | "full"requiredscopestringreasonstring
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X POST "https://os.one.ml/api/v1/flares/trust/endorsements" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"endorserDid": "string",
"endorsedDid": "string",
"level": "untrusted"
}'import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_createEndorsement', {
body: {
endorserDid: 'string',
endorsedDid: 'string',
level: 'untrusted',
},
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_createEndorsement",
"arguments": {
"body": {
"endorserDid": "string",
"endorsedDid": "string",
"level": "untrusted"
},
"idempotency_key": "<a stable key per change>"
}
}
}
}Revoke a tenant-scoped trust endorsement
DELETE/v1/flares/trust/endorsements/{id}
Needs flares:write at the gateway (service scope trust.write).
Parameters
idpath · stringrequiredIdempotency-Keyheader · stringrequiredStable key; reuse it to replay instead of acting twice
Responses
- 200OK
Response fields
A JSON object.
- 400Noncanonical request, invalid JSON or missing Idempotency-Key
- 401Interactive One account login with a current Sandbox selection required
- 403Flares grant missing or a scope hint names another organization or project
- 4xx 5xxThe error envelope.
curl -X DELETE "https://os.one.ml/api/v1/flares/trust/endorsements/$ID" \
-H "Authorization: Bearer $GENESIS_API_KEY" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY"import { Genesis } from '@lifesi/genesis'
const genesis = new Genesis({ apiKey: process.env.GENESIS_API_KEY })
const idempotencyKey = '<a stable key per change>'
const result = await genesis.call('flares_revokeEndorsement', {
id: '<id>',
}, {
headers: { 'Idempotency-Key': idempotencyKey }, // one key per change, reused on every retry
}){
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "genesis_call",
"arguments": {
"operation": "flares_revokeEndorsement",
"arguments": {
"id": "<id>",
"idempotency_key": "<a stable key per change>"
}
}
}
}One Superintelligence, Inc. · Built from Genesis 0.1.12 and the live gateway on 2026-10-20. Support