Skip to main content

Intelligence Layer API

Part of CLPI Phase 3: Intelligence Layer. The Intelligence API provides fault line analysis, risk forecasting, and policy recommendations.
The Intelligence Layer provides analytical capabilities on top of the policy and reputation data. It identifies fault lines in team configurations, forecasts risks, recommends policies, and manages transaction-scoped guardrails. Base URL: https://api.mnemom.ai/v1

Authentication

All intelligence endpoints require API key authentication.
EndpointAuth RequiredNotes
POST /v1/teams/fault-linesAPI keyAnalyze team fault lines
POST /v1/teams/forecastAPI keyForecast team risks
POST /v1/teams/recommend-policyAPI keyGenerate policy recommendation
POST /v1/transactionsAPI keyCreate transaction with guardrails
GET /v1/transactions/{id}API keyGet transaction details
DELETE /v1/transactions/{id}API keyDelete transaction
API key authentication: Pass in the Authorization header:
Authorization: Bearer {api_key}
API keys can be created in your dashboard under Settings or via POST /v1/api-keys.

Rate Limits

EndpointRate LimitWindow
POST /teams/fault-lines10 requestsper minute
POST /teams/forecast10 requestsper minute
POST /teams/recommend-policy10 requestsper minute
Transaction endpoints30 requestsper minute
Rate-limited responses return HTTP 429 with a Retry-After header.
LLM-powered endpoints (recommend-policy, forecast) have lower limits due to compute cost.

Endpoints

POST /v1/teams/fault-lines

Analyze fault lines in a team’s configuration — value conflicts, capability gaps, and agent incompatibilities. Request body:
{
  "team_id": "team-abc123"
}
FieldTypeRequiredDescription
team_idstringYesTeam identifier
Response: 200 OK
{
  "team_id": "team-abc123",
  "analysis_id": "fl-def456",
  "fleet_score": 0.72,
  "fault_lines": [
    {
      "id": "fl-001",
      "value": "harm_prevention",
      "classification": "priority_mismatch",
      "severity": "medium",
      "agents_declaring": ["agent-a", "agent-b"],
      "agents_missing": ["agent-c"],
      "agents_conflicting": [],
      "impact_score": 0.65,
      "resolution_hint": "Add harm_prevention to agent-c's alignment card",
      "affects_capabilities": ["content_moderation"]
    }
  ],
  "summary": {
    "total": 3,
    "resolvable": 2,
    "priority_mismatch": 1,
    "incompatible": 0,
    "critical_count": 0
  }
}
Response fields:
FieldTypeDescription
team_idstringTeam identifier
analysis_idstringUnique identifier for this analysis (used as input to /forecast)
fleet_scorenumberOverall fleet alignment score (0.0 — 1.0)
fault_linesarrayList of detected fault lines
summaryobjectAggregate counts by classification and severity
FaultLine object:
FieldTypeDescription
idstringUnique fault line identifier
valuestringThe value or capability where the fault line exists
classificationstringFault line classification (see below)
severitystringSeverity level: low, medium, high, or critical
agents_declaringstring[]Agents that declare this value
agents_missingstring[]Agents that are missing this value
agents_conflictingstring[]Agents with conflicting definitions of this value
impact_scorenumberEstimated impact on team operations (0.0 — 1.0)
resolution_hintstringSuggested action to resolve the fault line
affects_capabilitiesstring[]Capabilities affected by this fault line
FaultLineClassification enum:
ValueDescription
resolvableThe fault line can be automatically resolved by adjusting agent configurations
priority_mismatchAgents have the same value but with different priority levels
incompatibleAgents have fundamentally conflicting values that cannot be automatically reconciled
Severity levels:
LevelDescription
lowMinor misalignment, unlikely to cause operational issues
mediumModerate misalignment that may affect coordination under certain conditions
highSignificant misalignment that will likely cause issues in production
criticalSevere conflict that requires immediate resolution before deployment
Summary object:
FieldTypeDescription
totalnumberTotal number of detected fault lines
resolvablenumberCount of resolvable fault lines
priority_mismatchnumberCount of priority_mismatch fault lines
incompatiblenumberCount of incompatible fault lines
critical_countnumberCount of fault lines with critical severity
Error responses:
StatusMeaning
404Team not found
422Team has no agents registered

POST /v1/teams/forecast

