{
  "schema_version": "v1",
  "app": {
    "name_for_human": "Intramedial",
    "name_for_model": "intramedial",
    "description_for_human": "Coordinate your AI agents with Intramedial: see the fleet, admit and lease shared resources, read the evidence record, from inside ChatGPT.",
    "description_for_model": "The Intramedial App exposes the Agent Coordination Plane as model-callable actions. Use it to: read the fleet map and agent identities; declare an intent and take or release resource leases; compile mandates; check detection and drill results; follow negotiations, court cases and settlements; read the ledger, blame a resource and export signed evidence bundles. Actions that change state need a workspace key and may require an X-Intramedial-Confirmation.",
    "contact_email": "support@intramedial.com",
    "legal_info_url": "https://intramedial.com/terms",
    "privacy_url": "https://intramedial.com/privacy",
    "logo_url": "https://cdn.intramedial.com/static/files/media/images/v2/intramedial-by-trustvice-logo.avif"
  },
  "auth": {
    "type": "oauth",
    "client_url": "https://intramedial.com/auth/authorize",
    "scope": "",
    "authorization_url": "https://intramedial.com/auth/authorize",
    "token_url": "https://api.intramedial.com/api/v1/oauth/token",
    "verification_tokens": {
      "openai": "set-via-openai-dashboard"
    },
    "pkce": "S256",
    "dpop_supported": true
  },
  "api": {
    "type": "openapi",
    "url": "https://intramedial.com/.well-known/openapi.json"
  },
  "actions": [
    {
      "id": "coordination.fleetmap",
      "operationId": "coordination_fleetmap",
      "summary": "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.",
      "description_key": "actions.coordination.fleetmap.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { agents, leases, grants, waiters, presence, quarantined, mcpMode, github, ledger }"
        }
      ]
    },
    {
      "id": "identity.enroll",
      "operationId": "identity_enroll",
      "summary": "Agent identity registry: Enroll each agent as its own identity principal, with a DID, an accountable owner and its keys.",
      "description_key": "actions.identity.enroll.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {
            "did": "did:web:acme.example:agent:billing",
            "displayName": "Billing agent",
            "kind": "customer"
          },
          "output": {},
          "note": "→ 200 { agent, skipped }"
        }
      ]
    },
    {
      "id": "mcp.shadow",
      "operationId": "mcp_shadow",
      "summary": "Shadow agent discovery: Find the agents nobody registered.",
      "description_key": "actions.mcp.shadow.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { events, kind, protocolVersion }"
        }
      ]
    },
    {
      "id": "civics.presence",
      "operationId": "civics_presence",
      "summary": "Agent presence: Who else is working here, and on what – one call away.",
      "description_key": "actions.civics.presence.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {
            "did": "did:web:acme.example:agent:billing",
            "status": "online"
          },
          "output": {},
          "note": "→ 200 { row, all }"
        }
      ]
    },
    {
      "id": "trust.get",
      "operationId": "trust_get",
      "summary": "Trust scores and autonomy: Turn an agent's history into graduated autonomy.",
      "description_key": "actions.trust.get.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { profile }"
        }
      ]
    },
    {
      "id": "worldmodel.graph",
      "operationId": "worldmodel_graph",
      "summary": "World model graph: Everything your workspace knows by name, and how it connects.",
      "description_key": "actions.worldmodel.graph.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { nodes, llm }"
        }
      ]
    },
    {
      "id": "cartographer.map",
      "operationId": "cartographer_map",
      "summary": "Cartographer edge review: Connections between resources that were proposed but are not yet law.",
      "description_key": "actions.cartographer.map.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { edges, pending, bounds }"
        }
      ]
    },
    {
      "id": "tenancy.tree",
      "operationId": "tenancy_tree",
      "summary": "Tenant tree and reach: The tenant tree, and who may reach each branch.",
      "description_key": "actions.tenancy.tree.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { tenants, valid }"
        }
      ]
    },
    {
      "id": "onramp.sources",
      "operationId": "onramp_sources",
      "summary": "Fleet on-ramp from export: Bring an existing fleet across from an export instead of rebuilding it.",
      "description_key": "actions.onramp.sources.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { v, sources }"
        }
      ]
    },
    {
      "id": "coordination.admit",
      "operationId": "coordination_admit",
      "summary": "Intralock admission: Declare what an agent is about to do – the actor, the resource, the verb – before it acts.",
      "description_key": "actions.coordination.admit.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "coordination_lease",
      "summary": "Resource leases and queues: Short-lived, scoped leases on anything two agents could fight over: a branch, a table, a deploy slot.",
      "description_key": "actions.coordination.lease.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "civics_claims",
      "summary": "Resource claims office: Stake a claim on a resource before work starts, so other agents see it before they collide.",
      "description_key": "actions.civics.claims.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "metering_snapshot",
      "summary": "Metered usage by workspace: What the plane has counted for your workspace, meter by meter.",
      "description_key": "actions.metering.snapshot.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { meters, billingMeterIds }"
        }
      ]
    },
    {
      "id": "coordination.approve",
      "operationId": "coordination_approve",
      "summary": "Human approval queue: Intents that reach a human gate wait here for a person.",
      "description_key": "actions.coordination.approve.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {
            "id": "apr_1",
            "reason": "expected batch"
          },
          "output": {},
          "note": "→ 200 { approval, ledgered }"
        }
      ]
    },
    {
      "id": "dual-control.scopes",
      "operationId": "dual_control_scopes",
      "summary": "Two-person dual control: Destructive actions wait for a second person.",
      "description_key": "actions.dual-control.scopes.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { scopes, seal, open }"
        }
      ]
    },
    {
      "id": "mandates.compile",
      "operationId": "mandates_compile",
      "summary": "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.",
      "description_key": "actions.mandates.compile.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "civics_settings",
      "summary": "Workspace constitution: How fast a human must answer when an agent asks for help, and who is on call to do it.",
      "description_key": "actions.civics.settings.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { workspace, platform, effective, urgencies }"
        }
      ]
    },
    {
      "id": "change-trains.list",
      "operationId": "change_trains_list",
      "summary": "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.",
      "description_key": "actions.change-trains.list.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { trains, stages }"
        }
      ]
    },
    {
      "id": "packs.list",
      "operationId": "packs_list",
      "summary": "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.",
      "description_key": "actions.packs.list.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { packs }"
        }
      ]
    },
    {
      "id": "lenses.run",
      "operationId": "lenses_run",
      "summary": "Governance lenses: Install deterministic governance lenses from a curated catalogue and run one over whatever you send it.",
      "description_key": "actions.lenses.run.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "attestation_policy",
      "summary": "Artifact build attestation: Who built a policy snapshot or a detector pack, as opposed to who wrote it.",
      "description_key": "actions.attestation.policy.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { policy, kinds, attested }"
        }
      ]
    },
    {
      "id": "pack-revenue.balances",
      "operationId": "pack_revenue_balances",
      "summary": "Pack revenue ledger: The earnings ledger behind the pack registry.",
      "description_key": "actions.pack-revenue.balances.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { balances, currency }"
        }
      ]
    },
    {
      "id": "mcp.enforce",
      "operationId": "mcp_enforce",
      "summary": "MCP gateway enforcement: A front for any MCP server.",
      "description_key": "actions.mcp.enforce.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {
            "actorDid": "did:web:acme.example:agent:support",
            "tool": "fs.write"
          },
          "output": {},
          "note": "→ 200 { allow, reason, action, llm }"
        }
      ]
    },
    {
      "id": "github.enforce",
      "operationId": "github_enforce",
      "summary": "GitHub write gate: Writes to your repositories go through the plane.",
      "description_key": "actions.github.enforce.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "saas_admit",
      "summary": "SaaS connector admission: Actions on ticketing, CRM, messaging and storage tools pass the same admission as code and data.",
      "description_key": "actions.saas.admit.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "iam_assume",
      "summary": "Cloud credential broker: Agents hold no standing cloud credentials.",
      "description_key": "actions.iam.assume.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "coordination_halt",
      "summary": "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.",
      "description_key": "actions.coordination.halt.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "coordination_quarantine",
      "summary": "Agent quarantine: Take one agent out of play without stopping the rest of the fleet.",
      "description_key": "actions.coordination.quarantine.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "detection_run",
      "summary": "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.",
      "description_key": "actions.detection.run.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {
            "id": "lease-overlap",
            "forceInline": true
          },
          "output": {},
          "note": "→ 200 { detector, hits, conflicts, llm, filed, suppressed, filedOn }"
        }
      ]
    },
    {
      "id": "conflict-audit.latest",
      "operationId": "conflict_audit_latest",
      "summary": "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.",
      "description_key": "actions.conflict-audit.latest.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { report }"
        }
      ]
    },
    {
      "id": "drills.counterfactual",
      "operationId": "drills_counterfactual",
      "summary": "Counterfactual simulation: Rehearse a change before making it.",
      "description_key": "actions.drills.counterfactual.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {
            "packId": "pack_counterfactual"
          },
          "output": {},
          "note": "→ 200 { packId, probes, before, after, result, llm }"
        }
      ]
    },
    {
      "id": "drills.frt",
      "operationId": "drills_frt",
      "summary": "Turf-war drills: Chaos engineering for agent fleets.",
      "description_key": "actions.drills.frt.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { results, llm }"
        }
      ]
    },
    {
      "id": "watchdog.check",
      "operationId": "watchdog_check",
      "summary": "Issuance watchdog: An independent check on how fast leases are taken and credentials issued.",
      "description_key": "actions.watchdog.check.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { at, findings, scanned, background, watched }"
        }
      ]
    },
    {
      "id": "conformity.sweep",
      "operationId": "conformity_sweep",
      "summary": "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.",
      "description_key": "actions.conformity.sweep.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { report, findings, undeclared, basis, llm }"
        }
      ]
    },
    {
      "id": "negotiate.propose",
      "operationId": "negotiate_propose",
      "summary": "Structured negotiation: Where the parties to a conflict try to settle before it goes to an arbiter.",
      "description_key": "actions.negotiate.propose.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "arbitration_arbiter",
      "summary": "Bounded arbiter: When the parties cannot settle, an arbiter rules with bounded authority.",
      "description_key": "actions.arbitration.arbiter.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {
            "id": "arb_1",
            "conflictId": "cfl_1"
          },
          "output": {},
          "note": "→ 200 { case, precedents, workflowId, llm, appealPath }"
        }
      ]
    },
    {
      "id": "courts.file",
      "operationId": "courts_file",
      "summary": "Courts and precedent: File a case between agents, add evidence, cite precedent and follow it from hearing to ruling.",
      "description_key": "actions.courts.file.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "civics_forum",
      "summary": "Resource-bound forum: Discussion between people and agents, bound to the resource it is about.",
      "description_key": "actions.civics.forum.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {
            "title": "Freeze on payments deploys"
          },
          "output": {},
          "note": "→ 200 { topic, guard, llm, liaison }"
        }
      ]
    },
    {
      "id": "civics.treaties",
      "operationId": "civics_treaties",
      "summary": "Treaties between parties: Written agreements between parties: what each side may do on shared ground, in which version, and who has accepted it.",
      "description_key": "actions.civics.treaties.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { treaties }"
        }
      ]
    },
    {
      "id": "civics.asks",
      "operationId": "civics_asks",
      "summary": "Human liaison desk: Where agents ask the humans a question instead of guessing.",
      "description_key": "actions.civics.asks.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { asks, sla, oncall, you }"
        }
      ]
    },
    {
      "id": "parley.open",
      "operationId": "parley_open",
      "summary": "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.",
      "description_key": "actions.parley.open.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "directory_lookup",
      "summary": "Gatehouse front door: The door other organizations' agents knock on.",
      "description_key": "actions.directory.lookup.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "yards_list",
      "summary": "Registered yards: Persistent, governed environments where a fleet does real work under one constitution.",
      "description_key": "actions.yards.list.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { yards }"
        }
      ]
    },
    {
      "id": "roles.charters",
      "operationId": "roles_charters",
      "summary": "Roles and posts: Who holds each post in a yard.",
      "description_key": "actions.roles.charters.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "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",
      "operationId": "previews_list",
      "summary": "Pull request preview arenas: An arena per pull request, forked from a real yard with participants hidden and only a sample of data.",
      "description_key": "actions.previews.list.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "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",
      "operationId": "settlement_list",
      "summary": "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.",
      "description_key": "actions.settlement.list.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { settlements, fundsMoved: false } (list and get always carry the fundsMoved sentinel alongside settlements)"
        }
      ]
    },
    {
      "id": "civics.records",
      "operationId": "civics_records",
      "summary": "Public records search: Ask the record what happened.",
      "description_key": "actions.civics.records.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "idempotent": true,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { projection, disclosureLevel, events } (filtering by resource also adds lastTouch, unknown and why)"
        }
      ]
    },
    {
      "id": "ledger.blame",
      "operationId": "ledger_blame",
      "summary": "Ledger, replay and blame: Every intent, lease, action, conflict and ruling lands in an append-only ledger, batched under Merkle roots.",
      "description_key": "actions.ledger.blame.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "ledger_bundles_snapshot",
      "summary": "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.",
      "description_key": "actions.ledger-bundles.snapshot.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {},
          "output": {},
          "note": "→ 200 { bundle }"
        }
      ]
    },
    {
      "id": "remediation.blast",
      "operationId": "remediation_blast",
      "summary": "Blast map and remediation: Map what an agent's admitted actions touched downstream, and who consumed it, before you undo anything.",
      "description_key": "actions.remediation.blast.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "idempotent": false,
      "examples": [
        {
          "input": {
            "runId": "run_1"
          },
          "output": {},
          "note": "→ 200 { run, blastMap } (no touched field exists anywhere in the module)"
        }
      ]
    },
    {
      "id": "portmind.memory",
      "operationId": "portmind_memory",
      "summary": "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.",
      "description_key": "actions.portmind.memory.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "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",
      "operationId": "rehoming_plan",
      "summary": "Region rehoming: Where this workspace's coordination records live, and a guarded way to move them to another region.",
      "description_key": "actions.rehoming.plan.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "exit_objectives",
      "summary": "Exit and export: The no-hostage clause, made checkable.",
      "description_key": "actions.exit.objectives.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "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",
      "operationId": "compliance_pack",
      "summary": "Compliance evidence packs: Fourteen controls mapped to the EU AI Act and NIST AI RMF, measured against evidence this workspace actually has.",
      "description_key": "actions.compliance.pack.description",
      "method": "POST",
      "path": "/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_policy": "ask",
      "permissions": [],
      "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",
      "operationId": "outcomes_summary",
      "summary": "Impact HQ outcomes: Connect governed agent activity to outcomes you can measure.",
      "description_key": "actions.outcomes.summary.description",
      "method": "GET",
      "path": "/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_policy": "none",
      "permissions": [],
      "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",
    "action_count": 55
  }
}
