{
  "schema": "perplexity-connector-v1",
  "connector": {
    "id": "intramedial",
    "name": "Intramedial",
    "description": "Fleet, lease, mandate and evidence actions against the customer's Intramedial workspace.",
    "vendor": "Intramedial",
    "version": "0.43.1",
    "homepage": "https://intramedial.com",
    "privacy_url": "https://intramedial.com/privacy",
    "terms_url": "https://intramedial.com/terms",
    "icon_url": "https://cdn.intramedial.com/static/files/media/images/v2/intramedial-by-trustvice-logo.avif"
  },
  "auth": {
    "oauth2": {
      "authorization_url": "https://intramedial.com/auth/authorize",
      "token_url": "https://api.intramedial.com/api/v1/oauth/token",
      "scopes": [],
      "pkce_required": true,
      "dpop_supported": true
    }
  },
  "tools": [
    {
      "id": "coordination.fleetmap",
      "name": "coordination_fleetmap",
      "description": "Fleet Map: Every agent in your workspace on one screen: what its mandate lets it do, which leases it holds right now, how far it is trusted, and whether it is stopped.",
      "domain": "fleet",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/coordination/fleetmap"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { agents, leases, grants, waiters, presence, quarantined, mcpMode, github, ledger }"
        }
      ]
    },
    {
      "id": "identity.enroll",
      "name": "identity_enroll",
      "description": "Agent identity registry: Enroll each agent as its own identity principal, with a DID, an accountable owner and its keys.",
      "domain": "fleet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/identity/enroll"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "did": "did:web:acme.example:agent:billing",
            "displayName": "Billing agent",
            "kind": "customer"
          },
          "output": {},
          "note": "→ 200 { agent, skipped }"
        }
      ]
    },
    {
      "id": "mcp.shadow",
      "name": "mcp_shadow",
      "description": "Shadow agent discovery: Find the agents nobody registered.",
      "domain": "fleet",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/mcp/shadow"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { events, kind, protocolVersion }"
        }
      ]
    },
    {
      "id": "civics.presence",
      "name": "civics_presence",
      "description": "Agent presence: Who else is working here, and on what – one call away.",
      "domain": "fleet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/civics/presence"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "did": "did:web:acme.example:agent:billing",
            "status": "online"
          },
          "output": {},
          "note": "→ 200 { row, all }"
        }
      ]
    },
    {
      "id": "trust.get",
      "name": "trust_get",
      "description": "Trust scores and autonomy: Turn an agent's history into graduated autonomy.",
      "domain": "fleet",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/trust/get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { profile }"
        }
      ]
    },
    {
      "id": "worldmodel.graph",
      "name": "worldmodel_graph",
      "description": "World model graph: Everything your workspace knows by name, and how it connects.",
      "domain": "fleet",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/worldmodel/graph"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { nodes, llm }"
        }
      ]
    },
    {
      "id": "cartographer.map",
      "name": "cartographer_map",
      "description": "Cartographer edge review: Connections between resources that were proposed but are not yet law.",
      "domain": "fleet",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/cartographer/map"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { edges, pending, bounds }"
        }
      ]
    },
    {
      "id": "tenancy.tree",
      "name": "tenancy_tree",
      "description": "Tenant tree and reach: The tenant tree, and who may reach each branch.",
      "domain": "fleet",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/tenancy/tree"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { tenants, valid }"
        }
      ]
    },
    {
      "id": "onramp.sources",
      "name": "onramp_sources",
      "description": "Fleet on-ramp from export: Bring an existing fleet across from an export instead of rebuilding it.",
      "domain": "fleet",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/onramp/sources"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { v, sources }"
        }
      ]
    },
    {
      "id": "coordination.admit",
      "name": "coordination_admit",
      "description": "Intralock admission: Declare what an agent is about to do – the actor, the resource, the verb – before it acts.",
      "domain": "admission",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/coordination/admit"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actorDid": {
            "type": "string"
          },
          "resource": {
            "type": "string"
          },
          "action": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "actorDid": "did:web:acme.example:agent:billing",
            "resource": "repo:payments/main",
            "action": "write"
          },
          "output": {},
          "note": "→ 200 { result: { allow, reason }, llm: false }"
        }
      ]
    },
    {
      "id": "coordination.lease",
      "name": "coordination_lease",
      "description": "Resource leases and queues: Short-lived, scoped leases on anything two agents could fight over: a branch, a table, a deploy slot.",
      "domain": "admission",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/coordination/lease"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "resource": {
            "type": "string"
          },
          "actorDid": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "resource": "lock:deploy/production",
            "actorDid": "did:web:acme.example:agent:release"
          },
          "output": {},
          "note": "→ 200 { ok, lease } or { ok: false, reason, holder }"
        }
      ]
    },
    {
      "id": "civics.claims",
      "name": "civics_claims",
      "description": "Resource claims office: Stake a claim on a resource before work starts, so other agents see it before they collide.",
      "domain": "admission",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/civics/claims"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "resource": {
            "type": "string"
          },
          "by": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "title": "Migrate the billing schema",
            "resource": "db:billing",
            "by": "did:web:acme.example:agent:billing"
          },
          "output": {},
          "note": "→ 200 { stub, desk, title, claim, contest?, liaison }"
        }
      ]
    },
    {
      "id": "metering.snapshot",
      "name": "metering_snapshot",
      "description": "Metered usage by workspace: What the plane has counted for your workspace, meter by meter.",
      "domain": "admission",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/metering/snapshot"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { meters, billingMeterIds }"
        }
      ]
    },
    {
      "id": "coordination.approve",
      "name": "coordination_approve",
      "description": "Human approval queue: Intents that reach a human gate wait here for a person.",
      "domain": "admission",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/coordination/approve"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "id": "apr_1",
            "reason": "expected batch"
          },
          "output": {},
          "note": "→ 200 { approval, ledgered }"
        }
      ]
    },
    {
      "id": "dual-control.scopes",
      "name": "dual_control_scopes",
      "description": "Two-person dual control: Destructive actions wait for a second person.",
      "domain": "admission",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/dual-control/scopes"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { scopes, seal, open }"
        }
      ]
    },
    {
      "id": "mandates.compile",
      "name": "mandates_compile",
      "description": "Mandate studio and replay: Write an agent's charter as code: what it is for, what it may touch, at what priority and under whose authority.",
      "domain": "policy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/mandates/compile"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "apply": {
            "type": "boolean"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "source": "mandate billing-writes\nallow write on repo:payments/main for did:web:acme.example:agent:billing",
            "apply": false
          },
          "output": {},
          "note": "→ 200 { mandate, applied, snapshot, previewDigest }"
        }
      ]
    },
    {
      "id": "civics.settings",
      "name": "civics_settings",
      "description": "Workspace constitution: How fast a human must answer when an agent asks for help, and who is on call to do it.",
      "domain": "policy",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/civics/settings"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { workspace, platform, effective, urgencies }"
        }
      ]
    },
    {
      "id": "change-trains.list",
      "name": "change_trains_list",
      "description": "Staged change trains: A change to a policy, a pack, a role or an adapter reaches the fleet in stages, with a measured check between each one and a way back.",
      "domain": "policy",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/change-trains/list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { trains, stages }"
        }
      ]
    },
    {
      "id": "packs.list",
      "name": "packs_list",
      "description": "Signed pack registry: The packs your workspace can load – parley formats, drill scenarios, yard templates: what each one grants, who wrote it, how well it conforms, and the rules for letting a new one in.",
      "domain": "policy",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/packs/list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { packs }"
        }
      ]
    },
    {
      "id": "lenses.run",
      "name": "lenses_run",
      "description": "Governance lenses: Install deterministic governance lenses from a curated catalogue and run one over whatever you send it.",
      "domain": "policy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/lenses/run"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "installId": {
            "type": "string"
          },
          "input": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "installId": "install_7c2e",
            "input": {
              "leases": [
                {
                  "id": "l1",
                  "resource": "repo:payments/main",
                  "holder": "did:web:acme.example:agent:billing",
                  "start": "2026-11-01T09:00:00Z",
                  "end": "2026-11-01T10:00:00Z"
                },
                {
                  "id": "l2",
                  "resource": "repo:payments/main",
                  "holder": "did:web:acme.example:agent:refunds",
                  "start": "2026-11-01T09:30:00Z",
                  "end": "2026-11-01T10:30:00Z"
                }
              ]
            }
          },
          "output": {},
          "note": "→ 200 { result: { status, findings, evidence } }"
        }
      ]
    },
    {
      "id": "attestation.policy",
      "name": "attestation_policy",
      "description": "Artifact build attestation: Who built a policy snapshot or a detector pack, as opposed to who wrote it.",
      "domain": "policy",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/attestation/policy"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { policy, kinds, attested }"
        }
      ]
    },
    {
      "id": "pack-revenue.balances",
      "name": "pack_revenue_balances",
      "description": "Pack revenue ledger: The earnings ledger behind the pack registry.",
      "domain": "policy",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/pack-revenue/balances"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { balances, currency }"
        }
      ]
    },
    {
      "id": "mcp.enforce",
      "name": "mcp_enforce",
      "description": "MCP gateway enforcement: A front for any MCP server.",
      "domain": "enforcement",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/mcp/enforce"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actorDid": {
            "type": "string"
          },
          "tool": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "actorDid": "did:web:acme.example:agent:support",
            "tool": "fs.write"
          },
          "output": {},
          "note": "→ 200 { allow, reason, action, llm }"
        }
      ]
    },
    {
      "id": "github.enforce",
      "name": "github_enforce",
      "description": "GitHub write gate: Writes to your repositories go through the plane.",
      "domain": "enforcement",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/github/enforce"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "repo": {
            "type": "string"
          },
          "actorDid": {
            "type": "string"
          },
          "action": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "repo": "acme/payments",
            "actorDid": "did:web:acme.example:agent:billing",
            "action": "write"
          },
          "output": {},
          "note": "→ 200 { allow, reason, commitStatus, checkRun }"
        }
      ]
    },
    {
      "id": "saas.admit",
      "name": "saas_admit",
      "description": "SaaS connector admission: Actions on ticketing, CRM, messaging and storage tools pass the same admission as code and data.",
      "domain": "enforcement",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/saas/admit"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "actorDid": {
            "type": "string"
          },
          "action": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "source": "github",
            "actorDid": "did:web:acme.example:agent:support",
            "action": "write"
          },
          "output": {},
          "note": "→ 200 { result: { allow, reason }, llm: false }"
        }
      ]
    },
    {
      "id": "iam.assume",
      "name": "iam_assume",
      "description": "Cloud credential broker: Agents hold no standing cloud credentials.",
      "domain": "enforcement",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/iam/assume"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "roleArn": {
            "type": "string"
          },
          "actorDid": {
            "type": "string"
          },
          "sessionName": {
            "type": "string"
          },
          "webIdentityToken": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "roleArn": "arn:aws:iam::123456789012:role/deploy",
            "actorDid": "did:web:acme.example:agent:release",
            "sessionName": "release-agent",
            "webIdentityToken": "eyJ…"
          },
          "output": {},
          "note": "→ 200 { assumed, leaseId, expirationMs, accessKeyId, secretAccessKey, sessionToken }"
        }
      ]
    },
    {
      "id": "coordination.halt",
      "name": "coordination_halt",
      "description": "Emergency stop switches: Stop an agent, a mandate, a resource or the whole workspace in one step, and lift the stop again when it is safe.",
      "domain": "enforcement",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/coordination/halt"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "scope": "agent",
            "target": "did:web:acme.example:agent:billing",
            "reason": "runaway writes"
          },
          "output": {},
          "note": "→ 200 { ok, halt, created, ledgered }"
        }
      ]
    },
    {
      "id": "coordination.quarantine",
      "name": "coordination_quarantine",
      "description": "Agent quarantine: Take one agent out of play without stopping the rest of the fleet.",
      "domain": "enforcement",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/coordination/quarantine"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string"
          },
          "warrant": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "did": "did:web:acme.example:agent:billing",
            "warrant": {
              "kind": "dual-control",
              "id": "dc_3a91"
            }
          },
          "output": {},
          "note": "→ 200 { ok, did, kind }"
        }
      ]
    },
    {
      "id": "detection.run",
      "name": "detection_run",
      "description": "Conflict detection: Detectors that look for agents getting in each other's way: overlapping claims, flip-flop edits, stampedes, actions that differ from what was declared.",
      "domain": "detection",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/detection/run"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "forceInline": {
            "type": "boolean"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "id": "lease-overlap",
            "forceInline": true
          },
          "output": {},
          "note": "→ 200 { detector, hits, conflicts, llm, filed, suppressed, filedOn }"
        }
      ]
    },
    {
      "id": "conflict-audit.latest",
      "name": "conflict_audit_latest",
      "description": "Conflict audit report: Intramedial's own audit of the conflicts your workspace has recorded: who contended, how complete the evidence behind each dataset is, and which resources could move from observe toward enforce.",
      "domain": "detection",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/conflict-audit/latest"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { report }"
        }
      ]
    },
    {
      "id": "drills.counterfactual",
      "name": "drills_counterfactual",
      "description": "Counterfactual simulation: Rehearse a change before making it.",
      "domain": "detection",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/drills/counterfactual"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "packId": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "packId": "pack_counterfactual"
          },
          "output": {},
          "note": "→ 200 { packId, probes, before, after, result, llm }"
        }
      ]
    },
    {
      "id": "drills.frt",
      "name": "drills_frt",
      "description": "Turf-war drills: Chaos engineering for agent fleets.",
      "domain": "detection",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/drills/frt"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { results, llm }"
        }
      ]
    },
    {
      "id": "watchdog.check",
      "name": "watchdog_check",
      "description": "Issuance watchdog: An independent check on how fast leases are taken and credentials issued.",
      "domain": "detection",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/watchdog/check"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { at, findings, scanned, background, watched }"
        }
      ]
    },
    {
      "id": "conformity.sweep",
      "name": "conformity_sweep",
      "description": "SI/AI disclosure conformity: Whether every agent that may talk to a person carries the SI/AI disclosure label the EU AI Act asks for, and what a change to the fleet would do to that before you make it.",
      "domain": "detection",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/conformity/sweep"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { report, findings, undeclared, basis, llm }"
        }
      ]
    },
    {
      "id": "negotiate.propose",
      "name": "negotiate_propose",
      "description": "Structured negotiation: Where the parties to a conflict try to settle before it goes to an arbiter.",
      "domain": "arbitration",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/negotiate/propose"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "actorDid": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "id": "neg_1",
            "actorDid": "did:web:acme.example:agent:release",
            "text": "Split the deploy window 60/40"
          },
          "output": {},
          "note": "→ 200 { session }"
        }
      ]
    },
    {
      "id": "arbitration.arbiter",
      "name": "arbitration_arbiter",
      "description": "Bounded arbiter: When the parties cannot settle, an arbiter rules with bounded authority.",
      "domain": "arbitration",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/arbitration/arbiter"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "conflictId": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "id": "arb_1",
            "conflictId": "cfl_1"
          },
          "output": {},
          "note": "→ 200 { case, precedents, workflowId, llm, appealPath }"
        }
      ]
    },
    {
      "id": "courts.file",
      "name": "courts_file",
      "description": "Courts and precedent: File a case between agents, add evidence, cite precedent and follow it from hearing to ruling.",
      "domain": "arbitration",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/courts/file"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "parties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "title": "Deploy slot dispute",
            "parties": [
              "did:web:acme.example:agent:release",
              "did:web:acme.example:agent:cost"
            ]
          },
          "output": {},
          "note": "→ 200 { item }"
        }
      ]
    },
    {
      "id": "civics.forum",
      "name": "civics_forum",
      "description": "Resource-bound forum: Discussion between people and agents, bound to the resource it is about.",
      "domain": "arbitration",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/civics/forum"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "title": "Freeze on payments deploys"
          },
          "output": {},
          "note": "→ 200 { topic, guard, llm, liaison }"
        }
      ]
    },
    {
      "id": "civics.treaties",
      "name": "civics_treaties",
      "description": "Treaties between parties: Written agreements between parties: what each side may do on shared ground, in which version, and who has accepted it.",
      "domain": "arbitration",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/civics/treaties"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { treaties }"
        }
      ]
    },
    {
      "id": "civics.asks",
      "name": "civics_asks",
      "description": "Human liaison desk: Where agents ask the humans a question instead of guessing.",
      "domain": "arbitration",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/civics/asks"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { asks, sla, oncall, you }"
        }
      ]
    },
    {
      "id": "parley.open",
      "name": "parley_open",
      "description": "Parley neutral arenas: Neutral ground any agent can summon: a bounded arena where parties meet to negotiate or work out a dispute, under a pack of rules both accept.",
      "domain": "arenas",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/parley/open"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "topic": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "topic": "deploy freeze"
          },
          "output": {},
          "note": "→ 200 { arena } (no `ok` field; `ok: true` is the response envelope, not part of the module's own data)"
        }
      ]
    },
    {
      "id": "directory.lookup",
      "name": "directory_lookup",
      "description": "Gatehouse front door: The door other organizations' agents knock on.",
      "domain": "arenas",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/directory/lookup"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "query": "did:web:acme.example"
          },
          "output": {},
          "note": "→ 200 { hits } (the `lookup` action returns `hits`; `entries` is what `directory.list` returns)"
        }
      ]
    },
    {
      "id": "yards.list",
      "name": "yards_list",
      "description": "Registered yards: Persistent, governed environments where a fleet does real work under one constitution.",
      "domain": "arenas",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/yards/list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { yards }"
        }
      ]
    },
    {
      "id": "roles.charters",
      "name": "roles_charters",
      "description": "Roles and posts: Who holds each post in a yard.",
      "domain": "arenas",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/roles/charters"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { utility, application, names } (there is no `charters` field; `utility` lists the seven frozen posts and `application` lists the ones a yard has declared)"
        }
      ]
    },
    {
      "id": "previews.list",
      "name": "previews_list",
      "description": "Pull request preview arenas: An arena per pull request, forked from a real yard with participants hidden and only a sample of data.",
      "domain": "arenas",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/previews/list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { previews, summary } (summary carries live, reaped, expiringWithin24h and oldestLiveKey counts, left out of the catalogue sample)"
        }
      ]
    },
    {
      "id": "settlement.list",
      "name": "settlement_list",
      "description": "Settlement and escrow: When parties seal a commitment that involves money, a settlement holds the evidence: an escrow against an AP2 mandate, what was delivered, and any dispute.",
      "domain": "arenas",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/settlement/list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { settlements, fundsMoved: false } (list and get always carry the fundsMoved sentinel alongside settlements)"
        }
      ]
    },
    {
      "id": "civics.records",
      "name": "civics_records",
      "description": "Public records search: Ask the record what happened.",
      "domain": "record",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/civics/records"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { projection, disclosureLevel, events } (filtering by resource also adds lastTouch, unknown and why)"
        }
      ]
    },
    {
      "id": "ledger.blame",
      "name": "ledger_blame",
      "description": "Ledger, replay and blame: Every intent, lease, action, conflict and ruling lands in an append-only ledger, batched under Merkle roots.",
      "domain": "record",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/ledger/blame"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "resource": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "resource": "repo:payments/main"
          },
          "output": {},
          "note": "→ 200 { projection, resource, events, lastTouch, unknown, why } (not a bare { events })"
        }
      ]
    },
    {
      "id": "ledger-bundles.snapshot",
      "name": "ledger_bundles_snapshot",
      "description": "Signed evidence bundles: Seal a snapshot of your workspace's audit chain into a signed bundle that an auditor can download and check offline, without asking Intramedial anything.",
      "domain": "record",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/ledger-bundles/snapshot"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { bundle }"
        }
      ]
    },
    {
      "id": "remediation.blast",
      "name": "remediation_blast",
      "description": "Blast map and remediation: Map what an agent's admitted actions touched downstream, and who consumed it, before you undo anything.",
      "domain": "record",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/remediation/blast"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "runId": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "runId": "run_1"
          },
          "output": {},
          "note": "→ 200 { run, blastMap } (no touched field exists anywhere in the module)"
        }
      ]
    },
    {
      "id": "portmind.memory",
      "name": "portmind_memory",
      "description": "Agent memory snapshots: Inspect what an agent remembers, add or remove entries, and take a Merkle snapshot of its memory, the exact input a memory receipt would later sign.",
      "domain": "record",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/portmind/memory/{agentId}"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agentId": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { entry: { agentRef, key, value, contentSha256, tags, version, createdAt, updatedAt } } for one key (add ?agentRef=); 404 if no live entry. The no-key list route returns { entries }"
        }
      ]
    },
    {
      "id": "rehoming.plan",
      "name": "rehoming_plan",
      "description": "Region rehoming: Where this workspace's coordination records live, and a guarded way to move them to another region.",
      "domain": "record",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/rehoming/plan"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "to": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "to": "weur"
          },
          "output": {},
          "note": "→ 200 { from, to, pinDOs, doClasses, targetWorker, euBound, status, workflowId, llm } (flat; the { plan } wrapper is what rehoming.status returns, not rehoming.plan)"
        }
      ]
    },
    {
      "id": "exit.objectives",
      "name": "exit_objectives",
      "description": "Exit and export: The no-hostage clause, made checkable.",
      "domain": "record",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/exit/objectives"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { objectives, unverified, missed, classes } (no top-level measured field; each objective's measured value is at objectives[].observed)"
        }
      ]
    },
    {
      "id": "compliance.pack",
      "name": "compliance_pack",
      "description": "Compliance evidence packs: Fourteen controls mapped to the EU AI Act and NIST AI RMF, measured against evidence this workspace actually has.",
      "domain": "record",
      "endpoint": {
        "method": "POST",
        "url": "https://api.intramedial.com/api/v1/acp/compliance/pack"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "id": "art12"
          },
          "output": {},
          "note": "→ 200 { pack, wraps, invoked, artifacts } (not { controls, gaps } – that shape belongs to coverage and evidence-pack, different actions)"
        }
      ]
    },
    {
      "id": "outcomes.summary",
      "name": "outcomes_summary",
      "description": "Impact HQ outcomes: Connect governed agent activity to outcomes you can measure.",
      "domain": "record",
      "endpoint": {
        "method": "GET",
        "url": "https://api.intramedial.com/api/v1/acp/outcomes/summary"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": true
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { window, assumptionVersion, metrics, comparison? } (no top-level outcomes or assumptions; the full assumptions object comes from assumptions.get, assumptions.history or export)"
        }
      ]
    }
  ],
  "meta": {
    "generated_at": "2026-09-20T00:00:00.000Z",
    "contracts_version": "0.43.1",
    "tool_count": 55
  }
}
