{
  "generated_at": "2026-11-08T20:41:05.782Z",
  "contracts_version": "0.91.0",
  "api_base_url": "https://api.trustvice.com",
  "mcp_base_url": "https://mcp.trustvice.com",
  "domain_blurbs": {
    "account": "Login session, profile, passkeys, locale, notification preferences. Always accessible to the authenticated principal.",
    "org": "Organization-level CRUD, members, roles. Requires `organization.admin` for writes.",
    "workspace": "Workspace CRUD, members, settings, region binding. Workspace creation is billing-impacting (free tier permanent; paid workspaces require Stripe).",
    "billing": "Subscription, packs, top-ups, invoices, cost centers. All write actions require confirmation tokens.",
    "keys": "Personal access tokens (`tv_pat_*`) + workspace API keys (`tv_*` control plane, `entp_*` Trustvice Receipts data plane).",
    "webhooks": "Outbound webhook endpoints + signing secrets + deliveries.",
    "alerts": "Alert rules + test fires + history. Backed by the Tops feed.",
    "exports": "Compliance exports + receipt bundles + EU AI Act Article 12 (statutory by August 2, 2026).",
    "retention": "Retention policy + paid extension. Hard caps default to 90d / 365d / unlimited by tier.",
    "audit": "Three-tier audit log: workspace events (visible), custody chain (operator-only metadata), Tops feed (selectable detail level).",
    "tops": "Tops config cascade: org → workspace → actor (leaf wins). Three presets: minimal, recommended, forensic.",
    "referrals": "Codes + redemption + spend ledger + Every.org charity donations.",
    "number_one": "Number One AI chat in three modes: Calculator (math + cost projections), Analyst (semantic queries over audit + custody), Admin (mutating actions; step-up auth required).",
    "entpoind": "8 cryptographic-receipt primitives: agent.call, content.attest, llm.attest, commit.attest, webhook.deliver, monitor.http, dns.watch, tls.watch.",
    "privacy": "GDPR/CCPA DSR submission, status, receipts. Always-on — disabling forbidden by ACTIONS_EXCLUDED_FROM_DISABLE.",
    "support": "Tickets + replies + satisfaction surveys.",
    "discovery": "Capabilities + version + schema + plan list. Always-on; no auth required for some sub-actions.",
    "agents": "Agent identity foundation — W3C DID Web Method enrollment/rotation/revocation, A2A delegation, AP2 Verifiable Credential mandates (W3C VC Data Model 2.0 + SD-JWT VC), SPIFFE workload-identity binding + SVID attestation, partner DID federation roots.",
    "trustactor": "TrustActor spot-actor roster (witness/council/historian/custodian/conscience/…) + the per-workspace run ledger — post runs, list/diff/replay them, verify the hash-chain.",
    "nexus": "Nexus reputation/receipts/compliance primitives (oracle, charter, compass, lattice, sentinel, tribunal, keyring, imprint, underwriter, ledger).",
    "vector": "Vector agent registry + pricing + public verify reads (registry entries, MCP servers, pricing lookups).",
    "pricevice": "Pricevice Pricing Assurance — issue Price Provenance Receipts (price.attest), list/verify PPRs, manage pricing policies, read the Keystone integrity summary, generate Aegis disclosures.",
    "paradigm": "Paradigm behavioral truth layer — Idiom mediation sessions, Temperament cards + calling strategies, Overture consent-first initiations, Rapport affect scores, Counterfact counterfactual queries, Breaker halt signals + pre-flight checks, Umbra negative-space documents + input checks, Survey empirical API maps.",
    "driftvice": "Driftvice semantic drift detection — connect surfaces where company language lives (BYO), resolve a term/metric to its canonical definition with governance + drift status, check a definition or computation against canon, search the derived glossary, query the drift feed, resolve drift (declare canon / merge / split / accept), read coherence, and issue or verify signed canon attestations.",
    "fabric": "Connector Fabric — the platform-wide ingestion layer. Connect any of the 128 catalog sources (code / docs / warehouse / BI / analytics / CRM / comms / …) once, then query extracted records by kind across all sources and all products, and introspect the subscription matrix (which product consumes which record kinds).",
    "actionflow": "ActionFlow workflow engine — run flows, instantiate templates, inspect executions.",
    "lens": "Compliance-evidence lenses over the audit chain — list, validate, and execute (a signed evidence bundle; a paid action).",
    "notarian": "Notarian signed snapshots + transparency-chain verification (a snapshot is a paid action).",
    "witness": "Witness Fabric — the platform-level 180-framework catalog + the neutral, chain-free adapter-record stream (list/get frameworks, integration patterns, the subscription matrix, and workspace record reads/writes; product-independent).",
    "tranquility": "Tranquility (TY) — the platform-level maximalist observability suite. Live overview + any-denomination SLOs (ms/ratio/usd/count/burn), the Goal Ledger (cost per RESOLVED outcome + waste decomposition), the Agent module's honest tool/fleet/run/failure analytics over the witness stream, cognition signals (guardrail-pressure, plan blast-radius, charter conformance), and sealing any finding as an offline-verifiable VerifiableArtifact — all with explicit source-unavailable states and embedded coverage, never demo data.",
    "placard": "Placard — the AI disclosure instrument a PERSON reads. Compose a structured, CONTENT-ADDRESSED notice (the id is the sha256 of its canonical bytes, so what was shown stays checkable), sign it, resolve and verify it publicly with no account, and keep a delivery ledger that records whether the notice preceded the interaction it was owed for. Composition refuses a notice missing its statutory core, and coverage answers `unknown` rather than collapsing an unreadable answer into `covered`.",
    "cachet": "Cachet — an AGENT's conduct standing, computed from its own runs. Two axes kept separate and never averaged: IDENTITY (what a credential actually proves, on a 7-rung ladder — an operator's claim never raises it) and CONDUCT (declared capabilities versus observed ones, in both directions, plus breaches of the operator's own asserted limits). Signed and publicly resolvable; an unrated standing may not be issued, and revocation withdraws without deleting.",
    "emissary": "Emissary — the machine-readable declaration plane. Publish what your site permits AI crawlers and agents to do (train / infer / quote / index / embed / evaluate) as a signed, content-addressed artifact, serve it as JSON or rendered text, and ledger every fetch with a GRADED attribution — a User-Agent is typed by the client and proves nothing, so a confirmed operator is never conflated with a claimed one. A declaration is a STATEMENT, not an enforcement mechanism.",
    "receipts": "Verifiable artifacts — the signed-evidence substrate. `issue` mints a receipt of a given `kind` (Proof-of-Erasure, Provable Residency, AI-BOM, …), `get`/`list` read them back, and `verify` checks one against the published keys plus Merkle inclusion. `kind` is OPEN: bring your own `subject` + `claims` for a kind with no builder. Verification needs no signing key and answers where issuing is unprovisioned; a failed verification is a 200 with `ok: false`, never a transport error.",
    "memory": "Portable verifiable agent memory (Portmind). `put`/`get`/`list`/`remove` a key-value memory scoped to ONE agent DID, and `snapshot` it into a Merkle root a portable export verifies against. Reading or writing your OWN namespace needs no mandate; touching ANOTHER agent's needs one, and there is no mandate-admin action here on purpose — an endpoint that creates authority must not be reachable by the authority it creates. `remove` is a tombstone: a WRITE, and the snapshot still reflects that the key is gone.",
    "c2pa": "Content provenance (C2PA). `sign` mints a COSE_Sign1 manifest over a content hash and returns embeddable bytes; `verify` checks one against the published signer keys. Verification needs no signing key and answers even where signing is unprovisioned; a failed verification is a 200 with `ok: false`, never a transport error.",
    "charter": "The workspace's OWN governance charter — a public declaration of what its agents may do (allowed actions, autonomy ceiling), which the agentic gateway ENFORCES on every invocation and refuses with `charter_violation`. Distinct from the operator kill switch, from role permissions, from an AP2 mandate and from an autonomy grant: this is a ceiling the workspace imposes on itself and asks to be held to, and it is what makes its `charter-attestation` receipt mean anything."
  },
  "actions": [
    {
      "id": "account.session.list",
      "domain": "account",
      "summary": "List active sessions on this account.",
      "description_key": "actions.account.session.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.session.list",
      "examples": [
        {
          "input": {
            "limit": 10
          },
          "output": {
            "sessions": [],
            "nextCursor": null
          },
          "note": "List active sessions."
        }
      ]
    },
    {
      "id": "account.session.revoke",
      "domain": "account",
      "summary": "Revoke an active session by id (cannot be disabled — safety floor).",
      "description_key": "actions.account.session.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.session.revoke",
      "examples": [
        {
          "input": {
            "sessionId": "sess_abc"
          },
          "output": {
            "revoked": true,
            "propagatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Kill an active session."
        }
      ]
    },
    {
      "id": "account.session.current",
      "domain": "account",
      "summary": "Get the calling principal's current session.",
      "description_key": "actions.account.session.current.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.session.current",
      "examples": [
        {
          "input": {},
          "output": {
            "sessionId": "sess_abc",
            "accountId": "acc_DEMO00000000000000000000",
            "issuedAt": "2026-05-22T12:00:00.000Z",
            "expiresAt": "2026-05-22T12:30:00.000Z",
            "authMethod": "session_cookie",
            "isCurrent": true
          },
          "note": "Read your own session."
        }
      ]
    },
    {
      "id": "account.profile.get",
      "domain": "account",
      "summary": "Get the authenticated account's profile.",
      "description_key": "actions.account.profile.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.profile.get",
      "examples": [
        {
          "input": {},
          "output": {
            "accountId": "acc_DEMO00000000000000000000",
            "email": "owner@example.com",
            "displayName": "Ada Lovelace",
            "locale": "en",
            "createdAt": "2026-01-01T00:00:00.000Z"
          },
          "note": "Read your profile."
        }
      ]
    },
    {
      "id": "account.profile.update",
      "domain": "account",
      "summary": "Update account profile (display name, avatar URL).",
      "description_key": "actions.account.profile.update.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.profile.update",
      "examples": [
        {
          "input": {
            "displayName": "Ada Lovelace"
          },
          "output": {
            "accountId": "acc_DEMO00000000000000000000",
            "displayName": "Ada Lovelace"
          },
          "note": "Update display name."
        }
      ]
    },
    {
      "id": "account.email.change",
      "domain": "account",
      "summary": "Request an email change. A verification email is sent to the new address; the change applies only after click-through.",
      "description_key": "actions.account.email.change.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.email.change",
      "examples": [
        {
          "input": {
            "newEmail": "new@example.com"
          },
          "output": {
            "pending": true,
            "verificationSentTo": "new@example.com"
          },
          "note": "Start email change flow."
        }
      ]
    },
    {
      "id": "account.email.change.pending",
      "domain": "account",
      "summary": "Read the email change already in flight, and which of the two addresses still has to confirm. Null when none is pending.",
      "description_key": "actions.account.email.change.pending.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.email.change.pending",
      "examples": [
        {
          "input": {},
          "output": {
            "pending": {
              "newEmail": "new@example.com",
              "requestedAt": "2026-05-22T12:00:00.000Z",
              "expiresAt": "2026-05-23T12:00:00.000Z",
              "awaitingOldAddress": true,
              "awaitingNewAddress": false
            }
          },
          "note": "A change waiting on the old address."
        }
      ]
    },
    {
      "id": "account.passkey.list",
      "domain": "account",
      "summary": "List registered passkeys.",
      "description_key": "actions.account.passkey.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.passkey.list",
      "examples": [
        {
          "input": {},
          "output": {
            "passkeys": []
          },
          "note": "List passkeys."
        }
      ]
    },
    {
      "id": "account.passkey.register-challenge",
      "domain": "account",
      "summary": "Begin passkey registration — returns a WebAuthn PublicKeyCredentialCreationOptions challenge.",
      "description_key": "actions.account.passkey.register-challenge.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "dashboard"
      ],
      "rest_endpoint": "/v1/actions/account.passkey.register-challenge",
      "examples": [
        {
          "input": {
            "nickname": "YubiKey 5C"
          },
          "output": {
            "challenge": "abc...",
            "rp": {
              "id": "trustvice.com",
              "name": "Trustvice"
            },
            "user": {
              "id": "u",
              "name": "owner@example.com",
              "displayName": "Ada"
            },
            "pubKeyCredParams": [
              {
                "type": "public-key",
                "alg": -7
              }
            ]
          },
          "note": "WebAuthn registration challenge."
        }
      ]
    },
    {
      "id": "account.passkey.register-finish",
      "domain": "account",
      "summary": "Complete passkey registration with the WebAuthn attestation response.",
      "description_key": "actions.account.passkey.register-finish.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "dashboard"
      ],
      "rest_endpoint": "/v1/actions/account.passkey.register-finish",
      "examples": [
        {
          "input": {
            "nickname": "YubiKey 5C",
            "attestationObject": "...",
            "clientDataJSON": "..."
          },
          "output": {
            "credentialId": "cred_abc",
            "nickname": "YubiKey 5C",
            "createdAt": "2026-05-22T12:00:00.000Z",
            "lastUsedAt": null,
            "backupEligible": false
          },
          "note": "Finish passkey registration."
        }
      ]
    },
    {
      "id": "account.passkey.revoke",
      "domain": "account",
      "summary": "Revoke a registered passkey.",
      "description_key": "actions.account.passkey.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.passkey.revoke",
      "examples": [
        {
          "input": {
            "credentialId": "cred_abc"
          },
          "output": {
            "revoked": true
          },
          "note": "Remove a passkey."
        }
      ]
    },
    {
      "id": "account.recovery-codes.generate",
      "domain": "account",
      "summary": "Generate a fresh set of 10 single-use recovery codes (existing codes are invalidated).",
      "description_key": "actions.account.recovery-codes.generate.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "dashboard"
      ],
      "rest_endpoint": "/v1/actions/account.recovery-codes.generate",
      "examples": [
        {
          "input": {},
          "output": {
            "codes": [
              "AAAA-BBBB-CCCC",
              "DDDD-EEEE-FFFF",
              "GGGG-HHHH-IIII",
              "JJJJ-KKKK-LLLL",
              "MMMM-NNNN-OOOO",
              "PPPP-QQQQ-RRRR",
              "SSSS-TTTT-UUUU",
              "VVVV-WWWW-XXXX",
              "YYYY-ZZZZ-AAAA",
              "BBBB-CCCC-DDDD"
            ],
            "generatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "10 fresh recovery codes."
        }
      ]
    },
    {
      "id": "account.locale.set",
      "domain": "account",
      "summary": "Set the account-level preferred locale (overrides browser default).",
      "description_key": "actions.account.locale.set.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.locale.set",
      "examples": [
        {
          "input": {
            "locale": "de"
          },
          "output": {
            "locale": "de"
          },
          "note": "Switch UI language to German."
        }
      ]
    },
    {
      "id": "account.display-preferences.set",
      "domain": "account",
      "summary": "Set the account-level display preferences: colour theme and IANA timezone. Either field may be omitted; neither is a no-op.",
      "description_key": "actions.account.display-preferences.set.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.display-preferences.set",
      "examples": [
        {
          "input": {
            "theme": "dark",
            "timezone": "Europe/Berlin"
          },
          "output": {
            "theme": "dark",
            "timezone": "Europe/Berlin"
          },
          "note": "Dark theme, Berlin time."
        }
      ]
    },
    {
      "id": "account.notifications.get",
      "domain": "account",
      "summary": "Read notification preferences.",
      "description_key": "actions.account.notifications.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.notifications.get",
      "examples": [
        {
          "input": {},
          "output": {
            "marketingEmails": false,
            "securityAlerts": true,
            "billingAlerts": true,
            "productUpdates": false,
            "agentSessionStarted": true,
            "agentSessionAnomaly": true,
            "digestCadence": "weekly"
          },
          "note": "Read prefs."
        }
      ]
    },
    {
      "id": "account.notifications.update",
      "domain": "account",
      "summary": "Update notification preferences.",
      "description_key": "actions.account.notifications.update.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.notifications.update",
      "examples": [
        {
          "input": {
            "agentSessionAnomaly": true
          },
          "output": {
            "marketingEmails": false,
            "securityAlerts": true,
            "billingAlerts": true,
            "productUpdates": false,
            "agentSessionStarted": true,
            "agentSessionAnomaly": true,
            "digestCadence": "weekly"
          },
          "note": "Turn on anomaly alerts."
        }
      ]
    },
    {
      "id": "account.token.list",
      "domain": "account",
      "summary": "List your Personal Access Tokens (PATs).",
      "description_key": "actions.account.token.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.token.list",
      "examples": [
        {
          "input": {
            "includeRevoked": false
          },
          "output": {
            "tokens": []
          },
          "note": "List active PATs."
        }
      ]
    },
    {
      "id": "account.token.issue",
      "domain": "account",
      "summary": "Issue a new Personal Access Token. Cleartext shown ONCE.",
      "description_key": "actions.account.token.issue.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "key.issued",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "dashboard"
      ],
      "rest_endpoint": "/v1/actions/account.token.issue",
      "examples": [
        {
          "input": {
            "label": "CI pipeline",
            "scopes": [
              "read:workspace",
              "write:entpoind"
            ],
            "expiresInDays": 90
          },
          "output": {
            "token": {
              "id": "tv_pat_ABC20CHARSFOREXAMPLEID",
              "prefix": "tv_pat_abc",
              "label": "CI pipeline",
              "scopes": [
                "read:workspace",
                "write:entpoind"
              ],
              "createdAt": "2026-05-22T12:00:00.000Z",
              "expiresAt": "2026-08-20T12:00:00.000Z",
              "lastUsedAt": null,
              "revokedAt": null
            },
            "cleartext": "tv_pat_abc_REDACTED_EXAMPLE_ONLY"
          },
          "note": "Mint a new PAT; cleartext shown once."
        }
      ]
    },
    {
      "id": "account.token.revoke",
      "domain": "account",
      "summary": "Revoke a PAT (cannot be disabled — safety floor).",
      "description_key": "actions.account.token.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "key.revoked",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.token.revoke",
      "examples": [
        {
          "input": {
            "tokenId": "tv_pat_ABC20CHARSFOREXAMPLEID"
          },
          "output": {
            "revoked": true,
            "propagatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Revoke a PAT."
        }
      ]
    },
    {
      "id": "account.oauth-grants.list",
      "domain": "account",
      "summary": "List active OAuth grants to third-party agents (Claude, ChatGPT, Gemini, etc.).",
      "description_key": "actions.account.oauth-grants.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.oauth-grants.list",
      "examples": [
        {
          "input": {},
          "output": {
            "grants": []
          },
          "note": "List active connected apps."
        }
      ]
    },
    {
      "id": "account.oauth-grants.revoke",
      "domain": "account",
      "summary": "Revoke an OAuth grant. The third-party agent's tokens are immediately invalidated.",
      "description_key": "actions.account.oauth-grants.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "key.revoked",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.oauth-grants.revoke",
      "examples": [
        {
          "input": {
            "clientId": "oauth_CLAUDECOWORK0000000000"
          },
          "output": {
            "revoked": true,
            "propagatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Kill a connected app session."
        }
      ]
    },
    {
      "id": "account.security-log.list",
      "domain": "account",
      "summary": "Read the account-level security log (logins, MFA, key issuance, anomalies).",
      "description_key": "actions.account.security-log.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.security-log.list",
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Last 25 security events."
        }
      ]
    },
    {
      "id": "account.delete",
      "domain": "account",
      "summary": "Schedule account deletion in 30 days. Requires WebAuthn step-up.",
      "description_key": "actions.account.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/account.delete",
      "examples": [
        {
          "input": {
            "reason": "I no longer use this account; please delete in 30 days",
            "exportFirst": true
          },
          "output": {
            "scheduledDeletionAt": "2026-06-21T00:00:00.000Z",
            "gracePeriodDays": 30
          },
          "note": "Start account deletion with grace period."
        }
      ]
    },
    {
      "id": "org.get",
      "domain": "org",
      "summary": "Get the current organization's details.",
      "description_key": "actions.org.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.get",
      "examples": [
        {
          "input": {},
          "output": {
            "id": "org_DEMO00000000000000000000",
            "name": "Demo Org",
            "plan": "pro",
            "createdAt": "2026-01-01T00:00:00.000Z",
            "scheduledDeletionAt": null
          },
          "note": "Read org metadata."
        }
      ]
    },
    {
      "id": "org.update",
      "domain": "org",
      "summary": "Update organization name + locale.",
      "description_key": "actions.org.update.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "organization.rename"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.update",
      "examples": [
        {
          "input": {
            "name": "New Org Name"
          },
          "output": {
            "id": "org_DEMO00000000000000000000",
            "name": "New Org Name",
            "plan": "pro",
            "createdAt": "2026-01-01T00:00:00.000Z",
            "scheduledDeletionAt": null
          },
          "note": "Rename the organization."
        }
      ]
    },
    {
      "id": "org.locale.set",
      "domain": "org",
      "summary": "Set the organization-default locale (inherited by new workspaces).",
      "description_key": "actions.org.locale.set.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "organization.rename"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.locale.set",
      "examples": [
        {
          "input": {
            "locale": "de"
          },
          "output": {
            "locale": "de"
          },
          "note": "Org-default locale → German."
        }
      ]
    },
    {
      "id": "org.billing-state.get",
      "domain": "org",
      "summary": "Get the org's current billing state (plan, subscription status, add-ons).",
      "description_key": "actions.org.billing-state.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.billing-state.get",
      "examples": [
        {
          "input": {},
          "output": {
            "plan": "pro",
            "subscriptionStatus": "active",
            "multiWorkspaceAddonActive": true,
            "extraWorkspacesCount": 2,
            "currentPeriodEnd": "2026-06-22T00:00:00.000Z"
          },
          "note": "Read billing state."
        }
      ]
    },
    {
      "id": "org.member.list",
      "domain": "org",
      "summary": "List organization members.",
      "description_key": "actions.org.member.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "members.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.member.list",
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "members": [],
            "nextCursor": null
          },
          "note": "List org members."
        }
      ]
    },
    {
      "id": "org.member.invite",
      "domain": "org",
      "summary": "Invite a new member to the organization. Sends a verification email.",
      "description_key": "actions.org.member.invite.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "members.invite"
      ],
      "audit_kind": "member.invited",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.member.invite",
      "examples": [
        {
          "input": {
            "email": "newmember@example.com",
            "role": "member"
          },
          "output": {
            "invitationId": "inv_abc",
            "email": "newmember@example.com",
            "role": "member",
            "invitedBy": "acc_DEMO00000000000000000000",
            "invitedAt": "2026-05-22T12:00:00.000Z",
            "expiresAt": "2026-05-29T12:00:00.000Z",
            "status": "pending"
          },
          "note": "Invite a new member."
        }
      ]
    },
    {
      "id": "org.member.remove",
      "domain": "org",
      "summary": "Remove a member from the organization. They lose access to all workspaces immediately.",
      "description_key": "actions.org.member.remove.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "members.remove"
      ],
      "audit_kind": "member.removed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.member.remove",
      "examples": [
        {
          "input": {
            "accountId": "acc_DEMO00000000000000000000"
          },
          "output": {
            "removed": true
          },
          "note": "Remove a member."
        }
      ]
    },
    {
      "id": "org.member.role.change",
      "domain": "org",
      "summary": "Change an org member's role.",
      "description_key": "actions.org.member.role.change.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "members.change_role"
      ],
      "audit_kind": "member.role_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.member.role.change",
      "examples": [
        {
          "input": {
            "accountId": "acc_DEMO00000000000000000000",
            "role": "admin"
          },
          "output": {
            "accountId": "acc_DEMO00000000000000000000",
            "email": "member@example.com",
            "role": "admin",
            "joinedAt": "2026-01-01T00:00:00.000Z"
          },
          "note": "Promote to admin."
        }
      ]
    },
    {
      "id": "org.invitations.list",
      "domain": "org",
      "summary": "List pending/expired invitations.",
      "description_key": "actions.org.invitations.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "members.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.invitations.list",
      "examples": [
        {
          "input": {
            "status": "pending"
          },
          "output": {
            "invitations": []
          },
          "note": "List pending invites."
        }
      ]
    },
    {
      "id": "org.invitations.resend",
      "domain": "org",
      "summary": "Resend a pending invitation (subject to 5-minute cooldown).",
      "description_key": "actions.org.invitations.resend.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "members.invite"
      ],
      "audit_kind": "member.invited",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.invitations.resend",
      "examples": [
        {
          "input": {
            "invitationId": "inv_abc"
          },
          "output": {
            "resent": true,
            "nextResendAvailableAt": "2026-05-22T12:05:00.000Z"
          },
          "note": "Resend invite."
        }
      ]
    },
    {
      "id": "org.invitations.revoke",
      "domain": "org",
      "summary": "Revoke a pending invitation.",
      "description_key": "actions.org.invitations.revoke.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "members.invite"
      ],
      "audit_kind": "member.removed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.invitations.revoke",
      "examples": [
        {
          "input": {
            "invitationId": "inv_abc"
          },
          "output": {
            "revoked": true
          },
          "note": "Cancel pending invite."
        }
      ]
    },
    {
      "id": "org.transfer-ownership",
      "domain": "org",
      "summary": "Transfer org ownership to another admin. Requires WebAuthn step-up + reason.",
      "description_key": "actions.org.transfer-ownership.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "organization.transfer_ownership"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.transfer-ownership",
      "examples": [
        {
          "input": {
            "newOwnerAccountId": "acc_DEMO00000000000000000000",
            "reason": "Stepping down from CEO role; handing over to incoming lead"
          },
          "output": {
            "id": "org_DEMO00000000000000000000",
            "name": "Demo Org",
            "plan": "pro",
            "createdAt": "2026-01-01T00:00:00.000Z",
            "scheduledDeletionAt": null
          },
          "note": "Hand off org ownership."
        }
      ]
    },
    {
      "id": "org.delete.schedule",
      "domain": "org",
      "summary": "Schedule organization deletion in 30 days. Cancellable within the grace window.",
      "description_key": "actions.org.delete.schedule.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "organization.delete"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.delete.schedule",
      "examples": [
        {
          "input": {
            "reason": "Winding down the company; please delete after 30 days of grace"
          },
          "output": {
            "scheduledDeletionAt": "2026-06-21T00:00:00.000Z"
          },
          "note": "Schedule org deletion."
        }
      ]
    },
    {
      "id": "org.delete.cancel",
      "domain": "org",
      "summary": "Cancel a previously-scheduled org deletion (within grace).",
      "description_key": "actions.org.delete.cancel.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "organization.delete"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.delete.cancel",
      "examples": [
        {
          "input": {},
          "output": {
            "id": "org_DEMO00000000000000000000",
            "name": "Demo Org",
            "plan": "pro",
            "createdAt": "2026-01-01T00:00:00.000Z",
            "scheduledDeletionAt": null
          },
          "note": "Cancel scheduled deletion."
        }
      ]
    },
    {
      "id": "org.audit.list",
      "domain": "org",
      "summary": "Read org-level audit log entries (admin actions, member changes, billing).",
      "description_key": "actions.org.audit.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.audit.list",
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read org audit log."
        }
      ]
    },
    {
      "id": "org.sso.connections.list",
      "domain": "org",
      "summary": "List the organization's SSO connections (SAML/OIDC), with sealed secrets redacted to booleans.",
      "description_key": "actions.org.sso.connections.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.connections.list",
      "examples": [
        {
          "input": {},
          "output": {
            "connections": []
          },
          "note": "List SSO connections."
        }
      ]
    },
    {
      "id": "org.sso.connections.upsert",
      "domain": "org",
      "summary": "Create or update a SAML/OIDC SSO connection. A provided OIDC client secret is sealed; SAML certificates are validated.",
      "description_key": "actions.org.sso.connections.upsert.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "org.sso_config_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.connections.upsert",
      "examples": [
        {
          "input": {
            "type": "oidc",
            "displayName": "Okta",
            "oidcIssuer": "https://acme.okta.com",
            "oidcClientId": "0oa1"
          },
          "output": {
            "connection": null
          },
          "note": "Create an OIDC connection."
        }
      ]
    },
    {
      "id": "org.sso.connections.delete",
      "domain": "org",
      "summary": "Delete an SSO connection by id (org-scoped).",
      "description_key": "actions.org.sso.connections.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "org.sso_config_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.connections.delete",
      "examples": [
        {
          "input": {
            "id": "ssoc_abc"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete a connection."
        }
      ]
    },
    {
      "id": "org.sso.domains.list",
      "domain": "org",
      "summary": "List the organization's captured SSO domains (verified state + the DNS TXT record to publish).",
      "description_key": "actions.org.sso.domains.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.domains.list",
      "examples": [
        {
          "input": {},
          "output": {
            "domains": []
          },
          "note": "List SSO domains."
        }
      ]
    },
    {
      "id": "org.sso.domains.create",
      "domain": "org",
      "summary": "Claim an email domain for SSO and mint its DNS TXT verification challenge.",
      "description_key": "actions.org.sso.domains.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "org.sso_config_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.domains.create",
      "examples": [
        {
          "input": {
            "domain": "acme.com"
          },
          "output": {
            "domain": null
          },
          "note": "Claim acme.com."
        }
      ]
    },
    {
      "id": "org.sso.domains.verify",
      "domain": "org",
      "summary": "Verify a claimed domain via a DNS-over-HTTPS TXT lookup (proof of control).",
      "description_key": "actions.org.sso.domains.verify.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "org.sso_config_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.domains.verify",
      "examples": [
        {
          "input": {
            "id": "ssod_abc"
          },
          "output": {
            "verified": true
          },
          "note": "Verify domain control."
        }
      ]
    },
    {
      "id": "org.sso.domains.enforcement",
      "domain": "org",
      "summary": "Toggle SSO enforcement for a verified domain (requires a verified domain + an active connection).",
      "description_key": "actions.org.sso.domains.enforcement.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "org.sso_config_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.domains.enforcement",
      "examples": [
        {
          "input": {
            "id": "ssod_abc",
            "enforceSso": true
          },
          "output": {
            "domain": null
          },
          "note": "Require SSO for the domain."
        }
      ]
    },
    {
      "id": "org.sso.domains.delete",
      "domain": "org",
      "summary": "Remove a captured SSO domain (org-scoped).",
      "description_key": "actions.org.sso.domains.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "org.sso_config_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.domains.delete",
      "examples": [
        {
          "input": {
            "id": "ssod_abc"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete a domain."
        }
      ]
    },
    {
      "id": "org.sso.scim-tokens.list",
      "domain": "org",
      "summary": "List a connection's SCIM bearer tokens (hash-only; the raw token is never returned).",
      "description_key": "actions.org.sso.scim-tokens.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.scim-tokens.list",
      "examples": [
        {
          "input": {},
          "output": {
            "tokens": []
          },
          "note": "List SCIM tokens."
        }
      ]
    },
    {
      "id": "org.sso.scim-tokens.mint",
      "domain": "org",
      "summary": "Mint a SCIM 2.0 bearer token for a connection. The RAW token is returned exactly once; only its hash is stored.",
      "description_key": "actions.org.sso.scim-tokens.mint.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "org.sso_config_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.scim-tokens.mint",
      "examples": [
        {
          "input": {
            "connectionId": "ssoc_abc"
          },
          "output": {
            "id": "scimt_1",
            "connectionId": "ssoc_abc",
            "token": "scim_…",
            "scimBaseUrl": "https://api.trustvice.com/scim/v2",
            "createdAt": "2026-07-21T00:00:00.000Z"
          },
          "note": "Mint a SCIM token (shown once)."
        }
      ]
    },
    {
      "id": "org.sso.scim-tokens.revoke",
      "domain": "org",
      "summary": "Revoke a SCIM bearer token by id.",
      "description_key": "actions.org.sso.scim-tokens.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "settings.configure_sso"
      ],
      "audit_kind": "org.sso_config_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/org.sso.scim-tokens.revoke",
      "examples": [
        {
          "input": {
            "id": "scimt_1"
          },
          "output": {
            "revoked": true
          },
          "note": "Revoke a SCIM token."
        }
      ]
    },
    {
      "id": "workspace.list",
      "domain": "workspace",
      "summary": "List all workspaces in the current organization.",
      "description_key": "actions.workspace.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.list",
      "examples": [
        {
          "input": {
            "limit": 10
          },
          "output": {
            "workspaces": [],
            "nextCursor": null
          },
          "note": "List up to 10 workspaces in the active organization."
        }
      ]
    },
    {
      "id": "workspace.get",
      "domain": "workspace",
      "summary": "Get the full state of a single workspace by id.",
      "description_key": "actions.workspace.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "id": "ws_DEMODEFAULT0000000000",
            "name": "Default workspace"
          },
          "note": "Read the active workspace's full state."
        }
      ]
    },
    {
      "id": "workspace.create",
      "domain": "workspace",
      "summary": "Create a new workspace in the current organization.",
      "description_key": "actions.workspace.create.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "workspaces.create"
      ],
      "audit_kind": "workspace.created",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.create",
      "examples": [
        {
          "input": {
            "name": "EU production",
            "regionId": "cloudflare-d1:weur-1",
            "euJurisdictionBound": true
          },
          "output": {
            "id": "ws_new",
            "name": "EU production",
            "organizationId": "org_demo",
            "jurisdiction": "WEUR"
          },
          "note": "Create an EU-bound workspace in Western Europe."
        }
      ]
    },
    {
      "id": "workspace.update",
      "domain": "workspace",
      "summary": "Update workspace settings (name, retention, locale, Trustvice Receipts controls).",
      "description_key": "actions.workspace.update.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.view",
        "workspace.rename"
      ],
      "audit_kind": "workspace.renamed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.update",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "name": "Default"
          },
          "output": {
            "id": "ws_DEMODEFAULT0000000000",
            "name": "Default",
            "organizationId": "org_demo",
            "jurisdiction": "WEUR"
          },
          "note": "Rename a workspace — the one field this surface updates today."
        }
      ]
    },
    {
      "id": "workspace.rename",
      "domain": "workspace",
      "summary": "Rename a workspace (convenience alias of workspace.update).",
      "description_key": "actions.workspace.rename.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.view",
        "workspace.rename"
      ],
      "audit_kind": "workspace.renamed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.rename",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "name": "EU production v2"
          },
          "output": {
            "id": "ws_DEMODEFAULT0000000000",
            "name": "EU production v2",
            "organizationId": "org_demo",
            "jurisdiction": "WEUR"
          },
          "note": "Rename a workspace."
        }
      ]
    },
    {
      "id": "workspace.delete.schedule",
      "domain": "workspace",
      "summary": "Schedule a workspace for deletion in 30 days (grace period).",
      "description_key": "actions.workspace.delete.schedule.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "workspaces.delete",
        "workspace.schedule_deletion"
      ],
      "audit_kind": "workspace.scheduled_deletion",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.delete.schedule",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "reason": "Migrated to new workspace; cleanup in progress"
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "scheduledDeletionAt": "2026-06-21T00:00:00.000Z"
          },
          "note": "Schedule deletion with a 30-day grace."
        }
      ]
    },
    {
      "id": "workspace.delete.cancel",
      "domain": "workspace",
      "summary": "Cancel a previously-scheduled workspace deletion (within grace).",
      "description_key": "actions.workspace.delete.cancel.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "workspaces.delete",
        "workspace.schedule_deletion"
      ],
      "audit_kind": "workspace.deletion_canceled",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.delete.cancel",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "id": "ws_DEMODEFAULT0000000000",
            "name": "Default",
            "organizationId": "org_demo",
            "jurisdiction": "WEUR"
          },
          "note": "Cancel deletion within the grace window."
        }
      ]
    },
    {
      "id": "workspace.region.binding-proof",
      "domain": "workspace",
      "summary": "Download the OpenTimestamps proof of the workspace's region binding.",
      "description_key": "actions.workspace.region.binding-proof.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.region.binding-proof",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "otsProof": "base64-encoded-ots-proof-string-here-at-least-20-chars",
            "anchoredAt": "2026-05-22T12:00:00.000Z",
            "blockHeight": 854321
          },
          "note": "Pull the region-binding OTS proof for offline verification."
        }
      ]
    },
    {
      "id": "workspace.member.list",
      "domain": "workspace",
      "summary": "List members of a workspace with their roles.",
      "description_key": "actions.workspace.member.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.member.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "members": [
              {
                "accountId": "acc_001demo000000000000000000",
                "role": "owner"
              }
            ]
          },
          "note": "List workspace members."
        }
      ]
    },
    {
      "id": "workspace.member.add",
      "domain": "workspace",
      "summary": "Add an organization member to a workspace with a specific role.",
      "description_key": "actions.workspace.member.add.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "members.invite"
      ],
      "audit_kind": "member.joined",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.member.add",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "accountId": "acc_002DEMO000000000000000000",
            "role": "member"
          },
          "output": {
            "accountId": "acc_002DEMO000000000000000000",
            "role": "member"
          },
          "note": "Add a member."
        }
      ]
    },
    {
      "id": "workspace.member.role.change",
      "domain": "workspace",
      "summary": "Change a workspace member's role.",
      "description_key": "actions.workspace.member.role.change.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "members.change_role"
      ],
      "audit_kind": "member.role_changed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.member.role.change",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "accountId": "acc_002DEMO000000000000000000",
            "role": "admin"
          },
          "output": {
            "accountId": "acc_002DEMO000000000000000000",
            "role": "admin"
          },
          "note": "Promote a member to admin."
        }
      ]
    },
    {
      "id": "workspace.member.remove",
      "domain": "workspace",
      "summary": "Remove a member from a workspace.",
      "description_key": "actions.workspace.member.remove.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "members.remove"
      ],
      "audit_kind": "member.removed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.member.remove",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "accountId": "acc_002DEMO000000000000000000"
          },
          "output": {
            "removed": true
          },
          "note": "Remove a workspace member."
        }
      ]
    },
    {
      "id": "workspace.transfer-ownership",
      "domain": "workspace",
      "summary": "Transfer workspace ownership to another admin.",
      "description_key": "actions.workspace.transfer-ownership.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "workspaces.transfer"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.transfer-ownership",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "newOwnerAccountId": "acc_002DEMO000000000000000000",
            "reason": "Handing over to new compliance lead per Q3 reorg"
          },
          "output": {
            "id": "ws_DEMODEFAULT0000000000",
            "name": "Default",
            "organizationId": "org_demo",
            "jurisdiction": "WEUR"
          },
          "note": "Transfer ownership — destructive, requires confirmation."
        }
      ]
    },
    {
      "id": "workspace.entpoind.enable",
      "domain": "workspace",
      "summary": "Enable Trustvice Receipts on a workspace (requires an org-level Trustvice Receipts subscription).",
      "description_key": "actions.workspace.entpoind.enable.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "settings.view",
        "workspace.rename"
      ],
      "audit_kind": "workspace.renamed",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.entpoind.enable",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "id": "ws_DEMODEFAULT0000000000",
            "name": "Default",
            "organizationId": "org_demo",
            "jurisdiction": "WEUR"
          },
          "note": "Enable Trustvice Receipts on a workspace."
        }
      ]
    },
    {
      "id": "workspace.entpoind.disable",
      "domain": "workspace",
      "summary": "Disable Trustvice Receipts on a workspace.",
      "description_key": "actions.workspace.entpoind.disable.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "settings.view",
        "workspace.rename"
      ],
      "audit_kind": "workspace.renamed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.entpoind.disable",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "id": "ws_DEMODEFAULT0000000000",
            "name": "Default",
            "organizationId": "org_demo",
            "jurisdiction": "WEUR"
          },
          "note": "Turn off Trustvice Receipts on this workspace."
        }
      ]
    },
    {
      "id": "workspace.regions.list",
      "domain": "workspace",
      "summary": "List the available regions a workspace can be created in.",
      "description_key": "actions.workspace.regions.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/workspace.regions.list",
      "examples": [
        {
          "input": {},
          "output": {
            "regions": [
              {
                "id": "cloudflare-d1:weur-1",
                "label": "Europe Central",
                "countryCode": "EU",
                "euJurisdictionBound": true
              }
            ]
          },
          "note": "List every supported region for region picker UIs."
        }
      ]
    },
    {
      "id": "billing.subscription.get",
      "domain": "billing",
      "summary": "Get the org's current Stripe subscription.",
      "description_key": "actions.billing.subscription.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.subscription.get",
      "examples": [
        {
          "input": {},
          "output": {
            "subscriptionId": "sub_abc",
            "organizationId": "org_DEMO00000000000000000000",
            "plan": "pro",
            "status": "active",
            "currentPeriodStart": "2026-05-01T00:00:00.000Z",
            "currentPeriodEnd": "2026-06-01T00:00:00.000Z",
            "cancelAtPeriodEnd": false
          },
          "note": "Read subscription."
        }
      ]
    },
    {
      "id": "billing.subscription.upgrade",
      "domain": "billing",
      "summary": "Upgrade to a higher tier. Prorates charges; takes effect immediately.",
      "description_key": "actions.billing.subscription.upgrade.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": "plan.changed",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.subscription.upgrade",
      "examples": [
        {
          "input": {
            "targetPlan": "team"
          },
          "output": {
            "subscriptionId": "sub_abc",
            "organizationId": "org_DEMO00000000000000000000",
            "plan": "team",
            "status": "active",
            "currentPeriodStart": "2026-05-22T12:00:00.000Z",
            "currentPeriodEnd": "2026-06-22T12:00:00.000Z",
            "cancelAtPeriodEnd": false
          },
          "note": "Upgrade to Team."
        }
      ]
    },
    {
      "id": "billing.subscription.downgrade",
      "domain": "billing",
      "summary": "Downgrade to a lower tier. Effective at next billing period.",
      "description_key": "actions.billing.subscription.downgrade.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": "plan.changed",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.subscription.downgrade",
      "examples": [
        {
          "input": {
            "targetPlan": "starter",
            "reason": "Reducing usage; no longer need Pro"
          },
          "output": {
            "subscriptionId": "sub_abc",
            "organizationId": "org_DEMO00000000000000000000",
            "plan": "pro",
            "status": "active",
            "currentPeriodStart": "2026-05-01T00:00:00.000Z",
            "currentPeriodEnd": "2026-06-01T00:00:00.000Z",
            "cancelAtPeriodEnd": false
          },
          "note": "Downgrade scheduled for period end."
        }
      ]
    },
    {
      "id": "billing.subscription.cancel",
      "domain": "billing",
      "summary": "Cancel subscription at current period end. Workspace remains accessible until then.",
      "description_key": "actions.billing.subscription.cancel.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": "plan.changed",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.subscription.cancel",
      "examples": [
        {
          "input": {
            "reason": "Migrating to alternative provider; export complete"
          },
          "output": {
            "subscriptionId": "sub_abc",
            "organizationId": "org_DEMO00000000000000000000",
            "plan": "pro",
            "status": "active",
            "currentPeriodStart": "2026-05-01T00:00:00.000Z",
            "currentPeriodEnd": "2026-06-01T00:00:00.000Z",
            "cancelAtPeriodEnd": true
          },
          "note": "Cancel at period end."
        }
      ]
    },
    {
      "id": "billing.subscription.reactivate",
      "domain": "billing",
      "summary": "Reactivate a subscription that's been scheduled to cancel.",
      "description_key": "actions.billing.subscription.reactivate.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": "plan.changed",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.subscription.reactivate",
      "examples": [
        {
          "input": {},
          "output": {
            "subscriptionId": "sub_abc",
            "organizationId": "org_DEMO00000000000000000000",
            "plan": "pro",
            "status": "active",
            "currentPeriodStart": "2026-05-01T00:00:00.000Z",
            "currentPeriodEnd": "2026-06-01T00:00:00.000Z",
            "cancelAtPeriodEnd": false
          },
          "note": "Reactivate."
        }
      ]
    },
    {
      "id": "billing.invoices.list",
      "domain": "billing",
      "summary": "List invoices.",
      "description_key": "actions.billing.invoices.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.invoices.list",
      "examples": [
        {
          "input": {},
          "output": {
            "invoices": [],
            "nextCursor": null
          },
          "note": "List invoices."
        }
      ]
    },
    {
      "id": "billing.invoices.get",
      "domain": "billing",
      "summary": "Get a single invoice.",
      "description_key": "actions.billing.invoices.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.invoices.get",
      "examples": [
        {
          "input": {
            "invoiceId": "in_abc"
          },
          "output": {
            "id": "in_abc",
            "organizationId": "org_DEMO00000000000000000000",
            "amount": 4900,
            "currency": "USD",
            "status": "paid",
            "issuedAt": "2026-05-01T00:00:00.000Z",
            "dueAt": null,
            "paidAt": "2026-05-01T00:00:00.000Z"
          },
          "note": "Read invoice."
        }
      ]
    },
    {
      "id": "billing.invoices.download",
      "domain": "billing",
      "summary": "Get a signed download URL for the invoice PDF.",
      "description_key": "actions.billing.invoices.download.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.invoices.download",
      "examples": [
        {
          "input": {
            "invoiceId": "in_abc"
          },
          "output": {
            "url": "https://files.stripe.com/invoices/abc.pdf",
            "expiresAt": "2026-05-22T13:00:00.000Z"
          },
          "note": "Download invoice PDF."
        }
      ]
    },
    {
      "id": "billing.payment-method.get",
      "domain": "billing",
      "summary": "Get the current default payment method (masked).",
      "description_key": "actions.billing.payment-method.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.payment-method.get",
      "examples": [
        {
          "input": {},
          "output": {
            "paymentMethodId": "pm_abc",
            "brand": "Visa",
            "last4": "4242",
            "expMonth": 12,
            "expYear": 2027
          },
          "note": "Read masked payment method."
        }
      ]
    },
    {
      "id": "billing.payment-method.update-url",
      "domain": "billing",
      "summary": "Get a signed URL to Stripe's hosted payment-method update page. Update happens in Stripe's UI.",
      "description_key": "actions.billing.payment-method.update-url.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.payment-method.update-url",
      "examples": [
        {
          "input": {},
          "output": {
            "url": "https://billing.stripe.com/p/session/abc",
            "expiresAt": "2026-05-22T13:00:00.000Z"
          },
          "note": "Get Stripe Portal URL."
        }
      ]
    },
    {
      "id": "billing.packs.list",
      "domain": "billing",
      "summary": "List available top-up packs (runs, Number One queries, Trustvice calls).",
      "description_key": "actions.billing.packs.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.packs.list",
      "examples": [
        {
          "input": {},
          "output": {
            "packs": [
              {
                "packId": "runs_1k",
                "kind": "runs",
                "unitCount": 1000,
                "priceUsdMinor": 2900
              }
            ]
          },
          "note": "Discover packs."
        }
      ]
    },
    {
      "id": "billing.packs.purchase",
      "domain": "billing",
      "summary": "Purchase a top-up pack.",
      "description_key": "actions.billing.packs.purchase.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.buy_pack"
      ],
      "audit_kind": "pack.purchased",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.packs.purchase",
      "examples": [
        {
          "input": {
            "packId": "runs_1k",
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "topUpId": "tu_abc",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "packKind": "runs",
            "unitCount": 1000,
            "priceUsdMinor": 2900,
            "purchasedAt": "2026-05-22T12:00:00.000Z",
            "unitsRemaining": 1000,
            "forfeitedAt": null
          },
          "note": "Buy a 1k-run pack."
        }
      ]
    },
    {
      "id": "billing.auto-topup.get",
      "domain": "billing",
      "summary": "Get auto-topup configuration.",
      "description_key": "actions.billing.auto-topup.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.auto-topup.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "enabled": false,
            "packId": null,
            "triggerAtPercent": null,
            "monthlyCapUsdMinor": null
          },
          "note": "Read auto-topup config."
        }
      ]
    },
    {
      "id": "billing.auto-topup.configure",
      "domain": "billing",
      "summary": "Configure auto-topup. Fires when balance drops below threshold; capped at monthly USD limit.",
      "description_key": "actions.billing.auto-topup.configure.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.configure_autotopup"
      ],
      "audit_kind": "auto_topup.configured",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.auto-topup.configure",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "enabled": true,
            "packId": "runs_1k",
            "triggerAtPercent": 80,
            "monthlyCapUsdMinor": 10000
          },
          "output": {
            "enabled": true,
            "packId": "runs_1k",
            "triggerAtPercent": 80,
            "monthlyCapUsdMinor": 10000
          },
          "note": "Enable auto-topup."
        }
      ]
    },
    {
      "id": "billing.cost-centers.list",
      "domain": "billing",
      "summary": "List org cost centers (for tagging charges + per-cost-center invoicing).",
      "description_key": "actions.billing.cost-centers.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.cost-centers.list",
      "examples": [
        {
          "input": {},
          "output": {
            "costCenters": []
          },
          "note": "List cost centers."
        }
      ]
    },
    {
      "id": "billing.cost-centers.create",
      "domain": "billing",
      "summary": "Create a cost center.",
      "description_key": "actions.billing.cost-centers.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.cost-centers.create",
      "examples": [
        {
          "input": {
            "name": "Engineering",
            "description": "All engineering teams"
          },
          "output": {
            "id": "cc_DEMO00000000000000000000",
            "organizationId": "org_DEMO00000000000000000000",
            "name": "Engineering",
            "taggableProducts": [
              "both"
            ],
            "monthlyCapUsdMinor": null,
            "notificationThresholdPercents": [
              50,
              80,
              100
            ],
            "createdAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Create cost center."
        }
      ]
    },
    {
      "id": "billing.cost-centers.update",
      "domain": "billing",
      "summary": "Update a cost center.",
      "description_key": "actions.billing.cost-centers.update.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.cost-centers.update",
      "examples": [
        {
          "input": {
            "costCenterId": "cc_DEMO00000000000000000000",
            "monthlyCapUsdMinor": 50000
          },
          "output": {
            "id": "cc_DEMO00000000000000000000",
            "organizationId": "org_DEMO00000000000000000000",
            "name": "Engineering",
            "taggableProducts": [
              "both"
            ],
            "monthlyCapUsdMinor": 50000,
            "notificationThresholdPercents": [
              50,
              80,
              100
            ],
            "createdAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Set monthly cap."
        }
      ]
    },
    {
      "id": "billing.cost-centers.delete",
      "domain": "billing",
      "summary": "Delete a cost center. Tagged charges keep historical tag.",
      "description_key": "actions.billing.cost-centers.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.cost-centers.delete",
      "examples": [
        {
          "input": {
            "costCenterId": "cc_DEMO00000000000000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete."
        }
      ]
    },
    {
      "id": "billing.cost-centers.assign-charge",
      "domain": "billing",
      "summary": "Tag a charge / invoice line with a cost center.",
      "description_key": "actions.billing.cost-centers.assign-charge.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.cost-centers.assign-charge",
      "examples": [
        {
          "input": {
            "chargeId": "ch_abc",
            "costCenterId": "cc_DEMO00000000000000000000"
          },
          "output": {
            "tagged": true
          },
          "note": "Tag a charge."
        }
      ]
    },
    {
      "id": "billing.entpoind.tier.set",
      "domain": "billing",
      "summary": "Set the Trustvice Receipts subscription tier for the org.",
      "description_key": "actions.billing.entpoind.tier.set.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": "plan.changed",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.entpoind.tier.set",
      "examples": [
        {
          "input": {
            "tier": "scale"
          },
          "output": {
            "subscriptionId": "sub_entp_abc",
            "organizationId": "org_DEMO00000000000000000000",
            "plan": "scale",
            "status": "active",
            "currentPeriodStart": "2026-05-22T12:00:00.000Z",
            "currentPeriodEnd": "2026-06-22T12:00:00.000Z",
            "cancelAtPeriodEnd": false
          },
          "note": "Set Trustvice Receipts tier."
        }
      ]
    },
    {
      "id": "billing.entpoind.tier.get",
      "domain": "billing",
      "summary": "Get the current Trustvice Receipts tier.",
      "description_key": "actions.billing.entpoind.tier.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.entpoind.tier.get",
      "examples": [
        {
          "input": {},
          "output": {
            "tier": "team",
            "monthlyCalls": 100000,
            "retentionDays": 365
          },
          "note": "Read Trustvice Receipts tier."
        }
      ]
    },
    {
      "id": "billing.entpoind.top-up.purchase",
      "domain": "billing",
      "summary": "Purchase a Trustvice Receipts top-up pack (extra call quota for the current month).",
      "description_key": "actions.billing.entpoind.top-up.purchase.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.buy_pack"
      ],
      "audit_kind": "pack.purchased",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.entpoind.top-up.purchase",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "packId": "entpoind_100k"
          },
          "output": {
            "topUpId": "tu_entp_abc",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "packKind": "entpoind-calls",
            "unitCount": 100000,
            "priceUsdMinor": 1900,
            "purchasedAt": "2026-05-22T12:00:00.000Z",
            "unitsRemaining": 100000,
            "forfeitedAt": null
          },
          "note": "Buy 100k Trustvice calls."
        }
      ]
    },
    {
      "id": "billing.entpoind.auto-overage.set",
      "domain": "billing",
      "summary": "Configure auto-overage for an Trustvice-enabled workspace.",
      "description_key": "actions.billing.entpoind.auto-overage.set.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.configure_autotopup"
      ],
      "audit_kind": "auto_topup.configured",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.entpoind.auto-overage.set",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "enabled": true,
            "capMultiplier": 3
          },
          "output": {
            "enabled": true,
            "capMultiplier": 3
          },
          "note": "Enable auto-overage at 3× cap."
        }
      ]
    },
    {
      "id": "billing.entpoind.billing-mode.set",
      "domain": "billing",
      "summary": "Set the Trustvice Receipts billing mode (combined vs separate Stripe subscription).",
      "description_key": "actions.billing.entpoind.billing-mode.set.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.entpoind.billing-mode.set",
      "examples": [
        {
          "input": {
            "mode": "separate"
          },
          "output": {
            "mode": "separate"
          },
          "note": "Separate Stripe subscriptions for Trustvice + Trustvice Receipts."
        }
      ]
    },
    {
      "id": "billing.entpoind.usage.current",
      "domain": "billing",
      "summary": "Get current Trustvice Receipts usage for the org (calls used + remaining quota + auto-overage status).",
      "description_key": "actions.billing.entpoind.usage.current.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.entpoind.usage.current",
      "examples": [
        {
          "input": {},
          "output": {
            "callsUsed": 45000,
            "monthlyAllowance": 100000,
            "remaining": 55000,
            "autoOverageActive": false,
            "periodEnd": "2026-06-01T00:00:00.000Z"
          },
          "note": "Read current Trustvice Receipts usage."
        }
      ]
    },
    {
      "id": "billing.notarian.subscribe",
      "domain": "billing",
      "summary": "Subscribe to the Notarian add-on (per-tier subscription pricing).",
      "description_key": "actions.billing.notarian.subscribe.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.subscribe_addons"
      ],
      "audit_kind": "notarian.subscribed",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.notarian.subscribe",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "subscribed": true
          },
          "note": "Subscribe to Notarian."
        }
      ]
    },
    {
      "id": "billing.notarian.unsubscribe",
      "domain": "billing",
      "summary": "Unsubscribe from Notarian at next billing period.",
      "description_key": "actions.billing.notarian.unsubscribe.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.subscribe_addons"
      ],
      "audit_kind": "notarian.canceled",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.notarian.unsubscribe",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "unsubscribed": true,
            "effectiveAt": "2026-06-22T00:00:00.000Z"
          },
          "note": "Unsubscribe Notarian."
        }
      ]
    },
    {
      "id": "billing.infinite-memory.subscribe",
      "domain": "billing",
      "summary": "Subscribe to the Infinite Memory add-on for Number One ($19/mo on paid tiers).",
      "description_key": "actions.billing.infinite-memory.subscribe.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.subscribe_addons"
      ],
      "audit_kind": null,
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.infinite-memory.subscribe",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "subscribed": true
          },
          "note": "Subscribe Infinite Memory."
        }
      ]
    },
    {
      "id": "billing.infinite-memory.unsubscribe",
      "domain": "billing",
      "summary": "Unsubscribe Infinite Memory at next billing period.",
      "description_key": "actions.billing.infinite-memory.unsubscribe.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.subscribe_addons"
      ],
      "audit_kind": null,
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.infinite-memory.unsubscribe",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "unsubscribed": true,
            "effectiveAt": "2026-06-22T00:00:00.000Z"
          },
          "note": "Unsubscribe Infinite Memory."
        }
      ]
    },
    {
      "id": "billing.retention-extension.subscribe",
      "domain": "billing",
      "summary": "Subscribe to the universal paid retention extension. Convenience alias of retention.extension.subscribe.",
      "description_key": "actions.billing.retention-extension.subscribe.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.subscribe_addons"
      ],
      "audit_kind": "retention.updated",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/billing.retention-extension.subscribe",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "extendedToDays": 1095
          },
          "output": {
            "subscribed": true,
            "perGbCostUsdMinor": 1000
          },
          "note": "Subscribe to 3-year retention extension."
        }
      ]
    },
    {
      "id": "keys.list",
      "domain": "keys",
      "summary": "List workspace API keys (active + revoked filter).",
      "description_key": "actions.keys.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "keys.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "keys": [],
            "nextCursor": null
          },
          "note": "List active keys."
        }
      ]
    },
    {
      "id": "keys.get",
      "domain": "keys",
      "summary": "Get a single workspace API key by id.",
      "description_key": "actions.keys.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "keys.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "keyId": "tv_workspace_ABC20CHARSFOREXAMPLEID"
          },
          "output": {
            "id": "tv_workspace_ABC20CHARSFOREXAMPLEID",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "product": "trustvice",
            "label": "Prod key",
            "prefix": "tv_abc",
            "scopes": [
              "ingest:write"
            ],
            "createdAt": "2026-05-22T12:00:00.000Z",
            "lastUsedAt": null,
            "expiresAt": null,
            "revokedAt": null
          },
          "note": "Fetch one key."
        }
      ]
    },
    {
      "id": "keys.issue",
      "domain": "keys",
      "summary": "Issue a new workspace API key. Cleartext returned ONCE.",
      "description_key": "actions.keys.issue.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "keys.create"
      ],
      "audit_kind": "key.issued",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.issue",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "product": "trustvice",
            "label": "Prod ingest key",
            "scopes": [
              "ingest:write"
            ],
            "expiry": "1y"
          },
          "output": {
            "key": {
              "id": "tv_workspace_ABC20CHARSFOREXAMPLEID",
              "workspaceId": "ws_DEMODEFAULT0000000000",
              "product": "trustvice",
              "label": "Prod ingest key",
              "prefix": "tv_abc",
              "scopes": [
                "ingest:write"
              ],
              "createdAt": "2026-05-22T12:00:00.000Z",
              "lastUsedAt": null,
              "expiresAt": "2027-05-22T12:00:00.000Z",
              "revokedAt": null
            },
            "cleartext": "tv_abc_REDACTED_EXAMPLE_ONLY"
          },
          "note": "Mint a new key; cleartext shown once."
        }
      ]
    },
    {
      "id": "keys.revoke",
      "domain": "keys",
      "summary": "Revoke a workspace API key. Propagates in ≤30s.",
      "description_key": "actions.keys.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "keys.revoke"
      ],
      "audit_kind": "key.revoked",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.revoke",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "keyId": "tv_workspace_ABC20CHARSFOREXAMPLEID"
          },
          "output": {
            "revoked": true,
            "propagatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Revoke a key."
        }
      ]
    },
    {
      "id": "keys.rotate",
      "domain": "keys",
      "summary": "Rotate a key: revoke the current value + issue a replacement with the same label + scopes. Cleartext returned ONCE.",
      "description_key": "actions.keys.rotate.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "keys.create",
        "keys.revoke"
      ],
      "audit_kind": "key.rotated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.rotate",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "keyId": "tv_workspace_ABC20CHARSFOREXAMPLEID"
          },
          "output": {
            "revokedKeyId": "tv_workspace_ABC20CHARSFOREXAMPLEID",
            "newKey": {
              "id": "tv_workspace_def20charsforexampleid",
              "workspaceId": "ws_DEMODEFAULT0000000000",
              "product": "trustvice",
              "label": "Prod ingest key",
              "prefix": "tv_def",
              "scopes": [
                "ingest:write"
              ],
              "createdAt": "2026-05-22T12:00:00.000Z",
              "lastUsedAt": null,
              "expiresAt": null,
              "revokedAt": null
            },
            "cleartext": "tv_def_REDACTED_EXAMPLE_ONLY",
            "graceUntil": "2026-05-22T12:05:00.000Z"
          },
          "note": "Rotate a key with 5-min grace."
        }
      ]
    },
    {
      "id": "keys.scopes.list",
      "domain": "keys",
      "summary": "List the available scope grants for workspace API keys.",
      "description_key": "actions.keys.scopes.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.scopes.list",
      "examples": [
        {
          "input": {},
          "output": {
            "scopes": [
              {
                "id": "ingest:write",
                "product": "tools",
                "label": "Ingest write",
                "description": "Send runs / events into the workspace",
                "severity": "write"
              }
            ]
          },
          "note": "Discover scopes."
        }
      ]
    },
    {
      "id": "keys.usage.get",
      "domain": "keys",
      "summary": "Get usage statistics (calls + last-used + IP CIDRs) for a key over a time window.",
      "description_key": "actions.keys.usage.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "keys.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.usage.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "keyId": "tv_workspace_ABC20CHARSFOREXAMPLEID"
          },
          "output": {
            "totalCalls": 12345,
            "uniqueIpCidrs": 3,
            "lastUsedAt": "2026-05-22T12:00:00.000Z",
            "perEndpointBreakdown": [
              {
                "path": "/v1/ingest",
                "count": 12000
              }
            ]
          },
          "note": "Read key usage."
        }
      ]
    },
    {
      "id": "keys.last-used.get",
      "domain": "keys",
      "summary": "Quick lookup: when was this key last used?",
      "description_key": "actions.keys.last-used.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "keys.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.last-used.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "keyId": "tv_workspace_ABC20CHARSFOREXAMPLEID"
          },
          "output": {
            "lastUsedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Lightweight last-used check."
        }
      ]
    },
    {
      "id": "keys.entpoind.list",
      "domain": "keys",
      "summary": "Convenience: list only the Trustvice-product workspace keys.",
      "description_key": "actions.keys.entpoind.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "keys.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.entpoind.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "keys": [],
            "nextCursor": null
          },
          "note": "List Trustvice-only keys."
        }
      ]
    },
    {
      "id": "keys.entpoind.issue",
      "domain": "keys",
      "summary": "Issue an Trustvice-product workspace key (entp_*). Cleartext shown ONCE.",
      "description_key": "actions.keys.entpoind.issue.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "keys.create"
      ],
      "audit_kind": "key.issued",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/keys.entpoind.issue",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "label": "Trustvice Receipts attestation key",
            "scopes": [
              "entpoind:agent-call:write",
              "entpoind:content-attest:write"
            ],
            "expiry": "90d"
          },
          "output": {
            "key": {
              "id": "entp_workspace_abc20charsforexampleid",
              "workspaceId": "ws_DEMODEFAULT0000000000",
              "product": "entpoind",
              "label": "Trustvice Receipts attestation key",
              "prefix": "entp_abc",
              "scopes": [
                "entpoind:agent-call:write",
                "entpoind:content-attest:write"
              ],
              "createdAt": "2026-05-22T12:00:00.000Z",
              "lastUsedAt": null,
              "expiresAt": "2026-08-20T12:00:00.000Z",
              "revokedAt": null
            },
            "cleartext": "entp_abc_REDACTED_EXAMPLE_ONLY"
          },
          "note": "Mint a Trustvice Receipts key."
        }
      ]
    },
    {
      "id": "webhooks.list",
      "domain": "webhooks",
      "summary": "List webhook endpoints for a workspace.",
      "description_key": "actions.webhooks.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "webhooks.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "webhooks": [],
            "nextCursor": null
          },
          "note": "List webhooks."
        }
      ]
    },
    {
      "id": "webhooks.get",
      "domain": "webhooks",
      "summary": "Get a single webhook endpoint.",
      "description_key": "actions.webhooks.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "webhooks.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000"
          },
          "output": {
            "id": "wh_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "url": "https://example.com/webhook",
            "label": "Production hook",
            "events": [
              "alert.fired"
            ],
            "enabled": true,
            "secretPrefix": "whsec_ab",
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Read a webhook."
        }
      ]
    },
    {
      "id": "webhooks.create",
      "domain": "webhooks",
      "summary": "Register a new webhook endpoint. Returns the signing secret cleartext ONCE.",
      "description_key": "actions.webhooks.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "webhooks.create"
      ],
      "audit_kind": "webhook.created",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.create",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "url": "https://example.com/webhook",
            "label": "Prod hook",
            "events": [
              "alert.fired",
              "export.ready"
            ]
          },
          "output": {
            "webhook": {
              "id": "wh_DEMO00000000000000000000",
              "workspaceId": "ws_DEMODEFAULT0000000000",
              "url": "https://example.com/webhook",
              "label": "Prod hook",
              "events": [
                "alert.fired",
                "export.ready"
              ],
              "enabled": true,
              "secretPrefix": "whsec_ab",
              "createdAt": "2026-05-22T12:00:00.000Z",
              "updatedAt": "2026-05-22T12:00:00.000Z"
            },
            "signingSecretCleartext": "whsec_REDACTED_EXAMPLE_ONLY"
          },
          "note": "Create + receive signing secret."
        }
      ]
    },
    {
      "id": "webhooks.update",
      "domain": "webhooks",
      "summary": "Update a webhook's URL, label, or event subscriptions.",
      "description_key": "actions.webhooks.update.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "webhooks.create"
      ],
      "audit_kind": "webhook.updated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.update",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000",
            "events": [
              "alert.fired"
            ]
          },
          "output": {
            "id": "wh_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "url": "https://example.com/webhook",
            "label": "Prod hook",
            "events": [
              "alert.fired"
            ],
            "enabled": true,
            "secretPrefix": "whsec_ab",
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:05:00.000Z"
          },
          "note": "Narrow subscription set."
        }
      ]
    },
    {
      "id": "webhooks.delete",
      "domain": "webhooks",
      "summary": "Delete a webhook endpoint. Pending deliveries are abandoned.",
      "description_key": "actions.webhooks.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "webhooks.delete"
      ],
      "audit_kind": "webhook.deleted",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.delete",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Remove a webhook."
        }
      ]
    },
    {
      "id": "webhooks.enable",
      "domain": "webhooks",
      "summary": "Enable or disable a webhook without deleting it.",
      "description_key": "actions.webhooks.enable.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "webhooks.create"
      ],
      "audit_kind": "webhook.updated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.enable",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000",
            "enabled": false
          },
          "output": {
            "id": "wh_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "url": "https://example.com/webhook",
            "label": "Prod hook",
            "events": [
              "alert.fired"
            ],
            "enabled": false,
            "secretPrefix": "whsec_ab",
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:10:00.000Z"
          },
          "note": "Disable temporarily."
        }
      ]
    },
    {
      "id": "webhooks.test-fire",
      "domain": "webhooks",
      "summary": "Fire a synthetic test event to a webhook to verify delivery + signature validation.",
      "description_key": "actions.webhooks.test-fire.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "webhooks.create"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.test-fire",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000"
          },
          "output": {
            "deliveryId": "del_abc",
            "webhookId": "wh_DEMO00000000000000000000",
            "eventType": "webhook.test",
            "status": "success",
            "statusCode": 200,
            "attemptCount": 1,
            "attemptedAt": "2026-05-22T12:00:00.000Z",
            "responseTimeMs": 87
          },
          "note": "Test webhook delivery."
        }
      ]
    },
    {
      "id": "webhooks.events.list",
      "domain": "webhooks",
      "summary": "List the event types this webhook can subscribe to (from the AsyncAPI 3 spec).",
      "description_key": "actions.webhooks.events.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.events.list",
      "examples": [
        {
          "input": {},
          "output": {
            "events": [
              {
                "id": "alert.fired",
                "description": "An alert rule fired.",
                "severity": "warning"
              }
            ]
          },
          "note": "Discover event types."
        }
      ]
    },
    {
      "id": "webhooks.events.replay",
      "domain": "webhooks",
      "summary": "Replay missed events from a time window. Useful for recovering after webhook downtime.",
      "description_key": "actions.webhooks.events.replay.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "webhooks.create"
      ],
      "audit_kind": null,
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.events.replay",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000",
            "since": "2026-05-21T00:00:00.000Z"
          },
          "output": {
            "replayId": "rep_abc",
            "eventsQueued": 42
          },
          "note": "Replay events from yesterday."
        }
      ]
    },
    {
      "id": "webhooks.signing-secret.rotate",
      "domain": "webhooks",
      "summary": "Rotate the HMAC signing secret. Old secret valid for 24h grace.",
      "description_key": "actions.webhooks.signing-secret.rotate.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "webhooks.create"
      ],
      "audit_kind": "webhook.updated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.signing-secret.rotate",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000"
          },
          "output": {
            "newSigningSecretCleartext": "whsec_REDACTED_EXAMPLE_ONLY",
            "oldSecretValidUntil": "2026-05-23T12:00:00.000Z"
          },
          "note": "Rotate webhook signing secret."
        }
      ]
    },
    {
      "id": "webhooks.deliveries.list",
      "domain": "webhooks",
      "summary": "List delivery attempts for a webhook (success + failure history).",
      "description_key": "actions.webhooks.deliveries.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "webhooks.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.deliveries.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000"
          },
          "output": {
            "deliveries": [],
            "nextCursor": null
          },
          "note": "List delivery attempts."
        }
      ]
    },
    {
      "id": "webhooks.deliveries.retry",
      "domain": "webhooks",
      "summary": "Retry a specific failed delivery.",
      "description_key": "actions.webhooks.deliveries.retry.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "webhooks.create"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/webhooks.deliveries.retry",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000",
            "deliveryId": "del_abc"
          },
          "output": {
            "deliveryId": "del_abc",
            "webhookId": "wh_DEMO00000000000000000000",
            "eventType": "alert.fired",
            "status": "success",
            "statusCode": 200,
            "attemptCount": 2,
            "attemptedAt": "2026-05-22T12:00:00.000Z",
            "responseTimeMs": 42
          },
          "note": "Retry a delivery."
        }
      ]
    },
    {
      "id": "alerts.list",
      "domain": "alerts",
      "summary": "List alert rules for a workspace.",
      "description_key": "actions.alerts.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "alerts": [],
            "nextCursor": null
          },
          "note": "List alerts."
        }
      ]
    },
    {
      "id": "alerts.get",
      "domain": "alerts",
      "summary": "Get a single alert rule.",
      "description_key": "actions.alerts.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000"
          },
          "output": {
            "id": "alert_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "type": "quota_threshold",
            "label": "80% quota",
            "enabled": true,
            "config": {
              "type": "quota_threshold",
              "thresholdPercent": 80,
              "quotaKind": "runs"
            },
            "channels": [],
            "lastFiredAt": null,
            "firedCount": 0,
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Read an alert rule."
        }
      ]
    },
    {
      "id": "alerts.create",
      "domain": "alerts",
      "summary": "Create a new alert rule.",
      "description_key": "actions.alerts.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "alert.created",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.create",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "type": "quota_threshold",
            "label": "80% quota",
            "config": {
              "type": "quota_threshold",
              "thresholdPercent": 80,
              "quotaKind": "runs"
            },
            "channels": [
              {
                "kind": "email",
                "addresses": [
                  "ops@example.com"
                ]
              }
            ]
          },
          "output": {
            "id": "alert_new0000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "type": "quota_threshold",
            "label": "80% quota",
            "enabled": true,
            "config": {
              "type": "quota_threshold",
              "thresholdPercent": 80,
              "quotaKind": "runs"
            },
            "channels": [
              {
                "kind": "email",
                "addresses": [
                  "ops@example.com"
                ]
              }
            ],
            "lastFiredAt": null,
            "firedCount": 0,
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Create alert."
        }
      ]
    },
    {
      "id": "alerts.update",
      "domain": "alerts",
      "summary": "Update an alert's label / config / channels / enabled flag.",
      "description_key": "actions.alerts.update.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "alert.updated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.update",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000",
            "label": "Renamed"
          },
          "output": {
            "id": "alert_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "type": "quota_threshold",
            "label": "Renamed",
            "enabled": true,
            "config": {},
            "channels": [],
            "lastFiredAt": null,
            "firedCount": 0,
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:05:00.000Z"
          },
          "note": "Update alert."
        }
      ]
    },
    {
      "id": "alerts.delete",
      "domain": "alerts",
      "summary": "Delete an alert rule.",
      "description_key": "actions.alerts.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "alert.deleted",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.delete",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete alert."
        }
      ]
    },
    {
      "id": "alerts.enable",
      "domain": "alerts",
      "summary": "Enable an alert rule.",
      "description_key": "actions.alerts.enable.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "alert.updated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.enable",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000"
          },
          "output": {
            "id": "alert_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "type": "quota_threshold",
            "label": "Quota",
            "enabled": true,
            "config": {},
            "channels": [],
            "lastFiredAt": null,
            "firedCount": 0,
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Enable."
        }
      ]
    },
    {
      "id": "alerts.disable",
      "domain": "alerts",
      "summary": "Disable an alert rule without deleting it.",
      "description_key": "actions.alerts.disable.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "alert.updated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.disable",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000"
          },
          "output": {
            "id": "alert_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "type": "quota_threshold",
            "label": "Quota",
            "enabled": false,
            "config": {},
            "channels": [],
            "lastFiredAt": null,
            "firedCount": 0,
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Disable."
        }
      ]
    },
    {
      "id": "alerts.test-fire",
      "domain": "alerts",
      "summary": "Fire a synthetic test of an alert to verify channels.",
      "description_key": "actions.alerts.test-fire.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.test-fire",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000"
          },
          "output": {
            "fired": true,
            "channelResults": [
              {
                "kind": "email",
                "success": true
              }
            ]
          },
          "note": "Test fire."
        }
      ]
    },
    {
      "id": "alerts.kinds.list",
      "domain": "alerts",
      "summary": "List all supported alert kinds + their config shapes + severity classifications.",
      "description_key": "actions.alerts.kinds.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.kinds.list",
      "examples": [
        {
          "input": {},
          "output": {
            "kinds": [
              {
                "id": "quota_threshold",
                "label": "Quota threshold tripped",
                "description": "Run or Number One quota crossed a configured percent of the monthly allowance.",
                "severity": "ops",
                "configurable": true
              }
            ]
          },
          "note": "Discover alert kinds."
        }
      ]
    },
    {
      "id": "alerts.history.list",
      "domain": "alerts",
      "summary": "List historical firings for a given alert rule.",
      "description_key": "actions.alerts.history.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/alerts.history.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000"
          },
          "output": {
            "firings": [],
            "nextCursor": null
          },
          "note": "Read alert fire history."
        }
      ]
    },
    {
      "id": "exports.list",
      "domain": "exports",
      "summary": "List exports for a workspace.",
      "description_key": "actions.exports.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "exports.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "exports": [],
            "nextCursor": null
          },
          "note": "List exports."
        }
      ]
    },
    {
      "id": "exports.get",
      "domain": "exports",
      "summary": "Get a single export's status + metadata.",
      "description_key": "actions.exports.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "exports.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "exportId": "exp_abc"
          },
          "output": {
            "exportId": "exp_abc",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kind": "audit-log",
            "status": "ready",
            "format": "json",
            "requestedAt": "2026-05-22T12:00:00.000Z",
            "readyAt": "2026-05-22T12:10:00.000Z",
            "expiresAt": "2026-05-29T12:10:00.000Z"
          },
          "note": "Read export status."
        }
      ]
    },
    {
      "id": "exports.request",
      "domain": "exports",
      "summary": "Request a new compliance export. Returns the export id; status polls reveal readiness.",
      "description_key": "actions.exports.request.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "exports.create"
      ],
      "audit_kind": "export.requested",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.request",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kind": "compliance-bundle",
            "format": "zip"
          },
          "output": {
            "exportId": "exp_abc",
            "estimatedReadyAt": "2026-05-22T12:10:00.000Z"
          },
          "note": "Request a compliance bundle."
        }
      ]
    },
    {
      "id": "exports.download",
      "domain": "exports",
      "summary": "Get the signed download URL for a ready export (URL is time-bounded; SHA-256 included for integrity check).",
      "description_key": "actions.exports.download.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "exports.download"
      ],
      "audit_kind": "export.completed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.download",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "exportId": "exp_abc"
          },
          "output": {
            "url": "https://r2.trustvice.com/exports/abc",
            "expiresAt": "2026-05-22T13:00:00.000Z",
            "sha256": "abcd1234567890abcdef1234567890abcdef1234567890abcdef12345678abcd"
          },
          "note": "Get signed download URL."
        }
      ]
    },
    {
      "id": "exports.verify",
      "domain": "exports",
      "summary": "Verify an export's Ed25519 signature + OTS Bitcoin proof. Offline-verifiable.",
      "description_key": "actions.exports.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.verify",
      "examples": [
        {
          "input": {
            "exportSha256": "abcd1234567890abcdef1234567890abcdef1234567890abcdef12345678abcd",
            "signature": "...",
            "signingKeyId": "trustvice-2026-q2-enam"
          },
          "output": {
            "valid": true,
            "signatureValid": true,
            "otsValid": true,
            "errors": []
          },
          "note": "Offline verify an export."
        }
      ]
    },
    {
      "id": "exports.entpoind.receipt-bundle.request",
      "domain": "exports",
      "summary": "Request a portable Trustvice-receipt bundle — JSON manifest + receipt files + public key JWK + verify README. Verifiable with @entpoind/verify.",
      "description_key": "actions.exports.entpoind.receipt-bundle.request.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "exports.create"
      ],
      "audit_kind": "export.requested",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.entpoind.receipt-bundle.request",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "primitiveFilter": [
              "agent.call",
              "content.attest"
            ]
          },
          "output": {
            "exportId": "exp_entp_abc",
            "estimatedReadyAt": "2026-05-22T12:15:00.000Z"
          },
          "note": "Bundle Trustvice receipts."
        }
      ]
    },
    {
      "id": "exports.eu-ai-act.article-12.request",
      "domain": "exports",
      "summary": "Request an EU AI Act Article 12 compliant log bundle (prEN 18229-1 + ISO/IEC DIS 24970 schema). Cannot be disabled — regulatory mandate.",
      "description_key": "actions.exports.eu-ai-act.article-12.request.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "exports.create"
      ],
      "audit_kind": "export.requested",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.eu-ai-act.article-12.request",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "since": "2026-04-01T00:00:00.000Z",
            "until": "2026-05-01T00:00:00.000Z"
          },
          "output": {
            "exportId": "exp_eu12_abc",
            "estimatedReadyAt": "2026-05-22T12:30:00.000Z",
            "schemaVersion": "prEN-18229-1-draft-2026-03"
          },
          "note": "EU AI Act Art. 12 compliance export."
        }
      ]
    },
    {
      "id": "exports.audit-log.request",
      "domain": "exports",
      "summary": "Request a JSON or CSV export of the workspace audit log filtered by time + kind.",
      "description_key": "actions.exports.audit-log.request.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "exports.create",
        "settings.view_audit_log"
      ],
      "audit_kind": "export.requested",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.audit-log.request",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "format": "csv"
          },
          "output": {
            "exportId": "exp_audit_abc",
            "estimatedReadyAt": "2026-05-22T12:10:00.000Z"
          },
          "note": "Export audit log as CSV."
        }
      ]
    },
    {
      "id": "exports.kinds.list",
      "domain": "exports",
      "summary": "List the supported export kinds + their output formats + retention.",
      "description_key": "actions.exports.kinds.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.kinds.list",
      "examples": [
        {
          "input": {},
          "output": {
            "kinds": [
              {
                "id": "compliance-bundle",
                "label": "Compliance bundle",
                "description": "Full audit + custody + receipts + signing keys for offline verification.",
                "supportedFormats": [
                  "zip"
                ],
                "retentionDays": 7
              }
            ]
          },
          "note": "Discover export kinds."
        }
      ]
    },
    {
      "id": "exports.delete",
      "domain": "exports",
      "summary": "Delete a completed export (frees R2 storage immediately).",
      "description_key": "actions.exports.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "exports.view"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/exports.delete",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "exportId": "exp_abc"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete an export."
        }
      ]
    },
    {
      "id": "retention.policy.get",
      "domain": "retention",
      "summary": "Get the active retention policy for a workspace.",
      "description_key": "actions.retention.policy.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.policy.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "retentionDays": 365,
            "isCustom": false,
            "appliedAt": "2026-01-01T00:00:00.000Z",
            "appliedBy": "tier_default"
          },
          "note": "Read retention policy."
        }
      ]
    },
    {
      "id": "retention.policy.update",
      "domain": "retention",
      "summary": "Update workspace retention days (within tier limits).",
      "description_key": "actions.retention.policy.update.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "settings.edit_retention"
      ],
      "audit_kind": "retention.updated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.policy.update",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "retentionDays": 730
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "retentionDays": 730,
            "isCustom": true,
            "appliedAt": "2026-05-22T12:00:00.000Z",
            "appliedBy": "acc_DEMO00000000000000000000"
          },
          "note": "Extend retention via paid extension."
        }
      ]
    },
    {
      "id": "retention.histogram.get",
      "domain": "retention",
      "summary": "Get a histogram of record ages in the workspace (helps visualize what's near purge).",
      "description_key": "actions.retention.histogram.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.histogram.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "buckets": [
              {
                "ageDays": 0,
                "recordCount": 1000
              },
              {
                "ageDays": 7,
                "recordCount": 900
              }
            ],
            "totalRecords": 12000,
            "oldestRecordAge": 350
          },
          "note": "Read age distribution."
        }
      ]
    },
    {
      "id": "retention.next-purge.preview",
      "domain": "retention",
      "summary": "Preview which records will purge in the next cycle (live 1-Hz countdown on the dashboard).",
      "description_key": "actions.retention.next-purge.preview.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.next-purge.preview",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "purgeAt": "2026-05-22T13:00:00.000Z",
            "recordsToBepurged": 42,
            "sampleEntries": []
          },
          "note": "Preview upcoming purge."
        }
      ]
    },
    {
      "id": "retention.purge-history.list",
      "domain": "retention",
      "summary": "List historical purge events with verification status.",
      "description_key": "actions.retention.purge-history.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.purge-history.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "purges": [],
            "nextCursor": null
          },
          "note": "Read purge history."
        }
      ]
    },
    {
      "id": "retention.extension.subscribe",
      "domain": "retention",
      "summary": "Subscribe to the paid retention extension at the per-tier rate.",
      "description_key": "actions.retention.extension.subscribe.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.subscribe_addons"
      ],
      "audit_kind": "retention.updated",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.extension.subscribe",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "extendedToDays": 1095
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "extendedToDays": 1095,
            "monthlyCostUsdMinor": 1200,
            "perGbMonthlyCostUsdMinor": 1000,
            "storageGbBilled": 1.2,
            "startedAt": "2026-05-22T12:00:00.000Z",
            "canceledAt": null,
            "effectiveUntil": null
          },
          "note": "Subscribe to 3-year retention extension."
        }
      ]
    },
    {
      "id": "retention.extension.get",
      "domain": "retention",
      "summary": "Get the current retention extension subscription (if any).",
      "description_key": "actions.retention.extension.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.extension.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "extendedToDays": 1825,
            "monthlyCostUsdMinor": 2400,
            "perGbMonthlyCostUsdMinor": 1000,
            "storageGbBilled": 2.4,
            "startedAt": "2026-05-22T12:00:00.000Z",
            "canceledAt": null,
            "effectiveUntil": null
          },
          "note": "A workspace with the 5-year retention extension."
        },
        {
          "input": {
            "workspaceId": "ws_NOEXTENSION0000000000"
          },
          "output": null,
          "note": "Workspace has no extension subscription."
        }
      ]
    },
    {
      "id": "retention.extension.update",
      "domain": "retention",
      "summary": "Update the active retention extension (change duration).",
      "description_key": "actions.retention.extension.update.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.subscribe_addons"
      ],
      "audit_kind": "retention.updated",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.extension.update",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "extendedToDays": 1825
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "extendedToDays": 1825,
            "monthlyCostUsdMinor": 2400,
            "perGbMonthlyCostUsdMinor": 1000,
            "storageGbBilled": 2.4,
            "startedAt": "2026-05-22T12:00:00.000Z",
            "canceledAt": null,
            "effectiveUntil": null
          },
          "note": "Bump to 5-year retention."
        }
      ]
    },
    {
      "id": "retention.extension.cancel",
      "domain": "retention",
      "summary": "Cancel the retention extension at the end of the current billing period.",
      "description_key": "actions.retention.extension.cancel.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.subscribe_addons"
      ],
      "audit_kind": "retention.updated",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.extension.cancel",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "extendedToDays": 1825,
            "monthlyCostUsdMinor": 2400,
            "perGbMonthlyCostUsdMinor": 1000,
            "storageGbBilled": 2.4,
            "startedAt": "2026-05-22T12:00:00.000Z",
            "canceledAt": "2026-05-22T12:00:00.000Z",
            "effectiveUntil": "2026-06-22T00:00:00.000Z"
          },
          "note": "Cancel at period end."
        }
      ]
    },
    {
      "id": "retention.extension.rates.list",
      "domain": "retention",
      "summary": "List the per-tier retention extension rates (USD cents per GB per month).",
      "description_key": "actions.retention.extension.rates.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.extension.rates.list",
      "examples": [
        {
          "input": {},
          "output": {
            "rates": [
              {
                "tier": "free",
                "perGbCentsPerMonth": 1200
              },
              {
                "tier": "starter",
                "perGbCentsPerMonth": 1100
              }
            ]
          },
          "note": "List per-tier rates."
        }
      ]
    },
    {
      "id": "retention.policy.suggested-tier.get",
      "domain": "retention",
      "summary": "Recommend a higher tier if the workspace's data growth + retention needs make extension uneconomical.",
      "description_key": "actions.retention.policy.suggested-tier.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "billing.view"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.policy.suggested-tier.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "suggestedTier": "pro",
            "monthlySavingsUsdMinor": 800,
            "explanation": "At your current storage growth, Pro tier's bundled retention saves about $8/mo over the extension."
          },
          "note": "Suggested upgrade."
        }
      ]
    },
    {
      "id": "retention.audit.list",
      "domain": "retention",
      "summary": "List retention-policy audit events (changes, purges, extensions).",
      "description_key": "actions.retention.audit.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.audit.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read retention audit."
        }
      ]
    },
    {
      "id": "retention.subject-key.issue",
      "domain": "retention",
      "summary": "Issue (or fetch) the per-subject data key whose destruction IS the erasure.",
      "description_key": "actions.retention.subject-key.issue.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "settings.edit_retention"
      ],
      "audit_kind": "retention.updated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.subject-key.issue",
      "examples": [
        {
          "input": {
            "dataSubjectRefHash": "sha256:9f2c…"
          },
          "output": {
            "keyId": "sk_01J9",
            "dek": "base64url…",
            "created": true
          },
          "note": "The plaintext key is never stored, so destroying the row is the shred."
        }
      ]
    },
    {
      "id": "retention.subject.shred",
      "domain": "retention",
      "summary": "Destroy a data subject's key and append the destruction to the hash-chained shred ledger.",
      "description_key": "actions.retention.subject.shred.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "settings.edit_retention"
      ],
      "audit_kind": "retention.updated",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.subject.shred",
      "examples": [
        {
          "input": {
            "dataSubjectRefHash": "sha256:9f2c…"
          },
          "output": {
            "shredded": true,
            "keyId": "sk_01J9",
            "bytesAffected": 40211,
            "recordKinds": [
              "support_attachment"
            ],
            "chainSeq": 12,
            "reason": "The key was destroyed; the ciphertext it protected is unopenable.",
            "notes": []
          },
          "note": "Destroy first, then append — a ledger entry for a destruction that did not happen is worse than no entry."
        }
      ]
    },
    {
      "id": "retention.erasure-certificate.get",
      "domain": "retention",
      "summary": "Certify what was destroyed for one data subject, with the chain verified.",
      "description_key": "actions.retention.erasure-certificate.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/retention.erasure-certificate.get",
      "examples": [
        {
          "input": {
            "dsrRef": "dsr_01J9",
            "dataSubjectRefHash": "sha256:9f2c…"
          },
          "output": {
            "certificate": {
              "dsrRef": "dsr_01J9",
              "entries": 1
            },
            "chainVerified": true,
            "notes": []
          },
          "note": "GDPR Art. 17 — what was destroyed, and what provably was not."
        }
      ]
    },
    {
      "id": "audit.workspace.list",
      "domain": "audit",
      "summary": "List audit log entries for a workspace.",
      "description_key": "actions.audit.workspace.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.workspace.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read workspace audit log."
        }
      ]
    },
    {
      "id": "audit.workspace.get",
      "domain": "audit",
      "summary": "Get a specific audit entry by id.",
      "description_key": "actions.audit.workspace.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.workspace.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "entryId": "aud_DEMO00000000000000000000"
          },
          "output": {
            "id": "aud_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "timestamp": "2026-05-22T12:00:00.000Z",
            "kind": "workspace.created",
            "outcome": "success"
          },
          "note": "Fetch a single entry."
        }
      ]
    },
    {
      "id": "audit.workspace.search",
      "domain": "audit",
      "summary": "Full-text search across a workspace's audit log.",
      "description_key": "actions.audit.workspace.search.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.workspace.search",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "query": "alice@example.com"
          },
          "output": {
            "entries": []
          },
          "note": "Search for any mention of an email in the audit log."
        }
      ]
    },
    {
      "id": "audit.workspace.live-tail",
      "domain": "audit",
      "summary": "Open a streaming subscription to new audit entries (SSE/streamable HTTP).",
      "description_key": "actions.audit.workspace.live-tail.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": false,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.workspace.live-tail",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "subscription": "sub_abc",
            "startedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Open a live tail subscription."
        }
      ]
    },
    {
      "id": "audit.workspace.share",
      "domain": "audit",
      "summary": "Generate a time-bounded share URL to an audit entry (for external auditors).",
      "description_key": "actions.audit.workspace.share.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.workspace.share",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "entryId": "aud_DEMO00000000000000000000",
            "ttlHours": 24,
            "note": "Q3 audit — Foo & Co LLP"
          },
          "output": {
            "shareUrl": "https://trustvice.com/audit/share/abc",
            "expiresAt": "2026-05-23T12:00:00.000Z"
          },
          "note": "Share with auditor."
        }
      ]
    },
    {
      "id": "audit.workspace.share.list",
      "domain": "audit",
      "summary": "List the audit share links this workspace has minted, and whether each is still live.",
      "description_key": "actions.audit.workspace.share.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.workspace.share.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "shares": [
              {
                "shareId": "a1b2c3d4e5f6a1b2c3d4e5f6",
                "entryId": "aud_DEMO00000000000000000000",
                "note": "Q3 audit — Foo & Co LLP",
                "createdAt": "2026-05-22T12:00:00.000Z",
                "expiresAt": "2026-05-23T12:00:00.000Z",
                "revokedAt": null,
                "live": true
              }
            ],
            "count": 1
          },
          "note": "See what has been shared."
        }
      ]
    },
    {
      "id": "audit.workspace.share.revoke",
      "domain": "audit",
      "summary": "Revoke an audit share link before it expires.",
      "description_key": "actions.audit.workspace.share.revoke.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.workspace.share.revoke",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "shareId": "a1b2c3d4e5f6a1b2c3d4e5f6"
          },
          "output": {
            "shareId": "a1b2c3d4e5f6a1b2c3d4e5f6",
            "revokedAt": "2026-05-22T18:00:00.000Z",
            "alreadyRevoked": false
          },
          "note": "Close a share early."
        }
      ]
    },
    {
      "id": "audit.custody.list",
      "domain": "audit",
      "summary": "List custody chain entries for a workspace (hash-chained, Ed25519-signed).",
      "description_key": "actions.audit.custody.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.custody.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read custody chain."
        }
      ]
    },
    {
      "id": "audit.custody.get",
      "domain": "audit",
      "summary": "Get a custody entry by id (includes Ed25519 signature for offline verification).",
      "description_key": "actions.audit.custody.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.custody.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "entryId": "cust_DEMO0000-0000-0000-0000-000000000000"
          },
          "output": {
            "id": "cus_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "timestamp": "2026-05-22T12:00:00.000Z",
            "prevHash": "0000000000000000000000000000000000000000000000000000000000000000",
            "entryHash": "abcd567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
            "signature": "...",
            "signingKeyId": "entpoind-2026-q2-enam"
          },
          "note": "Fetch a custody entry."
        }
      ]
    },
    {
      "id": "audit.custody.verify",
      "domain": "audit",
      "summary": "Walk the workspace's custody chain and report whether it holds, naming the sequence where it breaks.",
      "description_key": "actions.audit.custody.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.custody.verify",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "limit": 1000
          },
          "output": {
            "ok": true,
            "checkedCount": 42,
            "tipHash": "abcd567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
            "breakAtSeq": null,
            "breakReason": null,
            "truncated": false
          },
          "note": "Verify the custody chain."
        }
      ]
    },
    {
      "id": "audit.tops.list",
      "domain": "audit",
      "summary": "List Tops feed entries (hash-chained + Ed25519-signed + OTS Bitcoin-anchored).",
      "description_key": "actions.audit.tops.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.tops.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read Tops feed."
        }
      ]
    },
    {
      "id": "audit.tops.verify",
      "domain": "audit",
      "summary": "Verify the hash chain + signatures + OTS proof of a range of Tops entries.",
      "description_key": "actions.audit.tops.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.tops.verify",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "fromEntryId": "tops_AAAA00000000000000000000",
            "toEntryId": "tops_ZZZZ00000000000000000000"
          },
          "output": {
            "chainValid": true,
            "signaturesValid": true,
            "otsValid": true,
            "errors": []
          },
          "note": "Verify a Tops range end-to-end."
        }
      ]
    },
    {
      "id": "audit.tops.continuity",
      "domain": "audit",
      "summary": "Check whether a Tops chain is committed through the period — the gap a passing hash walk cannot show.",
      "description_key": "actions.audit.tops.continuity.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.tops.continuity",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "standing": "nothing_sealed",
            "entryCount": 3,
            "sealedCount": 0,
            "unsealedCount": 3,
            "attestedAnchorCount": 0,
            "periodEnd": "2026-09-04T00:00:00.000Z",
            "tail": null,
            "head": null,
            "continuous": false,
            "missingEntries": 0,
            "supportedClaim": "All 3 entr(ies) link correctly and NONE is covered by a seal.",
            "notes": []
          },
          "note": "The same chain audit.tops.verify reports as valid."
        }
      ]
    },
    {
      "id": "audit.shadow-sessions.list",
      "domain": "audit",
      "summary": "List Trustvice-staff shadow-mode sessions on a workspace.",
      "description_key": "actions.audit.shadow-sessions.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.shadow-sessions.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "sessions": [],
            "nextCursor": null
          },
          "note": "List Trustvice-staff shadow sessions."
        }
      ]
    },
    {
      "id": "audit.shadow-sessions.get",
      "domain": "audit",
      "summary": "Get full details + action feed of a shadow-mode session.",
      "description_key": "actions.audit.shadow-sessions.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.shadow-sessions.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "sessionId": "shadow_abc"
          },
          "output": {
            "session": {},
            "actions": []
          },
          "note": "Inspect a shadow session."
        }
      ]
    },
    {
      "id": "audit.aggregate",
      "domain": "audit",
      "summary": "Group + count audit entries by a dimension (kind, transport, outcome, agentClientId).",
      "description_key": "actions.audit.aggregate.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.aggregate",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "by": "transport"
          },
          "output": {
            "buckets": [
              {
                "key": "rest",
                "count": 1234
              },
              {
                "key": "mcp",
                "count": 567
              }
            ]
          },
          "note": "Group by transport."
        }
      ]
    },
    {
      "id": "audit.kinds.list",
      "domain": "audit",
      "summary": "List all audit-kind discriminator values supported by the platform.",
      "description_key": "actions.audit.kinds.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.kinds.list",
      "examples": [
        {
          "input": {},
          "output": {
            "kinds": [
              {
                "id": "workspace.created",
                "category": "workspace",
                "description": "A new workspace was created."
              }
            ]
          },
          "note": "Discover audit kinds."
        }
      ]
    },
    {
      "id": "audit.export.scoped",
      "domain": "audit",
      "summary": "Request a scoped CSV/JSON export of audit entries matching filters. Returns a download URL when ready (signed, time-bounded).",
      "description_key": "actions.audit.export.scoped.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "exports.create"
      ],
      "audit_kind": "export.requested",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.export.scoped",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "format": "compliance-bundle"
          },
          "output": {
            "exportId": "exp_abc",
            "status": "queued"
          },
          "note": "Queue a compliance-bundle export."
        }
      ]
    },
    {
      "id": "audit.outside-access.list",
      "domain": "audit",
      "summary": "List entries representing access from outside the workspace's normal principals (admin reads, side-car reads, share-url access).",
      "description_key": "actions.audit.outside-access.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view_audit_log"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.outside-access.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "See every external touch on this workspace."
        }
      ]
    },
    {
      "id": "audit.stream.list",
      "domain": "audit",
      "summary": "List the workspace's SIEM/S3 audit-stream destinations (Splunk HEC / Datadog / webhook / S3), with sealed credentials masked.",
      "description_key": "actions.audit.stream.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.stream.list",
      "examples": [
        {
          "input": {},
          "output": {
            "destinations": []
          },
          "note": "List audit-stream destinations."
        }
      ]
    },
    {
      "id": "audit.stream.configure",
      "domain": "audit",
      "summary": "Create or update a SIEM/S3 audit-stream destination. A provided vendor token / S3 secret / webhook secret is sealed at rest.",
      "description_key": "actions.audit.stream.configure.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.edit_integrations"
      ],
      "audit_kind": "audit.stream.configured",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.stream.configure",
      "examples": [
        {
          "input": {
            "kind": "splunk_hec",
            "displayName": "SOC Splunk",
            "endpoint": "https://http-inputs.splunkcloud.com",
            "token": "hec-EXAMPLE0000TOKEN0000"
          },
          "output": {
            "destination": null
          },
          "note": "Add a Splunk HEC destination."
        }
      ]
    },
    {
      "id": "audit.stream.delete",
      "domain": "audit",
      "summary": "Delete an audit-stream destination by id (workspace-scoped).",
      "description_key": "actions.audit.stream.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "settings.edit_integrations"
      ],
      "audit_kind": "audit.stream.configured",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/audit.stream.delete",
      "examples": [
        {
          "input": {
            "id": "astr_abc"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete a destination."
        }
      ]
    },
    {
      "id": "tops.config.get",
      "domain": "tops",
      "summary": "Get the Tops config for a specific scope (org, workspace, or actor).",
      "description_key": "actions.tops.config.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.get",
      "examples": [
        {
          "input": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000",
            "enabled": true,
            "kinds": [
              "run",
              "policy_change"
            ],
            "environments": [
              "production"
            ],
            "samplingPercent": 100,
            "detailLevel": "safe",
            "updatedAt": "2026-05-22T12:00:00.000Z",
            "updatedBy": "acc_DEMO00000000000000000000"
          },
          "note": "Read scope config."
        }
      ]
    },
    {
      "id": "tops.config.set",
      "domain": "tops",
      "summary": "Set the Tops config for a scope. Forensic detail level requires explicit acknowledgement.",
      "description_key": "actions.tops.config.set.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.set",
      "examples": [
        {
          "input": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000",
            "enabled": true,
            "kinds": [
              "run",
              "policy_change"
            ],
            "environments": [
              "production"
            ],
            "samplingPercent": 100,
            "detailLevel": "extended"
          },
          "output": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000",
            "enabled": true,
            "kinds": [
              "run",
              "policy_change"
            ],
            "environments": [
              "production"
            ],
            "samplingPercent": 100,
            "detailLevel": "extended",
            "updatedAt": "2026-05-22T12:00:00.000Z",
            "updatedBy": "acc_DEMO00000000000000000000"
          },
          "note": "Set scope config."
        }
      ]
    },
    {
      "id": "tops.config.delete",
      "domain": "tops",
      "summary": "Delete a scope-level Tops config (scope reverts to parent inheritance).",
      "description_key": "actions.tops.config.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.delete",
      "examples": [
        {
          "input": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete scope config."
        }
      ]
    },
    {
      "id": "tops.config.list",
      "domain": "tops",
      "summary": "List Tops configs (all scopes in an org or workspace).",
      "description_key": "actions.tops.config.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "configs": [],
            "nextCursor": null
          },
          "note": "List configs."
        }
      ]
    },
    {
      "id": "tops.config.cascade.resolve",
      "domain": "tops",
      "summary": "Resolve the effective Tops config at a specific (org, workspace, actor) leaf — applies the leaf-wins cascade.",
      "description_key": "actions.tops.config.cascade.resolve.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.cascade.resolve",
      "examples": [
        {
          "input": {
            "organizationId": "org_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "effectiveConfig": {
              "scope": "workspace",
              "scopeId": "ws_DEMODEFAULT0000000000",
              "enabled": true,
              "kinds": [
                "run"
              ],
              "environments": [
                "production"
              ],
              "samplingPercent": 100,
              "detailLevel": "safe",
              "updatedAt": "2026-05-22T12:00:00.000Z",
              "updatedBy": "acc_DEMO00000000000000000000"
            },
            "source": "workspace",
            "inheritedFields": [
              "environments"
            ]
          },
          "note": "Resolve effective config."
        }
      ]
    },
    {
      "id": "tops.config.preset.apply",
      "domain": "tops",
      "summary": "Apply one of the 3 presets (Minimal / Recommended / Forensic) to a scope.",
      "description_key": "actions.tops.config.preset.apply.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.preset.apply",
      "examples": [
        {
          "input": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000",
            "presetId": "recommended"
          },
          "output": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000",
            "enabled": true,
            "kinds": [
              "run",
              "policy_change",
              "key_event"
            ],
            "environments": [
              "production"
            ],
            "samplingPercent": 100,
            "detailLevel": "safe",
            "updatedAt": "2026-05-22T12:00:00.000Z",
            "updatedBy": "acc_DEMO00000000000000000000"
          },
          "note": "Apply recommended preset."
        }
      ]
    },
    {
      "id": "tops.config.presets.list",
      "domain": "tops",
      "summary": "List the 3 supported presets with their config shapes + tradeoff labels.",
      "description_key": "actions.tops.config.presets.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.presets.list",
      "examples": [
        {
          "input": {},
          "output": {
            "presets": [
              {
                "id": "minimal",
                "label": "Minimal",
                "description": "Smallest footprint; just the essentials.",
                "config": {},
                "tradeoff": "May miss forensic detail in incidents."
              }
            ]
          },
          "note": "Discover presets."
        }
      ]
    },
    {
      "id": "tops.config.testbed.run",
      "domain": "tops",
      "summary": "Test the cascade resolver against a synthetic actor id to preview what entries it would generate.",
      "description_key": "actions.tops.config.testbed.run.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.testbed.run",
      "examples": [
        {
          "input": {
            "organizationId": "org_DEMO00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "actorId": "actor_demo00000000000000000000",
            "syntheticEvent": {
              "kind": "run"
            }
          },
          "output": {
            "resolved": {
              "scope": "workspace",
              "scopeId": "ws_DEMODEFAULT0000000000",
              "enabled": true,
              "kinds": [
                "run"
              ],
              "environments": [
                "production"
              ],
              "samplingPercent": 100,
              "detailLevel": "safe",
              "updatedAt": "2026-05-22T12:00:00.000Z",
              "updatedBy": "acc_DEMO00000000000000000000"
            },
            "wouldRecord": true,
            "wouldRecordFields": [
              "kind",
              "timestamp"
            ]
          },
          "note": "Test cascade."
        }
      ]
    },
    {
      "id": "tops.config.change-history.list",
      "domain": "tops",
      "summary": "List Tops-config change events (audit cross-link).",
      "description_key": "actions.tops.config.change-history.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.change-history.list",
      "examples": [
        {
          "input": {},
          "output": {
            "changes": [],
            "nextCursor": null
          },
          "note": "Read config change history."
        }
      ]
    },
    {
      "id": "tops.config.sparkline.get",
      "domain": "tops",
      "summary": "Get a 30-day sparkline of Tops detail-level changes (visualizes forensic-cooldown nudge).",
      "description_key": "actions.tops.config.sparkline.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.sparkline.get",
      "examples": [
        {
          "input": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "data": []
          },
          "note": "Sparkline data."
        }
      ]
    },
    {
      "id": "tops.config.audit-cross-links.get",
      "domain": "tops",
      "summary": "Get deep-links to the workspace audit log filtered by Tops-config-change events.",
      "description_key": "actions.tops.config.audit-cross-links.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.audit-cross-links.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "links": [
              {
                "label": "Recent config changes",
                "href": "/app/audit-log?source=tops"
              }
            ]
          },
          "note": "Audit cross-link helper."
        }
      ]
    },
    {
      "id": "tops.config.cooldown-status.get",
      "domain": "tops",
      "summary": "Check if a scope is in the forensic cooldown window (auto-revert nudge).",
      "description_key": "actions.tops.config.cooldown-status.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "settings.view"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tops.config.cooldown-status.get",
      "examples": [
        {
          "input": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "inCooldown": false,
            "enteredAt": null,
            "expiresAt": null
          },
          "note": "Read cooldown state."
        }
      ]
    },
    {
      "id": "referrals.code.get",
      "domain": "referrals",
      "summary": "Get your active referral code + share URL.",
      "description_key": "actions.referrals.code.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.code.get",
      "examples": [
        {
          "input": {},
          "output": {
            "code": "DEMO12",
            "shareUrl": "https://trustvice.com/?ref=DEMO12",
            "qrCodeDataUrl": "data:image/png;base64,..."
          },
          "note": "Read your referral code."
        }
      ]
    },
    {
      "id": "referrals.code.regenerate",
      "domain": "referrals",
      "summary": "Regenerate referral code. Old code stops working.",
      "description_key": "actions.referrals.code.regenerate.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.code.regenerate",
      "examples": [
        {
          "input": {},
          "output": {
            "code": "NEWCODE99"
          },
          "note": "Get a fresh referral code."
        }
      ]
    },
    {
      "id": "referrals.list-sent",
      "domain": "referrals",
      "summary": "List referrals you have sent.",
      "description_key": "actions.referrals.list-sent.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.list-sent",
      "examples": [
        {
          "input": {},
          "output": {
            "referrals": [],
            "nextCursor": null
          },
          "note": "List sent referrals."
        }
      ]
    },
    {
      "id": "referrals.list-received",
      "domain": "referrals",
      "summary": "List referrals where you were the referee.",
      "description_key": "actions.referrals.list-received.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.list-received",
      "examples": [
        {
          "input": {},
          "output": {
            "referrals": [],
            "nextCursor": null
          },
          "note": "List received referrals."
        }
      ]
    },
    {
      "id": "referrals.balance.get",
      "domain": "referrals",
      "summary": "Get your current point balance + lifetime multiplier tier.",
      "description_key": "actions.referrals.balance.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.balance.get",
      "examples": [
        {
          "input": {},
          "output": {
            "pointBalance": 1500,
            "lifetimeMultiplier": 1.2,
            "nextMultiplierAt": 2500
          },
          "note": "Read point balance."
        }
      ]
    },
    {
      "id": "referrals.funnel.get",
      "domain": "referrals",
      "summary": "Get conversion funnel analytics (sent → clicked → joined → redeemed).",
      "description_key": "actions.referrals.funnel.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.funnel.get",
      "examples": [
        {
          "input": {},
          "output": {
            "sent": 50,
            "clicked": 30,
            "joined": 12,
            "redeemed": 8
          },
          "note": "Read funnel."
        }
      ]
    },
    {
      "id": "referrals.redeem",
      "domain": "referrals",
      "summary": "Redeem a referral or voucher code.",
      "description_key": "actions.referrals.redeem.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.redeem",
      "examples": [
        {
          "input": {
            "code": "DEMO12"
          },
          "output": {
            "redeemed": true,
            "rewardKind": "points",
            "rewardValue": 1000
          },
          "note": "Redeem a code."
        }
      ]
    },
    {
      "id": "referrals.spend",
      "domain": "referrals",
      "summary": "Spend points on a reward (run pack, add-on credit, Every.org charity, etc.).",
      "description_key": "actions.referrals.spend.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.spend",
      "examples": [
        {
          "input": {
            "product": "every-org-charity",
            "pointAmount": 200,
            "metadata": {
              "charityId": "every:childrens-hospital"
            }
          },
          "output": {
            "spentAt": "2026-05-22T12:00:00.000Z",
            "transactionId": "tx_abc",
            "remainingBalance": 1300
          },
          "note": "Donate to charity."
        }
      ]
    },
    {
      "id": "referrals.spend-products.list",
      "domain": "referrals",
      "summary": "List the products you can redeem points against.",
      "description_key": "actions.referrals.spend-products.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.spend-products.list",
      "examples": [
        {
          "input": {},
          "output": {
            "products": [
              {
                "id": "every-org-charity",
                "label": "Charity donation via Every.org",
                "pointCost": 1,
                "description": "Donate to any Every.org charity at the cents-per-point rate."
              }
            ]
          },
          "note": "Discover spend products."
        }
      ]
    },
    {
      "id": "referrals.ledger.list",
      "domain": "referrals",
      "summary": "List point transactions (earned + spent).",
      "description_key": "actions.referrals.ledger.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/referrals.ledger.list",
      "examples": [
        {
          "input": {},
          "output": {
            "transactions": [],
            "nextCursor": null
          },
          "note": "Read point ledger."
        }
      ]
    },
    {
      "id": "number_one.conversation.create",
      "domain": "number_one",
      "summary": "Start a new Number One conversation.",
      "description_key": "actions.number_one.conversation.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.conversation.create",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "mode": "analyst",
            "title": "Q3 audit review"
          },
          "output": {
            "conversationId": "conv_demo00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "mode": "analyst",
            "title": "Q3 audit review",
            "startedAt": "2026-05-22T12:00:00.000Z",
            "lastActivityAt": "2026-05-22T12:00:00.000Z",
            "messageCount": 0,
            "factsLearnedCount": 0
          },
          "note": "Start a new conversation."
        }
      ]
    },
    {
      "id": "number_one.conversation.list",
      "domain": "number_one",
      "summary": "List your conversations (most recent first).",
      "description_key": "actions.number_one.conversation.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.conversation.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "conversations": [],
            "nextCursor": null
          },
          "note": "List conversations."
        }
      ]
    },
    {
      "id": "number_one.conversation.get",
      "domain": "number_one",
      "summary": "Get a conversation's metadata + recent messages.",
      "description_key": "actions.number_one.conversation.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.conversation.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conversationId": "conv_demo00000000000000000000"
          },
          "output": {
            "conversation": {
              "conversationId": "conv_demo00000000000000000000",
              "workspaceId": "ws_DEMODEFAULT0000000000",
              "mode": "analyst",
              "startedAt": "2026-05-22T12:00:00.000Z",
              "lastActivityAt": "2026-05-22T12:00:00.000Z",
              "messageCount": 0,
              "factsLearnedCount": 0
            },
            "messages": []
          },
          "note": "Read a conversation."
        }
      ]
    },
    {
      "id": "number_one.conversation.delete",
      "domain": "number_one",
      "summary": "Delete a conversation. Memory facts attached to it survive but lose conversation context.",
      "description_key": "actions.number_one.conversation.delete.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.conversation.delete",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conversationId": "conv_demo00000000000000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete a conversation."
        }
      ]
    },
    {
      "id": "number_one.message.send",
      "domain": "number_one",
      "summary": "Send a user message in a Number One conversation. Response streams back via SSE.",
      "description_key": "actions.number_one.message.send.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.message.send",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conversationId": "conv_demo00000000000000000000",
            "body": "What was my Trustvice Receipts usage last week?"
          },
          "output": {
            "assistantMessageId": "msg_demo00000000000000000000",
            "intent": "read",
            "confirmationRequired": false
          },
          "note": "Send a message."
        }
      ]
    },
    {
      "id": "number_one.message.list",
      "domain": "number_one",
      "summary": "List messages in a conversation.",
      "description_key": "actions.number_one.message.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.message.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conversationId": "conv_demo00000000000000000000"
          },
          "output": {
            "messages": [],
            "nextCursor": null
          },
          "note": "List messages."
        }
      ]
    },
    {
      "id": "number_one.mode.set",
      "domain": "number_one",
      "summary": "Switch a conversation's mode (Calculator / Analyst / Admin).",
      "description_key": "actions.number_one.mode.set.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.mode.set",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conversationId": "conv_demo00000000000000000000",
            "mode": "admin"
          },
          "output": {
            "conversationId": "conv_demo00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "mode": "admin",
            "startedAt": "2026-05-22T12:00:00.000Z",
            "lastActivityAt": "2026-05-22T12:00:00.000Z",
            "messageCount": 5,
            "factsLearnedCount": 2
          },
          "note": "Switch to Admin mode (requires step-up auth)."
        }
      ]
    },
    {
      "id": "number_one.memory.list",
      "domain": "number_one",
      "summary": "List memory facts pinned in a workspace.",
      "description_key": "actions.number_one.memory.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.memory.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "facts": [],
            "nextCursor": null
          },
          "note": "List memory facts."
        }
      ]
    },
    {
      "id": "number_one.memory.pin",
      "domain": "number_one",
      "summary": "Pin a memory fact so Number One reliably recalls it across conversations.",
      "description_key": "actions.number_one.memory.pin.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.memory.pin",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "factId": "fact_demo00000000000000000000"
          },
          "output": {
            "factId": "fact_demo00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "text": "Q3 audit is led by Foo & Co LLP",
            "pinned": true,
            "learnedFrom": "msg_abc",
            "learnedAt": "2026-05-22T12:00:00.000Z",
            "reinforcedAt": null
          },
          "note": "Pin a fact."
        }
      ]
    },
    {
      "id": "number_one.memory.unpin",
      "domain": "number_one",
      "summary": "Unpin a memory fact.",
      "description_key": "actions.number_one.memory.unpin.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.memory.unpin",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "factId": "fact_demo00000000000000000000"
          },
          "output": {
            "factId": "fact_demo00000000000000000000",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "text": "Q3 audit is led by Foo & Co LLP",
            "pinned": false,
            "learnedFrom": "msg_abc",
            "learnedAt": "2026-05-22T12:00:00.000Z",
            "reinforcedAt": null
          },
          "note": "Unpin."
        }
      ]
    },
    {
      "id": "number_one.memory.erase",
      "domain": "number_one",
      "summary": "Permanently erase a memory fact (cannot be recovered).",
      "description_key": "actions.number_one.memory.erase.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.memory.erase",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "factId": "fact_demo00000000000000000000"
          },
          "output": {
            "erased": true
          },
          "note": "Erase a fact."
        }
      ]
    },
    {
      "id": "number_one.memory.cap.get",
      "domain": "number_one",
      "summary": "Get the memory cap for the workspace's tier (or unlimited if Infinite Memory add-on is active).",
      "description_key": "actions.number_one.memory.cap.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/number_one.memory.cap.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "capFacts": 100,
            "usedFacts": 23,
            "infiniteMemoryActive": false
          },
          "note": "Read memory cap."
        }
      ]
    },
    {
      "id": "entpoind.monitor.http.add",
      "domain": "entpoind",
      "summary": "Register a new HTTP monitor (1-minute minimum interval).",
      "description_key": "actions.entpoind.monitor.http.add.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "entpoind.monitor.create"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.monitor.http.add",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "url": "https://api.example.com/health",
            "intervalSeconds": 60
          },
          "output": {
            "monitorId": "01J9X4P9R7Z2C1A1F2A8VBJYM1",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "url": "https://api.example.com/health",
            "method": "GET",
            "intervalSeconds": 60,
            "expectedStatusCodes": [
              200
            ],
            "enabled": true,
            "createdAt": "2026-05-22T12:00:00.000Z",
            "lastCheckAt": null
          },
          "note": "Register HTTP monitor."
        }
      ]
    },
    {
      "id": "entpoind.monitor.http.list",
      "domain": "entpoind",
      "summary": "List HTTP monitors in a workspace.",
      "description_key": "actions.entpoind.monitor.http.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.monitor.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.monitor.http.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "monitors": [],
            "nextCursor": null
          },
          "note": "List monitors."
        }
      ]
    },
    {
      "id": "entpoind.monitor.http.run-now",
      "domain": "entpoind",
      "summary": "Run a monitor check immediately (bypasses the scheduled interval).",
      "description_key": "actions.entpoind.monitor.http.run-now.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "entpoind.monitor.create"
      ],
      "audit_kind": null,
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.monitor.http.run-now",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "monitorId": "01J9X4P9R7Z2C1A1F2A8VBJYM1"
          },
          "output": {
            "statusCode": 200,
            "latencyMs": 87,
            "receiptId": "01H8X4P9R7Z2C1A1F2A8VBJYV7"
          },
          "note": "Run a monitor check now."
        }
      ]
    },
    {
      "id": "entpoind.monitor.http.remove",
      "domain": "entpoind",
      "summary": "Delete an HTTP monitor.",
      "description_key": "actions.entpoind.monitor.http.remove.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "entpoind.monitor.delete"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.monitor.http.remove",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "monitorId": "01J9X4P9R7Z2C1A1F2A8VBJYM1"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete monitor."
        }
      ]
    },
    {
      "id": "entpoind.watch.dns.add",
      "domain": "entpoind",
      "summary": "Register a DNS watch (detects record drift; signs every check as a receipt).",
      "description_key": "actions.entpoind.watch.dns.add.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "entpoind.watch.create"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.watch.dns.add",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "domain": "example.com",
            "recordType": "A"
          },
          "output": {
            "dnsWatchId": "01J9X4P9R7Z2C1A1F2A8VBJYD1",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "domain": "example.com",
            "recordType": "A",
            "intervalSeconds": 3600,
            "enabled": true
          },
          "note": "Register DNS watch."
        }
      ]
    },
    {
      "id": "entpoind.watch.dns.list",
      "domain": "entpoind",
      "summary": "List DNS watches in a workspace.",
      "description_key": "actions.entpoind.watch.dns.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.watch.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.watch.dns.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "watches": [],
            "nextCursor": null
          },
          "note": "List DNS watches."
        }
      ]
    },
    {
      "id": "entpoind.watch.dns.remove",
      "domain": "entpoind",
      "summary": "Delete a DNS watch.",
      "description_key": "actions.entpoind.watch.dns.remove.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "entpoind.watch.delete"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.watch.dns.remove",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "dnsWatchId": "01J9X4P9R7Z2C1A1F2A8VBJYD1"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete DNS watch."
        }
      ]
    },
    {
      "id": "entpoind.watch.tls.add",
      "domain": "entpoind",
      "summary": "Register a TLS certificate watch (detects cert changes; signs every check).",
      "description_key": "actions.entpoind.watch.tls.add.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "entpoind.watch.create"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.watch.tls.add",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "host": "example.com"
          },
          "output": {
            "tlsWatchId": "01J9X4P9R7Z2C1A1F2A8VBJYT1",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "host": "example.com",
            "port": 443,
            "intervalSeconds": 3600,
            "enabled": true
          },
          "note": "Register TLS watch."
        }
      ]
    },
    {
      "id": "entpoind.watch.tls.list",
      "domain": "entpoind",
      "summary": "List TLS watches in a workspace.",
      "description_key": "actions.entpoind.watch.tls.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.watch.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.watch.tls.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "watches": [],
            "nextCursor": null
          },
          "note": "List TLS watches."
        }
      ]
    },
    {
      "id": "entpoind.watch.tls.remove",
      "domain": "entpoind",
      "summary": "Delete a TLS watch.",
      "description_key": "actions.entpoind.watch.tls.remove.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "entpoind.watch.delete"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.watch.tls.remove",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "tlsWatchId": "01J9X4P9R7Z2C1A1F2A8VBJYT1"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete TLS watch."
        }
      ]
    },
    {
      "id": "entpoind.receipt.list",
      "domain": "entpoind",
      "summary": "List Trustvice receipts for a workspace.",
      "description_key": "actions.entpoind.receipt.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.receipt.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.receipt.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kind": "agent.call"
          },
          "output": {
            "receipts": [],
            "nextCursor": null
          },
          "note": "List receipts."
        }
      ]
    },
    {
      "id": "entpoind.receipt.get",
      "domain": "entpoind",
      "summary": "Get a single receipt with full body.",
      "description_key": "actions.entpoind.receipt.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.receipt.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.receipt.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "receiptId": "01H8X4P9R7Z2C1A1F2A8VBJYV2"
          },
          "output": {
            "receiptId": "01H8X4P9R7Z2C1A1F2A8VBJYV2",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kind": "agent.call",
            "issuedAt": "2026-05-22T12:00:00.000Z",
            "signature": "...",
            "signatureKeyId": "entpoind-2026-q2-enam",
            "body": {}
          },
          "note": "Read a receipt."
        }
      ]
    },
    {
      "id": "entpoind.receipt.verify",
      "domain": "entpoind",
      "summary": "Verify a receipt's Ed25519 signature against the published public key. Cannot be disabled.",
      "description_key": "actions.entpoind.receipt.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.receipt.verify",
      "examples": [
        {
          "input": {
            "receipt": {
              "receiptId": "01H8X4P9R7Z2C1A1F2A8VBJYV2",
              "workspaceId": "ws_DEMODEFAULT0000000000",
              "kind": "agent.call",
              "issuedAt": "2026-05-22T12:00:00.000Z",
              "signature": "...",
              "signatureKeyId": "entpoind-2026-q2-enam",
              "body": {}
            }
          },
          "output": {
            "ok": true,
            "signedAt": "2026-05-22T12:00:00.000Z",
            "signatureKeyId": "thLmyHDzi6rkbTb0KkPzmA"
          },
          "note": "Verify a receipt."
        }
      ]
    },
    {
      "id": "entpoind.usage.current",
      "domain": "entpoind",
      "summary": "Get current-period Trustvice Receipts usage for a workspace (calls per primitive + budget consumed).",
      "description_key": "actions.entpoind.usage.current.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.usage.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.usage.current",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "totalCalls": 12345,
            "perPrimitive": {
              "agent.call": 10000,
              "content.attest": 2345
            },
            "monthlyAllowance": 100000,
            "periodEnd": "2026-06-01T00:00:00.000Z"
          },
          "note": "Read current usage."
        }
      ]
    },
    {
      "id": "entpoind.usage.historical",
      "domain": "entpoind",
      "summary": "Get historical Trustvice Receipts usage (per-day breakdown for a date range).",
      "description_key": "actions.entpoind.usage.historical.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.usage.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.usage.historical",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "since": "2026-05-01T00:00:00.000Z"
          },
          "output": {
            "daily": []
          },
          "note": "Read historical usage."
        }
      ]
    },
    {
      "id": "entpoind.subscription.get",
      "domain": "entpoind",
      "summary": "Get workspace Trustvice Receipts subscription state.",
      "description_key": "actions.entpoind.subscription.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.subscription.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.subscription.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "enabled": true,
            "tier": "team",
            "abuseStatus": "clean",
            "autoOverageEnabled": true,
            "billingMode": "combined"
          },
          "note": "Read subscription state."
        }
      ]
    },
    {
      "id": "entpoind.subscription.cancel",
      "domain": "entpoind",
      "summary": "Cancel the Trustvice Receipts subscription at the next billing period. Workspace's existing receipts remain accessible.",
      "description_key": "actions.entpoind.subscription.cancel.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "billing.change_plan"
      ],
      "audit_kind": "plan.changed",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.subscription.cancel",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "reason": "Migrating to alternative receipt provider"
          },
          "output": {
            "canceled": true,
            "effectiveAt": "2026-06-22T00:00:00.000Z"
          },
          "note": "Cancel Trustvice Receipts subscription."
        }
      ]
    },
    {
      "id": "entpoind.abuse-status.get",
      "domain": "entpoind",
      "summary": "Get the current Trustvice Receipts abuse status for a workspace.",
      "description_key": "actions.entpoind.abuse-status.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.abuse.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.abuse-status.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "status": "clean",
            "flaggedAt": null,
            "suspendedAt": null,
            "reason": null,
            "latestAppeal": null
          },
          "note": "Read abuse status."
        }
      ]
    },
    {
      "id": "entpoind.abuse-status.appeal",
      "domain": "entpoind",
      "summary": "Submit an appeal against an abuse-status flag or suspension.",
      "description_key": "actions.entpoind.abuse-status.appeal.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "entpoind.abuse.appeal"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.abuse-status.appeal",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "appealText": "Our agent's traffic spike was a planned load test; here are the details + timestamps + IP CIDRs ..."
          },
          "output": {
            "appealId": "app_abc",
            "submittedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Submit abuse appeal."
        }
      ]
    },
    {
      "id": "entpoind.abuse-status.appeal.list",
      "domain": "entpoind",
      "summary": "List this workspace's abuse appeals and their decisions.",
      "description_key": "actions.entpoind.abuse-status.appeal.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.abuse.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.abuse-status.appeal.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "appeals": [
              {
                "appealId": "app_abc",
                "appealText": "Our agent's traffic spike was a planned load test ...",
                "submittedAt": "2026-05-22T12:00:00.000Z",
                "status": "pending"
              }
            ]
          },
          "note": "Read this workspace's appeals."
        }
      ]
    },
    {
      "id": "entpoind.signing-key.get",
      "domain": "entpoind",
      "summary": "Get the current active Trustvice Receipts signing key id for the workspace's jurisdiction.",
      "description_key": "actions.entpoind.signing-key.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.subscription.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.signing-key.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "signingKeyId": "entpoind-2026-q2-enam",
            "jurisdiction": "ENAM",
            "issuedAt": "2026-04-01T00:00:00.000Z",
            "expiresAt": "2027-04-01T00:00:00.000Z",
            "publishedAtUrl": "https://api.trustvice.com/.well-known/entpoind-keys.json"
          },
          "note": "Read signing key id."
        }
      ]
    },
    {
      "id": "entpoind.signing-key.list",
      "domain": "entpoind",
      "summary": "List all signing keys (active + historical) usable to verify the workspace's receipts.",
      "description_key": "actions.entpoind.signing-key.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.subscription.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.signing-key.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "keys": [
              {
                "signingKeyId": "entpoind-2026-q2-enam",
                "jurisdiction": "ENAM",
                "issuedAt": "2026-04-01T00:00:00.000Z",
                "expiresAt": "2027-04-01T00:00:00.000Z",
                "active": true
              }
            ]
          },
          "note": "List signing keys."
        }
      ]
    },
    {
      "id": "entpoind.signing-key.rotate-request.list",
      "domain": "entpoind",
      "summary": "List this workspace's signing-key rotation requests and their outcomes.",
      "description_key": "actions.entpoind.signing-key.rotate-request.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.subscription.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.signing-key.rotate-request.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "requests": [
              {
                "requestId": "rot_abc",
                "reason": "Q4 scheduled rotation per our internal policy",
                "status": "requested",
                "requestedAt": "2026-05-18T00:00:00.000Z",
                "estimatedRotationAt": "2026-06-01T00:00:00.000Z",
                "fulfilledAt": null
              }
            ]
          },
          "note": "Read this workspace's rotation requests."
        }
      ]
    },
    {
      "id": "entpoind.signing-key.public.get",
      "domain": "entpoind",
      "summary": "Get the public-key JWK for a specific signing key id (for offline verification).",
      "description_key": "actions.entpoind.signing-key.public.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.signing-key.public.get",
      "examples": [
        {
          "input": {
            "signingKeyId": "entpoind-2026-q2-enam"
          },
          "output": {
            "jwk": {
              "kty": "OKP",
              "crv": "Ed25519",
              "x": "..."
            },
            "issuedAt": "2026-04-01T00:00:00.000Z",
            "expiresAt": "2027-04-01T00:00:00.000Z"
          },
          "note": "Read public key JWK."
        }
      ]
    },
    {
      "id": "entpoind.status.get",
      "domain": "entpoind",
      "summary": "Get the Trustvice Receipts subsystem health (per-jurisdiction Worker uptime, per-primitive error rate, last self-attestation receipt).",
      "description_key": "actions.entpoind.status.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "entpoind.subscription.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.status.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "jurisdictions": [
              {
                "id": "ENAM",
                "uptimePercent": 99.95,
                "errorRatePercent": 0.02,
                "lastSelfAttestationAt": "2026-05-22T11:00:00.000Z"
              }
            ]
          },
          "note": "Read Trustvice Receipts health."
        }
      ]
    },
    {
      "id": "entpoind.attestation-feed.get",
      "domain": "entpoind",
      "summary": "Get the daily Trustvice Receipts self-attestation receipt feed (Trustvice attesting to its own platform integrity).",
      "description_key": "actions.entpoind.attestation-feed.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.attestation-feed.get",
      "examples": [
        {
          "input": {},
          "output": {
            "attestations": []
          },
          "note": "Read self-attestation feed."
        }
      ]
    },
    {
      "id": "entpoind.compliance.regimes.list",
      "domain": "entpoind",
      "summary": "List every compliance regime the registry models, with what is in force today and what is not yet.",
      "description_key": "actions.entpoind.compliance.regimes.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.compliance.regimes.list",
      "examples": [
        {
          "input": {},
          "output": {
            "asOf": "2026-08-11",
            "regimes": [],
            "obligationKinds": [],
            "evidencePrimitives": []
          },
          "note": "Read the regime catalogue."
        }
      ]
    },
    {
      "id": "entpoind.compliance.obligations.get",
      "domain": "entpoind",
      "summary": "Given a declared position, return the merged duty list across every governing regime — strictest timing wins, and regimes that wanted it looser are recorded.",
      "description_key": "actions.entpoind.compliance.obligations.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.compliance.obligations.get",
      "examples": [
        {
          "input": {
            "operatorRegisteredIn": [
              "eu-ai-act"
            ],
            "audienceRegions": [
              "eu"
            ]
          },
          "output": {
            "selection": {
              "regimes": [
                "eu-ai-act"
              ],
              "asOf": null,
              "notYetInForce": [],
              "expired": [],
              "inForceNotYetEnforced": [],
              "basis": "",
              "unsettled": [],
              "dutyFallsOnCustomerOnly": true
            },
            "obligations": [],
            "requiresFirstPartyDelivery": false,
            "advisory": true
          },
          "note": "Ask what an EU-facing operator owes."
        }
      ]
    },
    {
      "id": "entpoind.compliance.posture.get",
      "domain": "entpoind",
      "summary": "Conformity Live: which clauses the workspace's own signed receipts actually discharge, each with the receipt ids behind it.",
      "description_key": "actions.entpoind.compliance.posture.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/entpoind.compliance.posture.get",
      "examples": [
        {
          "input": {
            "operatorRegisteredIn": [
              "eu-ai-act"
            ],
            "audienceRegions": [
              "eu"
            ]
          },
          "output": {
            "evaluatedAt": "2026-09-04T00:00:00.000Z",
            "regimes": [
              "eu-ai-act"
            ],
            "selectionBasis": "",
            "clauses": [],
            "tally": {},
            "coverage": null,
            "evidenceComplete": true,
            "receiptsRead": 0,
            "complianceReceiptsUsed": 0,
            "notes": [],
            "advisory": "Advisory."
          },
          "note": "Ask what the workspace's receipts actually discharge."
        }
      ]
    },
    {
      "id": "privacy.dsr.submit",
      "domain": "privacy",
      "summary": "Submit a data-subject request (GDPR / CCPA). Cannot be disabled — statutory right.",
      "description_key": "actions.privacy.dsr.submit.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/privacy.dsr.submit",
      "examples": [
        {
          "input": {
            "kind": "access",
            "subjectEmail": "alice@example.com"
          },
          "output": {
            "dsrId": "dsr_abc",
            "kind": "access",
            "subjectEmail": "alice@example.com",
            "submittedAt": "2026-05-22T12:00:00.000Z",
            "status": "received",
            "completedAt": null
          },
          "note": "File an Art. 15 access request."
        }
      ]
    },
    {
      "id": "privacy.dsr.status",
      "domain": "privacy",
      "summary": "Check status of a submitted DSR. Cannot be disabled — statutory right.",
      "description_key": "actions.privacy.dsr.status.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/privacy.dsr.status",
      "examples": [
        {
          "input": {
            "dsrId": "dsr_abc"
          },
          "output": {
            "dsrId": "dsr_abc",
            "kind": "access",
            "subjectEmail": "alice@example.com",
            "submittedAt": "2026-05-22T12:00:00.000Z",
            "status": "in-progress",
            "completedAt": null
          },
          "note": "Status check."
        }
      ]
    },
    {
      "id": "privacy.dsr.list",
      "domain": "privacy",
      "summary": "List all DSRs filed for this account / workspace.",
      "description_key": "actions.privacy.dsr.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/privacy.dsr.list",
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "dsrs": [],
            "nextCursor": null
          },
          "note": "List your filed DSRs."
        }
      ]
    },
    {
      "id": "privacy.export.request",
      "domain": "privacy",
      "summary": "Request a personal-data export (GDPR Art. 20 — data portability). Cannot be disabled.",
      "description_key": "actions.privacy.export.request.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "export.requested",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/privacy.export.request",
      "examples": [
        {
          "input": {
            "format": "portable-archive"
          },
          "output": {
            "exportId": "exp_pii_abc",
            "estimatedReadyAt": "2026-05-22T13:00:00.000Z",
            "format": "portable-archive"
          },
          "note": "Art. 20 portability export."
        }
      ]
    },
    {
      "id": "privacy.export.download",
      "domain": "privacy",
      "summary": "Get a signed download URL for a completed personal-data export.",
      "description_key": "actions.privacy.export.download.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "export.completed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/privacy.export.download",
      "examples": [
        {
          "input": {
            "exportId": "exp_pii_abc"
          },
          "output": {
            "url": "https://r2.trustvice.com/exports/abc",
            "expiresAt": "2026-05-22T13:30:00.000Z",
            "sha256": "abcd..."
          },
          "note": "Download your export."
        }
      ]
    },
    {
      "id": "privacy.receipt.get",
      "domain": "privacy",
      "summary": "Get the Ed25519-signed completion receipt for a DSR (verifiable offline).",
      "description_key": "actions.privacy.receipt.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/privacy.receipt.get",
      "examples": [
        {
          "input": {
            "dsrId": "dsr_abc"
          },
          "output": {
            "receipt": {},
            "signingKeyId": "privacy-2026-q2-enam",
            "publicKeyUrl": "https://api.trustvice.com/.well-known/privacy-receipt-keys.json"
          },
          "note": "Receipt for offline verification."
        }
      ]
    },
    {
      "id": "privacy.receipt.verify",
      "domain": "privacy",
      "summary": "Verify a DSR receipt's Ed25519 signature + OTS proof against published public keys.",
      "description_key": "actions.privacy.receipt.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/privacy.receipt.verify",
      "examples": [
        {
          "input": {
            "receipt": {}
          },
          "output": {
            "valid": true,
            "signatureValid": true,
            "otsValid": true,
            "errors": []
          },
          "note": "Verify offline-style."
        }
      ]
    },
    {
      "id": "privacy.subject-rights.list",
      "domain": "privacy",
      "summary": "List the data-subject rights Trustvice honours (GDPR, CCPA, LGPD) + the legal references.",
      "description_key": "actions.privacy.subject-rights.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/privacy.subject-rights.list",
      "examples": [
        {
          "input": {},
          "output": {
            "rights": [
              {
                "kind": "access",
                "legalRef": "GDPR Art. 15",
                "description": "Right to access your personal data."
              }
            ]
          },
          "note": "Read supported rights."
        }
      ]
    },
    {
      "id": "support.tickets.list",
      "domain": "support",
      "summary": "List your support tickets.",
      "description_key": "actions.support.tickets.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/support.tickets.list",
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "tickets": [],
            "nextCursor": null
          },
          "note": "List your tickets."
        }
      ]
    },
    {
      "id": "support.tickets.create",
      "domain": "support",
      "summary": "Open a new support ticket.",
      "description_key": "actions.support.tickets.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/support.tickets.create",
      "examples": [
        {
          "input": {
            "subject": "Issue with Trustvice receipt verification",
            "body": "Hi — I'm seeing a signature_invalid error when verifying receipts from workspace ws_X. Could you take a look?",
            "priority": "normal"
          },
          "output": {
            "ticketId": "tkt_abc",
            "subject": "Issue with Trustvice receipt verification",
            "status": "open",
            "priority": "normal",
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:00:00.000Z",
            "resolvedAt": null
          },
          "note": "Open a new ticket."
        }
      ]
    },
    {
      "id": "support.tickets.get",
      "domain": "support",
      "summary": "Get a ticket's details + reply thread.",
      "description_key": "actions.support.tickets.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/support.tickets.get",
      "examples": [
        {
          "input": {
            "ticketId": "tkt_abc"
          },
          "output": {
            "ticket": {
              "ticketId": "tkt_abc",
              "subject": "Issue",
              "status": "open",
              "priority": "normal",
              "createdAt": "2026-05-22T12:00:00.000Z",
              "updatedAt": "2026-05-22T12:00:00.000Z",
              "resolvedAt": null
            },
            "replies": []
          },
          "note": "Read ticket + thread."
        }
      ]
    },
    {
      "id": "support.tickets.reply",
      "domain": "support",
      "summary": "Post a reply to a ticket.",
      "description_key": "actions.support.tickets.reply.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/support.tickets.reply",
      "examples": [
        {
          "input": {
            "ticketId": "tkt_abc",
            "body": "Thanks — here's the receipt hash from the failing verify call."
          },
          "output": {
            "replyId": "rep_abc",
            "ticketId": "tkt_abc",
            "author": "customer",
            "body": "Thanks — here's the receipt hash from the failing verify call.",
            "createdAt": "2026-05-22T12:05:00.000Z"
          },
          "note": "Reply to a ticket."
        }
      ]
    },
    {
      "id": "support.tickets.close",
      "domain": "support",
      "summary": "Close a ticket (optionally with a reason).",
      "description_key": "actions.support.tickets.close.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/support.tickets.close",
      "examples": [
        {
          "input": {
            "ticketId": "tkt_abc"
          },
          "output": {
            "ticketId": "tkt_abc",
            "subject": "Issue",
            "status": "closed",
            "priority": "normal",
            "createdAt": "2026-05-22T12:00:00.000Z",
            "updatedAt": "2026-05-22T12:10:00.000Z",
            "resolvedAt": "2026-05-22T12:10:00.000Z"
          },
          "note": "Close a ticket."
        }
      ]
    },
    {
      "id": "support.satisfaction.rate",
      "domain": "support",
      "summary": "Rate the support experience after a ticket closes.",
      "description_key": "actions.support.satisfaction.rate.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/support.satisfaction.rate",
      "examples": [
        {
          "input": {
            "ticketId": "tkt_abc",
            "speed": 5,
            "knowledge": 5,
            "friendliness": 5,
            "followThrough": 5,
            "outcome": 5
          },
          "output": {
            "recorded": true,
            "rebuildTriggered": false
          },
          "note": "Rate all five dimensions 5/5. Any dimension <= 2 sets rebuildTriggered."
        }
      ]
    },
    {
      "id": "discovery.capabilities.get",
      "domain": "discovery",
      "summary": "Get the full action registry catalogue (machine-readable). Same content as `/v1/actions.json`.",
      "description_key": "actions.discovery.capabilities.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/discovery.capabilities.get",
      "examples": [
        {
          "input": {},
          "output": {
            "actions": [],
            "generatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Discover all actions."
        }
      ]
    },
    {
      "id": "discovery.version.get",
      "domain": "discovery",
      "summary": "Get the platform version + contracts package version + supported MCP / OpenAPI spec versions.",
      "description_key": "actions.discovery.version.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/discovery.version.get",
      "examples": [
        {
          "input": {},
          "output": {
            "platform": "trustvice/1.0.0",
            "contracts": "0.1.23",
            "mcpSpecVersion": "2025-06-18",
            "openapiVersion": "3.1.0",
            "asyncapiVersion": "3.0.0"
          },
          "note": "Read all version + spec info."
        }
      ]
    },
    {
      "id": "discovery.schema.get",
      "domain": "discovery",
      "summary": "Get the JSON Schema for a specific action's input or output.",
      "description_key": "actions.discovery.schema.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/discovery.schema.get",
      "examples": [
        {
          "input": {
            "actionId": "workspace.create",
            "shape": "input"
          },
          "output": {
            "schema": {}
          },
          "note": "Get an action's JSON Schema."
        }
      ]
    },
    {
      "id": "discovery.locales.list",
      "domain": "discovery",
      "summary": "List supported user-facing locales.",
      "description_key": "actions.discovery.locales.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/discovery.locales.list",
      "examples": [
        {
          "input": {},
          "output": {
            "locales": [
              {
                "id": "en",
                "name": "English",
                "nativeName": "English"
              },
              {
                "id": "de",
                "name": "German",
                "nativeName": "Deutsch"
              }
            ]
          },
          "note": "Six supported locales."
        }
      ]
    },
    {
      "id": "discovery.plans.list",
      "domain": "discovery",
      "summary": "List the Trustvice 360 subscription plans.",
      "description_key": "actions.discovery.plans.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/discovery.plans.list",
      "examples": [
        {
          "input": {
            "product": "all"
          },
          "output": {
            "plans": [
              {
                "id": "free",
                "product": "trustvice",
                "name": "Free",
                "priceUsdMinor": 0,
                "features": [
                  "1 workspace",
                  "1k runs/mo"
                ]
              }
            ]
          },
          "note": "List all plans."
        }
      ]
    },
    {
      "id": "discovery.regions.list",
      "domain": "discovery",
      "summary": "List the data-residency regions a workspace can be bound to: the seven base regions and the extended AWS locations.",
      "description_key": "actions.discovery.regions.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/discovery.regions.list",
      "examples": [
        {
          "input": {},
          "output": {
            "regions": [
              {
                "id": "cloudflare-d1:weur-1",
                "provider": "cloudflare-d1",
                "label": "Europe Central",
                "countryCode": "EU",
                "euJurisdictionBound": true
              }
            ]
          },
          "note": "List all 33 regions (7 Cloudflare + 26 AWS Aurora)."
        }
      ]
    },
    {
      "id": "discovery.confirmation.token.verify",
      "domain": "discovery",
      "summary": "Verify a confirmation token is well-formed + still valid (cannot be disabled — safety floor).",
      "description_key": "actions.discovery.confirmation.token.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/discovery.confirmation.token.verify",
      "examples": [
        {
          "input": {
            "token": "..."
          },
          "output": {
            "valid": true,
            "actionId": "workspace.delete.schedule",
            "expiresAt": "2026-05-22T12:01:00.000Z"
          },
          "note": "Verify confirmation token."
        }
      ]
    },
    {
      "id": "agents.delegations.list",
      "domain": "agents",
      "summary": "List the A2A delegations this workspace has issued — the edges of the delegation graph (who delegated what to whom).",
      "description_key": "actions.agents.delegations.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.delegations.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "delegations": []
          },
          "note": "Read the delegation edges — the input kill-chain and Muster both need."
        }
      ]
    },
    {
      "id": "agents.identity.enroll",
      "domain": "agents",
      "summary": "Enroll a new W3C DID Web agent identity under your principal.",
      "description_key": "actions.agents.identity.enroll.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent.identity.enrolled",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.identity.enroll",
      "examples": [
        {
          "input": {
            "displayName": "GitHub Actions release attestor",
            "scopeKind": "workspace",
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "did": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000:github-actions-release-attestor",
            "documentUrl": "https://api.trustvice.com/.well-known/agents/ws_DEMODEFAULT0000000000/github-actions-release-attestor/did.json",
            "enrollmentCredential": "eyJhbGciOiJFZERTQSJ9…",
            "privateKeyRecoveryEnvelope": "v1:AES-256-GCM:…",
            "createdAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Enroll a workspace-scoped agent DID for CI signing."
        }
      ]
    },
    {
      "id": "agents.identity.list",
      "domain": "agents",
      "summary": "List enrolled agent DIDs visible to the principal.",
      "description_key": "actions.agents.identity.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.identity.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "agents": [],
            "nextCursor": null
          },
          "note": "List workspace-scoped agents."
        }
      ]
    },
    {
      "id": "agents.identity.get",
      "domain": "agents",
      "summary": "Get one enrolled agent DID with full document + rotation history.",
      "description_key": "actions.agents.identity.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.identity.get",
      "examples": [
        {
          "input": {
            "did": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc"
          },
          "output": {
            "record": {
              "did": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc",
              "displayName": "GitHub Actions release attestor",
              "description": null,
              "scopeKind": "workspace",
              "workspaceId": "ws_DEMODEFAULT0000000000",
              "organizationId": null,
              "alg": "EdDSA",
              "activeMethodId": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc#key-1",
              "enrolledAt": "2026-05-22T12:00:00.000Z",
              "deactivatedAt": null,
              "lastSeenAt": null,
              "rotationsCount": 0,
              "lastTrustBundleSignedAt": null
            },
            "document": {},
            "rotationHistory": []
          },
          "note": "Read one agent DID."
        }
      ]
    },
    {
      "id": "agents.identity.rotate",
      "domain": "agents",
      "summary": "Rotate the signing key for an agent DID. Old key kept active for a cooldown period.",
      "description_key": "actions.agents.identity.rotate.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent.identity.rotated",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.identity.rotate",
      "examples": [
        {
          "input": {
            "did": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc",
            "reason": "scheduled"
          },
          "output": {
            "did": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc",
            "newMethodId": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc#key-2",
            "oldMethodRetiresAt": "2026-05-22T13:00:00.000Z",
            "privateKeyRecoveryEnvelope": "v1:AES-256-GCM:…"
          },
          "note": "Quarterly key rotation."
        }
      ]
    },
    {
      "id": "agents.identity.revoke",
      "domain": "agents",
      "summary": "Permanently revoke an agent DID. Cannot be undone; the DID id cannot be re-enrolled.",
      "description_key": "actions.agents.identity.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent.identity.revoked",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.identity.revoke",
      "examples": [
        {
          "input": {
            "did": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc",
            "reason": "compromise",
            "irreversibleAcknowledged": true
          },
          "output": {
            "did": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc",
            "deactivatedAt": "2026-05-22T12:00:00.000Z",
            "auditEntryId": "aud_DEMO00000000000000000000"
          },
          "note": "Compromise-recovery revoke."
        }
      ]
    },
    {
      "id": "agents.identity.did.resolve",
      "domain": "agents",
      "summary": "Resolve any DID (did:web, did:key, did:peer) and return the resolution result envelope.",
      "description_key": "actions.agents.identity.did.resolve.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.identity.did.resolve",
      "examples": [
        {
          "input": {
            "did": "did:web:trustvice.com:agents:mandate-issuer"
          },
          "output": {
            "didDocument": {
              "id": "did:web:trustvice.com:agents:mandate-issuer"
            },
            "didResolutionMetadata": {
              "resolutionSource": "live",
              "resolvedAt": "2026-05-22T12:00:00.000Z"
            },
            "didDocumentMetadata": {}
          },
          "note": "Resolve a DID to its document."
        }
      ]
    },
    {
      "id": "agents.passport.verify",
      "domain": "agents",
      "summary": "Verify an Agent Passport presented at an org boundary — offline checks, plus what offline cannot establish.",
      "description_key": "actions.agents.passport.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.passport.verify",
      "examples": [
        {
          "input": {
            "passport": {
              "agentDid": "did:web:other-org.example:agents:a1",
              "issuerDid": "did:web:other-org.example",
              "mandates": [],
              "issuedAt": "2026-09-03T00:00:00.000Z"
            }
          },
          "output": {
            "verification": {
              "agentDid": "did:web:other-org.example:agents:a1",
              "verdict": "failed",
              "checks": [],
              "stalenessSeconds": 86400,
              "assertedCeiling": null,
              "issuerAsserted": [],
              "cannotEstablish": [],
              "notes": []
            },
            "signature": {
              "verified": false,
              "keySource": "none",
              "keyConflict": false,
              "detail": "No verifying key."
            },
            "registry": null,
            "notes": []
          },
          "note": "With no key, the signature is unchecked — and an unchecked signature never reads as a passed one."
        }
      ]
    },
    {
      "id": "agents.handshake.notarize",
      "domain": "agents",
      "summary": "Run the A2A attestation ceremony: verify both parties' identity, mandate and SPIFFE, then scope-match the capabilities.",
      "description_key": "actions.agents.handshake.notarize.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.handshake.notarize",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "handshakeRef": "hs_DEMO0000",
            "initiator": {
              "did": "did:web:example.com:agents:ws:a"
            },
            "responder": {
              "did": "did:web:other.example:agents:b"
            },
            "requestedCapabilities": [
              "billing.invoice.list"
            ]
          },
          "output": {
            "attestation": {
              "handshakeRef": "hs_DEMO0000",
              "outcome": "declined",
              "parties": [],
              "capabilities": [],
              "unmatchedCapabilities": [
                "billing.invoice.list"
              ],
              "effectiveCeiling": null,
              "nonRepudiable": false,
              "declineReasons": [],
              "notes": []
            },
            "performed": {
              "initiator": {},
              "responder": {}
            },
            "mint": {
              "kind": "handshake-notary",
              "source": {}
            },
            "notes": []
          },
          "note": "No mandates presented, so neither side licenses anything and the handshake declines."
        }
      ]
    },
    {
      "id": "agents.marketplace.rank",
      "domain": "agents",
      "summary": "Rank mandate templates by standing then narrowest scope — never by adoption.",
      "description_key": "actions.agents.marketplace.rank.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.marketplace.rank",
      "examples": [
        {
          "input": {
            "entries": [
              {
                "template": {
                  "templateId": "narrow",
                  "publisher": "did:web:pub",
                  "allowedActionIds": [
                    "billing.invoice.list"
                  ],
                  "maxSafetyLevel": "read",
                  "maxSpendFractional": 1000
                },
                "record": {
                  "deployments": 50,
                  "runs": 10000,
                  "incidents": 0,
                  "mandateViolations": 0,
                  "refusals": 40
                }
              }
            ]
          },
          "output": {
            "view": {
              "templates": [],
              "notes": []
            },
            "historyFloor": {
              "deployments": 5,
              "runs": 250
            },
            "notes": []
          },
          "note": "Standing, then narrowest scope. Never adoption."
        }
      ]
    },
    {
      "id": "agents.identity.delegate",
      "domain": "agents",
      "summary": "Issue an A2A delegation token granting a remote partner DID a scope subset on your behalf.",
      "description_key": "actions.agents.identity.delegate.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent.delegation.issued",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.identity.delegate",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "fromAgentDid": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc",
            "toRemoteDid": "did:web:partner.example.com:agents:bot",
            "scopes": [
              "read:audit"
            ],
            "validForDays": 7,
            "purposeReason": "Partner integration handoff"
          },
          "output": {
            "delegationVcSerialized": "eyJhbGciOiJFZERTQSJ9…",
            "delegationHandle": "delg_demo00000000000000000000",
            "expiresAt": "2026-05-29T12:00:00.000Z"
          },
          "note": "Issue A2A delegation."
        }
      ]
    },
    {
      "id": "agents.identity.delegate.revoke",
      "domain": "agents",
      "summary": "Revoke an issued A2A delegation. Flips its bit in the published BitstringStatusList; listRevocable is false for delegations that predate the list.",
      "description_key": "actions.agents.identity.delegate.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent.delegation.revoked",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.identity.delegate.revoke",
      "examples": [
        {
          "input": {
            "delegationHandle": "delg_demo00000000000000000000",
            "reason": "Partnership ended"
          },
          "output": {
            "revokedAt": "2026-05-22T12:00:00.000Z",
            "listRevocable": true
          },
          "note": "Withdraw a delegation."
        }
      ]
    },
    {
      "id": "agents.mandate.issue",
      "domain": "agents",
      "summary": "Issue an AP2 Verifiable Credential mandate authorising an agent up to spend / volume limits.",
      "description_key": "actions.agents.mandate.issue.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent.mandate.issued",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.mandate.issue",
      "examples": [
        {
          "input": {
            "label": "Stripe refund bot — Q3",
            "agentDid": "did:web:trustvice.com:agents:refund-bot",
            "allowedActionIds": [
              "billing.subscription.upgrade",
              "entpoind.attest.agent-call"
            ],
            "maxSafetyLevel": "billing_impacting",
            "workspaceIds": [
              "ws_DEMODEFAULT0000000000"
            ],
            "maxSpendUsdFractional": 50000,
            "maxInvocations": 100,
            "validForDays": 30
          },
          "output": {
            "mandateHandle": "mandate_DEMO00000000000000000000",
            "vcId": "urn:uuid:11111111-2222-3333-4444-555555555555",
            "sdJwtVcSerialized": "eyJhbGciOiJFZERTQSJ9…~WyJzYWx0Iiw…~",
            "validUntil": "2026-06-21T12:00:00.000Z",
            "issuerDid": "did:web:trustvice.com:agents:mandate-issuer"
          },
          "note": "Issue an AP2 mandate."
        }
      ]
    },
    {
      "id": "agents.mandate.list",
      "domain": "agents",
      "summary": "List mandates issued under the principal.",
      "description_key": "actions.agents.mandate.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.mandate.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "mandates": [],
            "nextCursor": null
          },
          "note": "List mandates."
        }
      ]
    },
    {
      "id": "agents.mandate.verify",
      "domain": "agents",
      "summary": "Verify a presented mandate VC against an action request. Returns ok or a structured reason.",
      "description_key": "actions.agents.mandate.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.mandate.verify",
      "examples": [
        {
          "input": {
            "presentationSerialized": "eyJhbGciOiJFZERTQSJ9.eyJleGFtcGxlIjp0cnVlfQ.c2lnbmF0dXJlLWV4YW1wbGU",
            "requestedActionId": "billing.subscription.upgrade",
            "audience": "https://api.trustvice.com",
            "nonce": "abc123abc123"
          },
          "output": {
            "ok": true,
            "mandateHandle": "mandate_DEMO00000000000000000000",
            "vcId": "urn:uuid:11111111-2222-3333-4444-555555555555",
            "remainingSpendUsdFractional": 25000,
            "remainingInvocations": 50,
            "issuerResolutionSource": "live"
          },
          "note": "Verify a mandate."
        }
      ]
    },
    {
      "id": "agents.mandate.revoke",
      "domain": "agents",
      "summary": "Revoke a mandate. Goes into the BitstringStatusList revocation register immediately.",
      "description_key": "actions.agents.mandate.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent.mandate.revoked",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.mandate.revoke",
      "examples": [
        {
          "input": {
            "mandateHandle": "mandate_DEMO00000000000000000000"
          },
          "output": {
            "revokedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Revoke a mandate."
        }
      ]
    },
    {
      "id": "agents.spiffe.bind",
      "domain": "agents",
      "summary": "Bind a SPIFFE ID to an agent DID so SVIDs (X.509 or JWT) can attest as that agent.",
      "description_key": "actions.agents.spiffe.bind.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent.spiffe.bound",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.spiffe.bind",
      "examples": [
        {
          "input": {
            "agentDid": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc",
            "spiffeId": "spiffe://corp.example.com/svc/billing",
            "svidType": "jwt"
          },
          "output": {
            "agentDid": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc",
            "spiffeId": "spiffe://corp.example.com/svc/billing",
            "boundAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Bind SPIFFE workload to agent."
        }
      ]
    },
    {
      "id": "agents.spiffe.workload.attest",
      "domain": "agents",
      "summary": "Exchange a SPIFFE SVID for a short-lived DPoP-bound Trustvice session.",
      "description_key": "actions.agents.spiffe.workload.attest.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.spiffe.workload.attest",
      "examples": [
        {
          "input": {
            "svid": {
              "type": "jwt",
              "token": "eyJhbGciOiJFZERTQSJ9.eyJleGFtcGxlIjp0cnVlfQ.c2lnbmF0dXJlLWV4YW1wbGU"
            },
            "dpopKey": {
              "kty": "OKP",
              "crv": "Ed25519",
              "x": "<base64url>"
            }
          },
          "output": {
            "sessionToken": "tv_sess_demo…",
            "expiresAt": "2026-05-22T12:05:00.000Z",
            "agentDid": "did:web:trustvice.com:agents:ws_DEMODEFAULT0000000000-abc",
            "effectiveScopes": [
              "read:audit"
            ]
          },
          "note": "Workload exchange."
        }
      ]
    },
    {
      "id": "agents.trusted-roots.list",
      "domain": "agents",
      "summary": "List partner organization DIDs the workspace accepts as A2A federation roots.",
      "description_key": "actions.agents.trusted-roots.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.trusted-roots.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "roots": []
          },
          "note": "List trusted A2A roots."
        }
      ]
    },
    {
      "id": "agents.trusted-roots.add",
      "domain": "agents",
      "summary": "Add a partner organization DID to the trusted-roots list for this workspace.",
      "description_key": "actions.agents.trusted-roots.add.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "workspaces.view"
      ],
      "audit_kind": "agent.trusted_root.added",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/agents.trusted-roots.add",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "did": "did:web:partner.example.com",
            "organizationName": "Partner Example Corp",
            "maxAcceptedSafetyLevel": "mutation"
          },
          "output": {
            "addedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Add federated root."
        }
      ]
    },
    {
      "id": "trustactor.run",
      "domain": "trustactor",
      "summary": "Post a run to a TrustActor spot actor (witness/council/historian/custodian/conscience/…) — observe + decide + anchor it in the workspace hash-chain.",
      "description_key": "actions.trustactor.run.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "agent_invocation",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.run",
      "examples": [
        {
          "input": {
            "version": "v1",
            "actor": "witness",
            "agentDid": "did:web:example.com:agent:billing",
            "input": {
              "task": "refund",
              "amount": 4200
            }
          },
          "output": {
            "status": "ok",
            "receipt": {
              "runId": "run_abc"
            }
          },
          "note": "Witness a billing-agent run."
        }
      ]
    },
    {
      "id": "trustactor.runs.list",
      "domain": "trustactor",
      "summary": "List the workspace's TrustActor runs (actor IS the surface: witness | historian | custodian | conscience | …).",
      "description_key": "actions.trustactor.runs.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.runs.list",
      "examples": [
        {
          "input": {
            "actor": "witness",
            "limit": 20
          },
          "output": {
            "runs": [],
            "count": 0
          },
          "note": "Recent witness runs."
        }
      ]
    },
    {
      "id": "trustactor.actors.list",
      "domain": "trustactor",
      "summary": "List the TrustActor roster (optionally for one version) with each actor's min tier.",
      "description_key": "actions.trustactor.actors.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.actors.list",
      "examples": [
        {
          "input": {
            "version": "v1"
          },
          "output": {
            "actors": [
              {
                "id": "witness",
                "version": "v1",
                "minTier": "free"
              }
            ]
          },
          "note": "Discover v1 actors."
        }
      ]
    },
    {
      "id": "trustactor.agents.list",
      "domain": "trustactor",
      "summary": "List the workspace's posting agents (distinct agent DIDs across runs, with counts + last-seen).",
      "description_key": "actions.trustactor.agents.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.agents.list",
      "examples": [
        {
          "input": {},
          "output": {
            "agents": [],
            "count": 0
          },
          "note": "Who's posting runs."
        }
      ]
    },
    {
      "id": "trustactor.runs.verify-chain",
      "domain": "trustactor",
      "summary": "Verify the integrity of the workspace's run hash-chain from a starting sequence.",
      "description_key": "actions.trustactor.runs.verify-chain.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.runs.verify-chain",
      "examples": [
        {
          "input": {
            "from": 1
          },
          "output": {
            "ok": true
          },
          "note": "Prove the chain is intact."
        }
      ]
    },
    {
      "id": "trustactor.runs.diff",
      "domain": "trustactor",
      "summary": "Compare two TrustActor runs (classification + payload diff).",
      "description_key": "actions.trustactor.runs.diff.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.runs.diff",
      "examples": [
        {
          "input": {
            "a": "run_abc",
            "b": "run_def"
          },
          "output": {
            "ok": true
          },
          "note": "Diff two runs."
        }
      ]
    },
    {
      "id": "trustactor.runs.replay",
      "domain": "trustactor",
      "summary": "Reconstruct + re-verify a single run from its chain entry.",
      "description_key": "actions.trustactor.runs.replay.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.runs.replay",
      "examples": [
        {
          "input": {
            "runId": "run_abc"
          },
          "output": {
            "ok": true,
            "found": true
          },
          "note": "Replay a run."
        }
      ]
    },
    {
      "id": "trustactor.liability.blame-graph",
      "domain": "trustactor",
      "summary": "Apportion fault across a multi-agent failure from a signed causal chain.",
      "description_key": "actions.trustactor.liability.blame-graph.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.liability.blame-graph",
      "examples": [
        {
          "input": {
            "incidentRef": "inc_1",
            "nodes": [
              {
                "nodeId": "n1",
                "actorDid": "did:web:a.example",
                "action": "issued a refund",
                "actedCorrectly": false,
                "evidenceRefs": [
                  "run_1"
                ],
                "causalWeight": 1
              }
            ]
          },
          "output": {
            "graph": {
              "incidentRef": "inc_1",
              "computedAt": "2026-09-04T00:00:00.000Z",
              "apportioned": [],
              "unattributed": {
                "share": 0,
                "reasons": []
              },
              "exonerated": [],
              "fullyEvidenced": true,
              "notes": []
            },
            "notes": []
          },
          "note": "One at-fault node, fully evidenced."
        }
      ]
    },
    {
      "id": "trustactor.liability.indemnity-feed",
      "domain": "trustactor",
      "summary": "Build the underwriting evidence feed for one agent — observed experience, stated credibility, and no pricing.",
      "description_key": "actions.trustactor.liability.indemnity-feed.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.liability.indemnity-feed",
      "examples": [
        {
          "input": {
            "agentRef": "did:web:a.example",
            "window": {
              "from": "2026-01-01T00:00:00.000Z",
              "to": "2026-09-01T00:00:00.000Z",
              "runs": 5000
            },
            "experience": {
              "incidents": 2,
              "mandateViolations": 1,
              "breakerTrips": 3,
              "oversightAdherence": 0.9
            }
          },
          "output": {
            "feed": {
              "agentRef": "did:web:a.example",
              "window": {},
              "credibility": 0.68,
              "credibilityBasis": {
                "nFull": 1082,
                "floor": 30
              },
              "belowFloor": false,
              "entries": [],
              "fault": {
                "totalShare": 0,
                "findings": 0,
                "note": ""
              },
              "priced": false,
              "notes": []
            },
            "notes": []
          },
          "note": "A data source, not a price."
        }
      ]
    },
    {
      "id": "trustactor.actor-score",
      "domain": "trustactor",
      "summary": "Compute an agent's Actor Score from its signed runs, with every deduction naming the run that caused it.",
      "description_key": "actions.trustactor.actor-score.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/trustactor.actor-score",
      "examples": [
        {
          "input": {
            "agentRef": "did:web:a.example",
            "runs": [
              {
                "runId": "run_1",
                "signed": true,
                "safetyLevel": "read",
                "oversightHonoured": true,
                "mandateViolation": false,
                "breakerTripped": false,
                "incident": false
              }
            ]
          },
          "output": {
            "score": {
              "agentRef": "did:web:a.example",
              "score": null,
              "band": null,
              "runsScored": 1,
              "runsExcludedUnsigned": 0,
              "tiers": [],
              "unprovenTiers": [
                "read"
              ],
              "faultingRunIds": [],
              "computedAt": "2026-09-04T00:00:00.000Z",
              "notes": []
            },
            "mint": null,
            "notMintableReason": "Not mintable: 1 signed run(s), below the floor…",
            "notes": []
          },
          "note": "One run is not a score."
        }
      ]
    },
    {
      "id": "nexus.catalog.get",
      "domain": "nexus",
      "summary": "Get the Nexus product catalogue (the available primitives + tiers for the workspace).",
      "description_key": "actions.nexus.catalog.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.catalog.get",
      "examples": [
        {
          "input": {},
          "output": {
            "products": [
              {
                "product": "oracle",
                "basePath": "/v1/nexus/oracle",
                "mcpEndpoint": "/api/v1/nexus/oracle/mcp",
                "graphqlEndpoint": "/api/v1/nexus/oracle/graphql"
              }
            ]
          },
          "note": "List Nexus primitives."
        }
      ]
    },
    {
      "id": "nexus.usage.get",
      "domain": "nexus",
      "summary": "Get the workspace's Nexus usage + quota for the current period.",
      "description_key": "actions.nexus.usage.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.usage.get",
      "examples": [
        {
          "input": {},
          "output": {
            "period": "2026-09",
            "tier": "pro",
            "metrics": [
              {
                "metric": "oracle_query",
                "used": 1284,
                "limit": 50000
              },
              {
                "metric": "ledger_append",
                "used": 63,
                "limit": null
              }
            ]
          },
          "note": "Read Nexus usage."
        }
      ]
    },
    {
      "id": "nexus.oracle.agent.get",
      "domain": "nexus",
      "summary": "Look up the Nexus Oracle reputation for a specific agent (by id / DID).",
      "description_key": "actions.nexus.oracle.agent.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.oracle.agent.get",
      "examples": [
        {
          "input": {
            "agentId": "did:web:example.com:agent:support"
          },
          "output": {
            "reputation": {
              "agentId": "did:web:example.com:agent:support",
              "samples": 412,
              "reputationScoreBps": 8730,
              "avgModulationBps": -120,
              "avgConfidenceBps": 7400,
              "calibrationSamples": 96,
              "calibrationAccuracyBps": 8100,
              "trend": "improving",
              "firstSeen": "2026-06-02T09:14:00.000Z",
              "lastSeen": "2026-09-01T18:22:00.000Z"
            }
          },
          "note": "Reputation for an agent."
        },
        {
          "input": {
            "agentId": "did:web:example.com:agent:new"
          },
          "output": {
            "reputation": {
              "agentId": "did:web:example.com:agent:new",
              "samples": 2,
              "reputationScoreBps": null,
              "avgModulationBps": null,
              "avgConfidenceBps": null,
              "calibrationSamples": 0,
              "calibrationAccuracyBps": null,
              "trend": "insufficient_data",
              "firstSeen": "2026-08-30T11:00:00.000Z",
              "lastSeen": "2026-08-31T07:45:00.000Z"
            }
          },
          "note": "An agent with too little history to score."
        }
      ]
    },
    {
      "id": "nexus.oracle.price",
      "domain": "nexus",
      "summary": "Price an agent action by risk, returning modulation, escrow and confidence.",
      "description_key": "actions.nexus.oracle.price.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.oracle.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.oracle.price",
      "examples": [
        {
          "input": {
            "actionDescription": "transfer funds to an external account",
            "agentId": "agent_1"
          },
          "output": {
            "id": "prc_1",
            "priceCents": 250,
            "modulationBps": 7500,
            "confidenceBps": 8000
          },
          "note": "Price a risky action."
        }
      ]
    },
    {
      "id": "nexus.oracle.policy.set",
      "domain": "nexus",
      "summary": "Set the workspace's Oracle base price and risk multiplier.",
      "description_key": "actions.nexus.oracle.policy.set.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "nexus.oracle.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.oracle.policy.set",
      "examples": [
        {
          "input": {
            "basePriceCents": 250,
            "riskMultiplierBps": 3000
          },
          "output": {
            "policy": {
              "basePriceCents": 250,
              "riskMultiplierBps": 3000
            }
          },
          "note": "Set the pricing policy."
        }
      ]
    },
    {
      "id": "nexus.oracle.calibration.feedback",
      "domain": "nexus",
      "summary": "Report whether a price Oracle quoted turned out accurate.",
      "description_key": "actions.nexus.oracle.calibration.feedback.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.oracle.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.oracle.calibration.feedback",
      "examples": [
        {
          "input": {
            "pricingId": "prc_1",
            "observedOutcome": "accurate"
          },
          "output": {
            "id": "cal_1"
          },
          "note": "Close the calibration loop."
        }
      ]
    },
    {
      "id": "nexus.oracle.model.pin",
      "domain": "nexus",
      "summary": "Pin the Oracle pricing model version for the workspace.",
      "description_key": "actions.nexus.oracle.model.pin.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "nexus.oracle.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.oracle.model.pin",
      "examples": [
        {
          "input": {
            "modelId": "risk-keyword-v1-strict"
          },
          "output": {
            "pinnedModelId": "risk-keyword-v1-strict"
          },
          "note": "Pin a model."
        }
      ]
    },
    {
      "id": "nexus.oracle.source.add",
      "domain": "nexus",
      "summary": "Record an external reputation source for Oracle.",
      "description_key": "actions.nexus.oracle.source.add.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.oracle.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.oracle.source.add",
      "examples": [
        {
          "input": {
            "name": "Partner reputation",
            "url": "https://example.test/rep"
          },
          "output": {
            "id": "src_1"
          },
          "note": "Record a source."
        }
      ]
    },
    {
      "id": "nexus.oracle.graphql",
      "domain": "nexus",
      "summary": "Query the Oracle read surface (policy, pricings, reputation).",
      "description_key": "actions.nexus.oracle.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.oracle.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.oracle.graphql",
      "examples": [
        {
          "input": {
            "query": "{ pricings { id } }"
          },
          "output": {
            "data": {
              "pricings": []
            }
          },
          "note": "Query Oracle."
        }
      ]
    },
    {
      "id": "nexus.charter.publish",
      "domain": "nexus",
      "summary": "Publish a charter version for a publisher.",
      "description_key": "actions.nexus.charter.publish.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.charter.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.charter.publish",
      "examples": [
        {
          "input": {
            "publisher": "acme",
            "rules": {
              "retention": "30d"
            }
          },
          "output": {
            "id": "cht_1",
            "version": 1
          },
          "note": "Publish terms."
        }
      ]
    },
    {
      "id": "nexus.charter.validate",
      "domain": "nexus",
      "summary": "Validate a set of charter rules without publishing them.",
      "description_key": "actions.nexus.charter.validate.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.charter.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.charter.validate",
      "examples": [
        {
          "input": {
            "rules": {
              "retention": "30d"
            }
          },
          "output": {
            "valid": true
          },
          "note": "Validate rules."
        }
      ]
    },
    {
      "id": "nexus.charter.audit.request",
      "domain": "nexus",
      "summary": "Request an audit of a publisher's charter.",
      "description_key": "actions.nexus.charter.audit.request.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.charter.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.charter.audit.request",
      "examples": [
        {
          "input": {
            "publisher": "acme",
            "scope": "terms"
          },
          "output": {
            "id": "aud_1",
            "status": "requested"
          },
          "note": "Request an audit."
        }
      ]
    },
    {
      "id": "nexus.charter.graphql",
      "domain": "nexus",
      "summary": "Query the Charter read surface (charters, audits).",
      "description_key": "actions.nexus.charter.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.charter.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.charter.graphql",
      "examples": [
        {
          "input": {
            "query": "{ charters { id } }"
          },
          "output": {
            "data": {
              "charters": []
            }
          },
          "note": "Query Charter."
        }
      ]
    },
    {
      "id": "nexus.compass.verify",
      "domain": "nexus",
      "summary": "Verify that a proposed action matches the user's stated request.",
      "description_key": "actions.nexus.compass.verify.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.compass.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.compass.verify",
      "examples": [
        {
          "input": {
            "userRequest": "book a flight under $500",
            "proposedAction": {
              "kind": "purchase",
              "amount": 480
            }
          },
          "output": {
            "id": "ver_1",
            "verdict": "aligned"
          },
          "note": "Verify an intent."
        }
      ]
    },
    {
      "id": "nexus.compass.verify.explain",
      "domain": "nexus",
      "summary": "Explain a stored Compass verification.",
      "description_key": "actions.nexus.compass.verify.explain.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.compass.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.compass.verify.explain",
      "examples": [
        {
          "input": {
            "verificationId": "ver_1"
          },
          "output": {
            "factors": []
          },
          "note": "Explain a verdict."
        }
      ]
    },
    {
      "id": "nexus.compass.policy.set",
      "domain": "nexus",
      "summary": "Set the Compass review and deny thresholds.",
      "description_key": "actions.nexus.compass.policy.set.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "nexus.compass.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.compass.policy.set",
      "examples": [
        {
          "input": {
            "reviewThresholdBps": 7000,
            "denyThresholdBps": 8500
          },
          "output": {
            "policy": {
              "reviewThresholdBps": 7000
            }
          },
          "note": "Set thresholds."
        }
      ]
    },
    {
      "id": "nexus.compass.hitl.escalate",
      "domain": "nexus",
      "summary": "Escalate a verification to a human reviewer.",
      "description_key": "actions.nexus.compass.hitl.escalate.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.compass.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.compass.hitl.escalate",
      "examples": [
        {
          "input": {
            "verificationId": "ver_1",
            "reason": "ambiguous intent"
          },
          "output": {
            "id": "esc_1"
          },
          "note": "Escalate to a human."
        }
      ]
    },
    {
      "id": "nexus.compass.model.pin",
      "domain": "nexus",
      "summary": "Pin the Compass matching model version.",
      "description_key": "actions.nexus.compass.model.pin.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "nexus.compass.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.compass.model.pin",
      "examples": [
        {
          "input": {
            "modelId": "intent-align-v1"
          },
          "output": {
            "pinnedModelId": "intent-align-v1"
          },
          "note": "Pin a model."
        }
      ]
    },
    {
      "id": "nexus.compass.graphql",
      "domain": "nexus",
      "summary": "Query the Compass read surface (verifications, policy, escalations).",
      "description_key": "actions.nexus.compass.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.compass.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.compass.graphql",
      "examples": [
        {
          "input": {
            "query": "{ verifications { id } }"
          },
          "output": {
            "data": {
              "verifications": []
            }
          },
          "note": "Query Compass."
        }
      ]
    },
    {
      "id": "nexus.ledger.verify",
      "domain": "nexus",
      "summary": "Verify an action claim and mint its receipt.",
      "description_key": "actions.nexus.ledger.verify.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.ledger.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.ledger.verify",
      "examples": [
        {
          "input": {
            "actionClaim": {
              "subject": "did:tv:a",
              "actionId": "act_1"
            }
          },
          "output": {
            "verification": {
              "id": "lv_1"
            },
            "receipt": {
              "id": "rcpt_1"
            }
          },
          "note": "Verify a claim."
        }
      ]
    },
    {
      "id": "nexus.ledger.verifier.create",
      "domain": "nexus",
      "summary": "Register a custom Ledger verifier.",
      "description_key": "actions.nexus.ledger.verifier.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.ledger.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.ledger.verifier.create",
      "examples": [
        {
          "input": {
            "name": "Invoice checks",
            "definition": {
              "requires": [
                "subject"
              ]
            }
          },
          "output": {
            "verifierId": "lvf_1"
          },
          "note": "Add a verifier."
        }
      ]
    },
    {
      "id": "nexus.ledger.locker.connect",
      "domain": "nexus",
      "summary": "Connect an external receipt locker.",
      "description_key": "actions.nexus.ledger.locker.connect.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.ledger.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.ledger.locker.connect",
      "examples": [
        {
          "input": {
            "name": "Archive",
            "endpoint": "https://example.test/locker"
          },
          "output": {
            "id": "conn_1"
          },
          "note": "Connect a locker."
        }
      ]
    },
    {
      "id": "nexus.ledger.graphql",
      "domain": "nexus",
      "summary": "Query the Ledger read surface (receipts).",
      "description_key": "actions.nexus.ledger.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.ledger.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.ledger.graphql",
      "examples": [
        {
          "input": {
            "query": "{ receipts { id } }"
          },
          "output": {
            "data": {
              "receipts": []
            }
          },
          "note": "Query Ledger."
        }
      ]
    },
    {
      "id": "nexus.lattice.delegation.publish",
      "domain": "nexus",
      "summary": "Publish a delegation from one agent to another.",
      "description_key": "actions.nexus.lattice.delegation.publish.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.lattice.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.lattice.delegation.publish",
      "examples": [
        {
          "input": {
            "sourceAgent": "did:tv:a",
            "targetAgent": "did:tv:b",
            "actionClass": "read",
            "expiration": "2027-01-01T00:00:00.000Z"
          },
          "output": {
            "id": "del_1"
          },
          "note": "Publish a delegation."
        }
      ]
    },
    {
      "id": "nexus.lattice.path.find",
      "domain": "nexus",
      "summary": "Find a delegation path between two agents.",
      "description_key": "actions.nexus.lattice.path.find.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.lattice.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.lattice.path.find",
      "examples": [
        {
          "input": {
            "sourceAgent": "did:tv:a",
            "targetAgent": "did:tv:b"
          },
          "output": {
            "found": true,
            "path": [
              "did:tv:a",
              "did:tv:b"
            ]
          },
          "note": "Find a path."
        }
      ]
    },
    {
      "id": "nexus.lattice.path.verify",
      "domain": "nexus",
      "summary": "Verify that a specific delegation path is valid.",
      "description_key": "actions.nexus.lattice.path.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.lattice.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.lattice.path.verify",
      "examples": [
        {
          "input": {
            "path": [
              "did:tv:a",
              "did:tv:b"
            ]
          },
          "output": {
            "valid": true
          },
          "note": "Verify a path."
        }
      ]
    },
    {
      "id": "nexus.lattice.federation.node.add",
      "domain": "nexus",
      "summary": "Add a federation peer to the delegation graph.",
      "description_key": "actions.nexus.lattice.federation.node.add.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.lattice.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.lattice.federation.node.add",
      "examples": [
        {
          "input": {
            "name": "Partner",
            "endpoint": "https://example.test/lattice"
          },
          "output": {
            "id": "peer_1"
          },
          "note": "Add a peer."
        }
      ]
    },
    {
      "id": "nexus.lattice.graphql",
      "domain": "nexus",
      "summary": "Query the Lattice read surface (delegations, peers).",
      "description_key": "actions.nexus.lattice.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.lattice.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.lattice.graphql",
      "examples": [
        {
          "input": {
            "query": "{ delegations { id } }"
          },
          "output": {
            "data": {
              "delegations": []
            }
          },
          "note": "Query Lattice."
        }
      ]
    },
    {
      "id": "nexus.sentinel.ingest",
      "domain": "nexus",
      "summary": "Submit an agent request for Sentinel inspection.",
      "description_key": "actions.nexus.sentinel.ingest.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.sentinel.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.sentinel.ingest",
      "examples": [
        {
          "input": {
            "destination": "https://example.test/api",
            "agentId": "agent_1"
          },
          "output": {
            "id": "evt_1",
            "verdict": "clean"
          },
          "note": "Inspect a request."
        }
      ]
    },
    {
      "id": "nexus.sentinel.policy.create",
      "domain": "nexus",
      "summary": "Create a Sentinel traffic policy.",
      "description_key": "actions.nexus.sentinel.policy.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.sentinel.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.sentinel.policy.create",
      "examples": [
        {
          "input": {
            "name": "Block exfil",
            "pattern": "example.test"
          },
          "output": {
            "id": "spol_1"
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "nexus.sentinel.classifier.create",
      "domain": "nexus",
      "summary": "Register a custom Sentinel classifier.",
      "description_key": "actions.nexus.sentinel.classifier.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.sentinel.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.sentinel.classifier.create",
      "examples": [
        {
          "input": {
            "name": "PII",
            "definition": {
              "match": "ssn"
            }
          },
          "output": {
            "classifierId": "cls_1"
          },
          "note": "Add a classifier."
        }
      ]
    },
    {
      "id": "nexus.sentinel.graphql",
      "domain": "nexus",
      "summary": "Query the Sentinel read surface (events, incidents).",
      "description_key": "actions.nexus.sentinel.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.sentinel.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.sentinel.graphql",
      "examples": [
        {
          "input": {
            "query": "{ events { id } }"
          },
          "output": {
            "data": {
              "events": []
            }
          },
          "note": "Query Sentinel."
        }
      ]
    },
    {
      "id": "nexus.tribunal.dispute.file",
      "domain": "nexus",
      "summary": "File a dispute against another agent.",
      "description_key": "actions.nexus.tribunal.dispute.file.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.tribunal.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.tribunal.dispute.file",
      "examples": [
        {
          "input": {
            "opposingAgent": "did:tv:b",
            "transactionReference": "txn_1",
            "claim": {
              "reason": "undelivered"
            }
          },
          "output": {
            "id": "dsp_1"
          },
          "note": "File a dispute."
        }
      ]
    },
    {
      "id": "nexus.tribunal.adjudicator.connect",
      "domain": "nexus",
      "summary": "Connect an adjudicator pool.",
      "description_key": "actions.nexus.tribunal.adjudicator.connect.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.tribunal.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.tribunal.adjudicator.connect",
      "examples": [
        {
          "input": {
            "name": "Panel",
            "endpoint": "https://example.test/adjudicators"
          },
          "output": {
            "id": "adj_1"
          },
          "note": "Connect a pool."
        }
      ]
    },
    {
      "id": "nexus.tribunal.legal-framework.set",
      "domain": "nexus",
      "summary": "Set the workspace's governing legal framework.",
      "description_key": "actions.nexus.tribunal.legal-framework.set.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "nexus.tribunal.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.tribunal.legal-framework.set",
      "examples": [
        {
          "input": {
            "legalFramework": "ny-arbitration"
          },
          "output": {
            "legalFramework": "ny-arbitration"
          },
          "note": "Set the framework."
        }
      ]
    },
    {
      "id": "nexus.tribunal.graphql",
      "domain": "nexus",
      "summary": "Query the Tribunal read surface (disputes, precedents).",
      "description_key": "actions.nexus.tribunal.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.tribunal.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.tribunal.graphql",
      "examples": [
        {
          "input": {
            "query": "{ disputes { id } }"
          },
          "output": {
            "data": {
              "disputes": []
            }
          },
          "note": "Query Tribunal."
        }
      ]
    },
    {
      "id": "nexus.keyring.credential.mint",
      "domain": "nexus",
      "summary": "Mint a scoped, time-boxed credential for a target system.",
      "description_key": "actions.nexus.keyring.credential.mint.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.keyring.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.keyring.credential.mint",
      "examples": [
        {
          "input": {
            "targetSystem": "billing",
            "intendedAction": "read",
            "ttl": 3600
          },
          "output": {
            "credentialId": "krc_1"
          },
          "note": "Mint a credential."
        }
      ]
    },
    {
      "id": "nexus.keyring.policy.create",
      "domain": "nexus",
      "summary": "Create a Keyring issuance policy.",
      "description_key": "actions.nexus.keyring.policy.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.keyring.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.keyring.policy.create",
      "examples": [
        {
          "input": {
            "name": "Read-only",
            "kind": "allow"
          },
          "output": {
            "id": "kpol_1"
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "nexus.keyring.vault.reference.add",
      "domain": "nexus",
      "summary": "Record a POINTER into your own vault. Never the secret itself.",
      "description_key": "actions.nexus.keyring.vault.reference.add.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.keyring.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.keyring.vault.reference.add",
      "examples": [
        {
          "input": {
            "name": "Billing key",
            "ref": "vault://acme/billing"
          },
          "output": {
            "masterCredentialId": "kv_1"
          },
          "note": "Record a reference."
        }
      ]
    },
    {
      "id": "nexus.keyring.graphql",
      "domain": "nexus",
      "summary": "Query the Keyring read surface (credentials, policies).",
      "description_key": "actions.nexus.keyring.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.keyring.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.keyring.graphql",
      "examples": [
        {
          "input": {
            "query": "{ credentials { id } }"
          },
          "output": {
            "data": {
              "credentials": []
            }
          },
          "note": "Query Keyring."
        }
      ]
    },
    {
      "id": "nexus.imprint.stamp.issue",
      "domain": "nexus",
      "summary": "Issue a provenance stamp over a payload.",
      "description_key": "actions.nexus.imprint.stamp.issue.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.imprint.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.imprint.stamp.issue",
      "examples": [
        {
          "input": {
            "payload": {
              "text": "hello"
            },
            "license": {
              "policyId": "ipol_1"
            }
          },
          "output": {
            "stampId": "stm_1"
          },
          "note": "Issue a stamp."
        }
      ]
    },
    {
      "id": "nexus.imprint.stamp.verify",
      "domain": "nexus",
      "summary": "Verify a payload against its Imprint stamp.",
      "description_key": "actions.nexus.imprint.stamp.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.imprint.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.imprint.stamp.verify",
      "examples": [
        {
          "input": {
            "payload": {
              "text": "hello"
            }
          },
          "output": {
            "valid": true
          },
          "note": "Verify a stamp."
        }
      ]
    },
    {
      "id": "nexus.imprint.policy.create",
      "domain": "nexus",
      "summary": "Create an Imprint licensing policy.",
      "description_key": "actions.nexus.imprint.policy.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.imprint.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.imprint.policy.create",
      "examples": [
        {
          "input": {
            "name": "Attribution",
            "terms": {
              "reuse": "attribution"
            }
          },
          "output": {
            "policyId": "ipol_1"
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "nexus.imprint.runtime.register",
      "domain": "nexus",
      "summary": "Register a runtime that may issue Imprint stamps.",
      "description_key": "actions.nexus.imprint.runtime.register.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.imprint.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.imprint.runtime.register",
      "examples": [
        {
          "input": {
            "name": "Editor",
            "endpoint": "https://example.test/runtime"
          },
          "output": {
            "id": "irt_1"
          },
          "note": "Register a runtime."
        }
      ]
    },
    {
      "id": "nexus.imprint.graphql",
      "domain": "nexus",
      "summary": "Query the Imprint read surface (stamps, policies).",
      "description_key": "actions.nexus.imprint.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.imprint.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.imprint.graphql",
      "examples": [
        {
          "input": {
            "query": "{ stamps { id } }"
          },
          "output": {
            "data": {
              "stamps": []
            }
          },
          "note": "Query Imprint."
        }
      ]
    },
    {
      "id": "nexus.underwriter.premium.quote",
      "domain": "nexus",
      "summary": "Quote a premium for covering an action. A price, not a commitment.",
      "description_key": "actions.nexus.underwriter.premium.quote.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.underwriter.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.underwriter.premium.quote",
      "examples": [
        {
          "input": {
            "coverageCents": 10000,
            "action": {
              "kind": "transfer"
            }
          },
          "output": {
            "premiumCents": 200
          },
          "note": "Quote a premium."
        }
      ]
    },
    {
      "id": "nexus.underwriter.coverage.bind",
      "domain": "nexus",
      "summary": "Bind coverage against a policy — this creates a warranty.",
      "description_key": "actions.nexus.underwriter.coverage.bind.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "nexus.underwriter.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.underwriter.coverage.bind",
      "examples": [
        {
          "input": {
            "policyId": "upol_1",
            "transactionId": "txn_1",
            "coverageCents": 10000
          },
          "output": {
            "warrantyId": "wnt_1"
          },
          "note": "Bind coverage."
        }
      ]
    },
    {
      "id": "nexus.underwriter.claim.file",
      "domain": "nexus",
      "summary": "File a claim against a bound warranty.",
      "description_key": "actions.nexus.underwriter.claim.file.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.underwriter.use"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.underwriter.claim.file",
      "examples": [
        {
          "input": {
            "warrantyId": "wnt_1",
            "reason": "undelivered"
          },
          "output": {
            "claimId": "clm_1"
          },
          "note": "File a claim."
        }
      ]
    },
    {
      "id": "nexus.underwriter.policy.create",
      "domain": "nexus",
      "summary": "Create a coverage policy with its rate and ceiling.",
      "description_key": "actions.nexus.underwriter.policy.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.underwriter.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.underwriter.policy.create",
      "examples": [
        {
          "input": {
            "name": "Standard",
            "baseRateBps": 200,
            "maxCoverageCents": 500000
          },
          "output": {
            "policyId": "upol_1"
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "nexus.underwriter.backend.connect",
      "domain": "nexus",
      "summary": "Connect a reinsurance backend.",
      "description_key": "actions.nexus.underwriter.backend.connect.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "nexus.underwriter.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.underwriter.backend.connect",
      "examples": [
        {
          "input": {
            "name": "Reinsurer",
            "endpoint": "https://example.test/reinsurance"
          },
          "output": {
            "id": "ubk_1"
          },
          "note": "Connect a backend."
        }
      ]
    },
    {
      "id": "nexus.underwriter.graphql",
      "domain": "nexus",
      "summary": "Query the Underwriter read surface (warranties, claims).",
      "description_key": "actions.nexus.underwriter.graphql.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "nexus.underwriter.use"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/nexus.underwriter.graphql",
      "examples": [
        {
          "input": {
            "query": "{ claims { id } }"
          },
          "output": {
            "data": {
              "claims": []
            }
          },
          "note": "Query Underwriter."
        }
      ]
    },
    {
      "id": "vector.registry.search",
      "domain": "vector",
      "summary": "Search the public Vector agent registry.",
      "description_key": "actions.vector.registry.search.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.registry.search",
      "examples": [
        {
          "input": {
            "q": "support agent"
          },
          "output": {
            "entries": [
              {
                "id": "ag_demo_1",
                "kind": "agent",
                "name": "Support Agent",
                "description": "Answers tier-1 support questions over the public docs.",
                "endpoint": "https://agents.example.com/support",
                "tags": [
                  "support",
                  "docs"
                ],
                "createdAt": "2026-05-04T10:00:00.000Z"
              }
            ],
            "count": 1
          },
          "note": "Find registered agents."
        },
        {
          "input": {
            "q": ""
          },
          "output": {
            "entries": [],
            "count": 0
          },
          "note": "An empty query returns nothing, not everything."
        }
      ]
    },
    {
      "id": "vector.registry.entry.get",
      "domain": "vector",
      "summary": "Get a single Vector registry entry by id.",
      "description_key": "actions.vector.registry.entry.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.registry.entry.get",
      "examples": [
        {
          "input": {
            "id": "ag_demo_1"
          },
          "output": {
            "entry": {
              "id": "ag_demo_1",
              "kind": "agent",
              "name": "Support Agent",
              "description": "Answers tier-1 support questions over the public docs.",
              "endpoint": "https://agents.example.com/support",
              "tags": [
                "support",
                "docs"
              ],
              "createdAt": "2026-05-04T10:00:00.000Z"
            }
          },
          "note": "Resolve a registry entry."
        }
      ]
    },
    {
      "id": "vector.pricing.get",
      "domain": "vector",
      "summary": "Look up Vector public pricing.",
      "description_key": "actions.vector.pricing.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.pricing.get",
      "examples": [
        {
          "input": {},
          "output": {
            "product": "vector",
            "currency": "USD",
            "note": "Display currency varies by region (EUR/GBP/USD); the amount is identical.",
            "tiers": [
              {
                "tier": "vector_free",
                "monthlyUsd": 0
              },
              {
                "tier": "vector_starter",
                "monthlyUsd": 59
              },
              {
                "tier": "vector_pro",
                "monthlyUsd": 179
              },
              {
                "tier": "vector_enterprise",
                "monthlyUsd": null
              }
            ]
          },
          "note": "Read Vector pricing."
        }
      ]
    },
    {
      "id": "vector.mcp.servers.list",
      "domain": "vector",
      "summary": "List the MCP servers in the public Vector registry.",
      "description_key": "actions.vector.mcp.servers.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.mcp.servers.list",
      "examples": [
        {
          "input": {},
          "output": {
            "servers": [
              {
                "id": "mcp_docs_1",
                "kind": "mcp_server",
                "name": "Docs MCP",
                "description": "Read-only MCP server over the public documentation.",
                "endpoint": "https://mcp.example.com/docs",
                "tags": [
                  "docs",
                  "read-only"
                ],
                "createdAt": "2026-05-04T10:00:00.000Z"
              }
            ],
            "count": 1
          },
          "note": "Discover MCP servers."
        }
      ]
    },
    {
      "id": "vector.catalog.get",
      "domain": "vector",
      "summary": "Get the workspace's Vector product catalogue.",
      "description_key": "actions.vector.catalog.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.catalog.get",
      "examples": [
        {
          "input": {},
          "output": {
            "products": [
              {
                "product": "registry",
                "basePath": "/v1/vector/registry",
                "mcpEndpoint": "/v1/vector/registry/mcp"
              },
              {
                "product": "mirror",
                "basePath": "/v1/vector/mirror",
                "mcpEndpoint": "/v1/vector/mirror/mcp"
              }
            ]
          },
          "note": "List Vector products."
        }
      ]
    },
    {
      "id": "vector.registry.register",
      "domain": "vector",
      "summary": "Register an agent, tool, MCP server or service in the Vector registry.",
      "description_key": "actions.vector.registry.register.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "vector.registry.register"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.registry.register",
      "examples": [
        {
          "input": {
            "kind": "agent",
            "name": "Support Agent",
            "description": "Answers tier-1 support questions.",
            "visibility": "private"
          },
          "output": {
            "entry": {
              "id": "ag_1",
              "kind": "agent",
              "name": "Support Agent",
              "visibility": "private"
            }
          },
          "note": "Register an agent."
        }
      ]
    },
    {
      "id": "vector.persona.create",
      "domain": "vector",
      "summary": "Create a Vector persona — a named attribute + scope set an agent can act under.",
      "description_key": "actions.vector.persona.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "vector.persona.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.persona.create",
      "examples": [
        {
          "input": {
            "name": "Auditor",
            "attributes": {
              "role": "auditor"
            },
            "scopes": [
              "read"
            ]
          },
          "output": {
            "id": "per_1",
            "name": "Auditor"
          },
          "note": "Create a persona."
        }
      ]
    },
    {
      "id": "vector.persona.select",
      "domain": "vector",
      "summary": "Resolve a persona by id for the calling agent.",
      "description_key": "actions.vector.persona.select.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "vector.persona.manage"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.persona.select",
      "examples": [
        {
          "input": {
            "personaId": "per_1"
          },
          "output": {
            "persona": {
              "id": "per_1",
              "name": "Auditor"
            }
          },
          "note": "Select a persona."
        }
      ]
    },
    {
      "id": "vector.policy.create",
      "domain": "vector",
      "summary": "Create a Vector egress policy.",
      "description_key": "actions.vector.policy.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "vector.policy.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.policy.create",
      "examples": [
        {
          "input": {
            "name": "Egress allowlist",
            "effect": "deny_by_default",
            "rules": {
              "allow": [
                "https://example.test"
              ]
            }
          },
          "output": {
            "id": "pol_1",
            "name": "Egress allowlist"
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "vector.policy.evaluate",
      "domain": "vector",
      "summary": "Ask whether a destination is permitted by the workspace's Vector policies.",
      "description_key": "actions.vector.policy.evaluate.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "vector.policy.evaluate"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.policy.evaluate",
      "examples": [
        {
          "input": {
            "destination": "https://example.test/agent"
          },
          "output": {
            "allowed": false,
            "reason": "deny_by_default"
          },
          "note": "Evaluate a destination."
        }
      ]
    },
    {
      "id": "vector.vault.credential.create",
      "domain": "vector",
      "summary": "Record a credential REFERENCE in the Vector vault. Never the secret itself.",
      "description_key": "actions.vector.vault.credential.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "vector.vault.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.vault.credential.create",
      "examples": [
        {
          "input": {
            "name": "Billing API",
            "credType": "api_key"
          },
          "output": {
            "id": "cred_1",
            "name": "Billing API"
          },
          "note": "Record a credential reference."
        }
      ]
    },
    {
      "id": "vector.conduit.connection.create",
      "domain": "vector",
      "summary": "Create a Vector conduit connection to an upstream provider.",
      "description_key": "actions.vector.conduit.connection.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "vector.conduit.connect"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.conduit.connection.create",
      "examples": [
        {
          "input": {
            "name": "Billing",
            "provider": "http",
            "authMode": "byo",
            "config": {
              "url": "https://example.test"
            }
          },
          "output": {
            "id": "con_1",
            "name": "Billing"
          },
          "note": "Create a connection."
        }
      ]
    },
    {
      "id": "vector.cartograph.mapping.create",
      "domain": "vector",
      "summary": "Create a Cartograph field mapping between two schemas.",
      "description_key": "actions.vector.cartograph.mapping.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "vector.cartograph.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.cartograph.mapping.create",
      "examples": [
        {
          "input": {
            "name": "CRM → ledger",
            "sourceSchema": "crm.v1",
            "targetSchema": "ledger.v2",
            "fieldMap": {
              "customer_id": "account"
            }
          },
          "output": {
            "id": "map_1",
            "name": "CRM → ledger"
          },
          "note": "Create a mapping."
        }
      ]
    },
    {
      "id": "vector.cartograph.translate",
      "domain": "vector",
      "summary": "Translate one record through a Cartograph mapping.",
      "description_key": "actions.vector.cartograph.translate.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "vector.cartograph.translate"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.cartograph.translate",
      "examples": [
        {
          "input": {
            "mappingId": "map_1",
            "payload": {
              "account": "A-1"
            }
          },
          "output": {
            "translated": {
              "customer_id": "A-1"
            }
          },
          "note": "Translate a record."
        }
      ]
    },
    {
      "id": "vector.cartograph.batch",
      "domain": "vector",
      "summary": "Translate many records through a Cartograph mapping in one call.",
      "description_key": "actions.vector.cartograph.batch.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "vector.cartograph.translate"
      ],
      "audit_kind": "agent_read",
      "rate_class": "expensive",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.cartograph.batch",
      "examples": [
        {
          "input": {
            "mappingId": "map_1",
            "records": [
              {
                "account": "A-1"
              },
              {
                "account": "A-2"
              }
            ]
          },
          "output": {
            "translated": [
              {
                "customer_id": "A-1"
              },
              {
                "customer_id": "A-2"
              }
            ]
          },
          "note": "Translate a batch."
        }
      ]
    },
    {
      "id": "vector.compliance.declare",
      "domain": "vector",
      "summary": "Declare a compliance framework and its constraints for the workspace.",
      "description_key": "actions.vector.compliance.declare.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "vector.compliance.declare"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.compliance.declare",
      "examples": [
        {
          "input": {
            "framework": "gdpr",
            "constraints": {
              "residency": "eu"
            }
          },
          "output": {
            "id": "dec_1",
            "framework": "gdpr"
          },
          "note": "Declare GDPR."
        }
      ]
    },
    {
      "id": "vector.compliance.check",
      "domain": "vector",
      "summary": "Check a region against a declared compliance framework.",
      "description_key": "actions.vector.compliance.check.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "vector.compliance.check"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.compliance.check",
      "examples": [
        {
          "input": {
            "framework": "gdpr",
            "region": "eu"
          },
          "output": {
            "compliant": true
          },
          "note": "Check a region."
        }
      ]
    },
    {
      "id": "vector.routing.route.create",
      "domain": "vector",
      "summary": "Create a Vector route — an intent and the candidates that can serve it.",
      "description_key": "actions.vector.routing.route.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "vector.routing.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.routing.route.create",
      "examples": [
        {
          "input": {
            "intent": "summarise",
            "strategy": "lowest_cost",
            "candidates": [
              {
                "target": "https://example.test/a",
                "costUm": 1
              }
            ]
          },
          "output": {
            "id": "rt_1",
            "intent": "summarise"
          },
          "note": "Create a route."
        }
      ]
    },
    {
      "id": "vector.routing.resolve",
      "domain": "vector",
      "summary": "Resolve an intent to the target Vector selects for it.",
      "description_key": "actions.vector.routing.resolve.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "vector.routing.resolve"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/vector.routing.resolve",
      "examples": [
        {
          "input": {
            "intent": "summarise"
          },
          "output": {
            "selected": {
              "target": "https://example.test/a"
            }
          },
          "note": "Resolve an intent."
        }
      ]
    },
    {
      "id": "pricevice.attest.price",
      "domain": "pricevice",
      "summary": "Issue a Price Provenance Receipt (PPR) for a pricing decision — signed, time-anchored, input-committed, policy-conformance-checked.",
      "description_key": "actions.pricevice.attest.price.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "pricevice.attest"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.attest.price",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "modelLabel": "rate-card-2026Q2",
            "policyId": "01J9X4P9R7Z2C1A1F2A8VBJYP1",
            "inputCommitment": "abcd1234567890abcdef1234567890abcdef1234567890abcdef12345678abcd",
            "kind": "quote",
            "amountMinor": 1250000,
            "currency": "USD",
            "unit": "total",
            "domain": "saas",
            "reference": "Q-2026-0042",
            "buyerRef": "segment:mid-market"
          },
          "output": {
            "receipt": {
              "version": "1",
              "receiptId": "01J9X4P9R7Z2C1A1F2A8VBJYV9",
              "issuedAt": "2026-06-10T12:00:00.000Z",
              "type": "price.attest",
              "signatureKeyId": "k1B2c3D4e5F6g7H8i9J0kA",
              "signature": "...",
              "body": {}
            }
          },
          "note": "Attest a quoted price."
        }
      ]
    },
    {
      "id": "pricevice.receipt.list",
      "domain": "pricevice",
      "summary": "List Price Provenance Receipts for a workspace (filter by domain or conformance verdict).",
      "description_key": "actions.pricevice.receipt.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "pricevice.receipts.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.receipt.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "domain": "saas"
          },
          "output": {
            "receipts": [],
            "nextCursor": null
          },
          "note": "List PPRs."
        }
      ]
    },
    {
      "id": "pricevice.receipt.get",
      "domain": "pricevice",
      "summary": "Get a single Price Provenance Receipt with its full seven-component body.",
      "description_key": "actions.pricevice.receipt.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "pricevice.receipts.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.receipt.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "receiptId": "01J9X4P9R7Z2C1A1F2A8VBJYV9"
          },
          "output": {
            "receipt": {
              "version": "1",
              "receiptId": "01J9X4P9R7Z2C1A1F2A8VBJYV9",
              "issuedAt": "2026-06-10T12:00:00.000Z",
              "type": "price.attest",
              "signatureKeyId": "k1B2c3D4e5F6g7H8i9J0kA",
              "signature": "...",
              "body": {}
            }
          },
          "note": "Read a PPR."
        }
      ]
    },
    {
      "id": "pricevice.receipt.verify",
      "domain": "pricevice",
      "summary": "Verify a PPR's Ed25519 signature against the published Pricevice public keys. Public — no account required. Cannot be disabled.",
      "description_key": "actions.pricevice.receipt.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.receipt.verify",
      "examples": [
        {
          "input": {
            "receipt": {
              "version": "1",
              "receiptId": "01J9X4P9R7Z2C1A1F2A8VBJYV9",
              "issuedAt": "2026-06-10T12:00:00.000Z",
              "type": "price.attest",
              "signatureKeyId": "k1B2c3D4e5F6g7H8i9J0kA",
              "signature": "...",
              "body": {}
            }
          },
          "output": {
            "ok": true,
            "signedAt": "2026-06-10T12:00:00.000Z",
            "signatureKeyId": "k1B2c3D4e5F6g7H8i9J0kA",
            "publishedKeyUrl": "https://api.trustvice.com/.well-known/pricevice-keys.json"
          },
          "note": "Verify a PPR."
        }
      ]
    },
    {
      "id": "pricevice.policy.add",
      "domain": "pricevice",
      "summary": "Create a pricing policy — the declared bounds + Level-0 excluded-attributes list PPRs are conformance-checked against.",
      "description_key": "actions.pricevice.policy.add.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "pricevice.policies.create"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.policy.add",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "label": "SaaS list-price band 2026",
            "floorMinor": 90000,
            "ceilingMinor": 150000,
            "currency": "USD",
            "excludedAttributes": [
              "nationality",
              "gender"
            ]
          },
          "output": {
            "policy": {
              "policyId": "01J9X4P9R7Z2C1A1F2A8VBJYP1",
              "workspaceId": "ws_DEMODEFAULT0000000000",
              "label": "SaaS list-price band 2026",
              "version": 1,
              "floorMinor": 90000,
              "ceilingMinor": 150000,
              "currency": "USD",
              "excludedAttributes": [
                "nationality",
                "gender"
              ],
              "isActive": true,
              "createdAt": "2026-06-10T12:00:00.000Z"
            }
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "pricevice.policy.list",
      "domain": "pricevice",
      "summary": "List pricing policies in a workspace.",
      "description_key": "actions.pricevice.policy.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "pricevice.policies.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.policy.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "policies": [],
            "nextCursor": null
          },
          "note": "List policies."
        }
      ]
    },
    {
      "id": "pricevice.policy.get",
      "domain": "pricevice",
      "summary": "Get one pricing policy.",
      "description_key": "actions.pricevice.policy.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "pricevice.policies.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.policy.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "policyId": "01J9X4P9R7Z2C1A1F2A8VBJYP1"
          },
          "output": {
            "policyId": "01J9X4P9R7Z2C1A1F2A8VBJYP1",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "label": "SaaS list-price band 2026",
            "version": 1,
            "floorMinor": 90000,
            "ceilingMinor": 150000,
            "currency": "USD",
            "excludedAttributes": [],
            "isActive": true,
            "createdAt": "2026-06-10T12:00:00.000Z"
          },
          "note": "Read a policy."
        }
      ]
    },
    {
      "id": "pricevice.policy.update",
      "domain": "pricevice",
      "summary": "Update a pricing policy (bumps the version; receipts pin the version they were checked against — history never rewrites).",
      "description_key": "actions.pricevice.policy.update.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "pricevice.policies.edit"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.policy.update",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "policyId": "01J9X4P9R7Z2C1A1F2A8VBJYP1",
            "ceilingMinor": 160000
          },
          "output": {
            "policyId": "01J9X4P9R7Z2C1A1F2A8VBJYP1",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "label": "SaaS list-price band 2026",
            "version": 2,
            "floorMinor": 90000,
            "ceilingMinor": 160000,
            "currency": "USD",
            "excludedAttributes": [],
            "isActive": true,
            "createdAt": "2026-06-10T12:00:00.000Z"
          },
          "note": "Update a policy."
        }
      ]
    },
    {
      "id": "pricevice.policy.remove",
      "domain": "pricevice",
      "summary": "Deactivate a pricing policy (soft — issued receipts keep their pinned policy version).",
      "description_key": "actions.pricevice.policy.remove.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "pricevice.policies.delete"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.policy.remove",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "policyId": "01J9X4P9R7Z2C1A1F2A8VBJYP1"
          },
          "output": {
            "deactivated": true
          },
          "note": "Deactivate a policy."
        }
      ]
    },
    {
      "id": "pricevice.integrity.summary",
      "domain": "pricevice",
      "summary": "Get the Keystone pricing-integrity summary — totals by conformance verdict + the recent off-policy receipts with proof attached.",
      "description_key": "actions.pricevice.integrity.summary.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "pricevice.integrity.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.integrity.summary",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "totals": {
              "receipts": 1240,
              "withinBounds": 1180,
              "offPolicy": 12,
              "unchecked": 48
            },
            "recentOffPolicy": [],
            "byDomain": {
              "saas": 900,
              "services": 340
            }
          },
          "note": "Read the integrity summary."
        }
      ]
    },
    {
      "id": "pricevice.disclosure.generate",
      "domain": "pricevice",
      "summary": "Generate the Aegis personalized-pricing disclosure for a PPR (deterministic from the receipt facts; states exactly what is proven and what is not).",
      "description_key": "actions.pricevice.disclosure.generate.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "pricevice.disclosures.generate"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/pricevice.disclosure.generate",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "receiptId": "01J9X4P9R7Z2C1A1F2A8VBJYV9",
            "regime": "eu_omnibus"
          },
          "output": {
            "receiptId": "01J9X4P9R7Z2C1A1F2A8VBJYV9",
            "regime": "eu_omnibus",
            "disclosureText": "This price was determined …",
            "generatedAt": "2026-06-10T12:00:00.000Z"
          },
          "note": "Generate a disclosure."
        }
      ]
    },
    {
      "id": "paradigm.idiom.session.open",
      "domain": "paradigm",
      "summary": "Open an Idiom mediation session with a counterparty agent (inline requires dual consent; annotation/advisory work single-sided).",
      "description_key": "actions.paradigm.idiom.session.open.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.idiom.sessions"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.idiom.session.open",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "counterpartyRef": "agent:acme-procurement",
            "mode": "advisory",
            "exchangeType": "negotiation"
          },
          "output": {
            "sessionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "mode": "advisory",
            "exchangeType": "negotiation",
            "counterpartyRef": "agent:acme-procurement",
            "status": "active",
            "createdAt": "2026-06-10T12:00:00.000Z"
          },
          "note": "Open an advisory session."
        }
      ]
    },
    {
      "id": "paradigm.idiom.message.mediate",
      "domain": "paradigm",
      "summary": "Submit a message to an Idiom session for mediation/annotation. Substance is never altered; an unverified rendering is never released (fallback = annotated verbatim).",
      "description_key": "actions.paradigm.idiom.message.mediate.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.idiom.sessions"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.idiom.message.mediate",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "sessionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1",
            "direction": "inbound",
            "message": "We are not in a position to accept these terms."
          },
          "output": {
            "messageId": "01J9X4P9R7Z2C1A1F2A8VBJYM1",
            "direction": "inbound",
            "verbatimOriginal": "We are not in a position to accept these terms.",
            "rendering": null,
            "verificationResult": "fallback_annotation",
            "annotations": [
              "Directness is register-typical for this counterparty frame — read as position, not hostility."
            ],
            "chainHash": "…"
          },
          "note": "Mediate an inbound message."
        }
      ]
    },
    {
      "id": "paradigm.idiom.advisory.analyze",
      "domain": "paradigm",
      "summary": "Advisory (single-side) analysis of a counterparty message: frame features, misread warnings, what it actually signals.",
      "description_key": "actions.paradigm.idiom.advisory.analyze.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.idiom.advisory"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.idiom.advisory.analyze",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "message": "No. The price is the price."
          },
          "output": {
            "frameFeatures": {
              "directness": 0.95,
              "hedging": 0.05
            },
            "annotations": [
              "High-directness frame."
            ],
            "misreadWarnings": [
              "Bluntness here is frame-derived; do not read as bad faith."
            ]
          },
          "note": "Analyze a counterparty message."
        }
      ]
    },
    {
      "id": "paradigm.idiom.profile.declare",
      "domain": "paradigm",
      "summary": "Declare your own agent's frame profile (recorded alongside inferred profiles; declared-vs-inferred divergence is itself a signal).",
      "description_key": "actions.paradigm.idiom.profile.declare.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.idiom.advisory"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.idiom.profile.declare",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentRef": "agent:our-negotiator",
            "dimensions": {
              "directness": 0.4,
              "hedging": 0.7
            }
          },
          "output": {
            "profileId": "01J9X4P9R7Z2C1A1F2A8VBJYF1",
            "agentRef": "agent:our-negotiator",
            "level": "declared",
            "version": 1
          },
          "note": "Declare a frame profile."
        }
      ]
    },
    {
      "id": "paradigm.idiom.transcript.get",
      "domain": "paradigm",
      "summary": "Get a session's signed, hash-chained mediation transcript (verbatim originals paired with renderings and annotations).",
      "description_key": "actions.paradigm.idiom.transcript.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.idiom.sessions"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.idiom.transcript.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "sessionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "output": {
            "sessionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1",
            "messages": []
          },
          "note": "Read a transcript."
        }
      ]
    },
    {
      "id": "paradigm.temperament.card.publish",
      "domain": "paradigm",
      "summary": "Author and publish a temperament card for an API (validated for semantic consistency; publishes as provider_declared — verification upgrades evidence, never the publisher).",
      "description_key": "actions.paradigm.temperament.card.publish.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.temperament.publish"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.temperament.card.publish",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2",
            "scope": "whole_api",
            "sections": {
              "ambiguity": {
                "malformed_date": "reject"
              },
              "retry": {
                "reads": "guaranteed",
                "writes": "designed_but_unverified"
              },
              "errorStyle": {
                "verbosity": "structured"
              },
              "determinism": {
                "class": "deterministic"
              },
              "freshness": {},
              "degradation": {},
              "change": {}
            }
          },
          "output": {
            "cardId": "01J9X4P9R7Z2C1A1F2A8VBJYC1",
            "apiRef": "api.example.com/v2",
            "status": "published",
            "sections": {},
            "evidence": {},
            "version": 1
          },
          "note": "Publish a card."
        }
      ]
    },
    {
      "id": "paradigm.temperament.card.get",
      "domain": "paradigm",
      "summary": "Get a temperament card (published cards are public registry reads; 'no card published' is itself a queryable state).",
      "description_key": "actions.paradigm.temperament.card.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.temperament.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.temperament.card.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2"
          },
          "output": {
            "cardId": "01J9X4P9R7Z2C1A1F2A8VBJYC1",
            "apiRef": "api.example.com/v2",
            "status": "published",
            "sections": {},
            "evidence": {},
            "version": 1
          },
          "note": "Read a card by API ref."
        }
      ]
    },
    {
      "id": "paradigm.temperament.search",
      "domain": "paradigm",
      "summary": "Search the temperament-card registry by API ref and behavioral filters (determinism class, status).",
      "description_key": "actions.paradigm.temperament.search.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.temperament.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.temperament.search",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "determinism": "deterministic"
          },
          "output": {
            "cards": [],
            "nextCursor": null
          },
          "note": "Search cards."
        }
      ]
    },
    {
      "id": "paradigm.temperament.strategy.get",
      "domain": "paradigm",
      "summary": "Get the compiled calling-strategy directives for a card (retry policy, input strictness, response interpretation, degradation expectation) — unverified cards carry lower trust weights.",
      "description_key": "actions.paradigm.temperament.strategy.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.temperament.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.temperament.strategy.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "cardId": "01J9X4P9R7Z2C1A1F2A8VBJYC1"
          },
          "output": {
            "cardId": "01J9X4P9R7Z2C1A1F2A8VBJYC1",
            "apiRef": "api.example.com/v2",
            "directives": {},
            "compilerVersion": "strategy-c1",
            "trustWeight": 0.5
          },
          "note": "Compile a calling strategy."
        }
      ]
    },
    {
      "id": "paradigm.overture.offer.publish",
      "domain": "paradigm",
      "summary": "Publish an Overture initiation offer (a typed declaration of what you may proactively tell subscribers — delivery still requires their consent).",
      "description_key": "actions.paradigm.overture.offer.publish.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.overture.provider"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.overture.offer.publish",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "type": "risk_warning",
            "label": "Chargeback pattern forming",
            "subjectScope": "subscriber payment telemetry",
            "frequencyBandPerDay": 5
          },
          "output": {
            "offerId": "01J9X4P9R7Z2C1A1F2A8VBJY01",
            "type": "risk_warning",
            "label": "Chargeback pattern forming",
            "status": "active"
          },
          "note": "Publish an offer."
        }
      ]
    },
    {
      "id": "paradigm.overture.subscribe",
      "domain": "paradigm",
      "summary": "Subscribe to an initiation offer with consent rules (value threshold, frequency caps, quiet hours). Mints a signed consent receipt.",
      "description_key": "actions.paradigm.overture.subscribe.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.overture.subscribe"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.overture.subscribe",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "offerId": "01J9X4P9R7Z2C1A1F2A8VBJY01",
            "minPredictedValue": 0.5
          },
          "output": {
            "subscriptionId": "01J9X4P9R7Z2C1A1F2A8VBJYU1",
            "offerId": "01J9X4P9R7Z2C1A1F2A8VBJY01",
            "consentReceipt": "…",
            "status": "active"
          },
          "note": "Subscribe with rules."
        }
      ]
    },
    {
      "id": "paradigm.overture.initiate",
      "domain": "paradigm",
      "summary": "Submit an initiation for delivery to subscribers. Consent-first: subscribers without an active subscription are never reached; each delivery is value-predicted against the attention budget.",
      "description_key": "actions.paradigm.overture.initiate.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.overture.provider"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.overture.initiate",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "offerId": "01J9X4P9R7Z2C1A1F2A8VBJY01",
            "payload": {
              "pattern": "chargeback_spike",
              "confidence": 0.83
            },
            "urgency": 0.8
          },
          "output": {
            "initiationId": "01J9X4P9R7Z2C1A1F2A8VBJYI1",
            "decisions": []
          },
          "note": "Initiate to subscribers."
        }
      ]
    },
    {
      "id": "paradigm.overture.inbox.list",
      "domain": "paradigm",
      "summary": "Read the initiation inbox — delivered initiations with predicted-value disclosure and feedback affordances.",
      "description_key": "actions.paradigm.overture.inbox.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.overture.subscribe"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.overture.inbox.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "deliveries": [],
            "nextCursor": null
          },
          "note": "Read the inbox."
        }
      ]
    },
    {
      "id": "paradigm.overture.feedback",
      "domain": "paradigm",
      "summary": "Rate a delivered initiation (useful / not useful / harmful) — the value loop that earns or costs the provider future attention.",
      "description_key": "actions.paradigm.overture.feedback.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "paradigm.overture.subscribe"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.overture.feedback",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "deliveryId": "01J9X4P9R7Z2C1A1F2A8VBJYD1",
            "rating": "useful"
          },
          "output": {
            "recorded": true
          },
          "note": "Close the value loop."
        }
      ]
    },
    {
      "id": "paradigm.rapport.events.ingest",
      "domain": "paradigm",
      "summary": "Contribute consented agent-interaction telemetry (calls, retries, doc fetches, abandonment markers). Requires an active consent grant; identity is stripped at the edge.",
      "description_key": "actions.paradigm.rapport.events.ingest.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.rapport.contribute"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.rapport.events.ingest",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "grantId": "01J9X4P9R7Z2C1A1F2A8VBJYG1",
            "events": [
              {
                "apiRef": "api.example.com/v2",
                "eventType": "call",
                "outcome": "success",
                "parameterDelta": false
              }
            ]
          },
          "output": {
            "accepted": 1,
            "rejected": 0
          },
          "note": "Contribute telemetry."
        }
      ]
    },
    {
      "id": "paradigm.rapport.score.get",
      "domain": "paradigm",
      "summary": "Get the public Rapport Score for an API (k-floored: under-floor APIs honestly return 'insufficient_data', never a weak number).",
      "description_key": "actions.paradigm.rapport.score.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.rapport.score.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2"
          },
          "output": {
            "apiRef": "api.example.com/v2",
            "score": null,
            "methodologyVersion": "rapport-m1",
            "publicationStatus": "insufficient_data"
          },
          "note": "Read a public score."
        }
      ]
    },
    {
      "id": "paradigm.rapport.analytics.get",
      "domain": "paradigm",
      "summary": "Provider analytics for your own API: metric cells + attribution findings ranked by impact (which endpoint/error/pattern drives confusion or abandonment).",
      "description_key": "actions.paradigm.rapport.analytics.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.rapport.analytics"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.rapport.analytics.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2"
          },
          "output": {
            "cells": [],
            "attribution": []
          },
          "note": "Read provider analytics."
        }
      ]
    },
    {
      "id": "paradigm.counterfact.feasibility.check",
      "domain": "paradigm",
      "summary": "Check what substrate modes are available for a counterfactual query before running it (which mode, what confidence ceiling, what gaps, whether it would be refused).",
      "description_key": "actions.paradigm.counterfact.feasibility.check.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.counterfact.run"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.counterfact.feasibility.check",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2",
            "anchorTraceIds": [
              "01J9X4P9R7Z2C1A1F2A8VBJYT1"
            ],
            "interventionType": "no_call"
          },
          "output": {
            "availableModes": [
              "recorded_reconstruction"
            ],
            "selectedMode": "recorded_reconstruction",
            "confidenceCeiling": "reconstruction_complete",
            "gapSummary": [],
            "wouldRefuse": false
          },
          "note": "Check feasibility."
        }
      ]
    },
    {
      "id": "paradigm.counterfact.query.run",
      "domain": "paradigm",
      "summary": "Run a counterfactual query against recorded interaction state. Every result carries its mode + confidence grade; un-answerable classes are refused with a structured explanation, never guessed.",
      "description_key": "actions.paradigm.counterfact.query.run.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.counterfact.run"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.counterfact.query.run",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2",
            "anchorTraceIds": [
              "01J9X4P9R7Z2C1A1F2A8VBJYT1"
            ],
            "interventionType": "no_call"
          },
          "output": {
            "queryId": "01J9X4P9R7Z2C1A1F2A8VBJYQ1",
            "status": "evaluated",
            "result": {},
            "refusal": null
          },
          "note": "Run a counterfactual."
        }
      ]
    },
    {
      "id": "paradigm.counterfact.record.get",
      "domain": "paradigm",
      "summary": "Get the sealed, hash-chained evidentiary record for an evaluated counterfactual (citable in audits and disputes).",
      "description_key": "actions.paradigm.counterfact.record.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.counterfact.run"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.counterfact.record.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "queryId": "01J9X4P9R7Z2C1A1F2A8VBJYQ1"
          },
          "output": {
            "record": {}
          },
          "note": "Read a sealed record."
        }
      ]
    },
    {
      "id": "paradigm.breaker.signal.list",
      "domain": "paradigm",
      "summary": "Read the public halt-signal log (active and historical) — append-only, complete, offline-verifiable. Public; cannot be disabled.",
      "description_key": "actions.paradigm.breaker.signal.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.breaker.signal.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "status": "active"
          },
          "output": {
            "signals": [],
            "nextCursor": null
          },
          "note": "Read the public signal log."
        }
      ]
    },
    {
      "id": "paradigm.breaker.check.action",
      "domain": "paradigm",
      "summary": "Pre-flight halt check: does any active signal's scope match this action descriptor? Returns matched signals + the strictest severity. Absent any signal, the answer is 'proceed' — the system halts on authenticated signal, never on silence.",
      "description_key": "actions.paradigm.breaker.check.action.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.breaker.check.action",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "actionClass": "agent_financial_transactions",
            "domain": "payments"
          },
          "output": {
            "halted": false,
            "severity": null,
            "matchedSignals": []
          },
          "note": "Pre-flight check."
        }
      ]
    },
    {
      "id": "paradigm.breaker.signal.issue",
      "domain": "paradigm",
      "summary": "Issue a halt signal (provider-class: your own registered surface only; duration is capped by the issuer-class ceiling and every signal expires — unconditionally).",
      "description_key": "actions.paradigm.breaker.signal.issue.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [
        "paradigm.breaker.issue"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.breaker.signal.issue",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "actionClasses": [
              "agent_purchases"
            ],
            "domains": [
              "api.example.com/v2"
            ],
            "qualifiers": [],
            "severity": "soft_halt",
            "basis": "Correlated mis-execution pattern across fleet; pausing pending review.",
            "durationMinutes": 90,
            "drill": false
          },
          "output": {
            "signalId": "01J9X4P9R7Z2C1A1F2A8VBJYH1",
            "issuerClass": "provider",
            "scope": {
              "actionClasses": [
                "agent_purchases"
              ],
              "domains": [
                "api.example.com/v2"
              ],
              "jurisdictions": [],
              "qualifiers": []
            },
            "severity": "soft_halt",
            "drill": false,
            "issuedAt": "2026-06-10T12:00:00.000Z",
            "expiresAt": "2026-06-10T13:30:00.000Z",
            "status": "active"
          },
          "note": "Issue a scoped halt."
        }
      ]
    },
    {
      "id": "paradigm.breaker.point.register",
      "domain": "paradigm",
      "summary": "Register an enforcement point (gateway, runtime or MCP server) that will acknowledge and enforce breaker signals for this workspace.",
      "description_key": "actions.paradigm.breaker.point.register.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.breaker.enforce"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.breaker.point.register",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "type": "gateway",
            "label": "EU edge gateway",
            "registeredSurface": [
              "api.example.com/v2"
            ],
            "drillParticipation": true
          },
          "output": {
            "point": {
              "pointId": "01J9X4P9R7Z2C1A1F2A8VBJYP1",
              "workspaceId": "ws_DEMODEFAULT0000000000",
              "type": "gateway",
              "label": "EU edge gateway",
              "registeredSurface": [
                "api.example.com/v2"
              ],
              "drillParticipation": true,
              "createdAt": "2026-09-02T12:00:00.000Z"
            }
          },
          "note": "Register an enforcement point."
        }
      ]
    },
    {
      "id": "paradigm.breaker.point.list",
      "domain": "paradigm",
      "summary": "List this workspace's registered enforcement points — which surfaces are wired to honour breaker signals.",
      "description_key": "actions.paradigm.breaker.point.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.breaker.enforce"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.breaker.point.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "points": []
          },
          "note": "List enforcement points."
        }
      ]
    },
    {
      "id": "paradigm.breaker.acknowledge",
      "domain": "paradigm",
      "summary": "Report an enforcement point's state for a signal (acknowledged / enforcing / declared non-compliant) — coverage visibility is part of the protocol.",
      "description_key": "actions.paradigm.breaker.acknowledge.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "paradigm.breaker.enforce"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.breaker.acknowledge",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "signalId": "01J9X4P9R7Z2C1A1F2A8VBJYH1",
            "pointId": "01J9X4P9R7Z2C1A1F2A8VBJYP1",
            "state": "enforcing"
          },
          "output": {
            "recorded": true
          },
          "note": "Acknowledge enforcement."
        }
      ]
    },
    {
      "id": "paradigm.breaker.proposal.open",
      "domain": "paradigm",
      "summary": "Open a community-class halt proposal (draft signal + evidence) for the affected operator constituency to vote on — advisories never bypass the vote.",
      "description_key": "actions.paradigm.breaker.proposal.open.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.breaker.vote"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.breaker.proposal.open",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "draftSignal": {
              "actionClasses": [
                "autonomous_writes"
              ],
              "domains": [
                "api.example.com"
              ]
            },
            "evidence": [
              "Synchronized retry storm observed across 40 fleets."
            ],
            "ballotMinutes": 60
          },
          "output": {
            "proposalId": "01J9X4P9R7Z2C1A1F2A8VBJYR1",
            "status": "open",
            "ballotClosesAt": "2026-06-10T13:00:00.000Z"
          },
          "note": "Open a community proposal."
        }
      ]
    },
    {
      "id": "paradigm.umbra.document.publish",
      "domain": "paradigm",
      "summary": "Author and publish an Umbra negative-space document. Vague entries are structurally rejected (triggers + failure signature required; silent-failure entries require detection guidance).",
      "description_key": "actions.paradigm.umbra.document.publish.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.umbra.publish"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.umbra.document.publish",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2",
            "versionRange": ">=2.0 <3.0",
            "coverageStatement": "Input classes and call-order couplings examined by the provider team; no probe pass yet.",
            "entries": [
              {
                "type": "silent_failure",
                "specification": "Batch update reports 200 OK while skipping rows over 1MB.",
                "triggers": "POST /batch with any row > 1MB",
                "failureSignature": "partial_effect",
                "severity": "silent_hazardous",
                "detectionGuidance": "Re-read affected rows after batch write and compare row counts."
              }
            ]
          },
          "output": {
            "documentId": "01J9X4P9R7Z2C1A1F2A8VBJYW1",
            "apiRef": "api.example.com/v2",
            "status": "published",
            "entryCount": 1
          },
          "note": "Publish negative space."
        }
      ]
    },
    {
      "id": "paradigm.umbra.document.get",
      "domain": "paradigm",
      "summary": "Get an API's published Umbra document with entries (published documents are public registry reads; every document carries its coverage statement).",
      "description_key": "actions.paradigm.umbra.document.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.umbra.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.umbra.document.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2"
          },
          "output": {
            "document": {},
            "entries": []
          },
          "note": "Read a document."
        }
      ]
    },
    {
      "id": "paradigm.umbra.input.check",
      "domain": "paradigm",
      "summary": "Pre-call check of an input descriptor against an API's known-unhandled classes — plan around documented failure modes instead of colliding with them.",
      "description_key": "actions.paradigm.umbra.input.check.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.umbra.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.umbra.input.check",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2",
            "operation": "POST /batch",
            "inputDescriptor": "rows up to 2MB"
          },
          "output": {
            "matches": [],
            "hazardous": false,
            "coverageStatement": "No published document covers this operation — absence of an entry is not absence of a limitation."
          },
          "note": "Check an input pre-call."
        }
      ]
    },
    {
      "id": "paradigm.umbra.guards.get",
      "domain": "paradigm",
      "summary": "Get the compiled integration checks + runtime guards for an Umbra document (effect-verification wrappers for silent failures, input pre-validators, cliff-aware batching).",
      "description_key": "actions.paradigm.umbra.guards.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.umbra.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.umbra.guards.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "documentId": "01J9X4P9R7Z2C1A1F2A8VBJYW1"
          },
          "output": {
            "integrationChecks": [],
            "runtimeGuards": [],
            "compilerVersion": "guards-c1"
          },
          "note": "Compile guards."
        }
      ]
    },
    {
      "id": "paradigm.survey.recommend",
      "domain": "paradigm",
      "summary": "For task T under constraints C at step S: the ecosystem's revealed preference — usage shares, quality differentials, behavioral annotations, and a mandatory coverage statement. 'More used' is distinguished from 'measurably better'.",
      "description_key": "actions.paradigm.survey.recommend.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.survey.query"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.survey.recommend",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "task": "data_extraction",
            "stepRole": "document_parse",
            "constraintProfile": "accuracy_sensitive"
          },
          "output": {
            "ranked": [],
            "floorStatus": "insufficient_data",
            "coverageStatement": "Below the contributor floor for this cell — contribute telemetry to deepen the map."
          },
          "note": "Ask the map."
        }
      ]
    },
    {
      "id": "paradigm.survey.map.get",
      "domain": "paradigm",
      "summary": "Read a usage-map cell (per task node and step role): API usage shares with quality differentials, k-floored, with skew flags and the coverage statement.",
      "description_key": "actions.paradigm.survey.map.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "paradigm.survey.query"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.survey.map.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "task": "research"
          },
          "output": {
            "cells": [],
            "coverageStatement": "…"
          },
          "note": "Browse the map."
        }
      ]
    },
    {
      "id": "paradigm.survey.events.contribute",
      "domain": "paradigm",
      "summary": "Contribute consented task-telemetry events (task context, call sequence roles, outcome markers). Contributors see deeper into the maps their data builds.",
      "description_key": "actions.paradigm.survey.events.contribute.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.survey.contribute"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.survey.events.contribute",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "grantId": "01J9X4P9R7Z2C1A1F2A8VBJYG1",
            "events": [
              {
                "task": "research",
                "stepRole": "web_search",
                "apiRef": "api.example.com/v2",
                "sequencePosition": 0,
                "outcome": "completed",
                "qualitySignal": 0.9
              }
            ]
          },
          "output": {
            "accepted": 1,
            "rejected": 0
          },
          "note": "Contribute task telemetry."
        }
      ]
    },
    {
      "id": "paradigm.consent.grant",
      "domain": "paradigm",
      "summary": "Create a Paradigm consent grant (scoped by modules + data class + granularity) — the precondition for ANY telemetry consumption. Mints a signed consent receipt.",
      "description_key": "actions.paradigm.consent.grant.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "paradigm.consent.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.consent.grant",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "products": [
              "rapport",
              "survey"
            ],
            "dataClass": "interaction_events",
            "granularity": "aggregate_only"
          },
          "output": {
            "grantId": "01J9X4P9R7Z2C1A1F2A8VBJYG1",
            "receipt": "…",
            "status": "active"
          },
          "note": "Grant consent."
        }
      ]
    },
    {
      "id": "paradigm.consent.revoke",
      "domain": "paradigm",
      "summary": "Revoke a consent grant — unaggregated contributed events are purged and the contributor is excluded from future cells.",
      "description_key": "actions.paradigm.consent.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "paradigm.consent.manage"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/paradigm.consent.revoke",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "grantId": "01J9X4P9R7Z2C1A1F2A8VBJYG1"
          },
          "output": {
            "revoked": true,
            "purgedEvents": 412
          },
          "note": "Revoke + purge."
        }
      ]
    },
    {
      "id": "driftvice.surface.connect",
      "domain": "driftvice",
      "summary": "Connect a surface where company language lives (BYO credentials) — the metered unit. Driftvice reads it with the access you scope.",
      "description_key": "actions.driftvice.surface.connect.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "driftvice.surfaces.connect"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.surface.connect",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "class": "bi_semantic_layer",
            "label": "Looker — growth project",
            "connectionRef": "conn_looker_001",
            "scope": [
              "growth"
            ],
            "syncSchedule": "daily"
          },
          "output": {
            "surfaceId": "01J9X4P9R7Z2C1A1F2A8VBJYS1",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "class": "bi_semantic_layer",
            "label": "Looker — growth project",
            "scope": [
              "growth"
            ],
            "writeBackCapable": true,
            "syncState": "never",
            "lastSyncAt": null
          },
          "note": "Connect a BI surface."
        }
      ]
    },
    {
      "id": "driftvice.surface.list",
      "domain": "driftvice",
      "summary": "List the connected surfaces in a workspace with their sync health.",
      "description_key": "actions.driftvice.surface.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "driftvice.surfaces.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.surface.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "surfaces": [],
            "nextCursor": null
          },
          "note": "List surfaces."
        }
      ]
    },
    {
      "id": "driftvice.surface.sync",
      "domain": "driftvice",
      "summary": "Trigger an incremental re-sync + re-extraction of a connected surface.",
      "description_key": "actions.driftvice.surface.sync.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "driftvice.surfaces.edit"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.surface.sync",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "surfaceId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "output": {
            "surfaceId": "01J9X4P9R7Z2C1A1F2A8VBJYS1",
            "syncState": "syncing",
            "queuedAt": "2026-06-14T12:00:00.000Z"
          },
          "note": "Re-sync a surface."
        }
      ]
    },
    {
      "id": "driftvice.surface.revoke",
      "domain": "driftvice",
      "summary": "Revoke a connected surface — purges its derived usages per the platform's data-handling terms.",
      "description_key": "actions.driftvice.surface.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "driftvice.surfaces.revoke"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.surface.revoke",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "surfaceId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "output": {
            "revoked": true,
            "usagesPurged": 412
          },
          "note": "Revoke + purge."
        }
      ]
    },
    {
      "id": "driftvice.glossary.search",
      "domain": "driftvice",
      "summary": "Semantic search over the DERIVED glossary — a projection of the live language graph, never an authored document.",
      "description_key": "actions.driftvice.glossary.search.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "driftvice.glossary.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.glossary.search",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "query": "active user"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Search the glossary."
        }
      ]
    },
    {
      "id": "driftvice.term.resolve",
      "domain": "driftvice",
      "summary": "Resolve a term to its canonical definition, approved aliases, and scope rules — with governance + drift status, so an agent knows settled vs drifting before it acts.",
      "description_key": "actions.driftvice.term.resolve.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "driftvice.glossary.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.term.resolve",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "term": "active user"
          },
          "output": {
            "resolved": false,
            "canon": null
          },
          "note": "Resolve a term to canon."
        }
      ]
    },
    {
      "id": "driftvice.metric.definition",
      "domain": "driftvice",
      "summary": "Return a metric's canonical computation (normalized + renderings) and whether surfaces currently diverge from it.",
      "description_key": "actions.driftvice.metric.definition.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "driftvice.glossary.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.metric.definition",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "metric": "MRR"
          },
          "output": {
            "conceptId": null,
            "canonicalComputation": null,
            "divergingSurfaceCount": 0
          },
          "note": "Get a metric's canon computation."
        }
      ]
    },
    {
      "id": "driftvice.term.check",
      "domain": "driftvice",
      "summary": "Check a definition or computation an agent is about to use against canon — report conformance or the specific drift.",
      "description_key": "actions.driftvice.term.check.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "driftvice.glossary.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.term.check",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "term": "active user",
            "definition": "logged in within 30 days"
          },
          "output": {
            "conforms": true,
            "driftType": null,
            "explanation": "Matches canon (30-day window, excludes internal accounts)."
          },
          "note": "Check a definition against canon."
        }
      ]
    },
    {
      "id": "driftvice.canon.status",
      "domain": "driftvice",
      "summary": "Get a concept's governance state, owner, coherence, and any linked decisions.",
      "description_key": "actions.driftvice.canon.status.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "driftvice.canon.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.canon.status",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conceptId": "01J9X4P9R7Z2C1A1F2A8VBJYC1"
          },
          "output": {
            "conceptId": "01J9X4P9R7Z2C1A1F2A8VBJYC1",
            "state": "canonical",
            "ownerRef": "team:growth",
            "openDriftCount": 0,
            "linkedDecisions": [
              "Q3 board deck"
            ]
          },
          "note": "Read canon status."
        }
      ]
    },
    {
      "id": "driftvice.drift.list",
      "domain": "driftvice",
      "summary": "Query the open drift feed — filter by type, severity, surface, domain, owner, or state.",
      "description_key": "actions.driftvice.drift.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "driftvice.drift.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.drift.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "severity": "high"
          },
          "output": {
            "drift": [],
            "nextCursor": null
          },
          "note": "List open drift."
        }
      ]
    },
    {
      "id": "driftvice.drift.resolve",
      "domain": "driftvice",
      "summary": "Resolve a drift via an owner decision: declare canon, merge/split concepts, approve/deprecate an alias, adjust scope, or accept the divergence with rationale.",
      "description_key": "actions.driftvice.drift.resolve.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "driftvice.drift.resolve"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.drift.resolve",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "driftId": "01J9X4P9R7Z2C1A1F2A8VBJYD1",
            "action": "declare_canon",
            "decisionPayload": {
              "canonicalName": "active user",
              "authoritativeDefinition": "logged in within 30 days, excluding internal accounts"
            }
          },
          "output": {
            "reconciliationId": "01J9X4P9R7Z2C1A1F2A8VBJYR1",
            "driftId": "01J9X4P9R7Z2C1A1F2A8VBJYD1",
            "propagationState": "pending"
          },
          "note": "Resolve drift by declaring canon."
        }
      ]
    },
    {
      "id": "driftvice.canon.declare",
      "domain": "driftvice",
      "summary": "Declare canon for a concept — the authoritative definition, approved aliases, scope rules, and (for metrics) the canonical computation. Anchored to the deriving usages.",
      "description_key": "actions.driftvice.canon.declare.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "driftvice.canon.declare"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.canon.declare",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conceptId": "01J9X4P9R7Z2C1A1F2A8VBJYC1",
            "canonicalName": "active user",
            "authoritativeDefinition": "logged in within 30 days, excluding internal accounts",
            "tier": 1
          },
          "output": {
            "canonId": "01J9X4P9R7Z2C1A1F2A8VBJYK1",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conceptId": "01J9X4P9R7Z2C1A1F2A8VBJYC1",
            "canonicalName": "active user",
            "authoritativeDefinition": "logged in within 30 days, excluding internal accounts",
            "approvedAliases": [],
            "scopeRules": {
              "inclusion": [],
              "exclusion": [
                "internal accounts"
              ]
            },
            "tier": 1,
            "governanceState": "canonical",
            "version": 1,
            "driftStatus": "settled"
          },
          "note": "Declare canon."
        }
      ]
    },
    {
      "id": "driftvice.coherence.summary",
      "domain": "driftvice",
      "summary": "Get language-coherence scores per surface, per domain, and company-wide, with trends — plus ungoverned heavy-usage terms awaiting governance.",
      "description_key": "actions.driftvice.coherence.summary.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "driftvice.glossary.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.coherence.summary",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "scope": "company"
          },
          "output": {
            "scores": [
              {
                "scope": "company",
                "scopeRef": null,
                "score": 78,
                "trend": "improving"
              }
            ],
            "ungovernedTopTerms": []
          },
          "note": "Read coherence."
        }
      ]
    },
    {
      "id": "driftvice.canon.attest",
      "domain": "driftvice",
      "summary": "Issue a signed canon attestation — a verifiable snapshot of a canonical definition + governance + drift status at this time, so the ground-truth answer can be proven authentic.",
      "description_key": "actions.driftvice.canon.attest.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "driftvice.canon.attest"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.canon.attest",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "canonId": "01J9X4P9R7Z2C1A1F2A8VBJYK1"
          },
          "output": {
            "version": "1",
            "attestationId": "01J9X4P9R7Z2C1A1F2A8VBJYA1",
            "type": "canon.attest",
            "issuedAt": "2026-06-14T12:00:00.000Z",
            "signature": "...",
            "signatureKeyId": "driftvice-2026-q2-enam",
            "body": {}
          },
          "note": "Issue a canon attestation."
        }
      ]
    },
    {
      "id": "driftvice.canon.verify",
      "domain": "driftvice",
      "summary": "Verify a canon attestation's Ed25519 signature against the published Driftvice public keys. Public — no account required. Cannot be disabled.",
      "description_key": "actions.driftvice.canon.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.canon.verify",
      "examples": [
        {
          "input": {
            "attestation": {
              "version": "1",
              "attestationId": "01J9X4P9R7Z2C1A1F2A8VBJYA1",
              "type": "canon.attest",
              "issuedAt": "2026-06-14T12:00:00.000Z",
              "signature": "...",
              "signatureKeyId": "driftvice-2026-q2-enam",
              "body": {}
            }
          },
          "output": {
            "ok": true,
            "signedAt": "2026-08-01T12:00:00.000Z",
            "signatureKeyId": "dKeyExampleBase64UrlAA",
            "signerDid": "did:web:trustvice.com",
            "artifact": "canon_attestation",
            "publishedKeyUrl": "https://api.trustvice.com/.well-known/driftvice-keys.json"
          },
          "note": "Verify a canon attestation."
        }
      ]
    },
    {
      "id": "driftvice.canon.guard",
      "domain": "driftvice",
      "summary": "Before acting on a concept, ask whether its live definition has drifted from canon far enough to warn or block. Blocking is deliberately hard to reach.",
      "description_key": "actions.driftvice.canon.guard.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "driftvice.canon.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/driftvice.canon.guard",
      "examples": [
        {
          "input": {
            "conceptId": "revenue"
          },
          "output": {
            "verdict": {
              "conceptId": "revenue",
              "disposition": "warn",
              "state": "conformant",
              "measured": 12,
              "diverging": 2,
              "divergenceRate": 0.1667,
              "computationDiverging": 0,
              "computationRate": 0,
              "citedUsages": []
            },
            "reportOnly": false,
            "notes": [
              "2 of 12 live usages diverge from canon; none diverge in computation, so this warns and does not block."
            ]
          },
          "note": "A guard that halts real work daily is a guard people disable."
        }
      ]
    },
    {
      "id": "fabric.retrieve.signed",
      "domain": "fabric",
      "summary": "Query extracted records AND get a signed-retrieval receipt source built from exactly the rows returned — so a downstream claim can prove what grounded it.",
      "description_key": "actions.fabric.retrieve.signed.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "fabric.records.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/fabric.retrieve.signed",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kinds": [
              "policy-clause"
            ]
          },
          "output": {
            "records": [],
            "nextCursor": null,
            "mint": {
              "kind": "signed-retrieval",
              "source": {
                "retrievalRef": "ret_abc",
                "queryHash": "abc123",
                "retrievalMethod": "filter",
                "embeddingModel": null,
                "sources": [],
                "retrievedAt": "2026-09-04T00:00:00.000Z"
              }
            }
          },
          "note": "Retrieve policy clauses and receive the receipt source for exactly those rows."
        }
      ]
    },
    {
      "id": "fabric.sources.catalog",
      "domain": "fabric",
      "summary": "List the connectable source catalog (128 sources across 11 surface classes) with their auth method + emitted record kinds.",
      "description_key": "actions.fabric.sources.catalog.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "fabric.connections.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/fabric.sources.catalog",
      "examples": [
        {
          "input": {
            "surfaceClass": "warehouse"
          },
          "output": {
            "sources": []
          },
          "note": "Browse warehouse sources."
        }
      ]
    },
    {
      "id": "fabric.connections.connect",
      "domain": "fabric",
      "summary": "Connect a catalog source (BYO credentials) into the fabric. The connection's records broadcast to every subscribing product.",
      "description_key": "actions.fabric.connections.connect.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "fabric.connections.connect"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/fabric.connections.connect",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "sourceId": "github",
            "label": "acme/app",
            "scope": [
              "acme/app"
            ],
            "syncSchedule": "event"
          },
          "output": {
            "connectionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "sourceId": "github",
            "surfaceClass": "codebase",
            "authMethod": "personal_access_token",
            "label": "acme/app",
            "scope": [
              "acme/app"
            ],
            "state": "pending",
            "syncState": "never",
            "emits": [
              "code-identifier",
              "doc-chunk"
            ],
            "lastSyncAt": null
          },
          "note": "Connect GitHub."
        }
      ]
    },
    {
      "id": "fabric.connections.list",
      "domain": "fabric",
      "summary": "List the workspace's fabric connections with their sync health.",
      "description_key": "actions.fabric.connections.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "fabric.connections.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/fabric.connections.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "connections": [],
            "nextCursor": null
          },
          "note": "List connections."
        }
      ]
    },
    {
      "id": "fabric.connections.sync",
      "domain": "fabric",
      "summary": "Enqueue an on-demand sync + re-extraction of a fabric connection.",
      "description_key": "actions.fabric.connections.sync.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "fabric.connections.edit"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/fabric.connections.sync",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "connectionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "output": {
            "enqueued": true,
            "connectionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "note": "Sync now."
        }
      ]
    },
    {
      "id": "fabric.connections.revoke",
      "domain": "fabric",
      "summary": "Revoke a fabric connection — purges its extracted records per the platform's data-handling terms.",
      "description_key": "actions.fabric.connections.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "fabric.connections.revoke"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/fabric.connections.revoke",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "connectionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "output": {
            "revoked": true,
            "recordsPurged": 1280
          },
          "note": "Revoke + purge."
        }
      ]
    },
    {
      "id": "fabric.records.query",
      "domain": "fabric",
      "summary": "Query extracted records by kind / source / subscriber — the universal read every product (and agent) uses to consume the fabric.",
      "description_key": "actions.fabric.records.query.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "fabric.records.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/fabric.records.query",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kinds": [
              "policy-clause"
            ]
          },
          "output": {
            "records": [],
            "nextCursor": null
          },
          "note": "Read policy clauses across all sources."
        }
      ]
    },
    {
      "id": "fabric.subscriptions.matrix",
      "domain": "fabric",
      "summary": "Return the fabric subscription matrix — which product consumes which record kinds, and how many products each kind powers.",
      "description_key": "actions.fabric.subscriptions.matrix.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "fabric.connections.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/fabric.subscriptions.matrix",
      "examples": [
        {
          "input": {},
          "output": {
            "subscriptions": {},
            "kindReach": {}
          },
          "note": "Introspect the matrix."
        }
      ]
    },
    {
      "id": "actionflow.flows.list",
      "domain": "actionflow",
      "summary": "List the workspace's ActionFlow flows.",
      "description_key": "actions.actionflow.flows.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/actionflow.flows.list",
      "examples": [
        {
          "input": {},
          "output": {
            "flows": [
              {
                "schemaVersion": "1.0",
                "id": "flow_incident",
                "workspaceId": "ws_example",
                "tenantId": "ws_example",
                "name": "Incident response",
                "description": "Page on-call, open a ticket, post to the channel.",
                "tags": [
                  "incident"
                ],
                "source": {
                  "kind": "customer_authored"
                },
                "triggers": [
                  {
                    "kind": "webhook",
                    "id": "trg_1"
                  }
                ],
                "steps": [
                  {
                    "id": "page",
                    "kind": "http"
                  }
                ],
                "version": {
                  "semver": "1.0.0",
                  "status": "published",
                  "publishedAt": "2026-08-01T09:00:00.000Z"
                },
                "authoredBy": "acct_1"
              }
            ]
          },
          "note": "List flows."
        }
      ]
    },
    {
      "id": "actionflow.flows.run",
      "domain": "actionflow",
      "summary": "Run a flow — trigger an execution through the bounded graph engine.",
      "description_key": "actions.actionflow.flows.run.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "agent_invocation",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/actionflow.flows.run",
      "examples": [
        {
          "input": {
            "id": "flow_incident",
            "input": {
              "severity": "high"
            }
          },
          "output": {
            "execution": {
              "executionId": "exe_01M1F0000000000000000001",
              "flowId": "flow_incident",
              "flowVersion": "1.0.0",
              "workspaceId": "ws_example",
              "initiatedBy": {
                "kind": "agent",
                "agentId": "did:web:example.com:agent:ops"
              },
              "triggeredBy": {
                "kind": "api"
              },
              "status": "running",
              "stepStates": {
                "page": {
                  "status": "succeeded",
                  "completedAt": "2026-08-01T09:00:02.000Z"
                }
              }
            }
          },
          "note": "Run the incident flow."
        },
        {
          "input": {
            "id": "flow_draft",
            "input": {}
          },
          "output": {
            "error": "flow_not_published",
            "detail": "Flow flow_draft is not published."
          },
          "note": "Running an unpublished flow is refused, not silently skipped."
        }
      ]
    },
    {
      "id": "actionflow.flows.publish",
      "domain": "actionflow",
      "summary": "Publish a flow (make the current draft the live version).",
      "description_key": "actions.actionflow.flows.publish.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "agent_invocation",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/actionflow.flows.publish",
      "examples": [
        {
          "input": {
            "id": "flow_incident"
          },
          "output": {
            "flow": {
              "schemaVersion": "1.0",
              "id": "flow_incident",
              "workspaceId": "ws_example",
              "tenantId": "ws_example",
              "name": "Incident response",
              "description": "Page on-call, open a ticket, post to the channel.",
              "tags": [
                "incident"
              ],
              "source": {
                "kind": "customer_authored"
              },
              "triggers": [
                {
                  "kind": "webhook",
                  "id": "trg_1"
                }
              ],
              "steps": [
                {
                  "id": "page",
                  "kind": "http"
                }
              ],
              "version": {
                "semver": "1.0.0",
                "status": "published",
                "publishedAt": "2026-08-01T09:00:00.000Z"
              },
              "authoredBy": "acct_1"
            }
          },
          "note": "Publish a flow."
        }
      ]
    },
    {
      "id": "actionflow.templates.list",
      "domain": "actionflow",
      "summary": "List the ActionFlow starter templates.",
      "description_key": "actions.actionflow.templates.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/actionflow.templates.list",
      "examples": [
        {
          "input": {},
          "output": {
            "templates": [
              {
                "id": "tmpl_incident_alert",
                "name": "Incident alert",
                "description": "Page on-call and open a ticket when an alert fires.",
                "tags": [
                  "incident",
                  "alerting"
                ],
                "stepCount": 4,
                "triggerCount": 1
              }
            ]
          },
          "note": "Browse templates."
        }
      ]
    },
    {
      "id": "actionflow.templates.instantiate",
      "domain": "actionflow",
      "summary": "Instantiate a template into a new draft flow in the workspace.",
      "description_key": "actions.actionflow.templates.instantiate.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "agent_invocation",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/actionflow.templates.instantiate",
      "examples": [
        {
          "input": {
            "id": "tmpl_incident_alert",
            "name": "My incident flow"
          },
          "output": {
            "flow": {
              "schemaVersion": "1.0",
              "id": "flow_01M1F0000000000000000002",
              "workspaceId": "ws_example",
              "tenantId": "ws_example",
              "name": "My incident flow",
              "description": "Page on-call and open a ticket when an alert fires.",
              "tags": [
                "incident",
                "alerting"
              ],
              "source": {
                "kind": "template",
                "templateId": "tmpl_incident_alert"
              },
              "triggers": [
                {
                  "kind": "webhook",
                  "id": "trg_1"
                }
              ],
              "steps": [
                {
                  "id": "page",
                  "kind": "http"
                }
              ],
              "version": {
                "semver": "0.1.0",
                "status": "draft"
              },
              "authoredBy": "acct_1"
            }
          },
          "note": "Create a flow from a template."
        }
      ]
    },
    {
      "id": "actionflow.executions.list",
      "domain": "actionflow",
      "summary": "List recent ActionFlow executions.",
      "description_key": "actions.actionflow.executions.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/actionflow.executions.list",
      "examples": [
        {
          "input": {},
          "output": {
            "executions": [
              {
                "executionId": "exe_01M1F0000000000000000001",
                "flowId": "flow_incident",
                "flowVersion": "1.0.0",
                "workspaceId": "ws_example",
                "initiatedBy": {
                  "kind": "agent",
                  "agentId": "did:web:example.com:agent:ops"
                },
                "triggeredBy": {
                  "kind": "api"
                },
                "status": "running",
                "stepStates": {
                  "page": {
                    "status": "succeeded",
                    "completedAt": "2026-08-01T09:00:02.000Z"
                  }
                }
              },
              {
                "executionId": "exe_01M1F0000000000000000002",
                "flowId": "flow_incident",
                "flowVersion": "1.0.0",
                "workspaceId": "ws_example",
                "initiatedBy": {
                  "kind": "api"
                },
                "triggeredBy": {
                  "kind": "webhook"
                },
                "status": "awaiting_human_review",
                "stepStates": {
                  "approve": {
                    "status": "succeeded",
                    "result": {
                      "awaitingReview": true,
                      "allowedDecisions": [
                        "approve",
                        "reject"
                      ]
                    }
                  }
                }
              }
            ]
          },
          "note": "List executions."
        }
      ]
    },
    {
      "id": "lens.list",
      "domain": "lens",
      "summary": "List the available compliance-evidence lenses.",
      "description_key": "actions.lens.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/lens.list",
      "examples": [
        {
          "input": {},
          "output": {
            "lenses": [
              {
                "id": "lens_audit_activity",
                "name": "Audit Activity Summary",
                "version": "1.0.0",
                "description": "Counts and samples every audit-chain event in the window."
              }
            ]
          },
          "note": "Browse lenses."
        }
      ]
    },
    {
      "id": "lens.execute",
      "domain": "lens",
      "summary": "Execute a lens over the audit chain — produces a signed compliance-evidence bundle (a paid action).",
      "description_key": "actions.lens.execute.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "agent_invocation",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/lens.execute",
      "examples": [
        {
          "input": {
            "id": "lens_audit_activity",
            "params": {
              "since": "2026-01-01T00:00:00.000Z"
            }
          },
          "output": {
            "ok": true,
            "resultId": "60e625a9-0cef-4e9f-ab6c-588e780a5a27",
            "signed": true,
            "bundle": {
              "lensId": "lens_audit_activity",
              "lensName": "Audit Activity Summary",
              "lensVersion": "1.0.0",
              "category": "operational",
              "contentHash": "fa439c11bed190031bc1479d087e5d201ace57d32f56b614133910ac1bdeec27",
              "executedAt": "2026-01-02T00:00:00.000Z",
              "rowsScanned": 128,
              "range": {
                "start": "2026-01-01T00:00:00.000Z",
                "end": "2026-01-02T00:00:00.000Z"
              },
              "sections": [],
              "source": "audit_chain",
              "workspaceId": "ws_example",
              "signature": {
                "alg": "EdDSA",
                "signingKeyId": "43IS9jyB9T6B2q53OQAGng",
                "value": "…"
              }
            }
          },
          "note": "Run a SOC 2 lens."
        }
      ]
    },
    {
      "id": "lens.validate",
      "domain": "lens",
      "summary": "Validate a lens definition (dry-run; no evidence bundle, no charge).",
      "description_key": "actions.lens.validate.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/lens.validate",
      "examples": [
        {
          "input": {
            "definition": {
              "framework": "soc2"
            }
          },
          "output": {
            "ok": true
          },
          "note": "Validate a lens."
        },
        {
          "input": {
            "definition": {}
          },
          "output": {
            "ok": false,
            "errors": [
              "definition.framework is required"
            ]
          },
          "note": "A definition that does not validate."
        }
      ]
    },
    {
      "id": "lens.results.list",
      "domain": "lens",
      "summary": "List prior lens-execution results (the evidence-bundle history).",
      "description_key": "actions.lens.results.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/lens.results.list",
      "examples": [
        {
          "input": {},
          "output": {
            "results": [
              {
                "id": "60e625a9-0cef-4e9f-ab6c-588e780a5a27",
                "lensId": "lens_audit_activity",
                "lensVersion": "1.0.0",
                "contentHash": "fa439c11bed190031bc1479d087e5d201ace57d32f56b614133910ac1bdeec27",
                "executedAt": "2026-01-02T00:00:00.000Z",
                "signed": true,
                "signingKeyId": "43IS9jyB9T6B2q53OQAGng",
                "status": "sealed"
              }
            ]
          },
          "note": "List evidence bundles."
        }
      ]
    },
    {
      "id": "notarian.snapshot.create",
      "domain": "notarian",
      "summary": "Create a signed Notarian snapshot of the workspace's audit state (a paid action).",
      "description_key": "actions.notarian.snapshot.create.description",
      "safety_level": "billing_impacting",
      "confirmation_policy": "always",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "agent_invocation",
      "rate_class": "billing",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/notarian.snapshot.create",
      "examples": [
        {
          "input": {
            "scope": "month-end"
          },
          "output": {
            "ok": true,
            "bundle": {
              "bundleId": "eb7f9624-1f91-45d9-a9a4-4f6adf0478ce",
              "workspaceId": "ws_example",
              "jurisdiction": "ENAM",
              "scope": "month-end",
              "rangeStart": "2026-01-01T00:00:00.000Z",
              "rangeEnd": "2026-01-31T23:59:59.999Z",
              "recordCount": 412,
              "merkleRoot": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
              "firstRecordId": "01M1F0000000000000000000A1",
              "lastRecordId": "01M1F0000000000000000000Z9",
              "snapshotAt": "2026-02-01T00:00:00.000Z",
              "records": [],
              "signingKeyId": "43IS9jyB9T6B2q53OQAGng",
              "ed25519Signature": "…"
            }
          },
          "note": "Seal a signed snapshot."
        }
      ]
    },
    {
      "id": "notarian.verify-chain",
      "domain": "notarian",
      "summary": "Verify the Notarian transparency chain (free — a transparency guarantee).",
      "description_key": "actions.notarian.verify-chain.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/notarian.verify-chain",
      "examples": [
        {
          "input": {},
          "output": {
            "ok": true,
            "verification": {
              "ok": true,
              "workspaceId": "ws_example",
              "checkedCount": 412,
              "tipHash": "2a1865a1eb374e0590a5af631ad0999d7085075f7f1db581867a9be3574e1890"
            }
          },
          "note": "Prove the chain is intact."
        },
        {
          "input": {},
          "output": {
            "ok": true,
            "verification": {
              "ok": false,
              "workspaceId": "ws_example",
              "checkedCount": 118,
              "breakAtSeq": 119,
              "breakReason": "prev_hash does not match the recomputed hash of seq 118"
            }
          },
          "note": "A chain that does NOT verify — the request succeeded, the chain did not."
        }
      ]
    },
    {
      "id": "notarian.anchors.list",
      "domain": "notarian",
      "summary": "List the Notarian anchors (the published chain checkpoints).",
      "description_key": "actions.notarian.anchors.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/notarian.anchors.list",
      "examples": [
        {
          "input": {},
          "output": {
            "anchors": [
              {
                "id": "eb7f9624-1f91-45d9-a9a4-4f6adf0478ce",
                "workspaceId": "ws_example",
                "ledgerSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
                "snapshottedAt": "2026-02-01T00:00:00.000Z",
                "otsProofId": null,
                "btcBlockHeight": null,
                "status": "pending",
                "source": "manual",
                "label": "month-end",
                "recordCount": 412,
                "rangeStart": "2026-01-01T00:00:00.000Z",
                "rangeEnd": "2026-01-31T23:59:59.999Z",
                "jurisdiction": "ENAM",
                "bundleId": "eb7f9624-1f91-45d9-a9a4-4f6adf0478ce"
              }
            ]
          },
          "note": "List anchors."
        }
      ]
    },
    {
      "id": "witness.frameworks.list",
      "domain": "witness",
      "summary": "List the supported agent-framework catalog (~180 frameworks) with status, category, and integration pattern — the platform-wide registry, not product-scoped.",
      "description_key": "actions.witness.frameworks.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.frameworks.list",
      "examples": [
        {
          "input": {
            "status": "stable"
          },
          "output": {
            "frameworks": [
              {
                "id": "langchain",
                "name": "LangChain",
                "tagline": "The most widely deployed agent framework.",
                "category": "orchestration",
                "runtime": "python",
                "status": "stable",
                "integrationPattern": "sdk",
                "sdkPackage": "@trustvice/witness-langchain",
                "sdkVersion": "1.0.0",
                "integrationDocHref": "/docs/witness/langchain"
              }
            ],
            "counts": {
              "total": 175,
              "stable": 120,
              "beta": 40,
              "comingSoon": 15
            }
          },
          "note": "All stable frameworks."
        }
      ]
    },
    {
      "id": "witness.frameworks.get",
      "domain": "witness",
      "summary": "Get one agent framework's catalog entry (support status, integration pattern, SDK package, docs).",
      "description_key": "actions.witness.frameworks.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.frameworks.get",
      "examples": [
        {
          "input": {
            "frameworkId": "langchain"
          },
          "output": {
            "framework": {
              "id": "langchain",
              "name": "LangChain",
              "tagline": "The most widely deployed agent framework.",
              "category": "orchestration",
              "runtime": "python",
              "status": "stable",
              "integrationPattern": "sdk",
              "sdkPackage": "@trustvice/witness-langchain",
              "sdkVersion": "1.0.0",
              "integrationDocHref": "/docs/witness/langchain"
            }
          },
          "note": "LangChain's catalog entry."
        }
      ]
    },
    {
      "id": "witness.patterns.list",
      "domain": "witness",
      "summary": "List the 9 integration patterns an agent runtime can attach through (SDK, webhook, OAuth polling, cloud event, OTel, MCP server, LLM proxy, browser instrument, proprietary).",
      "description_key": "actions.witness.patterns.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.patterns.list",
      "examples": [
        {
          "input": {},
          "output": {
            "patterns": [
              {
                "id": "sdk",
                "label": "SDK",
                "setup": "Install the framework SDK and set TRUSTVICE_API_KEY."
              },
              {
                "id": "proxy",
                "label": "LLM proxy",
                "setup": "Point the framework's base URL at the Trustvice proxy."
              },
              {
                "id": "webhook",
                "label": "Webhook",
                "setup": "Register a Trustvice endpoint as the framework's callback."
              }
            ]
          },
          "note": "The pattern catalog."
        }
      ]
    },
    {
      "id": "witness.subscriptions.get",
      "domain": "witness",
      "summary": "Get the Witness-Fabric subscription matrix — which products consume which record event classes from the neutral stream.",
      "description_key": "actions.witness.subscriptions.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.subscriptions.get",
      "examples": [
        {
          "input": {},
          "output": {
            "subscriptions": [
              {
                "subscriber": "driftvice",
                "events": [
                  "invocation",
                  "tool_call"
                ],
                "binding": "FABRIC_SUBSCRIBER_DRIFTVICE"
              },
              {
                "subscriber": "nexus",
                "events": [
                  "invocation"
                ],
                "binding": "FABRIC_SUBSCRIBER_NEXUS"
              }
            ]
          },
          "note": "The WITNESS_SUBSCRIPTIONS routing matrix."
        }
      ]
    },
    {
      "id": "witness.interpose",
      "domain": "witness",
      "summary": "Witness one exchange with an agent you may not operate. Hashes only, unless retention is explicitly requested.",
      "description_key": "actions.witness.interpose.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.interpose",
      "examples": [
        {
          "input": {
            "exchange": {
              "exchangeId": "ex_1",
              "targetRef": "https://agent.example/v1",
              "requestBody": "{}",
              "responseBody": "{}",
              "requestAt": "2026-09-04T00:00:00.000Z",
              "responseAt": "2026-09-04T00:00:00.250Z",
              "outcome": "200"
            }
          },
          "output": {
            "receipt": {
              "exchangeId": "ex_1",
              "targetRef": "https://agent.example/v1",
              "requestSha256": "…",
              "responseSha256": "…",
              "latencyMs": 250,
              "outcome": "200",
              "attests": [
                "request_bytes_as_received"
              ],
              "observability": {
                "vantage": "interposed",
                "cannotAttest": [],
                "note": "…"
              }
            },
            "issue": {
              "kind": "interpose-witness",
              "subject": {},
              "claims": {}
            },
            "contentRetained": false,
            "notes": []
          },
          "note": "Hashes only. Nothing stored."
        }
      ]
    },
    {
      "id": "witness.interpose.verify",
      "domain": "witness",
      "summary": "Check presented bytes against an interpose receipt's hashes.",
      "description_key": "actions.witness.interpose.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.interpose.verify",
      "examples": [
        {
          "input": {
            "receipt": {
              "requestSha256": "aa",
              "responseSha256": "bb"
            },
            "requestBody": "{}"
          },
          "output": {
            "requestMatches": false,
            "responseMatches": null,
            "fullyVerified": false,
            "reason": "A half-checked exchange is not a verified one."
          },
          "note": "Null is not a mismatch."
        }
      ]
    },
    {
      "id": "witness.records.list",
      "domain": "witness",
      "summary": "List the workspace's adapter-captured agent records from the neutral Witness-Fabric store (chain-free read — product-independent; no TrustActor enrollment required).",
      "description_key": "actions.witness.records.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.records.list",
      "examples": [
        {
          "input": {
            "frameworkId": "crewai",
            "limit": 20
          },
          "output": {
            "records": [
              {
                "recordId": "0f5b0a1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a",
                "agentId": "did:web:example.com:agent:support",
                "event": "invocation",
                "occurredAt": "2026-07-19T12:00:00.000Z",
                "storedAt": "2026-07-19T12:00:01.480Z",
                "source": {
                  "pattern": "sdk",
                  "frameworkId": "crewai",
                  "adapterVersion": "1.0.0",
                  "ingestMode": "push"
                }
              }
            ],
            "count": 1,
            "nextCursor": {
              "before": "2026-07-19T12:00:01.480Z",
              "beforeId": "0f5b0a1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a"
            }
          },
          "note": "Latest CrewAI records."
        }
      ]
    },
    {
      "id": "witness.records.post",
      "domain": "witness",
      "summary": "Post an adapter record directly onto the neutral Witness-Fabric plane (stored chain-free + fanned out to subscribing products; NOT anchored in the TrustActor hash chain — use the ingest lane for evidentiary anchoring).",
      "description_key": "actions.witness.records.post.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.records.post",
      "examples": [
        {
          "input": {
            "record": {
              "agentId": "did:web:example.com:agent:support",
              "event": "invocation",
              "occurredAt": "2026-07-19T12:00:00Z",
              "source": {
                "pattern": "sdk",
                "frameworkId": "langchain",
                "adapterVersion": "1.0.0",
                "ingestMode": "push"
              }
            }
          },
          "output": {
            "recordId": "0f5b0a1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a",
            "deduplicated": false,
            "chainAnchored": false,
            "delivery": {
              "broadcast": [
                "driftvice",
                "nexus"
              ],
              "failed": []
            }
          },
          "note": "Neutral-plane record post."
        },
        {
          "input": {
            "record": {
              "agentId": "did:web:example.com:agent:support",
              "event": "invocation",
              "occurredAt": "2026-07-19T12:00:00Z",
              "source": {
                "pattern": "sdk",
                "frameworkId": "langchain",
                "adapterVersion": "1.0.0",
                "ingestMode": "push"
              }
            }
          },
          "output": {
            "recordId": "0f5b0a1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a",
            "deduplicated": true,
            "chainAnchored": false,
            "delivery": {
              "broadcast": [],
              "failed": []
            }
          },
          "note": "The same record posted twice — a deduplication, not a new record."
        }
      ]
    },
    {
      "id": "witness.records.stats",
      "domain": "witness",
      "summary": "Aggregate stats over the workspace's neutral witness stream (totals + per-framework / per-pattern / per-event counts).",
      "description_key": "actions.witness.records.stats.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.records.stats",
      "examples": [
        {
          "input": {},
          "output": {
            "stats": {
              "total": 18420,
              "byFramework": [
                {
                  "frameworkId": "langchain",
                  "count": 11002
                },
                {
                  "frameworkId": "crewai",
                  "count": 4180
                }
              ],
              "byPattern": [
                {
                  "pattern": "sdk",
                  "count": 15200
                },
                {
                  "pattern": "proxy",
                  "count": 3220
                }
              ],
              "byEvent": [
                {
                  "event": "invocation",
                  "count": 12010
                },
                {
                  "event": "tool_call",
                  "count": 6410
                }
              ]
            }
          },
          "note": "Stream aggregates for dashboards."
        }
      ]
    },
    {
      "id": "witness.residency.prove",
      "domain": "witness",
      "summary": "Prove where a run's recorded hops stayed, with the ceiling the evidence actually supports.",
      "description_key": "actions.witness.residency.prove.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/witness.residency.prove",
      "examples": [
        {
          "input": {
            "runId": "run_01J9",
            "declaredRegion": "weur-1"
          },
          "output": {
            "proof": {
              "runRef": "run_01J9",
              "declaredRegion": "weur-1",
              "verdict": "no_recorded_departure",
              "hopsRecorded": 4,
              "offRegionHops": [],
              "unknownRegionHops": [
                "rec_2"
              ],
              "supportedClaim": "No recorded hop left weur-1. One hop's region is unknown, so this is not a proof that the run never left.",
              "limits": [
                "Egress is not instrumented; an absent hop in this record is not evidence there was none."
              ]
            },
            "hopsFromRecords": 4,
            "hopsWithNoRegion": 1,
            "egressInstrumented": false,
            "notes": [
              "An unknown region is not an in-region hop."
            ]
          },
          "note": "The ceiling is no_recorded_departure, never \"never left\"."
        }
      ]
    },
    {
      "id": "tranquility.overview",
      "domain": "tranquility",
      "summary": "The workspace's live observability overview — agent-event stats, span stats, and SLO status, pulled live (honest source-unavailable states, never demo data).",
      "description_key": "actions.tranquility.overview.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.overview",
      "examples": [
        {
          "input": {},
          "output": {
            "agentEvents": {
              "available": true,
              "total": 18420,
              "byEvent": [
                {
                  "event": "invocation",
                  "count": 12010
                }
              ]
            },
            "spans": {
              "available": true,
              "series": [
                {
                  "bucket": "2026-09-01T00:00:00.000Z",
                  "count": 4120
                }
              ]
            },
            "metrics": {
              "available": true,
              "distinctMetrics": 42,
              "top": [
                "http.server.duration",
                "agent.tokens"
              ]
            },
            "logs": {
              "available": true,
              "hasRecent": true
            },
            "slos": {
              "count": 3,
              "items": [
                {
                  "sloId": "slo_api_latency",
                  "name": "API p95 < 300ms",
                  "objectivePct": 99.5,
                  "window": "30d",
                  "metric": "http.server.duration",
                  "createdAt": "2026-07-01T00:00:00.000Z"
                }
              ]
            },
            "generatedAt": "2026-09-01T12:00:00.000Z"
          },
          "note": "Workspace observability at a glance."
        }
      ]
    },
    {
      "id": "tranquility.slos.list",
      "domain": "tranquility",
      "summary": "List the workspace's SLO definitions (latency, error-rate, cost-per-outcome, mandate-burn — one engine, any denomination).",
      "description_key": "actions.tranquility.slos.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.slos.list",
      "examples": [
        {
          "input": {},
          "output": {
            "slos": [
              {
                "sloId": "slo_api_latency",
                "name": "API p95 < 300ms",
                "objectivePct": 99.5,
                "window": "30d",
                "metric": "http.server.duration",
                "createdAt": "2026-07-01T00:00:00.000Z"
              }
            ]
          },
          "note": "All SLOs."
        }
      ]
    },
    {
      "id": "tranquility.slos.create",
      "domain": "tranquility",
      "summary": "Define an SLO: an SLI series + comparator + threshold + target attainment %, in any denomination (ms | ratio | usd | count | burn), with optional multi-window burn-rate alerting.",
      "description_key": "actions.tranquility.slos.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.slos.create",
      "examples": [
        {
          "input": {
            "name": "resolution cost",
            "sliSeries": "goal.cost_usd",
            "denomination": "usd",
            "comparator": "lte",
            "threshold": 0.85,
            "targetPct": 95
          },
          "output": {
            "slo": {
              "sloId": "slo_api_latency",
              "name": "API p95 < 300ms",
              "objectivePct": 99.5,
              "window": "30d",
              "metric": "http.server.duration",
              "createdAt": "2026-07-01T00:00:00.000Z"
            }
          },
          "note": "A dollar-denominated SLO."
        }
      ]
    },
    {
      "id": "tranquility.slos.get",
      "domain": "tranquility",
      "summary": "Get one SLO definition + its recent evaluations (attainment, error budget, burn rate, status, coverage).",
      "description_key": "actions.tranquility.slos.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.slos.get",
      "examples": [
        {
          "input": {
            "sloId": "tyslo_x"
          },
          "output": {
            "slo": {
              "sloId": "slo_api_latency",
              "name": "API p95 < 300ms",
              "objectivePct": 99.5,
              "window": "30d",
              "metric": "http.server.duration",
              "createdAt": "2026-07-01T00:00:00.000Z"
            },
            "evaluations": [
              {
                "evaluatedAt": "2026-09-01T00:00:00.000Z",
                "achievedPct": 99.71,
                "met": true
              }
            ]
          },
          "note": "SLO detail."
        }
      ]
    },
    {
      "id": "tranquility.slos.evaluate",
      "domain": "tranquility",
      "summary": "Evaluate an SLO now over a pushed SLI series; optionally SEAL the result as a signed, offline-verifiable attestation (?seal → ty-slo-attestation with its coverage embedded).",
      "description_key": "actions.tranquility.slos.evaluate.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.slos.evaluate",
      "examples": [
        {
          "input": {
            "sloId": "tyslo_x",
            "points": [
              {
                "ts": "2026-07-21T00:00:00Z",
                "value": 340
              }
            ],
            "seal": true
          },
          "output": {
            "evaluation": {
              "evaluatedAt": "2026-09-01T00:00:00.000Z",
              "achievedPct": 99.71,
              "met": true
            },
            "result": {
              "objectivePct": 99.5,
              "achievedPct": 99.71,
              "errorBudgetRemainingPct": 42
            },
            "artifactId": "art_01M1F0000000000000000009"
          },
          "note": "Evaluate + attest."
        }
      ]
    },
    {
      "id": "tranquility.goals.list",
      "domain": "tranquility",
      "summary": "List goals (business outcomes) with their rolled cost decomposition + outcome stamp.",
      "description_key": "actions.tranquility.goals.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.goals.list",
      "examples": [
        {
          "input": {
            "outcome": "resolved"
          },
          "output": {
            "goals": [
              {
                "goalId": "goal_01M1F0000000000000000001",
                "label": "Resolve ticket #4417",
                "outcome": "resolved",
                "costTotalUm": 18400,
                "openedAt": "2026-08-01T09:00:00.000Z",
                "closedAt": "2026-08-01T09:12:00.000Z"
              }
            ],
            "count": 1
          },
          "note": "Resolved goals + their cost."
        }
      ]
    },
    {
      "id": "tranquility.goals.create",
      "domain": "tranquility",
      "summary": "Open a goal — a business outcome (ticket / booking / refund / conversation) whose full pursuit cost the Goal Ledger will stitch.",
      "description_key": "actions.tranquility.goals.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.goals.create",
      "examples": [
        {
          "input": {
            "externalRef": "ticket-42",
            "kind": "ticket",
            "costCenter": "cc-support"
          },
          "output": {
            "goalId": "goal_01M1F0000000000000000001"
          },
          "note": "Open a support-ticket goal."
        }
      ]
    },
    {
      "id": "tranquility.goals.events.append",
      "domain": "tranquility",
      "summary": "Append cost events to a goal (turn / tool.call / retry / blocked / human / delivery); the ledger re-stitches the cost decomposition idempotently.",
      "description_key": "actions.tranquility.goals.events.append.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.goals.events.append",
      "examples": [
        {
          "input": {
            "goalId": "tygoal_x",
            "events": [
              {
                "eventType": "tool.call",
                "costUm": 1200
              }
            ]
          },
          "output": {
            "inserted": true,
            "goal": {
              "goalId": "goal_01M1F0000000000000000001",
              "label": "Resolve ticket #4417",
              "outcome": "resolved",
              "costTotalUm": 18400,
              "openedAt": "2026-08-01T09:00:00.000Z",
              "closedAt": "2026-08-01T09:12:00.000Z"
            }
          },
          "note": "Log a tool call's cost."
        }
      ]
    },
    {
      "id": "tranquility.goals.close",
      "domain": "tranquility",
      "summary": "Stamp a goal's terminal outcome (resolved / abandoned / escalated / failed) — the attribution the Goal Ledger exists for.",
      "description_key": "actions.tranquility.goals.close.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.goals.close",
      "examples": [
        {
          "input": {
            "goalId": "tygoal_x",
            "outcome": "resolved"
          },
          "output": {
            "goal": {
              "goalId": "goal_01M1F0000000000000000001",
              "label": "Resolve ticket #4417",
              "outcome": "resolved",
              "costTotalUm": 18400,
              "openedAt": "2026-08-01T09:00:00.000Z",
              "closedAt": "2026-08-01T09:12:00.000Z"
            }
          },
          "note": "Resolve a goal."
        }
      ]
    },
    {
      "id": "tranquility.goals.summary",
      "domain": "tranquility",
      "summary": "Cost per RESOLVED outcome + the waste decomposition (productive vs retry vs loop vs governance-blocked vs human vs delivery) across the workspace or a cost center.",
      "description_key": "actions.tranquility.goals.summary.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.goals.summary",
      "examples": [
        {
          "input": {},
          "output": {
            "byOutcome": [
              {
                "outcome": "resolved",
                "count": 412,
                "totalCostUm": 7580000,
                "avgCostUm": 18398
              },
              {
                "outcome": "abandoned",
                "count": 18,
                "totalCostUm": 410000,
                "avgCostUm": 22778
              }
            ],
            "costPerResolvedUm": 18398,
            "waste": {
              "productiveUm": 5100000,
              "retryUm": 1200000,
              "loopUm": 380000,
              "blockedUm": 240000,
              "humanUm": 610000,
              "deliveryUm": 460000
            },
            "totalGoals": 430,
            "productiveEfficiencyPct": 73.2
          },
          "note": "Unit economics summary."
        }
      ]
    },
    {
      "id": "tranquility.agent.records",
      "domain": "tranquility",
      "summary": "Read the workspace's normalized agent events across 180 frameworks (invocation / tool.call / memory.write / sub_agent.spawn / channel.message), filterable by framework/pattern/event/agent.",
      "description_key": "actions.tranquility.agent.records.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.agent.records",
      "examples": [
        {
          "input": {
            "frameworkId": "langchain",
            "event": "tool.call"
          },
          "output": {
            "records": [
              {
                "recordId": "0f5b0a1c…",
                "agentId": "did:web:example.com:agent:support",
                "event": "invocation",
                "occurredAt": "2026-09-01T11:59:00.000Z"
              }
            ],
            "count": 1
          },
          "note": "Recent LangChain tool calls."
        }
      ]
    },
    {
      "id": "tranquility.agent.frameworks",
      "domain": "tranquility",
      "summary": "The supported agent-framework catalog this workspace can observe (the 180-framework matrix, live from the witness catalog).",
      "description_key": "actions.tranquility.agent.frameworks.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.agent.frameworks",
      "examples": [
        {
          "input": {},
          "output": {
            "frameworks": [
              {
                "frameworkId": "langchain",
                "count": 11002
              }
            ],
            "sampledRecords": 18420
          },
          "note": "Framework coverage."
        }
      ]
    },
    {
      "id": "tranquility.metrics.query",
      "domain": "tranquility",
      "summary": "Query the workspace's metric points (OTLP gauge/sum/histogram) over a window, optionally filtered to one metric name — pulled live from the collector, newest-first, keyset-paginated. Honest source-unavailable state, never demo data.",
      "description_key": "actions.tranquility.metrics.query.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.metrics.query",
      "examples": [
        {
          "input": {
            "name": "http.server.duration"
          },
          "output": {
            "series": [
              {
                "metric": "http.server.duration",
                "points": [
                  {
                    "t": "2026-09-01T11:00:00.000Z",
                    "v": 214.5
                  }
                ]
              }
            ]
          },
          "note": "Recent points for one metric."
        }
      ]
    },
    {
      "id": "tranquility.metrics.names",
      "domain": "tranquility",
      "summary": "The metric-name catalogue for the workspace (distinct name + type + unit + point count + last-seen over the window) — what metrics are actually flowing.",
      "description_key": "actions.tranquility.metrics.names.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.metrics.names",
      "examples": [
        {
          "input": {},
          "output": {
            "names": [
              "http.server.duration",
              "agent.tokens"
            ],
            "metricCount": 42
          },
          "note": "Which metrics exist."
        }
      ]
    },
    {
      "id": "tranquility.logs.search",
      "domain": "tranquility",
      "summary": "Search the workspace's OTLP log records over a window — filterable by a minimum severity floor (SeverityNumber 1–24) and by trace id (correlate logs to a trace's spans). Newest-first, keyset-paginated, honest source-unavailable state.",
      "description_key": "actions.tranquility.logs.search.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.logs.search",
      "examples": [
        {
          "input": {
            "minSeverity": 17
          },
          "output": {
            "logs": [
              {
                "t": "2026-09-01T11:59:12.000Z",
                "level": "error",
                "body": "upstream timeout",
                "attributes": {
                  "service": "api-gateway"
                }
              }
            ]
          },
          "note": "Errors and worse."
        }
      ]
    },
    {
      "id": "tranquility.agent.tools",
      "domain": "tranquility",
      "summary": "Per-tool analytics across the witness stream: call counts, success/failure rate over KNOWN-outcome calls only, p50/p95 latency over TIMED calls only (with a timed/untimed coverage split), and top verbatim errors. Nothing is imputed.",
      "description_key": "actions.tranquility.agent.tools.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.agent.tools",
      "examples": [
        {
          "input": {
            "frameworkId": "langchain"
          },
          "output": {
            "tools": [
              {
                "tool": "search_docs",
                "calls": 3120,
                "failures": 41,
                "p95Ms": 180
              }
            ],
            "sampledRecords": 18420
          },
          "note": "Tool reliability + latency, honestly scoped."
        }
      ]
    },
    {
      "id": "tranquility.agent.fleet",
      "domain": "tranquility",
      "summary": "Per-agent fleet health: event counts by class, first/last seen, tool-failure rate over known-outcome calls, sub-agent spawn activity, and a CALIBRATED heuristic health tag (healthy/degraded/quiet) carrying a confidence + basis — never a bare score.",
      "description_key": "actions.tranquility.agent.fleet.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.agent.fleet",
      "examples": [
        {
          "input": {},
          "output": {
            "fleet": {
              "agents": 12,
              "active24h": 9,
              "failing": 1
            },
            "sampledRecords": 18420
          },
          "note": "Which agents are healthy, degraded, or quiet."
        }
      ]
    },
    {
      "id": "tranquility.agent.failures",
      "domain": "tranquility",
      "summary": "Cluster failing tool calls by a normalized error signature (ids/numbers/urls/quotes masked) into ranked clusters, each with a count, distinct-agent count, window, and a VERBATIM earliest representative for audit. Only explicit failures are clustered.",
      "description_key": "actions.tranquility.agent.failures.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.agent.failures",
      "examples": [
        {
          "input": {},
          "output": {
            "clusters": [
              {
                "signature": "upstream timeout",
                "count": 41,
                "firstSeen": "2026-08-30T02:10:00.000Z",
                "lastSeen": "2026-09-01T11:59:12.000Z"
              }
            ],
            "sampledRecords": 18420
          },
          "note": "Top failure clusters across the fleet."
        }
      ]
    },
    {
      "id": "tranquility.agent.runTree",
      "domain": "tranquility",
      "summary": "Reconstruct one run's step tree as a renderable DAG (sequence + spawn edges) from the witness stream, grouped by externalRefs.runId, with an HONEST unresolved-spawn coverage count and a stated grouping limitation.",
      "description_key": "actions.tranquility.agent.runTree.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.agent.runTree",
      "examples": [
        {
          "input": {
            "runId": "R1"
          },
          "output": {
            "tree": {
              "id": "run:abc",
              "children": [
                {
                  "id": "span:1",
                  "name": "search_docs",
                  "durationMs": 180,
                  "children": []
                }
              ]
            },
            "sampledRecords": 18420
          },
          "note": "A single agent run as a DAG."
        }
      ]
    },
    {
      "id": "tranquility.cognition.guardrailPressure",
      "domain": "tranquility",
      "summary": "Clause-level guardrail cartography over pushed governed-chain outcomes: per-clause firing/allow/deny tallies, near-miss (only where a margin is present and a threshold is passed — never inferred), dead-clause detection, and an optional governance-tax summary. Tags carry a calibration note.",
      "description_key": "actions.tranquility.cognition.guardrailPressure.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.cognition.guardrailPressure",
      "examples": [
        {
          "input": {
            "evaluations": [
              {
                "clause": "pii.redact",
                "outcome": "deny",
                "at": "2026-07-21T00:00:00Z"
              }
            ]
          },
          "output": {
            "pressure": {
              "evaluated": 240,
              "blocked": 3,
              "nearMisses": 18,
              "byClause": [
                {
                  "clause": "no_pii_egress",
                  "nearMisses": 12
                }
              ]
            }
          },
          "note": "Hot-clause vs dead-policy map."
        }
      ]
    },
    {
      "id": "tranquility.cognition.blastRadius",
      "domain": "tranquility",
      "summary": "Pre-execution plan vitals over a typed action catalogue: reversibility ratio + a calibrated 0..100 blast-radius intensity, computed BEFORE execution. Actions with no metadata are EXCLUDED from the score (never assumed safe) and reported as unknown.",
      "description_key": "actions.tranquility.cognition.blastRadius.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.cognition.blastRadius",
      "examples": [
        {
          "input": {
            "actionIds": [
              "files.delete",
              "email.send"
            ],
            "actionMeta": {
              "files.delete": {
                "safetyLevel": "destructive",
                "idempotent": false,
                "confirmationRequired": true
              },
              "email.send": {
                "safetyLevel": "mutation",
                "idempotent": false,
                "confirmationRequired": false
              }
            }
          },
          "output": {
            "blastRadius": {
              "actions": 4,
              "reversible": 3,
              "irreversible": 1,
              "maxScope": "workspace"
            }
          },
          "note": "Score a plan before it runs."
        }
      ]
    },
    {
      "id": "tranquility.cognition.charterConformance",
      "domain": "tranquility",
      "summary": "Diff an agent's observed behavior against its declared charter (allowed tools / autonomy ceiling / allowed tones) — charter-as-SLO. A pure diff with a COVERAGE statement: an undeclared dimension is unposeable, and a no-charter case returns undefined, never a fabricated 100%.",
      "description_key": "actions.tranquility.cognition.charterConformance.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.cognition.charterConformance",
      "examples": [
        {
          "input": {
            "observed": {
              "tools": [
                "search",
                "email.send"
              ]
            },
            "declared": {
              "allowedTools": [
                "search"
              ]
            }
          },
          "output": {
            "conformance": {
              "declared": 12,
              "observed": 11,
              "conforming": 10,
              "deviations": [
                {
                  "clause": "escalate_on_refund",
                  "observed": "auto_approved"
                }
              ]
            }
          },
          "note": "Detect off-charter tool use."
        }
      ]
    },
    {
      "id": "tranquility.cognition.vocabularyDrift",
      "domain": "tranquility",
      "summary": "Vocabulary drift — Driftvice pointed at agents. TY NOMINATES candidate named-concepts from the agent stream (multi-word Title-Case + quoted, with verbatim evidence); Driftvice (the canon authority) returns each term's status (governed-settled / governed-drifting / ungoverned). Unresolvable terms are 'unknown', never a fabricated verdict; when Driftvice is unbound the candidates return with canon status unavailable.",
      "description_key": "actions.tranquility.cognition.vocabularyDrift.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.cognition.vocabularyDrift",
      "examples": [
        {
          "input": {
            "topN": 25
          },
          "output": {
            "vocabulary": {
              "terms": [
                {
                  "normalized": "active user",
                  "occurrences": 42
                }
              ]
            },
            "driftFindings": [
              {
                "term": "active user",
                "status": "governed-drifting"
              }
            ],
            "summary": {
              "candidates": 1,
              "governedDrifting": 1,
              "ungoverned": 0,
              "unresolved": 0
            },
            "canonSource": {
              "available": true
            },
            "sampledRecords": 18420
          },
          "note": "Which named concepts the fleet uses are drifting or ungoverned."
        }
      ]
    },
    {
      "id": "tranquility.evidence.usage.seal",
      "domain": "tranquility",
      "summary": "Seal the cost-per-outcome summary as a signed, offline-verifiable usage/chargeback ledger (ty-usage-ledger).",
      "description_key": "actions.tranquility.evidence.usage.seal.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.evidence.usage.seal",
      "examples": [
        {
          "input": {
            "costCenter": "cc-support"
          },
          "output": {
            "artifactId": "art_01M1F0000000000000000010",
            "summary": {
              "byOutcome": [
                {
                  "outcome": "resolved",
                  "count": 412,
                  "totalCostUm": 7580000,
                  "avgCostUm": 18398
                },
                {
                  "outcome": "abandoned",
                  "count": 18,
                  "totalCostUm": 410000,
                  "avgCostUm": 22778
                }
              ],
              "costPerResolvedUm": 18398,
              "waste": {
                "productiveUm": 5100000,
                "retryUm": 1200000,
                "loopUm": 380000,
                "blockedUm": 240000,
                "humanUm": 610000,
                "deliveryUm": 460000
              },
              "totalGoals": 430,
              "productiveEfficiencyPct": 73.2
            }
          },
          "note": "Signed chargeback statement."
        }
      ]
    },
    {
      "id": "tranquility.evidence.coverage.seal",
      "domain": "tranquility",
      "summary": "Seal an aggregate figure with its coverage statement as a signed artifact — 'p95 = 340ms over 100% of traffic with zero drop windows, signed' (ty-coverage-statement).",
      "description_key": "actions.tranquility.evidence.coverage.seal.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.evidence.coverage.seal",
      "examples": [
        {
          "input": {
            "metric": "p95",
            "value": 340,
            "unit": "ms"
          },
          "output": {
            "artifactId": "art_01M1F0000000000000000011",
            "sealed": {
              "metric": "p95",
              "value": 340,
              "coverage": {
                "samplingPct": 100,
                "complete": true
              }
            }
          },
          "note": "Signed coverage-stated figure."
        }
      ]
    },
    {
      "id": "tranquility.artifacts.list",
      "domain": "tranquility",
      "summary": "List the signed evidence artifacts TY has minted for this workspace (attestations, usage ledgers, coverage statements, sealed alarms) with their verify references.",
      "description_key": "actions.tranquility.artifacts.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.artifacts.list",
      "examples": [
        {
          "input": {
            "subjectKind": "slo"
          },
          "output": {
            "artifacts": [
              {
                "artifact_id": "art_01M1F0000000000000000010",
                "kind": "usage_ledger",
                "subject_kind": "usage",
                "subject_id": "all",
                "leaf_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
                "tops_ref": null,
                "minted_at": "2026-09-01T12:00:00.000Z"
              }
            ],
            "count": 1
          },
          "note": "Signed SLO attestations."
        }
      ]
    },
    {
      "id": "tranquility.views.list",
      "domain": "tranquility",
      "summary": "List saved views / custom monitors for a surface.",
      "description_key": "actions.tranquility.views.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.views.list",
      "examples": [
        {
          "input": {
            "surface": "agent"
          },
          "output": {
            "views": [
              {
                "viewId": "view_1",
                "name": "Agent errors",
                "surface": "agent",
                "spec": {}
              }
            ]
          },
          "note": "Agent-surface views."
        }
      ]
    },
    {
      "id": "tranquility.views.create",
      "domain": "tranquility",
      "summary": "Save a view / custom monitor (a signal + selector + panel spec) for reuse on a dashboard surface.",
      "description_key": "actions.tranquility.views.create.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/tranquility.views.create",
      "examples": [
        {
          "input": {
            "name": "tool heatmap",
            "surface": "agent",
            "spec": {
              "panel": "heatmap"
            }
          },
          "output": {
            "viewId": "view_1"
          },
          "note": "Save a monitor."
        }
      ]
    },
    {
      "id": "placard.compose",
      "domain": "placard",
      "summary": "Compose a content-addressed AI disclosure notice and register it. The returned id IS the sha256 of the canonical bytes, so what was shown stays checkable. Refuses a notice missing its statutory core, and refuses to compose unsigned.",
      "description_key": "actions.placard.compose.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "placard.compose"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/placard.compose",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "subject": "support-assistant",
            "channels": [
              "chat"
            ],
            "texts": [
              {
                "locale": "en",
                "elements": {
                  "artificialNature": "You are speaking with an AI assistant, not a person."
                }
              }
            ]
          },
          "output": {
            "placardId": "plc_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "subject": "support-assistant",
            "version": 1,
            "channels": [
              "chat"
            ],
            "texts": [
              {
                "locale": "en",
                "elements": {
                  "artificialNature": "You are speaking with an AI assistant, not a person."
                }
              }
            ],
            "composedAt": "2026-07-29T10:00:00.000Z",
            "signature": "…",
            "signatureKeyId": "…",
            "canonical": "{}"
          },
          "note": "Compose a one-locale chat notice."
        }
      ]
    },
    {
      "id": "placard.list",
      "domain": "placard",
      "summary": "List this workspace's composed placards, newest first.",
      "description_key": "actions.placard.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "placard.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/placard.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "placards": []
          },
          "note": "List placards."
        }
      ]
    },
    {
      "id": "placard.coverage.get",
      "domain": "placard",
      "summary": "Is a subject covered on a channel? Answers `covered`, `not-covered`, or `unknown` — and `unknown` never collapses to covered, because an unreadable answer is not a satisfied duty.",
      "description_key": "actions.placard.coverage.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "placard.coverage.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/placard.coverage.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "subject": "support-assistant",
            "channel": "chat"
          },
          "output": {
            "state": "not-covered",
            "reason": "No placard registered for this subject on this channel."
          },
          "note": "Check coverage before an interaction."
        }
      ]
    },
    {
      "id": "placard.delivery.record",
      "domain": "placard",
      "summary": "Record that a placard was delivered. `priorTurns` is REQUIRED, not defaulted — zero means the notice preceded the first interaction, and defaulting it would silently mark every delivery on time.",
      "description_key": "actions.placard.delivery.record.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "placard.delivery.record"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/placard.delivery.record",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "placardId": "plc_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "channel": "chat",
            "subjectRef": "sess_abc",
            "priorTurns": 0
          },
          "output": {
            "deliveryId": "plcd_abc",
            "placardId": "plc_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "channel": "chat",
            "subjectRef": "sess_abc",
            "priorTurns": 0,
            "localeServed": null,
            "localeFallback": false
          },
          "note": "Record an on-time delivery."
        }
      ]
    },
    {
      "id": "placard.delivery.acknowledge",
      "domain": "placard",
      "summary": "Record that the person acknowledged a delivered notice. Only meaningful on surfaces that can carry an acknowledgement.",
      "description_key": "actions.placard.delivery.acknowledge.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "placard.delivery.record"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/placard.delivery.acknowledge",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "deliveryId": "plcd_abc"
          },
          "output": {
            "deliveryId": "plcd_abc",
            "acknowledged": true
          },
          "note": "Record an acknowledgement."
        }
      ]
    },
    {
      "id": "placard.deliveries.get",
      "domain": "placard",
      "summary": "The delivery and acknowledgement state for one interaction. A late delivery reports as `delivered-late` and is never rounded up to `delivered`.",
      "description_key": "actions.placard.deliveries.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "placard.delivery.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/placard.deliveries.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "subjectRef": "sess_abc"
          },
          "output": {
            "delivery": "unknown",
            "acknowledgement": "unknown",
            "rows": []
          },
          "note": "Read one interaction's disclosure state."
        }
      ]
    },
    {
      "id": "placard.resolve",
      "domain": "placard",
      "summary": "PUBLIC. Fetch a placard by id. No account needed — anyone holding the id can read exactly what notice was composed.",
      "description_key": "actions.placard.resolve.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/placard.resolve",
      "examples": [
        {
          "input": {
            "placardId": "plc_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
          },
          "output": {
            "placardId": "plc_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "subject": "support-assistant",
            "version": 1,
            "channels": [
              "chat"
            ],
            "texts": [],
            "composedAt": "2026-07-29T10:00:00.000Z",
            "signature": "…",
            "signatureKeyId": "…",
            "canonical": "{}"
          },
          "note": "Resolve a placard with no account."
        }
      ]
    },
    {
      "id": "placard.verify",
      "domain": "placard",
      "summary": "PUBLIC. Check a placard's bytes against its id and its signature against the published keys. A genuinely invalid placard is a VERDICT, not an error — the call succeeds and reports `ok: false`.",
      "description_key": "actions.placard.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/placard.verify",
      "examples": [
        {
          "input": {
            "placardId": "plc_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "canonical": "{}"
          },
          "output": {
            "ok": false,
            "reason": "content-address-mismatch"
          },
          "note": "Verify bytes against the content address."
        }
      ]
    },
    {
      "id": "placard.keys.get",
      "domain": "placard",
      "summary": "PUBLIC. The JWK Set placards are signed with, for offline verification.",
      "description_key": "actions.placard.keys.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/placard.keys.get",
      "examples": [
        {
          "input": {},
          "output": {
            "keys": []
          },
          "note": "Read the signing keys."
        }
      ]
    },
    {
      "id": "cachet.declare",
      "domain": "cachet",
      "summary": "Declare what an agent may do and the hard limits it asserts. Versioned and superseded, never edited — an operator cannot widen a declaration to erase yesterday's finding.",
      "description_key": "actions.cachet.declare.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "cachet.declare"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.declare",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentId": "ag_support",
            "capabilities": [
              "read.tickets",
              "send.reply"
            ],
            "limits": [
              "never.refunds"
            ]
          },
          "output": {
            "declarationId": "cdec_abc",
            "agentId": "ag_support",
            "version": 1,
            "capabilities": [
              "read.tickets",
              "send.reply"
            ],
            "limits": [
              "never.refunds"
            ],
            "declaredAt": "2026-07-29T10:00:00.000Z"
          },
          "note": "Declare an agent's capabilities and limits."
        }
      ]
    },
    {
      "id": "cachet.observe",
      "domain": "cachet",
      "summary": "Record a capability an agent was actually seen exercising. Bound to the declaration in force AT THE TIME, so dropping a limit later cannot clear the history.",
      "description_key": "actions.cachet.observe.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "cachet.observe"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.observe",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentId": "ag_support",
            "capability": "send.reply",
            "runRef": "run_abc"
          },
          "output": {
            "observationId": "cobs_abc",
            "agentId": "ag_support",
            "capability": "send.reply",
            "breachedLimit": null,
            "observedAt": "2026-07-29T10:05:00.000Z"
          },
          "note": "Record one observed run."
        }
      ]
    },
    {
      "id": "cachet.evidence.submit",
      "domain": "cachet",
      "summary": "Present identity evidence for an agent. `verified` is REQUIRED — defaulting true would promote every presented credential, defaulting false would bury working ones. Failed evidence is retained, not dropped.",
      "description_key": "actions.cachet.evidence.submit.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "cachet.evidence.submit"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.evidence.submit",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentId": "ag_support",
            "source": "did-web",
            "verified": true
          },
          "output": {
            "evidenceId": "cevi_abc",
            "agentId": "ag_support",
            "source": "did-web",
            "verified": true,
            "presentedAt": "2026-07-29T10:00:00.000Z"
          },
          "note": "Present a verified did:web credential."
        }
      ]
    },
    {
      "id": "cachet.standing.get",
      "domain": "cachet",
      "summary": "The current standing as an UNSIGNED preview, so an operator can see where they stand before publishing. Carries `signed: false` in the payload — it is not a cachet and nobody can verify it.",
      "description_key": "actions.cachet.standing.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "cachet.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.standing.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentId": "ag_support"
          },
          "output": {
            "signed": false,
            "note": "This is an unsigned preview…",
            "agentId": "ag_support",
            "declared": true,
            "conduct": {
              "grade": "unrated",
              "runsObserved": 2,
              "divergence": {
                "undeclared": [],
                "unexercised": [],
                "breaches": []
              },
              "basis": "Only 2 run(s) observed…"
            },
            "identity": {
              "grade": "self-asserted",
              "accord": "unpublished",
              "claimedGrade": null
            },
            "evidenceWindow": {
              "from": null,
              "to": null
            },
            "issuable": false
          },
          "note": "Preview a standing before publishing."
        }
      ]
    },
    {
      "id": "cachet.issue",
      "domain": "cachet",
      "summary": "Issue a signed, publicly resolvable standing. REFUSES an unrated conduct grade — a signed badge reads as an endorsement whatever word is inside it. `claimedGrade` is compared against the evidence and never raises the published grade.",
      "description_key": "actions.cachet.issue.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "cachet.issue"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.issue",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentId": "ag_support",
            "claimedGrade": "business-verified"
          },
          "output": {
            "cachetId": "cac_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentId": "ag_support",
            "identity": {
              "grade": "domain-control",
              "accord": "overstated",
              "claimedGrade": "business-verified"
            },
            "conduct": {
              "grade": "consistent",
              "runsObserved": 12,
              "divergence": {
                "undeclared": [],
                "unexercised": [],
                "breaches": []
              },
              "basis": "Across 12 runs…"
            },
            "evidenceWindow": {
              "from": "2026-07-01T00:00:00.000Z",
              "to": "2026-07-28T00:00:00.000Z"
            },
            "issuedAt": "2026-07-29T10:00:00.000Z",
            "signature": "…",
            "signatureKeyId": "…",
            "canonical": "{}"
          },
          "note": "An overstated claim publishes the evidence's grade and attaches the finding."
        }
      ]
    },
    {
      "id": "cachet.revoke",
      "domain": "cachet",
      "summary": "Withdraw an issued standing. NOT deletion — the cachet still resolves and reports that it was revoked and why, because a live citation must not 404 into 'never existed'. A reason is required.",
      "description_key": "actions.cachet.revoke.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [
        "cachet.revoke"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.revoke",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "cachetId": "cac_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "reason": "The agent's capability set changed materially after issuance."
          },
          "output": {
            "cachetId": "cac_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "revoked": true,
            "reason": "The agent's capability set changed materially after issuance."
          },
          "note": "Withdraw a standing without deleting it."
        }
      ]
    },
    {
      "id": "cachet.list",
      "domain": "cachet",
      "summary": "List issued cachets for this workspace, optionally for one agent.",
      "description_key": "actions.cachet.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "cachet.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "cachets": []
          },
          "note": "List issued cachets."
        }
      ]
    },
    {
      "id": "cachet.agents.list",
      "domain": "cachet",
      "summary": "Every agent Cachet knows about, from either side. An agent that was OBSERVED but never DECLARED appears here — listing only declared agents would hide the finding worth showing first.",
      "description_key": "actions.cachet.agents.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "cachet.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.agents.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "agents": [
              {
                "agentId": "ag_rogue",
                "declared": false,
                "conductGrade": "undeclared-conduct",
                "identityGrade": "self-asserted",
                "runsObserved": 9,
                "issuable": true
              }
            ]
          },
          "note": "An observed-but-undeclared agent surfaces here."
        }
      ]
    },
    {
      "id": "cachet.resolve",
      "domain": "cachet",
      "summary": "PUBLIC. Fetch a standing by id. A revoked cachet still resolves and says so — deleting it would make a live citation read as 'never existed' rather than 'withdrawn'.",
      "description_key": "actions.cachet.resolve.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.resolve",
      "examples": [
        {
          "input": {
            "cachetId": "cac_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
          },
          "output": {
            "cachetId": "cac_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentId": "ag_support",
            "identity": {
              "grade": "domain-control",
              "accord": "accurate",
              "claimedGrade": "domain-control"
            },
            "conduct": {
              "grade": "consistent",
              "runsObserved": 12,
              "divergence": {
                "undeclared": [],
                "unexercised": [],
                "breaches": []
              },
              "basis": "…"
            },
            "evidenceWindow": {
              "from": "2026-07-01T00:00:00.000Z",
              "to": "2026-07-28T00:00:00.000Z"
            },
            "evidenceAgeDays": 1,
            "issuedAt": "2026-07-29T10:00:00.000Z",
            "signature": "…",
            "signatureKeyId": "…",
            "canonical": "{}",
            "revoked": false,
            "revokedAt": null,
            "revocationReason": null
          },
          "note": "Resolve a standing with no account."
        }
      ]
    },
    {
      "id": "cachet.verify",
      "domain": "cachet",
      "summary": "PUBLIC. Check a cachet's bytes against its id and its signature against the published keys — and report whether it has been REVOKED, because cryptographic validity is not currency.",
      "description_key": "actions.cachet.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.verify",
      "examples": [
        {
          "input": {
            "cachetId": "cac_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "canonical": "{}"
          },
          "output": {
            "ok": false,
            "reason": "content-address-mismatch"
          },
          "note": "Verify bytes against the content address."
        }
      ]
    },
    {
      "id": "cachet.keys.get",
      "domain": "cachet",
      "summary": "PUBLIC. The JWK Set cachets are signed with, for offline verification.",
      "description_key": "actions.cachet.keys.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/cachet.keys.get",
      "examples": [
        {
          "input": {},
          "output": {
            "keys": []
          },
          "note": "Read the signing keys."
        }
      ]
    },
    {
      "id": "emissary.publish",
      "domain": "emissary",
      "summary": "Publish a signed, content-addressed declaration of what you permit AI crawlers and agents to do. Refuses a declaration that states nothing, declares two stances on one subject, or leaves a conditional without a condition. This is a STATEMENT, not an enforcement mechanism.",
      "description_key": "actions.emissary.publish.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [
        "emissary.publish"
      ],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.publish",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "domain": "example.com",
            "directives": [
              {
                "subject": "train",
                "stance": "deny"
              },
              {
                "subject": "index",
                "stance": "allow"
              }
            ],
            "contact": "ai@example.com"
          },
          "output": {
            "declarationId": "emd_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "domain": "example.com",
            "version": 1,
            "directives": [
              {
                "subject": "index",
                "stance": "allow"
              },
              {
                "subject": "train",
                "stance": "deny"
              }
            ],
            "contact": "ai@example.com",
            "licence": null,
            "notes": null,
            "publishedAt": "2026-07-29T10:00:00.000Z",
            "signature": "…",
            "signatureKeyId": "…",
            "retired": false,
            "retiredAt": null,
            "canonical": "{}"
          },
          "note": "Deny training, allow indexing."
        }
      ]
    },
    {
      "id": "emissary.list",
      "domain": "emissary",
      "summary": "List this workspace's declarations, newest first — including retired versions, which still resolve.",
      "description_key": "actions.emissary.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "emissary.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "declarations": []
          },
          "note": "List declarations."
        }
      ]
    },
    {
      "id": "emissary.current.get",
      "domain": "emissary",
      "summary": "The live declaration for a domain. Nothing published is reported as a GAP, never as a permissive default — silence is not permission.",
      "description_key": "actions.emissary.current.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "emissary.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.current.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "domain": "example.com"
          },
          "output": {
            "declarationId": "emd_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "domain": "example.com",
            "version": 1,
            "directives": [],
            "contact": null,
            "licence": null,
            "notes": null,
            "publishedAt": "2026-07-29T10:00:00.000Z",
            "signature": "…",
            "signatureKeyId": "…",
            "retired": false,
            "retiredAt": null,
            "canonical": "{}"
          },
          "note": "Read the live declaration."
        }
      ]
    },
    {
      "id": "emissary.fetches.list",
      "domain": "emissary",
      "summary": "The raw fetch ledger. Every row carries its attribution grade, and `operator` (CONFIRMED) is separate from `claimedOperator` (what the User-Agent said) — a User-Agent is typed by the client and proves nothing.",
      "description_key": "actions.emissary.fetches.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "emissary.fetches.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.fetches.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "fetches": [
              {
                "fetchId": "emf_abc",
                "declarationId": "emd_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
                "attributionGrade": "self-declared",
                "operator": null,
                "claimedOperator": "OpenAI",
                "contradicted": false,
                "userAgent": "Mozilla/5.0 (compatible; GPTBot/1.2)",
                "reverseDns": null,
                "forwardConfirmed": false,
                "signatureKeyId": null,
                "basis": "The User-Agent claims OpenAI. Nothing verified it…",
                "fetchedAt": "2026-07-29T10:00:00.000Z",
                "variant": "text"
              }
            ]
          },
          "note": "A self-declared fetch: the claim is recorded, the operator is not."
        }
      ]
    },
    {
      "id": "emissary.audience.get",
      "domain": "emissary",
      "summary": "The graded audience summary. Counts split BY GRADE and never total into one 'N agents fetched your declaration' — that headline is how the category promotes User-Agent strings into facts. An unreadable ledger returns `unknown`, never zero.",
      "description_key": "actions.emissary.audience.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "emissary.audience.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.audience.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "total": 7,
            "byGrade": {
              "unidentified": 1,
              "self-declared": 2,
              "ip-confirmed": 3,
              "signature-verified": 1
            },
            "confirmedOperators": [
              {
                "operator": "OpenAI",
                "fetches": 2
              }
            ],
            "claimedOnlyOperators": [
              {
                "operator": "Perplexity",
                "fetches": 1
              }
            ],
            "contradictions": 1,
            "citable": 4,
            "caveat": "4 of 7 fetches were verified against something the client does not control…"
          },
          "note": "Confirmed and merely-claimed operators never merge."
        }
      ]
    },
    {
      "id": "emissary.agents.list",
      "domain": "emissary",
      "summary": "The known-agent registry, with the BEST grade each operator could ever reach given what is registered — so an operator with no suffixes and no keys is told why its rows never clear the citable floor.",
      "description_key": "actions.emissary.agents.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [
        "emissary.view"
      ],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.agents.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "agents": [
              {
                "operator": "OpenAI",
                "userAgentMarkers": [
                  "GPTBot"
                ],
                "domainSuffixes": [
                  "openai.com"
                ],
                "signingKeyIds": [],
                "bestAchievableGrade": "ip-confirmed"
              }
            ]
          },
          "note": "No registered keys means this operator can never reach signature-verified."
        }
      ]
    },
    {
      "id": "emissary.agents.register",
      "domain": "emissary",
      "summary": "Register or replace a known AI-agent operator. Requires at least one fingerprint — a User-Agent marker, a reverse-DNS suffix, or a signing key — because with none, no fetch could ever be matched to it.",
      "description_key": "actions.emissary.agents.register.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [
        "emissary.agents.manage"
      ],
      "audit_kind": "admin.action",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.agents.register",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "operator": "Anthropic",
            "userAgentMarkers": [
              "ClaudeBot"
            ],
            "domainSuffixes": [
              "anthropic.com"
            ]
          },
          "output": {
            "agentKey": "ema_anthropic_ws_DEMODEFAULT0000000000",
            "operator": "Anthropic",
            "userAgentMarkers": [
              "ClaudeBot"
            ],
            "domainSuffixes": [
              "anthropic.com"
            ],
            "signingKeys": 0
          },
          "note": "Register an operator so its fetches can reach ip-confirmed."
        }
      ]
    },
    {
      "id": "emissary.resolve",
      "domain": "emissary",
      "summary": "PUBLIC. Fetch a declaration by id, as JSON or as the rendered text form. Every fetch is ledgered with a graded attribution. A declaration nobody can fetch without credentials would tell no crawler anything.",
      "description_key": "actions.emissary.resolve.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.resolve",
      "examples": [
        {
          "input": {
            "declarationId": "emd_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
          },
          "output": {
            "declarationId": "emd_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "domain": "example.com",
            "version": 1,
            "directives": [
              {
                "subject": "train",
                "stance": "deny"
              }
            ],
            "contact": null,
            "licence": null,
            "notes": null,
            "publishedAt": "2026-07-29T10:00:00.000Z",
            "signature": "…",
            "signatureKeyId": "…",
            "retired": false,
            "retiredAt": null,
            "canonical": "{}"
          },
          "note": "Resolve a declaration with no account."
        }
      ]
    },
    {
      "id": "emissary.verify",
      "domain": "emissary",
      "summary": "PUBLIC. Check a declaration's bytes against its id and its signature against the published keys — and report whether it has been RETIRED, because validity is not currency.",
      "description_key": "actions.emissary.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.verify",
      "examples": [
        {
          "input": {
            "declarationId": "emd_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "canonical": "{}"
          },
          "output": {
            "ok": false,
            "reason": "content-address-mismatch"
          },
          "note": "Verify bytes against the content address."
        }
      ]
    },
    {
      "id": "emissary.keys.get",
      "domain": "emissary",
      "summary": "PUBLIC. The JWK Set declarations are signed with, for offline verification.",
      "description_key": "actions.emissary.keys.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": null,
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/emissary.keys.get",
      "examples": [
        {
          "input": {},
          "output": {
            "keys": []
          },
          "note": "Read the signing keys."
        }
      ]
    },
    {
      "id": "c2pa.sign",
      "domain": "c2pa",
      "summary": "Sign a content hash into a C2PA manifest — COSE_Sign1 over the deterministic-CBOR claim, returned as embeddable bytes.",
      "description_key": "actions.c2pa.sign.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "agent_invocation",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/c2pa.sign",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "contentSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
            "mimeType": "image/png",
            "title": "Q3 results chart"
          },
          "output": {
            "manifest": {
              "label": "c2pa:ws_DEMODEFAULT0000000000:e3b0c442",
              "vendor": "trustvice",
              "format": "c2pa:manifest@2.1",
              "claim": {},
              "claimSignature": {
                "algorithm": "EdDSA",
                "keyId": "c2pa-2026-q3-enam",
                "signatureValue": "0oRDoQEnoQRQ...",
                "signingTime": "2026-05-22T12:00:00.000Z",
                "signerDid": "did:web:trustvice.com"
              }
            },
            "manifestCborBase64Url": "0oRDoQEnoQRQ...",
            "signedAt": "2026-05-22T12:00:00.000Z",
            "persisted": true,
            "manifestUrl": "/v1/c2pa/manifest/ws_DEMODEFAULT0000000000/c2pa:ws_DEMODEFAULT0000000000:e3b0c442"
          },
          "note": "Sign a content hash. Needs a provisioned regional signing key — absent, the worker answers an honest 503 rather than an unsigned manifest."
        }
      ]
    },
    {
      "id": "c2pa.verify",
      "domain": "c2pa",
      "summary": "Verify a C2PA manifest against the published signer keys, and optionally assert it covers the content you have.",
      "description_key": "actions.c2pa.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/c2pa.verify",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "manifestCborBase64Url": "0oRDoQEnoQRQ..."
          },
          "output": {
            "ok": true,
            "activeManifestLabel": "c2pa:ws_DEMODEFAULT0000000000:e3b0c442",
            "signedAt": "2026-05-22T12:00:00.000Z",
            "signerDid": "did:web:trustvice.com",
            "contentHashMatches": true,
            "lineageDepth": 0
          },
          "note": "Verify a manifest. Needs no signing key — this answers in regions where signing is unprovisioned."
        }
      ]
    },
    {
      "id": "receipts.issue",
      "domain": "receipts",
      "summary": "Mint a signed verifiable artifact — a receipt an auditor can check without trusting us, anchored into the Merkle batch.",
      "description_key": "actions.receipts.issue.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": false,
      "permissions": [],
      "audit_kind": "agent_invocation",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/receipts.issue",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kind": "proof-of-erasure",
            "source": {
              "subjectRef": "user_9f2a",
              "erasedAt": "2026-05-22T12:00:00.000Z"
            }
          },
          "output": {
            "artifactId": "01J9Z6M2K7QW8X0YB3C4D5E6F7",
            "bundle": {},
            "leafHash": "a3f1c8e2…",
            "topsRef": null,
            "signatureKeyId": "entpoind-2026-q3-enam"
          },
          "note": "Mint a Proof-of-Erasure. Needs a provisioned regional signing key — absent, the worker answers an honest 503 rather than an unsigned receipt. `topsRef` is null until the anchor batch runs."
        }
      ]
    },
    {
      "id": "receipts.get",
      "domain": "receipts",
      "summary": "Read one verifiable artifact by id, including its anchor reference once the batch has run.",
      "description_key": "actions.receipts.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/receipts.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "artifactId": "01J9Z6M2K7QW8X0YB3C4D5E6F7"
          },
          "output": {
            "artifact": {},
            "kind": "proof-of-erasure",
            "issuedAt": "2026-05-22T12:00:00.000Z",
            "leafHash": "a3f1c8e2…",
            "topsRef": "tops_01J9…"
          },
          "note": "An artifact belonging to another workspace answers 404, not 403 — the id space is not an enumeration oracle."
        }
      ]
    },
    {
      "id": "receipts.list",
      "domain": "receipts",
      "summary": "List this workspace's verifiable artifacts, newest first, optionally filtered to one kind.",
      "description_key": "actions.receipts.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/receipts.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kind": "proof-of-erasure",
            "limit": 50
          },
          "output": {
            "artifacts": [
              {
                "artifactId": "01J9Z6M2K7QW8X0YB3C4D5E6F7",
                "kind": "proof-of-erasure",
                "subjectHash": "9c1d…",
                "issuedAt": "2026-05-22T12:00:00.000Z",
                "leafHash": "a3f1c8e2…",
                "topsRef": "tops_01J9…"
              }
            ]
          },
          "note": "The list is a projection — it carries no claims and no signature. Fetch the artifact to verify one."
        }
      ]
    },
    {
      "id": "receipts.verify",
      "domain": "receipts",
      "summary": "Verify a signed artifact against the published keys — signature, and Merkle inclusion when you supply the anchored bundle.",
      "description_key": "actions.receipts.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/receipts.verify",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "artifact": {}
          },
          "output": {
            "ok": true
          },
          "note": "Pure public-key work — this answers in a region where issuing is unprovisioned, and needs no signing key of ours."
        }
      ]
    },
    {
      "id": "memory.put",
      "domain": "memory",
      "summary": "Write one memory entry. Requires a mandate unless writing your own namespace.",
      "description_key": "actions.memory.put.description",
      "safety_level": "mutation",
      "confirmation_policy": "ask",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "portmind.memory_written",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/memory.put",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentDid": "did:web:example.com:agents:ws:a1",
            "key": "user.name",
            "value": "Ada"
          },
          "output": {
            "entry": {
              "agentRef": "did:web:example.com:agents:ws:a1",
              "key": "user.name",
              "value": "Ada",
              "contentSha256": "aa11",
              "tags": [],
              "version": 1,
              "createdAt": "2026-09-04T00:00:00.000Z",
              "updatedAt": "2026-09-04T00:00:00.000Z"
            }
          },
          "note": "Write to your own namespace — no mandate needed."
        }
      ]
    },
    {
      "id": "memory.get",
      "domain": "memory",
      "summary": "Read one memory entry by key.",
      "description_key": "actions.memory.get.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/memory.get",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentDid": "did:web:example.com:agents:ws:a1",
            "key": "user.name"
          },
          "output": {
            "entry": {
              "agentRef": "did:web:example.com:agents:ws:a1",
              "key": "user.name",
              "value": "Ada",
              "contentSha256": "aa11",
              "tags": [],
              "version": 1,
              "createdAt": "2026-09-04T00:00:00.000Z",
              "updatedAt": "2026-09-04T00:00:00.000Z"
            }
          },
          "note": "Read one key."
        }
      ]
    },
    {
      "id": "memory.list",
      "domain": "memory",
      "summary": "List live memory entries for an agent, key-ordered.",
      "description_key": "actions.memory.list.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/memory.list",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentDid": "did:web:example.com:agents:ws:a1",
            "limit": 100
          },
          "output": {
            "entries": []
          },
          "note": "List an agent's live memory."
        }
      ]
    },
    {
      "id": "memory.remove",
      "domain": "memory",
      "summary": "Tombstone one memory entry. A deletion is a WRITE and needs write authority.",
      "description_key": "actions.memory.remove.description",
      "safety_level": "destructive",
      "confirmation_policy": "always",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "portmind.memory_removed",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/memory.remove",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentDid": "did:web:example.com:agents:ws:a1",
            "key": "user.name"
          },
          "output": {
            "removed": true,
            "agentRef": "did:web:example.com:agents:ws:a1",
            "key": "user.name"
          },
          "note": "Tombstone one key; the snapshot still reflects that it is gone."
        }
      ]
    },
    {
      "id": "memory.snapshot",
      "domain": "memory",
      "summary": "Merkle snapshot of an agent's live memory — the root a portable export verifies against.",
      "description_key": "actions.memory.snapshot.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/memory.snapshot",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentDid": "did:web:example.com:agents:ws:a1"
          },
          "output": {
            "snapshot": {
              "agentRef": "did:web:example.com:agents:ws:a1",
              "snapshotRef": "snap_abc",
              "entryCount": 0,
              "merkleRoot": "root",
              "earliestEntryAt": null,
              "latestEntryAt": null,
              "snapshotAt": "2026-09-04T00:00:00.000Z"
            },
            "mint": {
              "kind": "memory-attestation",
              "source": {}
            }
          },
          "note": "Snapshot for a verifiable export."
        }
      ]
    },
    {
      "id": "memory.export",
      "domain": "memory",
      "summary": "Export an agent's live memory as a portable, tamper-evident bundle.",
      "description_key": "actions.memory.export.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/memory.export",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "agentDid": "did:web:example.com:agents:ws:a1"
          },
          "output": {
            "bundle": {
              "agentRef": "did:web:example.com:agents:ws:a1",
              "entries": [],
              "claimedRoot": "root",
              "exportedAt": "2026-09-04T00:00:00.000Z",
              "exportedBy": "ws_DEMODEFAULT0000000000",
              "origin": "unattested",
              "anchorRef": null
            },
            "attestationPath": "POST /v1/portmind/snapshot → mint the `memory-attestation` receipt at entpoind → ship it beside this bundle.",
            "notes": []
          },
          "note": "A portable export. Unattested until a receipt travels with it."
        }
      ]
    },
    {
      "id": "memory.import.verify",
      "domain": "memory",
      "summary": "Verify a portable memory bundle that arrived from anywhere — integrity now, completeness only against a root committed to beforehand.",
      "description_key": "actions.memory.import.verify.description",
      "safety_level": "read",
      "confirmation_policy": "none",
      "idempotent": true,
      "permissions": [],
      "audit_kind": "agent_read",
      "rate_class": "default",
      "surfaces": [
        "rest",
        "mcp",
        "chatgpt_app",
        "gemini",
        "perplexity",
        "claude_cowork",
        "claude_skill"
      ],
      "rest_endpoint": "/v1/actions/memory.import.verify",
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "bundle": {
              "agentRef": "agent_a",
              "entries": [
                {
                  "key": "goal",
                  "contentSha256": "ab"
                }
              ],
              "claimedRoot": "root",
              "exportedAt": "2026-09-04T00:00:00.000Z",
              "exportedBy": "other-vendor",
              "origin": "unattested"
            }
          },
          "output": {
            "verification": {
              "agentRef": "agent_a",
              "integrity": "root_mismatch",
              "completeness": "unknown",
              "recomputedRoot": "computed",
              "entryCount": 1,
              "origin": "unattested",
              "safeToTrustAsComplete": false,
              "notes": []
            }
          },
          "note": "Integrity is checkable here; completeness is not, without a prior root."
        }
      ]
    }
  ]
}