| GET | /fabric/agent-keys | List this account's agent keys (secrets are never shown again) |
| POST | /fabric/agent-keys | Create an agent key (a separate principal for one agent) |
| POST | /fabric/agent-keys/{agent_key_id}/fast-path | Let one agent's already-allowed calls to these tools skip the per-call consensus round |
| DELETE | /fabric/agent-keys/{agent_key_id}/fast-path | Remove an agent's fast-path grant immediately |
| POST | /fabric/agent-keys/{agent_key_id}/revoke | Revoke one agent key immediately |
| GET | /fabric/agi/evidence-chain.cef | Agi Evidence Chain Cef |
| POST | /fabric/agi/propose | Agi Submit Proposal |
| GET | /fabric/anomalies | Deviations from this principal's own baseline |
| GET | /fabric/approvals | Actions held for human review |
| GET | /fabric/approvals/{approval_id} | One held action |
| POST | /fabric/approvals/{approval_id}/approve | Let one held action proceed |
| POST | /fabric/approvals/{approval_id}/deny | Refuse one held action |
| GET | /fabric/baseline | What normal looks like for this tenant or agent |
| POST | /fabric/broker/call | CAIN decides on the call, then makes it with the stored credential |
| GET | /fabric/broker/credentials | Brokered credentials (the secrets are never returned) |
| POST | /fabric/broker/credentials | Store a credential agents can use without seeing it |
| DELETE | /fabric/broker/credentials/{name} | Revoke a brokered credential |
| GET | /fabric/budgets | List Budgets |
| POST | /fabric/budgets | Create Budget |
| POST | /fabric/budgets/evaluate | Evaluate Budget |
| GET | /fabric/budgets/{budget_id} | Get Budget |
| PATCH | /fabric/budgets/{budget_id} | Update Budget |
| POST | /fabric/budgets/{budget_id}/commit/{reservation_id} | Commit Reservation |
| POST | /fabric/budgets/{budget_id}/freeze | Freeze Budget |
| POST | /fabric/budgets/{budget_id}/release/{reservation_id} | Release Reservation |
| POST | /fabric/budgets/{budget_id}/reserve | Reserve Budget |
| GET | /fabric/budgets/{budget_id}/transactions | List Transactions |
| POST | /fabric/budgets/{budget_id}/unfreeze | Unfreeze Budget |
| GET | /fabric/budgets/{budget_id}/usage | Get Budget Usage |
| GET | /fabric/compliance/audit-packages | List Audit Packages |
| POST | /fabric/compliance/audit-packages/generate | Generate Audit Package |
| GET | /fabric/compliance/audit-packages/{package_id} | Get Audit Package |
| GET | /fabric/compliance/audit-packages/{package_id}/export | Export Audit Package |
| GET | /fabric/compliance/controls | List Controls |
| POST | /fabric/compliance/controls | Define Control |
| POST | /fabric/compliance/controls/evaluate | Evaluate Control |
| GET | /fabric/compliance/controls/{control_id} | Get Control |
| GET | /fabric/compliance/controls/{control_id}/evaluations | List Control Evaluations |
| GET | /fabric/compliance/drift | List Drift |
| POST | /fabric/compliance/drift/detect | Detect Drift |
| POST | /fabric/compliance/drift/snapshot | Capture Snapshot |
| GET | /fabric/compliance/evaluations | List Evaluations |
| GET | /fabric/compliance/evidence | List Evidence |
| POST | /fabric/compliance/evidence/record | Record Evidence |
| GET | /fabric/compliance/evidence/{evidence_id} | Get Evidence |
| GET | /fabric/compliance/findings | List Findings |
| POST | /fabric/compliance/findings | Create Finding |
| GET | /fabric/compliance/findings/{finding_id} | Get Finding |
| PATCH | /fabric/compliance/findings/{finding_id} | Update Finding |
| GET | /fabric/compliance/frameworks | List Frameworks |
| POST | /fabric/compliance/frameworks | Create Framework |
| POST | /fabric/compliance/frameworks/preset/{preset} | Load Preset Framework |
| GET | /fabric/compliance/frameworks/{framework_id} | Get Framework |
| POST | /fabric/compliance/monitor | Configure Monitor |
| GET | /fabric/compliance/posture | Get Compliance Posture |
| GET | /fabric/compliance/remediations | List Remediations |
| POST | /fabric/compliance/remediations | Create Remediation |
| PATCH | /fabric/compliance/remediations/{remediation_id} | Update Remediation |
| GET | /fabric/compliance/summary | Get Compliance Summary |
| POST | /fabric/context/context/audit | Audit Context |
| GET | /fabric/context/context/audit/{audit_id} | Get Context Audit |
| POST | /fabric/context/memory/audit | Audit Memory Batch |
| POST | /fabric/context/memory/ingest | Ingest Memory |
| GET | /fabric/context/memory/{agent_id} | List Memory Items |
| GET | /fabric/context/memory/{agent_id}/{item_id}/trust | Get Memory Trust |
| GET | /fabric/decisions | List this tenant's recent Fabric decisions |
| POST | /fabric/decisions | Ask the control plane to decide on a proposed action |
| GET | /fabric/decisions/stream | Live feed of this tenant's decisions (Server-Sent Events) |
| GET | /fabric/decisions/{decision_id} | Retrieve one recorded decision (Evidence) |
| GET | /fabric/decisions/{decision_id}/explain | Why this decision came out the way it did, and which run it belongs to |
| GET | /fabric/decisions/{decision_id}/integrity | Check whether a recorded decision has been altered since it was written |
| GET | /fabric/decisions/{decision_id}/signature | Tamper-evidence for one decision record |
| GET | /fabric/decisions/{decision_id}/signed-record | Export one decision row exactly as stored and signed; verify offline with verify_decision_record.py --key https://mcpgate.online/fabric/decision-signing-key |
| GET | /fabric/drift/agents/{agent_id} | Get Agent Drift Status |
| GET | /fabric/drift/baselines | List Baselines |
| POST | /fabric/drift/baselines | Create Baseline |
| GET | /fabric/drift/baselines/{baseline_id} | Get Baseline |
| POST | /fabric/drift/compare | Compare |
| GET | /fabric/drift/findings | List Findings |
| GET | /fabric/drift/findings/{drift_id} | Get Finding |
| POST | /fabric/drift/findings/{drift_id}/accept | Accept Finding |
| POST | /fabric/drift/findings/{drift_id}/acknowledge | Acknowledge Finding |
| POST | /fabric/drift/findings/{drift_id}/false_positive | Mark False Positive |
| GET | /fabric/drift/findings/{drift_id}/history | Get Finding History |
| POST | /fabric/drift/findings/{drift_id}/investigate | Investigate Finding |
| POST | /fabric/drift/findings/{drift_id}/resolve | Resolve Finding |
| GET | /fabric/drift/impact/{drift_id} | Get Drift Impact |
| POST | /fabric/drift/observe | Observe |
| GET | /fabric/drift/stats | Stats |
| GET | /fabric/drift/status | Status |
| GET | /fabric/egress/rules | This tenant's action-tool allowlist (destinations) |
| POST | /fabric/egress/rules | Add a destination allow rule (enables egress enforcement) |
| DELETE | /fabric/egress/rules | Remove a destination allow rule |
| POST | /fabric/eval/contamination/scan | Scan Contamination |
| GET | /fabric/eval/contamination/{scan_id} | Get Scan |
| POST | /fabric/eval/report | Create Report |
| POST | /fabric/eval/trajectory/grade | Grade Trajectory |
| GET | /fabric/eval/trajectory/{grading_id} | Get Grading |
| GET | /fabric/events | Fabric Events Endpoint |
| GET | /fabric/evidence-access | Who has read this tenant's evidence |
| GET | /fabric/governance/approvals | List Approvals |
| POST | /fabric/governance/approvals | Create Approval |
| GET | /fabric/governance/approvals/{approval_id} | Get Approval |
| POST | /fabric/governance/approvals/{approval_id}/decide | Decide Approval |
| GET | /fabric/governance/audit | Get Audit Log |
| GET | /fabric/governance/authorities | List Authorities |
| POST | /fabric/governance/authorities | Create Authority |
| GET | /fabric/governance/authorities/{authority_id} | Get Authority |
| DELETE | /fabric/governance/authorities/{authority_id} | Revoke Authority |
| GET | /fabric/governance/decisions | List Decisions |
| GET | /fabric/governance/delegations | List Delegations |
| POST | /fabric/governance/evaluate | Evaluate Governance |
| GET | /fabric/governance/policies | List Policies |
| POST | /fabric/governance/policies | Create Policy |
| GET | /fabric/governance/policies/{policy_id} | Get Policy |
| PATCH | /fabric/governance/policies/{policy_id} | Update Policy |
| POST | /fabric/governance/policies/{policy_id}/activate | Activate Policy |
| POST | /fabric/governance/policies/{policy_id}/deactivate | Deactivate Policy |
| GET | /fabric/guard/a2a/drift/{agent_id} | Check Drift |
| POST | /fabric/guard/a2a/nonce/check | Check Nonce |
| POST | /fabric/guard/a2a/observe | Observe Capability |
| POST | /fabric/guard/a2a/register | Register A2A Card |
| POST | /fabric/guard/a2a/revoke/{agent_id} | Revoke Card |
| POST | /fabric/guard/a2a/verify | Verify A2A Card |
| POST | /fabric/guard/action/verify | Verify Action Plan |
| POST | /fabric/guard/hallucination/check | Check Hallucination |
| POST | /fabric/identity/agent-tokens | Mint a short-lived agent delegation token |
| POST | /fabric/identity/agent-tokens/verify | Verify an agent delegation token |
| POST | /fabric/identity/capability/check | Check Capability |
| POST | /fabric/identity/create | Create Identity |
| POST | /fabric/identity/delegation/{delegation_id}/revoke | Revoke Delegation |
| GET | /fabric/identity/delegation/{delegation_id}/verify | Verify Delegation Endpoint |
| POST | /fabric/identity/impersonation/check | Check Impersonation Endpoint |
| GET | /fabric/identity/list | List Identities |
| GET | /fabric/identity/principals | List this tenant's principals |
| POST | /fabric/identity/principals | Register a principal |
| GET | /fabric/identity/principals/{principal_id} | Fetch one principal |
| POST | /fabric/identity/principals/{principal_id}/revoke | Revoke a principal |
| POST | /fabric/identity/principals/{principal_id}/verify | Verify an Ed25519 signature against a registered principal |
| POST | /fabric/identity/sessions | Exchange an API key for a short-lived browser session |
| GET | /fabric/identity/sessions/current | Inspect the session token in use |
| GET | /fabric/identity/tenant/audit | Get Tenant Audit |
| GET | /fabric/identity/whoami | Resolve the calling key to its Fabric principal |
| GET | /fabric/identity/{identity_id} | Get Identity |
| GET | /fabric/identity/{identity_id}/audit | Get Identity Audit |
| POST | /fabric/identity/{identity_id}/delegate | Create Delegation |
| GET | /fabric/identity/{identity_id}/delegations | List Delegations |
| GET | /fabric/identity/{identity_id}/key-history | Get Key History |
| POST | /fabric/identity/{identity_id}/reactivate | Reactivate Identity |
| POST | /fabric/identity/{identity_id}/revoke | Revoke Identity |
| POST | /fabric/identity/{identity_id}/rotate | Rotate Credentials |
| POST | /fabric/identity/{identity_id}/suspend | Suspend Identity |
| POST | /fabric/identity/{identity_id}/verify | Verify Credential |
| POST | /fabric/impact/analyze | Analyze Impact |
| POST | /fabric/impact/analyze/drift/{drift_id} | Analyze From Drift |
| POST | /fabric/impact/compare | Compare Impacts |
| GET | /fabric/impact/dependencies/{entity_id} | Get Entity Dependencies |
| GET | /fabric/impact/entities/{entity_id} | Get Entity Impact |
| GET | /fabric/impact/graph | Get Causal Graph |
| GET | /fabric/impact/incidents | List Incidents |
| GET | /fabric/impact/incidents/{incident_id} | Get Incident |
| GET | /fabric/impact/incidents/{incident_id}/authority | Get Incident Authority |
| GET | /fabric/impact/incidents/{incident_id}/blast-radius | Get Incident Blast Radius |
| GET | /fabric/impact/incidents/{incident_id}/evidence | Get Incident Evidence |
| GET | /fabric/impact/incidents/{incident_id}/graph | Get Incident Graph |
| GET | /fabric/impact/incidents/{incident_id}/trajectories | Get Incident Trajectories |
| POST | /fabric/impact/simulate | Simulate Whatif |
| GET | /fabric/impact/status | Status |
| GET | /fabric/kill-switch | Whether this tenant's agents are halted |
| POST | /fabric/kill-switch | Halt every subsequent action for this tenant |
| DELETE | /fabric/kill-switch | Release the halt and allow actions again |
| POST | /fabric/mcp/enforce | Enforce |
| POST | /fabric/mcp/l5/authorize | L5 Authorize |
| POST | /fabric/mcp/system/{tenant}/evolution/propose | Evolution Propose |
| GET | /fabric/memory/ | Api List Memories |
| POST | /fabric/memory/consolidate | Api Consolidate Memories |
| DELETE | /fabric/memory/delete/{memory_id} | Api Delete Memory |
| POST | /fabric/memory/expire | Api Expire Memories |
| GET | /fabric/memory/get/{memory_id} | Api Get Memory |
| GET | /fabric/memory/operations | Api Get Operations |
| POST | /fabric/memory/quarantine/{memory_id} | Api Quarantine Memory |
| POST | /fabric/memory/query | Api Query Memories |
| GET | /fabric/memory/stats | Api Get Stats |
| POST | /fabric/memory/store | Api Store Memory |
| POST | /fabric/memory/trust/{memory_id} | Api Set Trust Level |
| PATCH | /fabric/memory/update/{memory_id} | Api Update Memory |
| POST | /fabric/memory/{memory_id}/demote | Api Demote Memory |
| POST | /fabric/memory/{memory_id}/forget | Api Forget Memory |
| GET | /fabric/memory/{memory_id}/history | Api Get Memory History |
| POST | /fabric/memory/{memory_id}/promote | Api Promote Memory |
| GET | /fabric/memory/{memory_id}/provenance | Api Get Memory Provenance |
| POST | /fabric/memory/{memory_id}/restore | Api Restore Memory |
| POST | /fabric/memory/{memory_id}/revoke | Api Revoke Memory |
| GET | /fabric/memory/{memory_id}/usage | Api Get Memory Usage |
| POST | /fabric/memory/{memory_id}/validate | Api Validate Memory |
| GET | /fabric/plans | List Plans |
| POST | /fabric/plans | Create Plan |
| POST | /fabric/plans/candidates | Generate Candidates |
| POST | /fabric/plans/generate | Generate Plan |
| GET | /fabric/plans/{plan_id} | Get Plan |
| POST | /fabric/plans/{plan_id}/approve | Approve Plan |
| POST | /fabric/plans/{plan_id}/cancel | Cancel Plan |
| POST | /fabric/plans/{plan_id}/compare | Compare Plan |
| GET | /fabric/plans/{plan_id}/evidence | Get Plan Evidence |
| POST | /fabric/plans/{plan_id}/execute | Execute Plan |
| GET | /fabric/plans/{plan_id}/provenance | Get Plan Provenance |
| POST | /fabric/plans/{plan_id}/reject | Reject Plan |
| POST | /fabric/plans/{plan_id}/replan | Replan |
| POST | /fabric/plans/{plan_id}/revalidate | Revalidate Plan |
| GET | /fabric/plans/{plan_id}/trajectory | Get Plan Trajectory |
| POST | /fabric/plans/{plan_id}/validate | Validate Plan |
| POST | /fabric/plans/{plan_id}/verify | Verify Plan |
| GET | /fabric/plans/{plan_id}/versions | Get Plan Versions |
| GET | /fabric/policy | The live policy: version, modules, and how it is addressed |
| POST | /fabric/policy/dryrun | What would happen to my recent traffic under different enforcement |
| POST | /fabric/policy/evaluate | Ask the live policy engine about a hypothetical call |
| GET | /fabric/proof/history | Every proof run, hash-chained |
| POST | /fabric/proof/run | Execute every check and publish the result |
| POST | /fabric/resilience/analyze | Analyze Recovery |
| GET | /fabric/resilience/checkpoints | List Checkpoints |
| GET | /fabric/resilience/checkpoints/{checkpoint_id} | Get Checkpoint |
| GET | /fabric/resilience/dashboard | Resilience Dashboard |
| GET | /fabric/resilience/evidence/{plan_id} | Get Recovery Evidence |
| POST | /fabric/resilience/plan | Plan Recovery |
| GET | /fabric/resilience/plans | List Plans |
| GET | /fabric/resilience/plans/{plan_id} | Get Plan |
| POST | /fabric/resilience/plans/{plan_id}/authorize | Authorize Plan |
| POST | /fabric/resilience/plans/{plan_id}/cancel | Cancel Recovery |
| POST | /fabric/resilience/plans/{plan_id}/deny | Deny Plan |
| POST | /fabric/resilience/plans/{plan_id}/execute | Execute Recovery |
| GET | /fabric/resilience/plans/{plan_id}/verify | Verify Recovery Criteria |
| POST | /fabric/resilience/simulate | Simulate Recovery |
| GET | /fabric/resilience/snapshots/{snapshot_id} | Get Snapshot |
| GET | /fabric/resilience/states | List Recovery States |
| GET | /fabric/resilience/status | Resilience Status |
| GET | /fabric/resilience/targets | List Recovery Targets |
| GET | /fabric/security/autonomy-trust/{agent_id} | Get Autonomy Trust State |
| POST | /fabric/security/contain/{agent_id} | Contain Agent |
| POST | /fabric/security/evaluate | Evaluate Security |
| GET | /fabric/security/incidents | Get Incidents |
| POST | /fabric/security/posture | Create Or Update Posture |
| GET | /fabric/security/posture/{agent_id} | Get Agent Posture |
| GET | /fabric/security/threats | Get Threats |
| GET | /fabric/sentinel/dashboard | Sentinel Dashboard |
| POST | /fabric/sentinel/evaluate | Evaluate Trust |
| GET | /fabric/sentinel/incidents | List Incidents |
| GET | /fabric/sentinel/incidents/{incident_id} | Get Incident |
| POST | /fabric/sentinel/incidents/{incident_id}/close | Close Incident |
| POST | /fabric/sentinel/incidents/{incident_id}/contain | Contain Incident |
| GET | /fabric/sentinel/incidents/{incident_id}/evidence | Get Incident Evidence |
| GET | /fabric/sentinel/incidents/{incident_id}/impact | Get Incident Impact |
| POST | /fabric/sentinel/incidents/{incident_id}/recover | Recover Incident |
| POST | /fabric/sentinel/incidents/{incident_id}/restore | Restore Incident |
| POST | /fabric/sentinel/incidents/{incident_id}/reverify | Reverify Incident |
| GET | /fabric/sentinel/incidents/{incident_id}/timeline | Get Incident Timeline |
| GET | /fabric/sentinel/policies | List Policies |
| POST | /fabric/sentinel/policies | Create Policy |
| POST | /fabric/sentinel/simulate | Simulate Response |
| GET | /fabric/sentinel/status | Sentinel Status |
| GET | /fabric/sentinel/transitions | Get Transitions |
| GET | /fabric/sentinel/trust-state | Get Trust State |
| GET | /fabric/settings | This tenant's enforcement mode |
| POST | /fabric/settings | Switch this tenant between shadow and enforce |
| GET | /fabric/simulate | Replay recorded decisions under proposed settings |
| GET | /fabric/skills | List Skills |
| POST | /fabric/skills | Create Skill |
| GET | /fabric/skills/{skill_id} | Get Skill |
| POST | /fabric/skills/{skill_id}/activate | Activate Skill |
| POST | /fabric/skills/{skill_id}/approve | Approve Skill |
| POST | /fabric/skills/{skill_id}/execute | Execute Skill |
| GET | /fabric/skills/{skill_id}/executions | Get Skill Executions |
| GET | /fabric/skills/{skill_id}/provenance | Get Skill Provenance |
| POST | /fabric/skills/{skill_id}/revoke | Revoke Skill |
| POST | /fabric/skills/{skill_id}/security-scan | Security Scan Skill |
| PATCH | /fabric/skills/{skill_id}/state | Update Skill State |
| POST | /fabric/skills/{skill_id}/suspend | Suspend Skill |
| POST | /fabric/skills/{skill_id}/test | Test Skill |
| POST | /fabric/skills/{skill_id}/validate | Validate Skill |
| GET | /fabric/skills/{skill_id}/versions | Get Skill Versions |
| GET | /fabric/sso | This workspace's single sign-on connection |
| PUT | /fabric/sso | Register this workspace's OpenID Connect identity provider |
| DELETE | /fabric/sso | Remove single sign-on (members keep their memberships) |
| POST | /fabric/sso/scim-token | Mint the SCIM provisioning token (shown once) |
| DELETE | /fabric/sso/scim-token | Revoke the SCIM provisioning token |
| GET | /fabric/team | This workspace's members, invites and your role |
| POST | /fabric/team/accept | Join a workspace with an invite (signed-in CAIN account) |
| GET | /fabric/team/invite-info | What an invite link is for (no sign-in needed) |
| POST | /fabric/team/invites | Invite someone by email |
| DELETE | /fabric/team/invites/{invite_id} | Withdraw an invite |
| PUT | /fabric/team/members/{member_id} | Change a member's role |
| DELETE | /fabric/team/members/{member_id} | Remove a member (or leave, for yourself) |
| GET | /fabric/team/memberships | Workspaces your CAIN account belongs to |
| PUT | /fabric/team/name | Name this workspace |
| POST | /fabric/team/session | Open a workspace as a member (returns a short-lived member token) |
| GET | /fabric/tool-rules | This tenant's tool rules, in evaluation order |
| POST | /fabric/tool-rules | Add a tool rule |
| PUT | /fabric/tool-rules-default | What happens when no tool rule matches |
| GET | /fabric/tool-rules-history | Every change to this tenant's tool rules |
| POST | /fabric/tool-rules/test | Which rule would decide this call? (no evidence, no quota) |
| PUT | /fabric/tool-rules/{rule_id} | Change a tool rule (its version increments) |
| DELETE | /fabric/tool-rules/{rule_id} | Retire a tool rule (kept in history, never deleted) |
| PUT | /fabric/toolargs/schemas | Register or replace a tool schema (operator-admin) |
| GET | /fabric/tools | Every tool this tenant's agents called, and which rule governs it |
| GET | /fabric/traces/ | List Traces |
| POST | /fabric/traces/ | Create Trace |
| POST | /fabric/traces/search | Search Traces |
| GET | /fabric/traces/{trace_id} | Get Trace Endpoint |
| POST | /fabric/traces/{trace_id}/decision | Record Trace Decision |
| GET | /fabric/traces/{trace_id}/events | Get Trace Events |
| GET | /fabric/traces/{trace_id}/evidence | Get Trace Evidence |
| POST | /fabric/traces/{trace_id}/finalize | Finalize Trace |
| GET | /fabric/traces/{trace_id}/graph | Get Trace Graph |
| GET | /fabric/trajectories | Recent agent runs for this tenant |
| GET | /fabric/trajectories/ | List Trajectories |
| POST | /fabric/trajectories/ | Create Trajectory |
| POST | /fabric/trajectories/passport/issue | Issue Passport |
| POST | /fabric/trajectories/passport/verify | Verify Passport |
| GET | /fabric/trajectories/passport/{passport_id} | Get Passport |
| POST | /fabric/trajectories/passport/{passport_id}/revoke | Revoke Passport |
| POST | /fabric/trajectories/policies | Create Policy |
| GET | /fabric/trajectories/policies/{policy_id} | Get Policy |
| GET | /fabric/trajectories/state/{agent_id} | Get Agent Trust State |
| GET | /fabric/trajectories/{chain_id} | Reconstruct one agent run, in order |
| POST | /fabric/trajectories/{chain_id}/analyse | Grade this run's path and attribute its failure |
| GET | /fabric/trajectories/{trajectory_id} | Get Trajectory |
| POST | /fabric/trajectories/{trajectory_id}/cancel | Cancel Trajectory |
| POST | /fabric/trajectories/{trajectory_id}/complete | Complete Trajectory |
| POST | /fabric/trajectories/{trajectory_id}/counterfactual | Evaluate Counterfactual |
| POST | /fabric/trajectories/{trajectory_id}/decide | Make Trajectory Decision |
| POST | /fabric/trajectories/{trajectory_id}/evaluate | Evaluate Action |
| GET | /fabric/trajectories/{trajectory_id}/events | Get Trajectory Events |
| POST | /fabric/trajectories/{trajectory_id}/events | Record Event To Trajectory |
| GET | /fabric/trajectories/{trajectory_id}/evidence | Get Trajectory Evidence |
| GET | /fabric/trajectories/{trajectory_id}/proof | Get Trajectory Proof |
| GET | /fabric/trajectories/{trajectory_id}/score | Get Trajectory Score |
| POST | /fabric/trajectories/{trajectory_id}/verify | Verify Trajectory Chain |
| GET | /fabric/trust-score | Heuristic trust score, with its arithmetic shown |
| POST | /fabric/try | See CAIN decide on a real action -- no account needed |
| GET | /fabric/webhooks | Where this tenant gets notified |
| POST | /fabric/webhooks | Get notified when an action is held, blocked or halted |
| GET | /fabric/webhooks/deliveries | What was sent, and what failed |
| DELETE | /fabric/webhooks/{endpoint_id} | Stop notifying this endpoint |