Forecast risks based on fault line analysis. Uses LLM analysis (Claude Haiku) to predict failure modes and their probabilities. Request body:
{
  "team_id": "team-abc123",
  "fault_line_analysis_id": "fl-def456"
}
FieldTypeRequiredDescription
team_idstringYesTeam identifier
fault_line_analysis_idstringYesAnalysis ID from a previous /teams/fault-lines call
Response: 200 OK
{
  "forecast_id": "fc-ghi789",
  "fault_line_analysis_id": "fl-def456",
  "failure_modes": [
    {
      "mode": "escalation_conflict",
      "description": "Agents A and B have conflicting escalation triggers for financial operations",
      "probability": 0.45,
      "severity": "high",
      "triggered_by": ["fl-001", "fl-002"],
      "affected_agents": ["agent-a", "agent-b"],
      "mitigation_available": true
    }
  ],
  "overall_risk_level": "medium",
  "confidence": 0.78
}
Response fields:
FieldTypeDescription
forecast_idstringUnique forecast identifier
fault_line_analysis_idstringThe analysis this forecast is based on
failure_modesarrayPredicted failure modes
overall_risk_levelstringAggregate risk: low, medium, high, or critical
confidencenumberModel confidence in the forecast (0.0 — 1.0)
FailureMode object:
FieldTypeDescription
modestringFailure mode type (see below)
descriptionstringHuman-readable description of the predicted failure
probabilitynumberEstimated probability of occurrence (0.0 — 1.0)
severitystringSeverity if the failure occurs: low, medium, high, or critical
triggered_bystring[]Fault line IDs that contribute to this failure mode
affected_agentsstring[]Agents that would be affected
mitigation_availablebooleanWhether a policy recommendation can address this failure mode
FailureMode types:
TypeDescription
escalation_conflictTwo or more agents have conflicting escalation triggers or thresholds
capability_gapA required capability is not covered by any agent in the team
value_overrideAn agent may override another agent’s value constraints during coordination
coordination_deadlockAgents may reach a deadlock state due to circular dependencies or conflicting preconditions
trust_erosionRepeated misalignment may degrade trust scores over time
Error responses:
StatusMeaning
404Team or analysis not found
422Analysis ID does not belong to the specified team

POST /v1/teams/recommend-policy

Generate a policy recommendation based on team analysis. Uses LLM analysis to produce a policy that resolves detected fault lines and mitigates forecasted risks. Request body:
{
  "team_id": "team-abc123"
}
FieldTypeRequiredDescription
team_idstringYesTeam identifier
Response: 200 OK
{
  "recommendation_id": "rec-jkl012",
  "policy": { "..." : "..." },
  "reasoning_chain": [
    {
      "step": 1,
      "action": "Mapped browser tools to web_fetch capability",
      "rationale": "All team members use mcp__browser__* tools for research tasks",
      "fault_lines_addressed": ["fl-001"]
    }
  ],
  "confidence": 0.85,
  "forecast_summary": {
    "risk_reduction": "medium → low",
    "fault_lines_resolved": 2
  },
  "validation": {
    "valid": true,
    "errors": []
  }
}
Response fields:
FieldTypeDescription
recommendation_idstringUnique recommendation identifier
policyobjectThe generated policy object, ready for use with the Policy Management API
reasoning_chainarrayStep-by-step reasoning for the policy recommendation
confidencenumberModel confidence in the recommendation (0.0 — 1.0)
forecast_summaryobjectSummary of how the recommended policy affects risk
validationobjectWhether the generated policy passes schema validation
ReasoningStep object:
FieldTypeDescription
stepnumberStep number in the reasoning chain
actionstringWhat the recommendation does at this step
rationalestringWhy this action was chosen
fault_lines_addressedstring[]Fault line IDs resolved by this step
ForecastSummary object:
FieldTypeDescription
risk_reductionstringRisk level change (e.g., "medium → low")
fault_lines_resolvednumberNumber of fault lines resolved by the recommendation
Validation object:
FieldTypeDescription
validbooleanWhether the generated policy passes schema validation
errorsstring[]Validation errors, if any
Error responses:
StatusMeaning
404Team not found
422Team has no agents registered or no fault line data available

POST /v1/transactions

Create a transaction with scoped guardrails. Transaction guardrails use a 3-layer merge: org + team + transaction policies with intersection semantics for capability_mappings. Request body:
{
  "agent_id": "smolt-a4c12709",
  "description": "Process customer refund",
  "action_type": "financial_operation",
  "tools": ["mcp__payment__refund", "mcp__db__update_order"],
  "duration_hours": 1,
  "policy": { "..." : "..." }
}
FieldTypeRequiredDescription
agent_idstringYesAgent performing the transaction
descriptionstringYesHuman-readable description of the transaction
action_typestringYesCategory of the action (e.g., financial_operation, data_access, content_generation)
toolsstring[]YesMCP tools the agent is authorized to use during this transaction
duration_hoursnumberNoTransaction TTL in hours (default: 1, max: 24)
policyobjectNoTransaction-scoped policy overrides; merged with org and team policies
Response: 201 Created
{
  "transaction_id": "txn-mno345",
  "agent_id": "smolt-a4c12709",
  "description": "Process customer refund",
  "action_type": "financial_operation",
  "status": "active",
  "tools": ["mcp__payment__refund", "mcp__db__update_order"],
  "merged_policy": { "..." : "..." },
  "created_at": "2026-02-26T10:00:00.000Z",
  "expires_at": "2026-02-26T11:00:00.000Z"
}
Response fields:
FieldTypeDescription
transaction_idstringUnique transaction identifier
agent_idstringAgent performing the transaction
descriptionstringTransaction description
action_typestringAction category
statusstringTransaction status: active, completed, or expired
toolsstring[]Authorized tools for this transaction
merged_policyobjectThe resolved policy after 3-layer merge (org + team + transaction)
created_atstringISO 8601 creation timestamp
expires_atstringISO 8601 expiry timestamp
Error responses:
StatusMeaning
400Invalid request body or unsupported action_type
404Agent not found
422Policy merge conflict or invalid tool reference

GET /v1/transactions/

Get transaction details including the resolved policy. Parameters:
ParameterInTypeRequiredDescription
idpathstringYesTransaction identifier
Response: 200 OK Returns the same transaction object as POST /v1/transactions. Error responses:
StatusMeaning
404Transaction not found

DELETE /v1/transactions/

Delete or cancel an active transaction. Expired transactions are automatically cleaned up and do not need to be deleted. Parameters:
ParameterInTypeRequiredDescription
idpathstringYesTransaction identifier
Response: 204 No Content Error responses:
StatusMeaning
404Transaction not found

Error Codes

StatusCodeDescription
400invalid_requestMissing or invalid parameters
401unauthorizedAPI key required but not provided or invalid
402feature_requiredIntelligence features require Team or Enterprise plan
404not_foundRequested resource does not exist
422validation_errorRequest body fails schema validation or business rule checks
429rate_limitedToo many requests; check Retry-After header
500internal_errorServer error; retry with exponential backoff
All error responses follow the standard envelope:
{
  "error": "feature_required",
  "message": "Intelligence features require a Team or Enterprise plan. Upgrade at https://app.mnemom.ai/billing"
}

SDK Usage

import { MnemomClient } from '@mnemom/sdk';

const client = new MnemomClient({ apiKey: process.env.MNEMOM_API_KEY });

// Analyze fault lines
const analysis = await client.intelligence.analyzeFaultLines({
  team_id: 'team-abc123',
});
console.log(`Fleet score: ${analysis.fleet_score}`);
console.log(`Fault lines: ${analysis.summary.total}`);

// Forecast risks
const forecast = await client.intelligence.forecast({
  team_id: 'team-abc123',
  fault_line_analysis_id: analysis.analysis_id,
});
console.log(`Risk level: ${forecast.overall_risk_level}`);

// Generate policy recommendation
const recommendation = await client.intelligence.recommendPolicy({
  team_id: 'team-abc123',
});
console.log(`Confidence: ${recommendation.confidence}`);
console.log(`Fault lines resolved: ${recommendation.forecast_summary.fault_lines_resolved}`);

// Create a transaction with guardrails
const txn = await client.transactions.create({
  agent_id: 'smolt-a4c12709',
  description: 'Process customer refund',
  action_type: 'financial_operation',
  tools: ['mcp__payment__refund', 'mcp__db__update_order'],
  duration_hours: 1,
});
console.log(`Transaction: ${txn.transaction_id}, expires: ${txn.expires_at}`);

See Also