{
  "schema": "perplexity-connector-v1",
  "connector": {
    "id": "trustvice",
    "name": "Trustvice + Trustvice Receipts",
    "description": "Audit-log, Trustvice receipt, export, and billing actions against the customer's Trustvice workspace.",
    "vendor": "Trustvice",
    "version": "0.91.0",
    "homepage": "https://trustvice.com",
    "privacy_url": "https://trustvice.com/legal#privacy-policy",
    "terms_url": "https://trustvice.com/legal#terms-of-service",
    "icon_url": "https://trustvice.com/brand/trustvice-loop-brandmark-icon.png"
  },
  "auth": {
    "oauth2": {
      "authorization_url": "https://trustvice.com/auth/authorize",
      "token_url": "https://api.trustvice.com/v1/oauth/token",
      "scopes": [
        "admin:workspace",
        "manage:entpoind",
        "read:entpoind",
        "read:workspace",
        "write:entpoind",
        "write:keys",
        "write:webhooks",
        "write:workspace"
      ],
      "pkce_required": true,
      "dpop_supported": true
    }
  },
  "tools": [
    {
      "id": "account.session.list",
      "name": "account_session_list",
      "description": "List active sessions on this account.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.session.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sessions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "sessionId": {
                  "type": "string"
                },
                "accountId": {
                  "type": "string",
                  "pattern": "^acc_[0-9A-Z]{20,}$"
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "authMethod": {
                  "type": "string",
                  "enum": [
                    "session_cookie",
                    "pat",
                    "workspace_api_key",
                    "oauth_access_token",
                    "oauth_access_token_dpop",
                    "mtls_svid",
                    "sidecar_token"
                  ]
                },
                "userAgent": {
                  "type": "string",
                  "maxLength": 500
                },
                "ipPrefix": {
                  "type": "string",
                  "pattern": "^[0-9a-f.:]+\\/\\d{1,3}$"
                },
                "isCurrent": {
                  "type": "boolean"
                }
              },
              "required": [
                "sessionId",
                "accountId",
                "issuedAt",
                "expiresAt",
                "authMethod",
                "isCurrent"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "sessions",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "limit": 10
          },
          "output": {
            "sessions": [],
            "nextCursor": null
          },
          "note": "List active sessions."
        }
      ]
    },
    {
      "id": "account.session.revoke",
      "name": "account_session_revoke",
      "description": "Revoke an active session by id (cannot be disabled — safety floor).",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.session.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "sessionId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          },
          "propagatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "revoked",
          "propagatedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "sessionId": "sess_abc"
          },
          "output": {
            "revoked": true,
            "propagatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Kill an active session."
        }
      ]
    },
    {
      "id": "account.session.current",
      "name": "account_session_current",
      "description": "Get the calling principal's current session.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.session.current"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "authMethod": {
            "type": "string",
            "enum": [
              "session_cookie",
              "pat",
              "workspace_api_key",
              "oauth_access_token",
              "oauth_access_token_dpop",
              "mtls_svid",
              "sidecar_token"
            ]
          },
          "userAgent": {
            "type": "string",
            "maxLength": 500
          },
          "ipPrefix": {
            "type": "string",
            "pattern": "^[0-9a-f.:]+\\/\\d{1,3}$"
          },
          "isCurrent": {
            "type": "boolean"
          }
        },
        "required": [
          "sessionId",
          "accountId",
          "issuedAt",
          "expiresAt",
          "authMethod",
          "isCurrent"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "account_profile_get",
      "description": "Get the authenticated account's profile.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.profile.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "email": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "avatarUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "accountId",
          "email",
          "locale",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "account_profile_update",
      "description": "Update account profile (display name, avatar URL).",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.profile.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "avatarUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "avatarUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "accountId"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "displayName": "Ada Lovelace"
          },
          "output": {
            "accountId": "acc_DEMO00000000000000000000",
            "displayName": "Ada Lovelace"
          },
          "note": "Update display name."
        }
      ]
    },
    {
      "id": "account.email.change",
      "name": "account_email_change",
      "description": "Request an email change. A verification email is sent to the new address; the change applies only after click-through.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.email.change"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "newEmail": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          }
        },
        "required": [
          "newEmail"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "pending": {
            "type": "boolean",
            "const": true
          },
          "verificationSentTo": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          }
        },
        "required": [
          "pending",
          "verificationSentTo"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "newEmail": "new@example.com"
          },
          "output": {
            "pending": true,
            "verificationSentTo": "new@example.com"
          },
          "note": "Start email change flow."
        }
      ]
    },
    {
      "id": "account.email.change.pending",
      "name": "account_email_change_pending",
      "description": "Read the email change already in flight, and which of the two addresses still has to confirm. Null when none is pending.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.email.change.pending"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "pending": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "newEmail": {
                    "type": "string",
                    "maxLength": 254,
                    "format": "email",
                    "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                  },
                  "requestedAt": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  "expiresAt": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  "awaitingOldAddress": {
                    "type": "boolean"
                  },
                  "awaitingNewAddress": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "newEmail",
                  "requestedAt",
                  "expiresAt",
                  "awaitingOldAddress",
                  "awaitingNewAddress"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "pending"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "account_passkey_list",
      "description": "List registered passkeys.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.passkey.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "passkeys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "credentialId": {
                  "type": "string"
                },
                "nickname": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "lastUsedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "aaguid": {
                  "type": "string"
                },
                "backupEligible": {
                  "type": "boolean"
                }
              },
              "required": [
                "credentialId",
                "nickname",
                "createdAt",
                "lastUsedAt",
                "backupEligible"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "passkeys"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "passkeys": []
          },
          "note": "List passkeys."
        }
      ]
    },
    {
      "id": "account.passkey.revoke",
      "name": "account_passkey_revoke",
      "description": "Revoke a registered passkey.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.passkey.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "credentialId": {
            "type": "string"
          }
        },
        "required": [
          "credentialId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          }
        },
        "required": [
          "revoked"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "credentialId": "cred_abc"
          },
          "output": {
            "revoked": true
          },
          "note": "Remove a passkey."
        }
      ]
    },
    {
      "id": "account.locale.set",
      "name": "account_locale_set",
      "description": "Set the account-level preferred locale (overrides browser default).",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.locale.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "required": [
          "locale"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "required": [
          "locale"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "locale": "de"
          },
          "output": {
            "locale": "de"
          },
          "note": "Switch UI language to German."
        }
      ]
    },
    {
      "id": "account.display-preferences.set",
      "name": "account_display-preferences_set",
      "description": "Set the account-level display preferences: colour theme and IANA timezone. Either field may be omitted; neither is a no-op.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.display-preferences.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "enum": [
              "system",
              "light",
              "dark"
            ]
          },
          "timezone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[A-Za-z][A-Za-z0-9_+\\-]*(\\/[A-Za-z0-9_+\\-]+)*$"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "enum": [
              "system",
              "light",
              "dark"
            ]
          },
          "timezone": {
            "type": "string"
          }
        },
        "required": [
          "theme",
          "timezone"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "theme": "dark",
            "timezone": "Europe/Berlin"
          },
          "output": {
            "theme": "dark",
            "timezone": "Europe/Berlin"
          },
          "note": "Dark theme, Berlin time."
        }
      ]
    },
    {
      "id": "account.notifications.get",
      "name": "account_notifications_get",
      "description": "Read notification preferences.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.notifications.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "marketingEmails": {
            "type": "boolean"
          },
          "securityAlerts": {
            "type": "boolean"
          },
          "billingAlerts": {
            "type": "boolean"
          },
          "productUpdates": {
            "type": "boolean"
          },
          "agentSessionStarted": {
            "type": "boolean"
          },
          "agentSessionAnomaly": {
            "type": "boolean"
          },
          "digestCadence": {
            "type": "string",
            "enum": [
              "off",
              "daily",
              "weekly"
            ]
          },
          "invitationAlerts": {
            "type": "boolean"
          },
          "quotaWarnings": {
            "type": "boolean"
          },
          "privacyRightsAlerts": {
            "type": "boolean"
          },
          "shadowSessionStarted": {
            "type": "boolean"
          }
        },
        "required": [
          "marketingEmails",
          "securityAlerts",
          "billingAlerts",
          "productUpdates",
          "agentSessionStarted",
          "agentSessionAnomaly",
          "digestCadence"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "marketingEmails": false,
            "securityAlerts": true,
            "billingAlerts": true,
            "productUpdates": false,
            "agentSessionStarted": true,
            "agentSessionAnomaly": true,
            "digestCadence": "weekly"
          },
          "note": "Read prefs."
        }
      ]
    },
    {
      "id": "account.notifications.update",
      "name": "account_notifications_update",
      "description": "Update notification preferences.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.notifications.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "marketingEmails": {
            "type": "boolean"
          },
          "securityAlerts": {
            "type": "boolean"
          },
          "billingAlerts": {
            "type": "boolean"
          },
          "productUpdates": {
            "type": "boolean"
          },
          "agentSessionStarted": {
            "type": "boolean"
          },
          "agentSessionAnomaly": {
            "type": "boolean"
          },
          "digestCadence": {
            "type": "string",
            "enum": [
              "off",
              "daily",
              "weekly"
            ]
          },
          "invitationAlerts": {
            "type": "boolean"
          },
          "quotaWarnings": {
            "type": "boolean"
          },
          "privacyRightsAlerts": {
            "type": "boolean"
          },
          "shadowSessionStarted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "marketingEmails": {
            "type": "boolean"
          },
          "securityAlerts": {
            "type": "boolean"
          },
          "billingAlerts": {
            "type": "boolean"
          },
          "productUpdates": {
            "type": "boolean"
          },
          "agentSessionStarted": {
            "type": "boolean"
          },
          "agentSessionAnomaly": {
            "type": "boolean"
          },
          "digestCadence": {
            "type": "string",
            "enum": [
              "off",
              "daily",
              "weekly"
            ]
          },
          "invitationAlerts": {
            "type": "boolean"
          },
          "quotaWarnings": {
            "type": "boolean"
          },
          "privacyRightsAlerts": {
            "type": "boolean"
          },
          "shadowSessionStarted": {
            "type": "boolean"
          }
        },
        "required": [
          "marketingEmails",
          "securityAlerts",
          "billingAlerts",
          "productUpdates",
          "agentSessionStarted",
          "agentSessionAnomaly",
          "digestCadence"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "account_token_list",
      "description": "List your Personal Access Tokens (PATs).",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.token.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "includeRevoked": {
            "default": false,
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^tv_pat_[0-9A-Z]{20,}$"
                },
                "prefix": {
                  "type": "string"
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "scopes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "expiresAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastUsedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "revokedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "ipCidrBinding": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "prefix",
                "label",
                "scopes",
                "createdAt",
                "expiresAt",
                "lastUsedAt",
                "revokedAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "tokens"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "includeRevoked": false
          },
          "output": {
            "tokens": []
          },
          "note": "List active PATs."
        }
      ]
    },
    {
      "id": "account.token.revoke",
      "name": "account_token_revoke",
      "description": "Revoke a PAT (cannot be disabled — safety floor).",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.token.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "tokenId": {
            "type": "string",
            "pattern": "^tv_pat_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "tokenId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          },
          "propagatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "revoked",
          "propagatedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "account_oauth-grants_list",
      "description": "List active OAuth grants to third-party agents (Claude, ChatGPT, Gemini, etc.).",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.oauth-grants.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "grants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "clientId": {
                  "type": "string",
                  "pattern": "^oauth_[0-9A-Z]{20,}$"
                },
                "clientName": {
                  "type": "string"
                },
                "scopes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "grantedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "lastUsedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "expiresAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "dpopBound": {
                  "type": "boolean"
                },
                "delegationDepthAllowed": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "clientId",
                "clientName",
                "scopes",
                "grantedAt",
                "lastUsedAt",
                "expiresAt",
                "dpopBound",
                "delegationDepthAllowed"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "grants"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "grants": []
          },
          "note": "List active connected apps."
        }
      ]
    },
    {
      "id": "account.oauth-grants.revoke",
      "name": "account_oauth-grants_revoke",
      "description": "Revoke an OAuth grant. The third-party agent's tokens are immediately invalidated.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.oauth-grants.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string",
            "pattern": "^oauth_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "clientId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          },
          "propagatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "revoked",
          "propagatedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "account_security-log_list",
      "description": "Read the account-level security log (logins, MFA, key issuance, anomalies).",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.security-log.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "kindFilter": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "timestamp": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "login_success",
                    "login_failure",
                    "logout",
                    "passkey_registered",
                    "passkey_revoked",
                    "pat_issued",
                    "pat_revoked",
                    "oauth_grant_approved",
                    "oauth_grant_revoked",
                    "anomalous_login_location",
                    "step_up_prompt",
                    "recovery_code_used",
                    "email_changed",
                    "password_changed"
                  ]
                },
                "summary": {
                  "type": "string"
                },
                "ipPrefix": {
                  "type": "string"
                },
                "authMethod": {
                  "type": "string",
                  "enum": [
                    "session_cookie",
                    "pat",
                    "workspace_api_key",
                    "oauth_access_token",
                    "oauth_access_token_dpop",
                    "mtls_svid",
                    "sidecar_token"
                  ]
                }
              },
              "required": [
                "timestamp",
                "kind",
                "summary"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "entries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Last 25 security events."
        }
      ]
    },
    {
      "id": "account.delete",
      "name": "account_delete",
      "description": "Schedule account deletion in 30 days. Requires WebAuthn step-up.",
      "domain": "account",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/account.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          },
          "exportFirst": {
            "default": true,
            "type": "boolean"
          }
        },
        "required": [
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scheduledDeletionAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "gracePeriodDays": {
            "type": "number",
            "const": 30
          }
        },
        "required": [
          "scheduledDeletionAt",
          "gracePeriodDays"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "org_get",
      "description": "Get the current organization's details.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "plan": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "scheduledDeletionAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "plan",
          "createdAt",
          "scheduledDeletionAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "org_update",
      "description": "Update organization name + locale.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "plan": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "scheduledDeletionAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "plan",
          "createdAt",
          "scheduledDeletionAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "org_locale_set",
      "description": "Set the organization-default locale (inherited by new workspaces).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.locale.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "required": [
          "locale"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "required": [
          "locale"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "locale": "de"
          },
          "output": {
            "locale": "de"
          },
          "note": "Org-default locale → German."
        }
      ]
    },
    {
      "id": "org.billing-state.get",
      "name": "org_billing-state_get",
      "description": "Get the org's current billing state (plan, subscription status, add-ons).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.billing-state.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "plan": {
            "type": "string"
          },
          "subscriptionStatus": {
            "type": "string",
            "enum": [
              "trialing",
              "active",
              "past_due",
              "canceled",
              "unpaid",
              "suspended"
            ]
          },
          "multiWorkspaceAddonActive": {
            "type": "boolean"
          },
          "extraWorkspacesCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "currentPeriodEnd": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "plan",
          "subscriptionStatus",
          "multiWorkspaceAddonActive",
          "extraWorkspacesCount",
          "currentPeriodEnd"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "org_member_list",
      "description": "List organization members.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.member.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "members": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "accountId": {
                  "type": "string",
                  "pattern": "^acc_[0-9A-Z]{20,}$"
                },
                "email": {
                  "type": "string",
                  "maxLength": 254,
                  "format": "email",
                  "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                },
                "displayName": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "owner",
                    "admin",
                    "member"
                  ]
                },
                "joinedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                }
              },
              "required": [
                "accountId",
                "email",
                "role",
                "joinedAt"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "members",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "members": [],
            "nextCursor": null
          },
          "note": "List org members."
        }
      ]
    },
    {
      "id": "org.member.invite",
      "name": "org_member_invite",
      "description": "Invite a new member to the organization. Sends a verification email.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.member.invite"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          }
        },
        "required": [
          "email",
          "role"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "invitationId": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          },
          "invitedBy": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "invitedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "accepted",
              "expired",
              "revoked"
            ]
          }
        },
        "required": [
          "invitationId",
          "email",
          "role",
          "invitedBy",
          "invitedAt",
          "expiresAt",
          "status"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "org_member_remove",
      "description": "Remove a member from the organization. They lose access to all workspaces immediately.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.member.remove"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "accountId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "removed": {
            "type": "boolean"
          }
        },
        "required": [
          "removed"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "accountId": "acc_DEMO00000000000000000000"
          },
          "output": {
            "removed": true
          },
          "note": "Remove a member."
        }
      ]
    },
    {
      "id": "org.member.role.change",
      "name": "org_member_role_change",
      "description": "Change an org member's role.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.member.role.change"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          }
        },
        "required": [
          "accountId",
          "role"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "email": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          },
          "joinedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "accountId",
          "email",
          "role",
          "joinedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "org_invitations_list",
      "description": "List pending/expired invitations.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.invitations.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "accepted",
              "expired",
              "revoked"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "invitations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "invitationId": {
                  "type": "string"
                },
                "email": {
                  "type": "string",
                  "maxLength": 254,
                  "format": "email",
                  "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "owner",
                    "admin",
                    "member"
                  ]
                },
                "invitedBy": {
                  "type": "string",
                  "pattern": "^acc_[0-9A-Z]{20,}$"
                },
                "invitedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "accepted",
                    "expired",
                    "revoked"
                  ]
                }
              },
              "required": [
                "invitationId",
                "email",
                "role",
                "invitedBy",
                "invitedAt",
                "expiresAt",
                "status"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "invitations"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "status": "pending"
          },
          "output": {
            "invitations": []
          },
          "note": "List pending invites."
        }
      ]
    },
    {
      "id": "org.invitations.resend",
      "name": "org_invitations_resend",
      "description": "Resend a pending invitation (subject to 5-minute cooldown).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.invitations.resend"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "invitationId": {
            "type": "string"
          }
        },
        "required": [
          "invitationId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "resent": {
            "type": "boolean"
          },
          "nextResendAvailableAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "resent",
          "nextResendAvailableAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "invitationId": "inv_abc"
          },
          "output": {
            "resent": true,
            "nextResendAvailableAt": "2026-05-22T12:05:00.000Z"
          },
          "note": "Resend invite."
        }
      ]
    },
    {
      "id": "org.invitations.revoke",
      "name": "org_invitations_revoke",
      "description": "Revoke a pending invitation.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.invitations.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "invitationId": {
            "type": "string"
          }
        },
        "required": [
          "invitationId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          }
        },
        "required": [
          "revoked"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "invitationId": "inv_abc"
          },
          "output": {
            "revoked": true
          },
          "note": "Cancel pending invite."
        }
      ]
    },
    {
      "id": "org.transfer-ownership",
      "name": "org_transfer-ownership",
      "description": "Transfer org ownership to another admin. Requires WebAuthn step-up + reason.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.transfer-ownership"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "newOwnerAccountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "newOwnerAccountId",
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "plan": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "scheduledDeletionAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "plan",
          "createdAt",
          "scheduledDeletionAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "org_delete_schedule",
      "description": "Schedule organization deletion in 30 days. Cancellable within the grace window.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.delete.schedule"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          },
          "graceDays": {
            "default": 30,
            "type": "integer",
            "minimum": 1,
            "maximum": 90
          }
        },
        "required": [
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scheduledDeletionAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "scheduledDeletionAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "org_delete_cancel",
      "description": "Cancel a previously-scheduled org deletion (within grace).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.delete.cancel"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "plan": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "scheduledDeletionAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "plan",
          "createdAt",
          "scheduledDeletionAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "org_audit_list",
      "description": "Read org-level audit log entries (admin actions, member changes, billing).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.audit.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {}
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "entries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read org audit log."
        }
      ]
    },
    {
      "id": "org.sso.connections.list",
      "name": "org_sso_connections_list",
      "description": "List the organization's SSO connections (SAML/OIDC), with sealed secrets redacted to booleans.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.connections.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "connections": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "organizationId": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "saml",
                    "oidc"
                  ]
                },
                "displayName": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "active",
                    "disabled",
                    "testing"
                  ]
                },
                "samlIdpEntityId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "samlIdpSsoUrl": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "samlIdpCertificateCount": {
                  "type": "number"
                },
                "samlAllowIdpInitiated": {
                  "type": "boolean"
                },
                "oidcIssuer": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "oidcClientId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "oidcClientSecretSet": {
                  "type": "boolean"
                },
                "jitEnabled": {
                  "type": "boolean"
                },
                "defaultRole": {
                  "type": "string",
                  "enum": [
                    "admin",
                    "member"
                  ]
                },
                "groupRoleMappings": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "createdAt": {
                  "type": "string"
                },
                "updatedAt": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "organizationId",
                "type",
                "displayName",
                "status",
                "samlIdpEntityId",
                "samlIdpSsoUrl",
                "samlIdpCertificateCount",
                "samlAllowIdpInitiated",
                "oidcIssuer",
                "oidcClientId",
                "oidcClientSecretSet",
                "jitEnabled",
                "defaultRole",
                "groupRoleMappings",
                "createdAt",
                "updatedAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "connections"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "connections": []
          },
          "note": "List SSO connections."
        }
      ]
    },
    {
      "id": "org.sso.connections.upsert",
      "name": "org_sso_connections_upsert",
      "description": "Create or update a SAML/OIDC SSO connection. A provided OIDC client secret is sealed; SAML certificates are validated.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.connections.upsert"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "saml",
              "oidc"
            ]
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "disabled",
              "testing"
            ]
          },
          "jitEnabled": {
            "type": "boolean"
          },
          "defaultRole": {
            "type": "string",
            "enum": [
              "admin",
              "member"
            ]
          },
          "groupRoleMappings": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string",
              "enum": [
                "admin",
                "member"
              ]
            }
          },
          "samlIdpEntityId": {
            "type": "string"
          },
          "samlIdpSsoUrl": {
            "type": "string",
            "format": "uri"
          },
          "samlIdpCertificates": {
            "type": "string"
          },
          "samlAllowIdpInitiated": {
            "type": "boolean"
          },
          "oidcIssuer": {
            "type": "string",
            "format": "uri"
          },
          "oidcClientId": {
            "type": "string"
          },
          "oidcClientSecret": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "displayName"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "connection": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "organizationId": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "saml",
                      "oidc"
                    ]
                  },
                  "displayName": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "active",
                      "disabled",
                      "testing"
                    ]
                  },
                  "samlIdpEntityId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "samlIdpSsoUrl": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "samlIdpCertificateCount": {
                    "type": "number"
                  },
                  "samlAllowIdpInitiated": {
                    "type": "boolean"
                  },
                  "oidcIssuer": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "oidcClientId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "oidcClientSecretSet": {
                    "type": "boolean"
                  },
                  "jitEnabled": {
                    "type": "boolean"
                  },
                  "defaultRole": {
                    "type": "string",
                    "enum": [
                      "admin",
                      "member"
                    ]
                  },
                  "groupRoleMappings": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "createdAt": {
                    "type": "string"
                  },
                  "updatedAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "type",
                  "displayName",
                  "status",
                  "samlIdpEntityId",
                  "samlIdpSsoUrl",
                  "samlIdpCertificateCount",
                  "samlAllowIdpInitiated",
                  "oidcIssuer",
                  "oidcClientId",
                  "oidcClientSecretSet",
                  "jitEnabled",
                  "defaultRole",
                  "groupRoleMappings",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "connection"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "org_sso_connections_delete",
      "description": "Delete an SSO connection by id (org-scoped).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.connections.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "id": "ssoc_abc"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete a connection."
        }
      ]
    },
    {
      "id": "org.sso.domains.list",
      "name": "org_sso_domains_list",
      "description": "List the organization's captured SSO domains (verified state + the DNS TXT record to publish).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.domains.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "domains": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "organizationId": {
                  "type": "string"
                },
                "connectionId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "domain": {
                  "type": "string"
                },
                "verified": {
                  "type": "boolean"
                },
                "verifiedAt": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "enforceSso": {
                  "type": "boolean"
                },
                "dnsRecord": {
                  "type": "object",
                  "properties": {
                    "host": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "host",
                    "type",
                    "value"
                  ],
                  "additionalProperties": false
                },
                "createdAt": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "organizationId",
                "connectionId",
                "domain",
                "verified",
                "verifiedAt",
                "enforceSso",
                "dnsRecord",
                "createdAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "domains"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "domains": []
          },
          "note": "List SSO domains."
        }
      ]
    },
    {
      "id": "org.sso.domains.create",
      "name": "org_sso_domains_create",
      "description": "Claim an email domain for SSO and mint its DNS TXT verification challenge.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.domains.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 3,
            "maxLength": 253
          },
          "connectionId": {
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "domain": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "organizationId": {
                    "type": "string"
                  },
                  "connectionId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "domain": {
                    "type": "string"
                  },
                  "verified": {
                    "type": "boolean"
                  },
                  "verifiedAt": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "enforceSso": {
                    "type": "boolean"
                  },
                  "dnsRecord": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "type",
                      "value"
                    ],
                    "additionalProperties": false
                  },
                  "createdAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "connectionId",
                  "domain",
                  "verified",
                  "verifiedAt",
                  "enforceSso",
                  "dnsRecord",
                  "createdAt"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "domain"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "domain": "acme.com"
          },
          "output": {
            "domain": null
          },
          "note": "Claim acme.com."
        }
      ]
    },
    {
      "id": "org.sso.domains.verify",
      "name": "org_sso_domains_verify",
      "description": "Verify a claimed domain via a DNS-over-HTTPS TXT lookup (proof of control).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.domains.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "verified": {
            "type": "boolean"
          },
          "domain": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "organizationId": {
                    "type": "string"
                  },
                  "connectionId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "domain": {
                    "type": "string"
                  },
                  "verified": {
                    "type": "boolean"
                  },
                  "verifiedAt": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "enforceSso": {
                    "type": "boolean"
                  },
                  "dnsRecord": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "type",
                      "value"
                    ],
                    "additionalProperties": false
                  },
                  "createdAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "connectionId",
                  "domain",
                  "verified",
                  "verifiedAt",
                  "enforceSso",
                  "dnsRecord",
                  "createdAt"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "alreadyVerified": {
            "type": "boolean"
          }
        },
        "required": [
          "verified"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "id": "ssod_abc"
          },
          "output": {
            "verified": true
          },
          "note": "Verify domain control."
        }
      ]
    },
    {
      "id": "org.sso.domains.enforcement",
      "name": "org_sso_domains_enforcement",
      "description": "Toggle SSO enforcement for a verified domain (requires a verified domain + an active connection).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.domains.enforcement"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "enforceSso": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "enforceSso"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "domain": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "organizationId": {
                    "type": "string"
                  },
                  "connectionId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "domain": {
                    "type": "string"
                  },
                  "verified": {
                    "type": "boolean"
                  },
                  "verifiedAt": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "enforceSso": {
                    "type": "boolean"
                  },
                  "dnsRecord": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "type",
                      "value"
                    ],
                    "additionalProperties": false
                  },
                  "createdAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "connectionId",
                  "domain",
                  "verified",
                  "verifiedAt",
                  "enforceSso",
                  "dnsRecord",
                  "createdAt"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "domain"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "id": "ssod_abc",
            "enforceSso": true
          },
          "output": {
            "domain": null
          },
          "note": "Require SSO for the domain."
        }
      ]
    },
    {
      "id": "org.sso.domains.delete",
      "name": "org_sso_domains_delete",
      "description": "Remove a captured SSO domain (org-scoped).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.domains.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "id": "ssod_abc"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete a domain."
        }
      ]
    },
    {
      "id": "org.sso.scim-tokens.list",
      "name": "org_sso_scim-tokens_list",
      "description": "List a connection's SCIM bearer tokens (hash-only; the raw token is never returned).",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.scim-tokens.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "connectionId": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string"
                },
                "lastUsedAt": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "revoked": {
                  "type": "boolean"
                },
                "revokedAt": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "id",
                "connectionId",
                "createdAt",
                "lastUsedAt",
                "revoked",
                "revokedAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "tokens"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "tokens": []
          },
          "note": "List SCIM tokens."
        }
      ]
    },
    {
      "id": "org.sso.scim-tokens.mint",
      "name": "org_sso_scim-tokens_mint",
      "description": "Mint a SCIM 2.0 bearer token for a connection. The RAW token is returned exactly once; only its hash is stored.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.scim-tokens.mint"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "connectionId": {
            "type": "string"
          }
        },
        "required": [
          "connectionId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "connectionId": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "scimBaseUrl": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "connectionId",
          "token",
          "scimBaseUrl",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "org_sso_scim-tokens_revoke",
      "description": "Revoke a SCIM bearer token by id.",
      "domain": "org",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/org.sso.scim-tokens.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          }
        },
        "required": [
          "revoked"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "id": "scimt_1"
          },
          "output": {
            "revoked": true
          },
          "note": "Revoke a SCIM token."
        }
      ]
    },
    {
      "id": "workspace.list",
      "name": "workspace_list",
      "description": "List all workspaces in the current organization.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "includeDeleted": {
            "default": false,
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaces": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "organizationId": {
                  "type": "string"
                },
                "jurisdiction": {
                  "type": "string",
                  "enum": [
                    "WEUR",
                    "ENAM"
                  ]
                }
              },
              "required": [
                "id",
                "name",
                "organizationId",
                "jurisdiction"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "workspaces",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "limit": 10
          },
          "output": {
            "workspaces": [],
            "nextCursor": null
          },
          "note": "List up to 10 workspaces in the active organization."
        }
      ]
    },
    {
      "id": "workspace.get",
      "name": "workspace_get",
      "description": "Get the full state of a single workspace by id.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "organizationId": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "organizationId",
          "jurisdiction"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "id": "ws_DEMODEFAULT0000000000",
            "name": "Default workspace"
          },
          "note": "Read the active workspace's full state."
        }
      ]
    },
    {
      "id": "workspace.create",
      "name": "workspace_create",
      "description": "Create a new workspace in the current organization.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "regionId": {
            "type": "string",
            "pattern": "^(cloudflare-d1|aws-aurora):[a-z0-9-]+$"
          },
          "euJurisdictionBound": {
            "default": false,
            "type": "boolean"
          },
          "retentionDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          }
        },
        "required": [
          "name",
          "regionId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "organizationId": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "organizationId",
          "jurisdiction"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "workspace_update",
      "description": "Update workspace settings (name, retention, locale, Trustvice Receipts controls).",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "retentionDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "de-du",
              "zh"
            ]
          },
          "entpoindAutoOverageEnabled": {
            "type": "boolean"
          },
          "entpoindAutoOverageCapMultiplier": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          },
          "entpoindBillingMode": {
            "type": "string",
            "enum": [
              "combined",
              "separate"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "organizationId": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "organizationId",
          "jurisdiction"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "workspace_rename",
      "description": "Rename a workspace (convenience alias of workspace.update).",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.rename"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "required": [
          "workspaceId",
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "organizationId": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "organizationId",
          "jurisdiction"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "workspace_delete_schedule",
      "description": "Schedule a workspace for deletion in 30 days (grace period).",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.delete.schedule"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "graceDays": {
            "default": 30,
            "type": "integer",
            "minimum": 1,
            "maximum": 90
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "scheduledDeletionAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId",
          "scheduledDeletionAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "workspace_delete_cancel",
      "description": "Cancel a previously-scheduled workspace deletion (within grace).",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.delete.cancel"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "organizationId": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "organizationId",
          "jurisdiction"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "workspace_region_binding-proof",
      "description": "Download the OpenTimestamps proof of the workspace's region binding.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.region.binding-proof"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "otsProof": {
            "type": "string",
            "minLength": 20
          },
          "anchoredAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "blockHeight": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "otsProof",
          "anchoredAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "workspace_member_list",
      "description": "List members of a workspace with their roles.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.member.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "members": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "accountId": {
                  "type": "string",
                  "pattern": "^acc_[0-9A-Z]{20,}$"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "owner",
                    "admin",
                    "member",
                    "auditor"
                  ]
                }
              },
              "required": [
                "accountId",
                "role"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "members"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "members": [
              {
                "accountId": "acc_001demo000000000000000000",
                "role": "owner"
              }
            ]
          },
          "note": "List workspace members."
        }
      ]
    },
    {
      "id": "workspace.member.add",
      "name": "workspace_member_add",
      "description": "Add an organization member to a workspace with a specific role.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.member.add"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "role": {
            "type": "string",
            "enum": [
              "admin",
              "member",
              "auditor"
            ]
          }
        },
        "required": [
          "workspaceId",
          "accountId",
          "role"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member",
              "auditor"
            ]
          }
        },
        "required": [
          "accountId",
          "role"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "workspace_member_role_change",
      "description": "Change a workspace member's role.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.member.role.change"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member",
              "auditor"
            ]
          }
        },
        "required": [
          "workspaceId",
          "accountId",
          "role"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member",
              "auditor"
            ]
          }
        },
        "required": [
          "accountId",
          "role"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "workspace_member_remove",
      "description": "Remove a member from a workspace.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.member.remove"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "accountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "accountId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "removed": {
            "type": "boolean"
          }
        },
        "required": [
          "removed"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "accountId": "acc_002DEMO000000000000000000"
          },
          "output": {
            "removed": true
          },
          "note": "Remove a workspace member."
        }
      ]
    },
    {
      "id": "workspace.transfer-ownership",
      "name": "workspace_transfer-ownership",
      "description": "Transfer workspace ownership to another admin.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.transfer-ownership"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "newOwnerAccountId": {
            "type": "string",
            "pattern": "^acc_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "newOwnerAccountId",
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "organizationId": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "organizationId",
          "jurisdiction"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "workspace_entpoind_enable",
      "description": "Enable Trustvice Receipts on a workspace (requires an org-level Trustvice Receipts subscription).",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.entpoind.enable"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "organizationId": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "organizationId",
          "jurisdiction"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "workspace_entpoind_disable",
      "description": "Disable Trustvice Receipts on a workspace.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.entpoind.disable"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "organizationId": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "organizationId",
          "jurisdiction"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "workspace_regions_list",
      "description": "List the available regions a workspace can be created in.",
      "domain": "workspace",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/workspace.regions.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "regions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^(cloudflare-d1|aws-aurora):[a-z0-9-]+$"
                },
                "label": {
                  "type": "string"
                },
                "countryCode": {
                  "type": "string",
                  "pattern": "^[A-Z]{2}$"
                },
                "euJurisdictionBound": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "label",
                "countryCode",
                "euJurisdictionBound"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "regions"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "billing_subscription_get",
      "description": "Get the org's current Stripe subscription.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.subscription.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "pattern": "^sub_[A-Za-z0-9]+$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "plan": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "trialing",
              "active",
              "past_due",
              "canceled",
              "unpaid",
              "suspended"
            ]
          },
          "currentPeriodStart": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "currentPeriodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "cancelAtPeriodEnd": {
            "type": "boolean"
          }
        },
        "required": [
          "subscriptionId",
          "organizationId",
          "plan",
          "status",
          "currentPeriodStart",
          "currentPeriodEnd",
          "cancelAtPeriodEnd"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "billing_subscription_upgrade",
      "description": "Upgrade to a higher tier. Prorates charges; takes effect immediately.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.subscription.upgrade"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "targetPlan": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "targetPlan"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "pattern": "^sub_[A-Za-z0-9]+$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "plan": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "trialing",
              "active",
              "past_due",
              "canceled",
              "unpaid",
              "suspended"
            ]
          },
          "currentPeriodStart": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "currentPeriodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "cancelAtPeriodEnd": {
            "type": "boolean"
          }
        },
        "required": [
          "subscriptionId",
          "organizationId",
          "plan",
          "status",
          "currentPeriodStart",
          "currentPeriodEnd",
          "cancelAtPeriodEnd"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "billing_subscription_downgrade",
      "description": "Downgrade to a lower tier. Effective at next billing period.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.subscription.downgrade"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "targetPlan": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "targetPlan",
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "pattern": "^sub_[A-Za-z0-9]+$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "plan": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "trialing",
              "active",
              "past_due",
              "canceled",
              "unpaid",
              "suspended"
            ]
          },
          "currentPeriodStart": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "currentPeriodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "cancelAtPeriodEnd": {
            "type": "boolean"
          }
        },
        "required": [
          "subscriptionId",
          "organizationId",
          "plan",
          "status",
          "currentPeriodStart",
          "currentPeriodEnd",
          "cancelAtPeriodEnd"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "billing_subscription_cancel",
      "description": "Cancel subscription at current period end. Workspace remains accessible until then.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.subscription.cancel"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          },
          "cancelImmediately": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "pattern": "^sub_[A-Za-z0-9]+$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "plan": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "trialing",
              "active",
              "past_due",
              "canceled",
              "unpaid",
              "suspended"
            ]
          },
          "currentPeriodStart": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "currentPeriodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "cancelAtPeriodEnd": {
            "type": "boolean"
          }
        },
        "required": [
          "subscriptionId",
          "organizationId",
          "plan",
          "status",
          "currentPeriodStart",
          "currentPeriodEnd",
          "cancelAtPeriodEnd"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "billing_subscription_reactivate",
      "description": "Reactivate a subscription that's been scheduled to cancel.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.subscription.reactivate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "pattern": "^sub_[A-Za-z0-9]+$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "plan": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "trialing",
              "active",
              "past_due",
              "canceled",
              "unpaid",
              "suspended"
            ]
          },
          "currentPeriodStart": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "currentPeriodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "cancelAtPeriodEnd": {
            "type": "boolean"
          }
        },
        "required": [
          "subscriptionId",
          "organizationId",
          "plan",
          "status",
          "currentPeriodStart",
          "currentPeriodEnd",
          "cancelAtPeriodEnd"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "billing_invoices_list",
      "description": "List invoices.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.invoices.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "open",
              "paid",
              "void",
              "uncollectible"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "invoices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^in_[A-Za-z0-9]+$"
                },
                "organizationId": {
                  "type": "string",
                  "pattern": "^org_[0-9A-Z]{20,}$"
                },
                "amount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string",
                  "pattern": "^[A-Z]{3}$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "draft",
                    "open",
                    "paid",
                    "void",
                    "uncollectible"
                  ]
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "dueAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "paidAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "hostedInvoiceUrl": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "id",
                "organizationId",
                "amount",
                "currency",
                "status",
                "issuedAt",
                "dueAt",
                "paidAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "invoices",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "invoices": [],
            "nextCursor": null
          },
          "note": "List invoices."
        }
      ]
    },
    {
      "id": "billing.invoices.get",
      "name": "billing_invoices_get",
      "description": "Get a single invoice.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.invoices.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "string",
            "pattern": "^in_[A-Za-z0-9]+$"
          }
        },
        "required": [
          "invoiceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^in_[A-Za-z0-9]+$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "amount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "open",
              "paid",
              "void",
              "uncollectible"
            ]
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "dueAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "paidAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "hostedInvoiceUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "id",
          "organizationId",
          "amount",
          "currency",
          "status",
          "issuedAt",
          "dueAt",
          "paidAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "billing_invoices_download",
      "description": "Get a signed download URL for the invoice PDF.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.invoices.download"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "string",
            "pattern": "^in_[A-Za-z0-9]+$"
          }
        },
        "required": [
          "invoiceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "url",
          "expiresAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "billing_payment-method_get",
      "description": "Get the current default payment method (masked).",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.payment-method.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "paymentMethodId": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          },
          "expMonth": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12
          },
          "expYear": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "paymentMethodId",
          "brand",
          "last4",
          "expMonth",
          "expYear"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "billing_payment-method_update-url",
      "description": "Get a signed URL to Stripe's hosted payment-method update page. Update happens in Stripe's UI.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.payment-method.update-url"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "returnUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "url",
          "expiresAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "billing_packs_list",
      "description": "List available top-up packs (runs, Number One queries, Trustvice calls).",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.packs.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "runs",
              "number-one",
              "entpoind-calls"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "packs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "packId": {
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "runs",
                    "number-one",
                    "entpoind-calls"
                  ]
                },
                "unitCount": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "priceUsdMinor": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "packId",
                "kind",
                "unitCount",
                "priceUsdMinor"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "packs"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "packs": [
              {
                "packId": "runs_1k",
                "kind": "runs",
                "unitCount": 1000,
                "priceUsdMinor": 2900
              }
            ]
          },
          "note": "Discover packs."
        }
      ]
    },
    {
      "id": "billing.packs.purchase",
      "name": "billing_packs_purchase",
      "description": "Purchase a top-up pack.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.packs.purchase"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "packId": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "packId",
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "topUpId": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "packKind": {
            "type": "string"
          },
          "unitCount": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "priceUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "purchasedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "unitsRemaining": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "forfeitedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "topUpId",
          "workspaceId",
          "packKind",
          "unitCount",
          "priceUsdMinor",
          "purchasedAt",
          "unitsRemaining",
          "forfeitedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "billing_auto-topup_get",
      "description": "Get auto-topup configuration.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.auto-topup.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "packId": {
            "type": [
              "string",
              "null"
            ]
          },
          "triggerAtPercent": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "number",
                    "const": 50
                  },
                  {
                    "type": "number",
                    "const": 80
                  },
                  {
                    "type": "number",
                    "const": 95
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "monthlyCapUsdMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "enabled",
          "packId",
          "triggerAtPercent",
          "monthlyCapUsdMinor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "enabled": false,
            "packId": null,
            "triggerAtPercent": null,
            "monthlyCapUsdMinor": null
          },
          "note": "Read auto-topup config."
        }
      ]
    },
    {
      "id": "billing.auto-topup.configure",
      "name": "billing_auto-topup_configure",
      "description": "Configure auto-topup. Fires when balance drops below threshold; capped at monthly USD limit.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.auto-topup.configure"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "enabled": {
            "type": "boolean"
          },
          "packId": {
            "type": "string"
          },
          "triggerAtPercent": {
            "anyOf": [
              {
                "type": "number",
                "const": 50
              },
              {
                "type": "number",
                "const": 80
              },
              {
                "type": "number",
                "const": 95
              }
            ]
          },
          "monthlyCapUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "workspaceId",
          "enabled"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "packId": {
            "type": [
              "string",
              "null"
            ]
          },
          "triggerAtPercent": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "number",
                    "const": 50
                  },
                  {
                    "type": "number",
                    "const": 80
                  },
                  {
                    "type": "number",
                    "const": 95
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "monthlyCapUsdMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "enabled",
          "packId",
          "triggerAtPercent",
          "monthlyCapUsdMinor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "billing_cost-centers_list",
      "description": "List org cost centers (for tagging charges + per-cost-center invoicing).",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.cost-centers.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "costCenters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^cc_[0-9A-Z]{20,}$"
                },
                "organizationId": {
                  "type": "string",
                  "pattern": "^org_[0-9A-Z]{20,}$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "description": {
                  "type": "string"
                },
                "taggableProducts": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "trustvice",
                      "entpoind",
                      "both"
                    ]
                  }
                },
                "monthlyCapUsdMinor": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "notificationThresholdPercents": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100
                  }
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                }
              },
              "required": [
                "id",
                "organizationId",
                "name",
                "taggableProducts",
                "monthlyCapUsdMinor",
                "notificationThresholdPercents",
                "createdAt"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "costCenters"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "costCenters": []
          },
          "note": "List cost centers."
        }
      ]
    },
    {
      "id": "billing.cost-centers.create",
      "name": "billing_cost-centers_create",
      "description": "Create a cost center.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.cost-centers.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "description": {
            "type": "string",
            "maxLength": 500
          },
          "taggableProducts": {
            "default": [
              "both"
            ],
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "trustvice",
                "entpoind",
                "both"
              ]
            }
          },
          "monthlyCapUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "notificationThresholdPercents": {
            "default": [
              50,
              80,
              100
            ],
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^cc_[0-9A-Z]{20,}$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "description": {
            "type": "string"
          },
          "taggableProducts": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "trustvice",
                "entpoind",
                "both"
              ]
            }
          },
          "monthlyCapUsdMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "notificationThresholdPercents": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "organizationId",
          "name",
          "taggableProducts",
          "monthlyCapUsdMinor",
          "notificationThresholdPercents",
          "createdAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "billing_cost-centers_update",
      "description": "Update a cost center.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.cost-centers.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "costCenterId": {
            "type": "string",
            "pattern": "^cc_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "description": {
            "type": "string",
            "maxLength": 500
          },
          "monthlyCapUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "notificationThresholdPercents": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        },
        "required": [
          "costCenterId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^cc_[0-9A-Z]{20,}$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "description": {
            "type": "string"
          },
          "taggableProducts": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "trustvice",
                "entpoind",
                "both"
              ]
            }
          },
          "monthlyCapUsdMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "notificationThresholdPercents": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "organizationId",
          "name",
          "taggableProducts",
          "monthlyCapUsdMinor",
          "notificationThresholdPercents",
          "createdAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "billing_cost-centers_delete",
      "description": "Delete a cost center. Tagged charges keep historical tag.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.cost-centers.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "costCenterId": {
            "type": "string",
            "pattern": "^cc_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "costCenterId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "costCenterId": "cc_DEMO00000000000000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete."
        }
      ]
    },
    {
      "id": "billing.cost-centers.assign-charge",
      "name": "billing_cost-centers_assign-charge",
      "description": "Tag a charge / invoice line with a cost center.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.cost-centers.assign-charge"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "chargeId": {
            "type": "string"
          },
          "costCenterId": {
            "type": "string",
            "pattern": "^cc_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "chargeId",
          "costCenterId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "tagged": {
            "type": "boolean"
          }
        },
        "required": [
          "tagged"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "chargeId": "ch_abc",
            "costCenterId": "cc_DEMO00000000000000000000"
          },
          "output": {
            "tagged": true
          },
          "note": "Tag a charge."
        }
      ]
    },
    {
      "id": "billing.entpoind.tier.set",
      "name": "billing_entpoind_tier_set",
      "description": "Set the Trustvice Receipts subscription tier for the org.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.entpoind.tier.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "tier": {
            "type": "string"
          }
        },
        "required": [
          "tier"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "pattern": "^sub_[A-Za-z0-9]+$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "plan": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "trialing",
              "active",
              "past_due",
              "canceled",
              "unpaid",
              "suspended"
            ]
          },
          "currentPeriodStart": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "currentPeriodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "cancelAtPeriodEnd": {
            "type": "boolean"
          }
        },
        "required": [
          "subscriptionId",
          "organizationId",
          "plan",
          "status",
          "currentPeriodStart",
          "currentPeriodEnd",
          "cancelAtPeriodEnd"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "billing_entpoind_tier_get",
      "description": "Get the current Trustvice Receipts tier.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.entpoind.tier.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "tier": {
            "type": "string"
          },
          "monthlyCalls": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "retentionDays": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "tier",
          "monthlyCalls",
          "retentionDays"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "tier": "team",
            "monthlyCalls": 100000,
            "retentionDays": 365
          },
          "note": "Read Trustvice Receipts tier."
        }
      ]
    },
    {
      "id": "billing.entpoind.top-up.purchase",
      "name": "billing_entpoind_top-up_purchase",
      "description": "Purchase a Trustvice Receipts top-up pack (extra call quota for the current month).",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.entpoind.top-up.purchase"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "packId": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "packId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "topUpId": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "packKind": {
            "type": "string"
          },
          "unitCount": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "priceUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "purchasedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "unitsRemaining": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "forfeitedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "topUpId",
          "workspaceId",
          "packKind",
          "unitCount",
          "priceUsdMinor",
          "purchasedAt",
          "unitsRemaining",
          "forfeitedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "billing_entpoind_auto-overage_set",
      "description": "Configure auto-overage for an Entpoind-enabled workspace.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.entpoind.auto-overage.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "enabled": {
            "type": "boolean"
          },
          "capMultiplier": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          }
        },
        "required": [
          "workspaceId",
          "enabled"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "capMultiplier": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "enabled",
          "capMultiplier"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "billing_entpoind_billing-mode_set",
      "description": "Set the Trustvice Receipts billing mode (combined vs separate Stripe subscription).",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.entpoind.billing-mode.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "combined",
              "separate"
            ]
          }
        },
        "required": [
          "mode"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "combined",
              "separate"
            ]
          }
        },
        "required": [
          "mode"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "mode": "separate"
          },
          "output": {
            "mode": "separate"
          },
          "note": "Separate Stripe subscriptions for Trustvice + Trustvice Receipts."
        }
      ]
    },
    {
      "id": "billing.entpoind.usage.current",
      "name": "billing_entpoind_usage_current",
      "description": "Get current Trustvice Receipts usage for the org (calls used + remaining quota + auto-overage status).",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.entpoind.usage.current"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "callsUsed": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "monthlyAllowance": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "remaining": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "autoOverageActive": {
            "type": "boolean"
          },
          "periodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "callsUsed",
          "monthlyAllowance",
          "remaining",
          "autoOverageActive",
          "periodEnd"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "billing_notarian_subscribe",
      "description": "Subscribe to the Notarian add-on (per-tier subscription pricing).",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.notarian.subscribe"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscribed": {
            "type": "boolean"
          }
        },
        "required": [
          "subscribed"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "subscribed": true
          },
          "note": "Subscribe to Notarian."
        }
      ]
    },
    {
      "id": "billing.notarian.unsubscribe",
      "name": "billing_notarian_unsubscribe",
      "description": "Unsubscribe from Notarian at next billing period.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.notarian.unsubscribe"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "unsubscribed": {
            "type": "boolean"
          },
          "effectiveAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "unsubscribed",
          "effectiveAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "unsubscribed": true,
            "effectiveAt": "2026-06-22T00:00:00.000Z"
          },
          "note": "Unsubscribe Notarian."
        }
      ]
    },
    {
      "id": "billing.infinite-memory.subscribe",
      "name": "billing_infinite-memory_subscribe",
      "description": "Subscribe to the Infinite Memory add-on for Number One ($19/mo on paid tiers).",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.infinite-memory.subscribe"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscribed": {
            "type": "boolean"
          }
        },
        "required": [
          "subscribed"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "subscribed": true
          },
          "note": "Subscribe Infinite Memory."
        }
      ]
    },
    {
      "id": "billing.infinite-memory.unsubscribe",
      "name": "billing_infinite-memory_unsubscribe",
      "description": "Unsubscribe Infinite Memory at next billing period.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.infinite-memory.unsubscribe"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "unsubscribed": {
            "type": "boolean"
          },
          "effectiveAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "unsubscribed",
          "effectiveAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "unsubscribed": true,
            "effectiveAt": "2026-06-22T00:00:00.000Z"
          },
          "note": "Unsubscribe Infinite Memory."
        }
      ]
    },
    {
      "id": "billing.retention-extension.subscribe",
      "name": "billing_retention-extension_subscribe",
      "description": "Subscribe to the universal paid retention extension. Convenience alias of retention.extension.subscribe.",
      "domain": "billing",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/billing.retention-extension.subscribe"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "extendedToDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          }
        },
        "required": [
          "workspaceId",
          "extendedToDays"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscribed": {
            "type": "boolean"
          },
          "perGbCostUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "subscribed",
          "perGbCostUsdMinor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "extendedToDays": 1095
          },
          "output": {
            "subscribed": true,
            "perGbCostUsdMinor": 1000
          },
          "note": "Subscribe to 3-year retention extension."
        }
      ]
    },
    {
      "id": "keys.list",
      "name": "keys_list",
      "description": "List workspace API keys (active + revoked filter).",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "includeRevoked": {
            "default": false,
            "type": "boolean"
          },
          "product": {
            "type": "string",
            "enum": [
              "trustvice",
              "entpoind"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "product": {
                  "type": "string",
                  "enum": [
                    "trustvice",
                    "entpoind"
                  ]
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "prefix": {
                  "type": "string"
                },
                "scopes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "lastUsedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "expiresAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "revokedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "workspaceId",
                "product",
                "label",
                "prefix",
                "scopes",
                "createdAt",
                "lastUsedAt",
                "expiresAt",
                "revokedAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "keys",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "keys": [],
            "nextCursor": null
          },
          "note": "List active keys."
        }
      ]
    },
    {
      "id": "keys.get",
      "name": "keys_get",
      "description": "Get a single workspace API key by id.",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "keyId": {
            "type": "string",
            "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "keyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "product": {
            "type": "string",
            "enum": [
              "trustvice",
              "entpoind"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "prefix": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "lastUsedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "expiresAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "revokedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "workspaceId",
          "product",
          "label",
          "prefix",
          "scopes",
          "createdAt",
          "lastUsedAt",
          "expiresAt",
          "revokedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "keys_issue",
      "description": "Issue a new workspace API key. Cleartext returned ONCE.",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.issue"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "product": {
            "default": "trustvice",
            "type": "string",
            "const": "trustvice"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "scopes": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expiry": {
            "default": "never",
            "type": "string",
            "enum": [
              "never",
              "30d",
              "90d",
              "1y"
            ]
          }
        },
        "required": [
          "workspaceId",
          "label",
          "scopes"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "key": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "product": {
                "type": "string",
                "enum": [
                  "trustvice",
                  "entpoind"
                ]
              },
              "label": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "prefix": {
                "type": "string"
              },
              "scopes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "lastUsedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expiresAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "revokedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "workspaceId",
              "product",
              "label",
              "prefix",
              "scopes",
              "createdAt",
              "lastUsedAt",
              "expiresAt",
              "revokedAt"
            ],
            "additionalProperties": {}
          },
          "cleartext": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "cleartext"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "keys_revoke",
      "description": "Revoke a workspace API key. Propagates in ≤30s.",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "keyId": {
            "type": "string",
            "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "keyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          },
          "propagatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "revoked",
          "propagatedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "keys_rotate",
      "description": "Rotate a key: revoke the current value + issue a replacement with the same label + scopes. Cleartext returned ONCE.",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.rotate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "keyId": {
            "type": "string",
            "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
          },
          "gracePeriodMinutes": {
            "default": 5,
            "type": "integer",
            "minimum": 0,
            "maximum": 60
          }
        },
        "required": [
          "workspaceId",
          "keyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revokedKeyId": {
            "type": "string",
            "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
          },
          "newKey": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "product": {
                "type": "string",
                "enum": [
                  "trustvice",
                  "entpoind"
                ]
              },
              "label": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "prefix": {
                "type": "string"
              },
              "scopes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "lastUsedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expiresAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "revokedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "workspaceId",
              "product",
              "label",
              "prefix",
              "scopes",
              "createdAt",
              "lastUsedAt",
              "expiresAt",
              "revokedAt"
            ],
            "additionalProperties": {}
          },
          "cleartext": {
            "type": "string"
          },
          "graceUntil": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "revokedKeyId",
          "newKey",
          "cleartext",
          "graceUntil"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "keys_scopes_list",
      "description": "List the available scope grants for workspace API keys.",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.scopes.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "product": {
            "type": "string",
            "enum": [
              "trustvice",
              "tools"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scopes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "product": {
                  "type": "string",
                  "enum": [
                    "trustvice",
                    "tools"
                  ]
                },
                "label": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "severity": {
                  "type": "string",
                  "enum": [
                    "read",
                    "write",
                    "delete"
                  ]
                }
              },
              "required": [
                "id",
                "product",
                "label",
                "description",
                "severity"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "scopes"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "keys_usage_get",
      "description": "Get usage statistics (calls + last-used + IP CIDRs) for a key over a time window.",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.usage.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "keyId": {
            "type": "string",
            "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId",
          "keyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "totalCalls": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "uniqueIpCidrs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "lastUsedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "perEndpointBreakdown": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "path": {
                  "type": "string"
                },
                "count": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "path",
                "count"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "totalCalls",
          "uniqueIpCidrs",
          "lastUsedAt",
          "perEndpointBreakdown"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "keys_last-used_get",
      "description": "Quick lookup: when was this key last used?",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.last-used.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "keyId": {
            "type": "string",
            "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "keyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "lastUsedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "lastUsedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "keys_entpoind_list",
      "description": "Convenience: list only the Entpoind-product workspace keys.",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.entpoind.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "includeRevoked": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "product": {
                  "type": "string",
                  "enum": [
                    "trustvice",
                    "entpoind"
                  ]
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "prefix": {
                  "type": "string"
                },
                "scopes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "lastUsedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "expiresAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "revokedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "workspaceId",
                "product",
                "label",
                "prefix",
                "scopes",
                "createdAt",
                "lastUsedAt",
                "expiresAt",
                "revokedAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "keys",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "keys": [],
            "nextCursor": null
          },
          "note": "List Entpoind-only keys."
        }
      ]
    },
    {
      "id": "keys.entpoind.issue",
      "name": "keys_entpoind_issue",
      "description": "Issue an Entpoind-product workspace key (entp_*). Cleartext shown ONCE.",
      "domain": "keys",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/keys.entpoind.issue"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "scopes": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expiry": {
            "default": "never",
            "type": "string",
            "enum": [
              "never",
              "30d",
              "90d",
              "1y"
            ]
          }
        },
        "required": [
          "workspaceId",
          "label",
          "scopes"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "key": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^(tv|entp)_[a-z0-9_]{4,}_[0-9A-Z]{20,}$"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "product": {
                "type": "string",
                "enum": [
                  "trustvice",
                  "entpoind"
                ]
              },
              "label": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "prefix": {
                "type": "string"
              },
              "scopes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "lastUsedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expiresAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "revokedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "workspaceId",
              "product",
              "label",
              "prefix",
              "scopes",
              "createdAt",
              "lastUsedAt",
              "expiresAt",
              "revokedAt"
            ],
            "additionalProperties": {}
          },
          "cleartext": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "cleartext"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "webhooks_list",
      "description": "List webhook endpoints for a workspace.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "enabledOnly": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "webhooks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^wh_[0-9A-Z]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "events": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "enabled": {
                  "type": "boolean"
                },
                "secretPrefix": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                }
              },
              "required": [
                "id",
                "workspaceId",
                "url",
                "label",
                "events",
                "enabled",
                "secretPrefix",
                "createdAt",
                "updatedAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "webhooks",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "webhooks": [],
            "nextCursor": null
          },
          "note": "List webhooks."
        }
      ]
    },
    {
      "id": "webhooks.get",
      "name": "webhooks_get",
      "description": "Get a single webhook endpoint.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "webhookId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "secretPrefix": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "url",
          "label",
          "events",
          "enabled",
          "secretPrefix",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "webhooks_create",
      "description": "Register a new webhook endpoint. Returns the signing secret cleartext ONCE.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "events": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "workspaceId",
          "url",
          "label",
          "events"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "webhook": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^wh_[0-9A-Z]{20,}$"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "url": {
                "type": "string",
                "format": "uri"
              },
              "label": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "events": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "enabled": {
                "type": "boolean"
              },
              "secretPrefix": {
                "type": "string"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              }
            },
            "required": [
              "id",
              "workspaceId",
              "url",
              "label",
              "events",
              "enabled",
              "secretPrefix",
              "createdAt",
              "updatedAt"
            ],
            "additionalProperties": {}
          },
          "signingSecretCleartext": {
            "type": "string"
          }
        },
        "required": [
          "webhook",
          "signingSecretCleartext"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "webhooks_update",
      "description": "Update a webhook's URL, label, or event subscriptions.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "events": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "workspaceId",
          "webhookId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "secretPrefix": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "url",
          "label",
          "events",
          "enabled",
          "secretPrefix",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "webhooks_delete",
      "description": "Delete a webhook endpoint. Pending deliveries are abandoned.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "webhookId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Remove a webhook."
        }
      ]
    },
    {
      "id": "webhooks.enable",
      "name": "webhooks_enable",
      "description": "Enable or disable a webhook without deleting it.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.enable"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId",
          "webhookId",
          "enabled"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "secretPrefix": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "url",
          "label",
          "events",
          "enabled",
          "secretPrefix",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "webhooks_test-fire",
      "description": "Fire a synthetic test event to a webhook to verify delivery + signature validation.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.test-fire"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "eventType": {
            "default": "webhook.test",
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "webhookId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deliveryId": {
            "type": "string"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "eventType": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failed",
              "retrying"
            ]
          },
          "statusCode": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "attemptCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "attemptedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "responseTimeMs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "errorMessage": {
            "type": "string"
          }
        },
        "required": [
          "deliveryId",
          "webhookId",
          "eventType",
          "status",
          "attemptCount",
          "attemptedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "webhooks_events_list",
      "description": "List the event types this webhook can subscribe to (from the AsyncAPI 3 spec).",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.events.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "severity": {
                  "type": "string",
                  "enum": [
                    "info",
                    "warning",
                    "critical"
                  ]
                }
              },
              "required": [
                "id",
                "description",
                "severity"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "events"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "events": [
              {
                "id": "alert.fired",
                "description": "An alert rule fired.",
                "severity": "warning"
              }
            ]
          },
          "note": "Discover event types."
        }
      ]
    },
    {
      "id": "webhooks.events.replay",
      "name": "webhooks_events_replay",
      "description": "Replay missed events from a time window. Useful for recovering after webhook downtime.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.events.replay"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId",
          "webhookId",
          "since"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "replayId": {
            "type": "string"
          },
          "eventsQueued": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "replayId",
          "eventsQueued"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "webhooks_signing-secret_rotate",
      "description": "Rotate the HMAC signing secret. Old secret valid for 24h grace.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.signing-secret.rotate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "webhookId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "newSigningSecretCleartext": {
            "type": "string"
          },
          "oldSecretValidUntil": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "newSigningSecretCleartext",
          "oldSecretValidUntil"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "webhooks_deliveries_list",
      "description": "List delivery attempts for a webhook (success + failure history).",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.deliveries.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "statusFilter": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failed",
              "retrying"
            ]
          }
        },
        "required": [
          "workspaceId",
          "webhookId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deliveries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "deliveryId": {
                  "type": "string"
                },
                "webhookId": {
                  "type": "string",
                  "pattern": "^wh_[0-9A-Z]{20,}$"
                },
                "eventType": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "success",
                    "failed",
                    "retrying"
                  ]
                },
                "statusCode": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "attemptCount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "attemptedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "responseTimeMs": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "errorMessage": {
                  "type": "string"
                }
              },
              "required": [
                "deliveryId",
                "webhookId",
                "eventType",
                "status",
                "attemptCount",
                "attemptedAt"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "deliveries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "webhookId": "wh_DEMO00000000000000000000"
          },
          "output": {
            "deliveries": [],
            "nextCursor": null
          },
          "note": "List delivery attempts."
        }
      ]
    },
    {
      "id": "webhooks.deliveries.retry",
      "name": "webhooks_deliveries_retry",
      "description": "Retry a specific failed delivery.",
      "domain": "webhooks",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/webhooks.deliveries.retry"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "deliveryId": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "webhookId",
          "deliveryId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deliveryId": {
            "type": "string"
          },
          "webhookId": {
            "type": "string",
            "pattern": "^wh_[0-9A-Z]{20,}$"
          },
          "eventType": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failed",
              "retrying"
            ]
          },
          "statusCode": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "attemptCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "attemptedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "responseTimeMs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "errorMessage": {
            "type": "string"
          }
        },
        "required": [
          "deliveryId",
          "webhookId",
          "eventType",
          "status",
          "attemptCount",
          "attemptedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "alerts_list",
      "description": "List alert rules for a workspace.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "enabledOnly": {
            "default": false,
            "type": "boolean"
          },
          "typeFilter": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "alerts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^alert_[0-9A-Z]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "type": {
                  "type": "string"
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "enabled": {
                  "type": "boolean"
                },
                "config": {},
                "channels": {
                  "type": "array",
                  "items": {}
                },
                "lastFiredAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "firedCount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                }
              },
              "required": [
                "id",
                "workspaceId",
                "type",
                "label",
                "enabled",
                "config",
                "channels",
                "lastFiredAt",
                "firedCount",
                "createdAt",
                "updatedAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "alerts",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "alerts": [],
            "nextCursor": null
          },
          "note": "List alerts."
        }
      ]
    },
    {
      "id": "alerts.get",
      "name": "alerts_get",
      "description": "Get a single alert rule.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "alertId": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "alertId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "enabled": {
            "type": "boolean"
          },
          "config": {},
          "channels": {
            "type": "array",
            "items": {}
          },
          "lastFiredAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "firedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "type",
          "label",
          "enabled",
          "config",
          "channels",
          "lastFiredAt",
          "firedCount",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "alerts_create",
      "description": "Create a new alert rule.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "config": {},
          "channels": {
            "type": "array",
            "items": {}
          }
        },
        "required": [
          "workspaceId",
          "type",
          "label",
          "config",
          "channels"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "enabled": {
            "type": "boolean"
          },
          "config": {},
          "channels": {
            "type": "array",
            "items": {}
          },
          "lastFiredAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "firedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "type",
          "label",
          "enabled",
          "config",
          "channels",
          "lastFiredAt",
          "firedCount",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "alerts_update",
      "description": "Update an alert's label / config / channels / enabled flag.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "alertId": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "enabled": {
            "type": "boolean"
          },
          "config": {},
          "channels": {
            "type": "array",
            "items": {}
          }
        },
        "required": [
          "workspaceId",
          "alertId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "enabled": {
            "type": "boolean"
          },
          "config": {},
          "channels": {
            "type": "array",
            "items": {}
          },
          "lastFiredAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "firedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "type",
          "label",
          "enabled",
          "config",
          "channels",
          "lastFiredAt",
          "firedCount",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "alerts_delete",
      "description": "Delete an alert rule.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "alertId": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "alertId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete alert."
        }
      ]
    },
    {
      "id": "alerts.enable",
      "name": "alerts_enable",
      "description": "Enable an alert rule.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.enable"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "alertId": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "alertId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "enabled": {
            "type": "boolean"
          },
          "config": {},
          "channels": {
            "type": "array",
            "items": {}
          },
          "lastFiredAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "firedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "type",
          "label",
          "enabled",
          "config",
          "channels",
          "lastFiredAt",
          "firedCount",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "alerts_disable",
      "description": "Disable an alert rule without deleting it.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.disable"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "alertId": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "alertId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "enabled": {
            "type": "boolean"
          },
          "config": {},
          "channels": {
            "type": "array",
            "items": {}
          },
          "lastFiredAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "firedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "type",
          "label",
          "enabled",
          "config",
          "channels",
          "lastFiredAt",
          "firedCount",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "alerts_test-fire",
      "description": "Fire a synthetic test of an alert to verify channels.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.test-fire"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "alertId": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "alertId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "fired": {
            "type": "boolean"
          },
          "channelResults": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string"
                },
                "success": {
                  "type": "boolean"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "success"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "fired",
          "channelResults"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000"
          },
          "output": {
            "fired": true,
            "channelResults": [
              {
                "kind": "email",
                "success": true
              }
            ]
          },
          "note": "Test fire."
        }
      ]
    },
    {
      "id": "alerts.kinds.list",
      "name": "alerts_kinds_list",
      "description": "List all supported alert kinds + their config shapes + severity classifications.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.kinds.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "kinds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "severity": {
                  "type": "string",
                  "enum": [
                    "ops",
                    "billing",
                    "compliance",
                    "informational"
                  ]
                },
                "configurable": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "label",
                "description",
                "severity",
                "configurable"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "kinds"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "alerts_history_list",
      "description": "List historical firings for a given alert rule.",
      "domain": "alerts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/alerts.history.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "alertId": {
            "type": "string",
            "pattern": "^alert_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId",
          "alertId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "firings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "firedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "context": {}
              },
              "required": [
                "firedAt",
                "context"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "firings",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "alertId": "alert_DEMO00000000000000000000"
          },
          "output": {
            "firings": [],
            "nextCursor": null
          },
          "note": "Read alert fire history."
        }
      ]
    },
    {
      "id": "exports.list",
      "name": "exports_list",
      "description": "List exports for a workspace.",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "ready",
              "failed",
              "expired"
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "audit-log",
              "entpoind-receipts",
              "trustvice-receipts",
              "eu-ai-act-article-12",
              "workspace-snapshot",
              "policy-pack",
              "tops-feed",
              "custody-log",
              "pii-portability",
              "compliance-bundle"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exports": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "exportId": {
                  "type": "string"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "audit-log",
                    "entpoind-receipts",
                    "trustvice-receipts",
                    "eu-ai-act-article-12",
                    "workspace-snapshot",
                    "policy-pack",
                    "tops-feed",
                    "custody-log",
                    "pii-portability",
                    "compliance-bundle"
                  ]
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "queued",
                    "running",
                    "ready",
                    "failed",
                    "expired"
                  ]
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "json",
                    "csv",
                    "zip",
                    "compliance-bundle"
                  ]
                },
                "requestedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "readyAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "expiresAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "sha256": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "signature": {
                  "type": "string"
                },
                "signingKeyId": {
                  "type": "string"
                },
                "sizeBytes": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "signedUrl": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "exportId",
                "workspaceId",
                "kind",
                "status",
                "format",
                "requestedAt",
                "readyAt",
                "expiresAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "exports",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "exports": [],
            "nextCursor": null
          },
          "note": "List exports."
        }
      ]
    },
    {
      "id": "exports.get",
      "name": "exports_get",
      "description": "Get a single export's status + metadata.",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "exportId": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "exportId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exportId": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kind": {
            "type": "string",
            "enum": [
              "audit-log",
              "entpoind-receipts",
              "trustvice-receipts",
              "eu-ai-act-article-12",
              "workspace-snapshot",
              "policy-pack",
              "tops-feed",
              "custody-log",
              "pii-portability",
              "compliance-bundle"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "ready",
              "failed",
              "expired"
            ]
          },
          "format": {
            "type": "string",
            "enum": [
              "json",
              "csv",
              "zip",
              "compliance-bundle"
            ]
          },
          "requestedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "readyAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "expiresAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "sha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "signature": {
            "type": "string"
          },
          "signingKeyId": {
            "type": "string"
          },
          "sizeBytes": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "signedUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "exportId",
          "workspaceId",
          "kind",
          "status",
          "format",
          "requestedAt",
          "readyAt",
          "expiresAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "exports_request",
      "description": "Request a new compliance export. Returns the export id; status polls reveal readiness.",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.request"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kind": {
            "type": "string",
            "enum": [
              "audit-log",
              "entpoind-receipts",
              "trustvice-receipts",
              "eu-ai-act-article-12",
              "workspace-snapshot",
              "policy-pack",
              "tops-feed",
              "custody-log",
              "pii-portability",
              "compliance-bundle"
            ]
          },
          "format": {
            "default": "compliance-bundle",
            "type": "string",
            "enum": [
              "json",
              "csv",
              "zip",
              "compliance-bundle"
            ]
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "filters": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "workspaceId",
          "kind"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exportId": {
            "type": "string"
          },
          "estimatedReadyAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "exportId",
          "estimatedReadyAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "exports_download",
      "description": "Get the signed download URL for a ready export (URL is time-bounded; SHA-256 included for integrity check).",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.download"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "exportId": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "exportId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "sha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "required": [
          "url",
          "expiresAt",
          "sha256"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "exports_verify",
      "description": "Verify an export's Ed25519 signature + OTS Bitcoin proof. Offline-verifiable.",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exportSha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "signature": {
            "type": "string"
          },
          "signingKeyId": {
            "type": "string"
          },
          "otsProof": {
            "type": "string"
          }
        },
        "required": [
          "exportSha256",
          "signature",
          "signingKeyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "valid": {
            "type": "boolean"
          },
          "signatureValid": {
            "type": "boolean"
          },
          "otsValid": {
            "type": "boolean"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "valid",
          "signatureValid",
          "otsValid",
          "errors"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "exports_entpoind_receipt-bundle_request",
      "description": "Request a portable Entpoind-receipt bundle — JSON manifest + receipt files + public key JWK + verify README. Verifiable with @entpoind/verify.",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.entpoind.receipt-bundle.request"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "primitiveFilter": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "signingKeyIdFilter": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exportId": {
            "type": "string"
          },
          "estimatedReadyAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "exportId",
          "estimatedReadyAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "exports_eu-ai-act_article-12_request",
      "description": "Request an EU AI Act Article 12 compliant log bundle (prEN 18229-1 + ISO/IEC DIS 24970 schema). Cannot be disabled — regulatory mandate.",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.eu-ai-act.article-12.request"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "jurisdictionFilter": {
            "default": "all",
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM",
              "all"
            ]
          }
        },
        "required": [
          "workspaceId",
          "since",
          "until"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exportId": {
            "type": "string"
          },
          "estimatedReadyAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "schemaVersion": {
            "type": "string"
          }
        },
        "required": [
          "exportId",
          "estimatedReadyAt",
          "schemaVersion"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "exports_audit-log_request",
      "description": "Request a JSON or CSV export of the workspace audit log filtered by time + kind.",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.audit-log.request"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "kindsFilter": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "format": {
            "default": "json",
            "type": "string",
            "enum": [
              "json",
              "csv"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exportId": {
            "type": "string"
          },
          "estimatedReadyAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "exportId",
          "estimatedReadyAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "exports_kinds_list",
      "description": "List the supported export kinds + their output formats + retention.",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.kinds.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "kinds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "enum": [
                    "audit-log",
                    "entpoind-receipts",
                    "trustvice-receipts",
                    "eu-ai-act-article-12",
                    "workspace-snapshot",
                    "policy-pack",
                    "tops-feed",
                    "custody-log",
                    "pii-portability",
                    "compliance-bundle"
                  ]
                },
                "label": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "supportedFormats": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "retentionDays": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "id",
                "label",
                "description",
                "supportedFormats",
                "retentionDays"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "kinds"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "exports_delete",
      "description": "Delete a completed export (frees R2 storage immediately).",
      "domain": "exports",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/exports.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "exportId": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "exportId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "exportId": "exp_abc"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete an export."
        }
      ]
    },
    {
      "id": "retention.policy.get",
      "name": "retention_policy_get",
      "description": "Get the active retention policy for a workspace.",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.policy.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "retentionDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          },
          "isCustom": {
            "type": "boolean"
          },
          "appliedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "appliedBy": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "retentionDays",
          "isCustom",
          "appliedAt",
          "appliedBy"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "retention_policy_update",
      "description": "Update workspace retention days (within tier limits).",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.policy.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "retentionDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          }
        },
        "required": [
          "workspaceId",
          "retentionDays"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "retentionDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          },
          "isCustom": {
            "type": "boolean"
          },
          "appliedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "appliedBy": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "retentionDays",
          "isCustom",
          "appliedAt",
          "appliedBy"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "retention_histogram_get",
      "description": "Get a histogram of record ages in the workspace (helps visualize what's near purge).",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.histogram.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "bucketSizeDays": {
            "default": 7,
            "type": "integer",
            "minimum": 1,
            "maximum": 30
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "buckets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ageDays": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "recordCount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "ageDays",
                "recordCount"
              ],
              "additionalProperties": false
            }
          },
          "totalRecords": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "oldestRecordAge": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "buckets",
          "totalRecords",
          "oldestRecordAge"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "retention_next-purge_preview",
      "description": "Preview which records will purge in the next cycle (live 1-Hz countdown on the dashboard).",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.next-purge.preview"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "limit": {
            "default": 50,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "purgeAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "recordsToBepurged": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "sampleEntries": {
            "type": "array",
            "items": {}
          }
        },
        "required": [
          "purgeAt",
          "recordsToBepurged",
          "sampleEntries"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "retention_purge-history_list",
      "description": "List historical purge events with verification status.",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.purge-history.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "purges": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "purgedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "recordsPurged": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "verificationState": {
                  "type": "string",
                  "enum": [
                    "verified",
                    "awaiting_anchor",
                    "unanchored"
                  ]
                }
              },
              "required": [
                "purgedAt",
                "recordsPurged",
                "verificationState"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "purges",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "purges": [],
            "nextCursor": null
          },
          "note": "Read purge history."
        }
      ]
    },
    {
      "id": "retention.extension.subscribe",
      "name": "retention_extension_subscribe",
      "description": "Subscribe to the paid retention extension at the per-tier rate.",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.extension.subscribe"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "extendedToDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          }
        },
        "required": [
          "workspaceId",
          "extendedToDays"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "extendedToDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          },
          "monthlyCostUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "perGbMonthlyCostUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "storageGbBilled": {
            "type": "number",
            "minimum": 0
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "canceledAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "effectiveUntil": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "workspaceId",
          "extendedToDays",
          "monthlyCostUsdMinor",
          "perGbMonthlyCostUsdMinor",
          "storageGbBilled",
          "startedAt",
          "canceledAt",
          "effectiveUntil"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "retention_extension_get",
      "description": "Get the current retention extension subscription (if any).",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.extension.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "extendedToDays": {
                "type": "integer",
                "minimum": 7,
                "maximum": 1825
              },
              "monthlyCostUsdMinor": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "perGbMonthlyCostUsdMinor": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "storageGbBilled": {
                "type": "number",
                "minimum": 0
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "canceledAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "effectiveUntil": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "workspaceId",
              "extendedToDays",
              "monthlyCostUsdMinor",
              "perGbMonthlyCostUsdMinor",
              "storageGbBilled",
              "startedAt",
              "canceledAt",
              "effectiveUntil"
            ],
            "additionalProperties": {}
          },
          {
            "type": "null"
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "retention_extension_update",
      "description": "Update the active retention extension (change duration).",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.extension.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "extendedToDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          }
        },
        "required": [
          "workspaceId",
          "extendedToDays"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "extendedToDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          },
          "monthlyCostUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "perGbMonthlyCostUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "storageGbBilled": {
            "type": "number",
            "minimum": 0
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "canceledAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "effectiveUntil": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "workspaceId",
          "extendedToDays",
          "monthlyCostUsdMinor",
          "perGbMonthlyCostUsdMinor",
          "storageGbBilled",
          "startedAt",
          "canceledAt",
          "effectiveUntil"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "retention_extension_cancel",
      "description": "Cancel the retention extension at the end of the current billing period.",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.extension.cancel"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "extendedToDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 1825
          },
          "monthlyCostUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "perGbMonthlyCostUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "storageGbBilled": {
            "type": "number",
            "minimum": 0
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "canceledAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "effectiveUntil": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "workspaceId",
          "extendedToDays",
          "monthlyCostUsdMinor",
          "perGbMonthlyCostUsdMinor",
          "storageGbBilled",
          "startedAt",
          "canceledAt",
          "effectiveUntil"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "retention_extension_rates_list",
      "description": "List the per-tier retention extension rates (USD cents per GB per month).",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.extension.rates.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "rates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tier": {
                  "type": "string"
                },
                "perGbCentsPerMonth": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "tier",
                "perGbCentsPerMonth"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "rates"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "rates": [
              {
                "tier": "free",
                "perGbCentsPerMonth": 1200
              },
              {
                "tier": "starter",
                "perGbCentsPerMonth": 1100
              }
            ]
          },
          "note": "List per-tier rates."
        }
      ]
    },
    {
      "id": "retention.policy.suggested-tier.get",
      "name": "retention_policy_suggested-tier_get",
      "description": "Recommend a higher tier if the workspace's data growth + retention needs make extension uneconomical.",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.policy.suggested-tier.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "suggestedTier": {
            "type": [
              "string",
              "null"
            ]
          },
          "monthlySavingsUsdMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "explanation": {
            "type": "string"
          }
        },
        "required": [
          "suggestedTier",
          "monthlySavingsUsdMinor",
          "explanation"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "retention_audit_list",
      "description": "List retention-policy audit events (changes, purges, extensions).",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.audit.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {}
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "entries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read retention audit."
        }
      ]
    },
    {
      "id": "retention.subject-key.issue",
      "name": "retention_subject-key_issue",
      "description": "Issue (or fetch) the per-subject data key whose destruction IS the erasure.",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.subject-key.issue"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dataSubjectRefHash": {
            "type": "string",
            "minLength": 1,
            "description": "A salted hash of the data subject reference — never the identifier itself."
          }
        },
        "required": [
          "dataSubjectRefHash"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string"
          },
          "dek": {
            "type": "string",
            "description": "The plaintext data key, returned once. Only the wrapped form is stored; returning it on every read would put it in as many logs as there are calls."
          },
          "created": {
            "type": "boolean",
            "description": "True when this call minted the key; false when it already existed."
          }
        },
        "required": [
          "keyId",
          "dek",
          "created"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "retention_subject_shred",
      "description": "Destroy a data subject's key and append the destruction to the hash-chained shred ledger.",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.subject.shred"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dataSubjectRefHash": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "dataSubjectRefHash"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "shredded": {
            "type": "boolean"
          },
          "keyId": {
            "type": [
              "string",
              "null"
            ]
          },
          "bytesAffected": {
            "type": "number"
          },
          "recordKinds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "chainSeq": {
            "type": [
              "number",
              "null"
            ]
          },
          "reason": {
            "type": "string",
            "description": "Why this is the outcome. A key that encrypted nothing says so rather than reporting a successful erasure of nothing."
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "shredded",
          "keyId",
          "bytesAffected",
          "recordKinds",
          "chainSeq",
          "reason",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "retention_erasure-certificate_get",
      "description": "Certify what was destroyed for one data subject, with the chain verified.",
      "domain": "retention",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/retention.erasure-certificate.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dsrRef": {
            "type": "string",
            "minLength": 1,
            "description": "The data-subject-request this certificate answers."
          },
          "dataSubjectRefHash": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "dsrRef",
          "dataSubjectRefHash"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "certificate": {
            "type": "object",
            "properties": {},
            "additionalProperties": {}
          },
          "chainVerified": {
            "type": "boolean",
            "description": "False means the ledger did not verify — the certificate is then evidence of a broken chain, not of an erasure."
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "certificate",
          "chainVerified",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "audit_workspace_list",
      "description": "List audit log entries for a workspace.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.workspace.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "kinds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "transport": {
            "type": "string",
            "enum": [
              "rest",
              "mcp",
              "mcp_apps",
              "chatgpt_app",
              "gemini",
              "perplexity",
              "claude_cowork",
              "a2a",
              "claude_skill",
              "nlweb",
              "dashboard",
              "sidecar",
              "service_to_service"
            ]
          },
          "agentClientId": {
            "type": "string"
          },
          "outcome": {
            "type": "string",
            "enum": [
              "success",
              "denied",
              "failed",
              "partial"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^aud_[0-9A-Z]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "timestamp": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "kind": {
                  "type": "string"
                },
                "actorAccountId": {
                  "type": "string"
                },
                "transport": {
                  "type": "string",
                  "enum": [
                    "rest",
                    "mcp",
                    "mcp_apps",
                    "chatgpt_app",
                    "gemini",
                    "perplexity",
                    "claude_cowork",
                    "a2a",
                    "claude_skill",
                    "nlweb",
                    "dashboard",
                    "sidecar",
                    "service_to_service"
                  ]
                },
                "agentClientId": {
                  "type": "string"
                },
                "agentSessionId": {
                  "type": "string"
                },
                "promptExcerpt": {
                  "type": "string",
                  "maxLength": 200
                },
                "confirmationTokenId": {
                  "type": "string"
                },
                "delegationChainDepth": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "success",
                    "denied",
                    "failed",
                    "partial"
                  ]
                },
                "inputHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "outputHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "id",
                "workspaceId",
                "timestamp",
                "kind",
                "outcome"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "entries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read workspace audit log."
        }
      ]
    },
    {
      "id": "audit.workspace.get",
      "name": "audit_workspace_get",
      "description": "Get a specific audit entry by id.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.workspace.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "entryId": {
            "type": "string",
            "pattern": "^aud_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "entryId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^aud_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "kind": {
            "type": "string"
          },
          "actorAccountId": {
            "type": "string"
          },
          "transport": {
            "type": "string",
            "enum": [
              "rest",
              "mcp",
              "mcp_apps",
              "chatgpt_app",
              "gemini",
              "perplexity",
              "claude_cowork",
              "a2a",
              "claude_skill",
              "nlweb",
              "dashboard",
              "sidecar",
              "service_to_service"
            ]
          },
          "agentClientId": {
            "type": "string"
          },
          "agentSessionId": {
            "type": "string"
          },
          "promptExcerpt": {
            "type": "string",
            "maxLength": 200
          },
          "confirmationTokenId": {
            "type": "string"
          },
          "delegationChainDepth": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "outcome": {
            "type": "string",
            "enum": [
              "success",
              "denied",
              "failed",
              "partial"
            ]
          },
          "inputHash": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "outputHash": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "timestamp",
          "kind",
          "outcome"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "audit_workspace_search",
      "description": "Full-text search across a workspace's audit log.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.workspace.search"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "workspaceId",
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^aud_[0-9A-Z]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "timestamp": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "kind": {
                  "type": "string"
                },
                "actorAccountId": {
                  "type": "string"
                },
                "transport": {
                  "type": "string",
                  "enum": [
                    "rest",
                    "mcp",
                    "mcp_apps",
                    "chatgpt_app",
                    "gemini",
                    "perplexity",
                    "claude_cowork",
                    "a2a",
                    "claude_skill",
                    "nlweb",
                    "dashboard",
                    "sidecar",
                    "service_to_service"
                  ]
                },
                "agentClientId": {
                  "type": "string"
                },
                "agentSessionId": {
                  "type": "string"
                },
                "promptExcerpt": {
                  "type": "string",
                  "maxLength": 200
                },
                "confirmationTokenId": {
                  "type": "string"
                },
                "delegationChainDepth": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "success",
                    "denied",
                    "failed",
                    "partial"
                  ]
                },
                "inputHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "outputHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "id",
                "workspaceId",
                "timestamp",
                "kind",
                "outcome"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "entries"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "audit_workspace_live-tail",
      "description": "Open a streaming subscription to new audit entries (SSE/streamable HTTP).",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.workspace.live-tail"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kinds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscription": {
            "type": "string"
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "subscription",
          "startedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": false
      },
      "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",
      "name": "audit_workspace_share",
      "description": "Generate a time-bounded share URL to an audit entry (for external auditors).",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.workspace.share"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "entryId": {
            "type": "string",
            "pattern": "^aud_[0-9A-Z]{20,}$"
          },
          "ttlHours": {
            "default": 24,
            "anyOf": [
              {
                "type": "number",
                "const": 1
              },
              {
                "type": "number",
                "const": 24
              },
              {
                "type": "number",
                "const": 168
              }
            ]
          },
          "note": {
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "entryId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "shareUrl": {
            "type": "string",
            "format": "uri"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "shareUrl",
          "expiresAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "audit_workspace_share_list",
      "description": "List the audit share links this workspace has minted, and whether each is still live.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.workspace.share.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "shares": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "shareId": {
                  "type": "string"
                },
                "entryId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "note": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "revokedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "live": {
                  "type": "boolean"
                }
              },
              "required": [
                "shareId",
                "entryId",
                "note",
                "createdAt",
                "expiresAt",
                "revokedAt",
                "live"
              ],
              "additionalProperties": false
            }
          },
          "count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "shares",
          "count"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "audit_workspace_share_revoke",
      "description": "Revoke an audit share link before it expires.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.workspace.share.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "shareId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 64
          }
        },
        "required": [
          "workspaceId",
          "shareId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "shareId": {
            "type": "string"
          },
          "revokedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "alreadyRevoked": {
            "type": "boolean"
          }
        },
        "required": [
          "shareId",
          "revokedAt",
          "alreadyRevoked"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "audit_custody_list",
      "description": "List custody chain entries for a workspace (hash-chained, Ed25519-signed).",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.custody.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^cust_[A-Za-z0-9_-]+$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "timestamp": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "prevHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "entryHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "signature": {
                  "type": "string"
                },
                "signingKeyId": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "workspaceId",
                "timestamp",
                "prevHash",
                "entryHash",
                "signature",
                "signingKeyId"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "entries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read custody chain."
        }
      ]
    },
    {
      "id": "audit.custody.get",
      "name": "audit_custody_get",
      "description": "Get a custody entry by id (includes Ed25519 signature for offline verification).",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.custody.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "entryId": {
            "type": "string",
            "pattern": "^cust_[A-Za-z0-9_-]+$"
          }
        },
        "required": [
          "workspaceId",
          "entryId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^cust_[A-Za-z0-9_-]+$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "prevHash": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "entryHash": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "signature": {
            "type": "string"
          },
          "signingKeyId": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "workspaceId",
          "timestamp",
          "prevHash",
          "entryHash",
          "signature",
          "signingKeyId"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "audit_custody_verify",
      "description": "Walk the workspace's custody chain and report whether it holds, naming the sequence where it breaks.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.custody.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "limit": {
            "default": 1000,
            "type": "integer",
            "minimum": 1,
            "maximum": 5000
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "checkedCount": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "tipHash": {
            "type": [
              "string",
              "null"
            ]
          },
          "breakAtSeq": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "breakReason": {
            "type": [
              "string",
              "null"
            ]
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "ok",
          "checkedCount",
          "tipHash",
          "breakAtSeq",
          "breakReason",
          "truncated"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "audit_tops_list",
      "description": "List Tops feed entries (hash-chained + Ed25519-signed + OTS Bitcoin-anchored).",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.tops.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kinds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^tops_[0-9A-Z]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "timestamp": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "kind": {
                  "type": "string"
                },
                "prevHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "entryHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "signature": {
                  "type": "string"
                },
                "signingKeyId": {
                  "type": "string"
                },
                "otsProof": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "workspaceId",
                "timestamp",
                "kind",
                "prevHash",
                "entryHash",
                "signature",
                "signingKeyId"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "entries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Read Tops feed."
        }
      ]
    },
    {
      "id": "audit.tops.verify",
      "name": "audit_tops_verify",
      "description": "Verify the hash chain + signatures + OTS proof of a range of Tops entries.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.tops.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "fromEntryId": {
            "type": "string",
            "pattern": "^tops_[0-9A-Z]{20,}$"
          },
          "toEntryId": {
            "type": "string",
            "pattern": "^tops_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "fromEntryId",
          "toEntryId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "chainValid": {
            "type": "boolean"
          },
          "signaturesValid": {
            "type": "boolean"
          },
          "otsValid": {
            "type": "boolean"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "chainValid",
          "signaturesValid",
          "otsValid",
          "errors"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "audit_tops_continuity",
      "description": "Check whether a Tops chain is committed through the period — the gap a passing hash walk cannot show.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.tops.continuity"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "periodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "standing": {
            "type": "string",
            "enum": [
              "no_entries",
              "nothing_sealed",
              "assessed"
            ]
          },
          "entryCount": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "sealedCount": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "unsealedCount": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "attestedAnchorCount": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "periodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "tail": {
            "type": [
              "string",
              "null"
            ]
          },
          "head": {
            "type": [
              "string",
              "null"
            ]
          },
          "continuous": {
            "type": "boolean"
          },
          "missingEntries": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "supportedClaim": {
            "type": "string"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "standing",
          "entryCount",
          "sealedCount",
          "unsealedCount",
          "attestedAnchorCount",
          "periodEnd",
          "tail",
          "head",
          "continuous",
          "missingEntries",
          "supportedClaim",
          "notes"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "audit_shadow-sessions_list",
      "description": "List Trustvice-staff shadow-mode sessions on a workspace.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.shadow-sessions.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sessions": {
            "type": "array",
            "items": {}
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "sessions",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "sessions": [],
            "nextCursor": null
          },
          "note": "List Trustvice-staff shadow sessions."
        }
      ]
    },
    {
      "id": "audit.shadow-sessions.get",
      "name": "audit_shadow-sessions_get",
      "description": "Get full details + action feed of a shadow-mode session.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.shadow-sessions.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "sessionId": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "sessionId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "session": {},
          "actions": {
            "type": "array",
            "items": {}
          }
        },
        "required": [
          "session",
          "actions"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "sessionId": "shadow_abc"
          },
          "output": {
            "session": {},
            "actions": []
          },
          "note": "Inspect a shadow session."
        }
      ]
    },
    {
      "id": "audit.aggregate",
      "name": "audit_aggregate",
      "description": "Group + count audit entries by a dimension (kind, transport, outcome, agentClientId).",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.aggregate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "by": {
            "type": "string",
            "enum": [
              "kind",
              "transport",
              "outcome",
              "agentClientId"
            ]
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId",
          "by"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "buckets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "count": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "key",
                "count"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "buckets"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "audit_kinds_list",
      "description": "List all audit-kind discriminator values supported by the platform.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.kinds.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "kinds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "category",
                "description"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "kinds"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "kinds": [
              {
                "id": "workspace.created",
                "category": "workspace",
                "description": "A new workspace was created."
              }
            ]
          },
          "note": "Discover audit kinds."
        }
      ]
    },
    {
      "id": "audit.export.scoped",
      "name": "audit_export_scoped",
      "description": "Request a scoped CSV/JSON export of audit entries matching filters. Returns a download URL when ready (signed, time-bounded).",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.export.scoped"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "kinds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "format": {
            "default": "json",
            "type": "string",
            "enum": [
              "csv",
              "json",
              "compliance-bundle"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exportId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "ready"
            ]
          }
        },
        "required": [
          "exportId",
          "status"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "audit_outside-access_list",
      "description": "List entries representing access from outside the workspace's normal principals (admin reads, side-car reads, share-url access).",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.outside-access.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^aud_[0-9A-Z]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "timestamp": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "kind": {
                  "type": "string"
                },
                "actorAccountId": {
                  "type": "string"
                },
                "transport": {
                  "type": "string",
                  "enum": [
                    "rest",
                    "mcp",
                    "mcp_apps",
                    "chatgpt_app",
                    "gemini",
                    "perplexity",
                    "claude_cowork",
                    "a2a",
                    "claude_skill",
                    "nlweb",
                    "dashboard",
                    "sidecar",
                    "service_to_service"
                  ]
                },
                "agentClientId": {
                  "type": "string"
                },
                "agentSessionId": {
                  "type": "string"
                },
                "promptExcerpt": {
                  "type": "string",
                  "maxLength": 200
                },
                "confirmationTokenId": {
                  "type": "string"
                },
                "delegationChainDepth": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "success",
                    "denied",
                    "failed",
                    "partial"
                  ]
                },
                "inputHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "outputHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "id",
                "workspaceId",
                "timestamp",
                "kind",
                "outcome"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "entries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "See every external touch on this workspace."
        }
      ]
    },
    {
      "id": "audit.stream.list",
      "name": "audit_stream_list",
      "description": "List the workspace's SIEM/S3 audit-stream destinations (Splunk HEC / Datadog / webhook / S3), with sealed credentials masked.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.stream.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "destinations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "splunk_hec",
                    "datadog",
                    "webhook",
                    "s3"
                  ]
                },
                "displayName": {
                  "type": "string"
                },
                "enabled": {
                  "type": "boolean"
                },
                "endpoint": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "datadogSite": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "splunkIndex": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "splunkSourcetype": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "datadogService": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "datadogTags": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "s3Bucket": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "s3Region": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "s3Prefix": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "s3AccessKeyId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "tokenConfigured": {
                  "type": "boolean"
                },
                "webhookSecretConfigured": {
                  "type": "boolean"
                },
                "cursorChainSeq": {
                  "type": "number"
                },
                "healthy": {
                  "type": "boolean"
                },
                "consecutiveFailures": {
                  "type": "number"
                },
                "lastSuccessAt": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "lastError": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "updatedAt": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "kind",
                "displayName",
                "enabled",
                "endpoint",
                "datadogSite",
                "splunkIndex",
                "splunkSourcetype",
                "datadogService",
                "datadogTags",
                "s3Bucket",
                "s3Region",
                "s3Prefix",
                "s3AccessKeyId",
                "tokenConfigured",
                "webhookSecretConfigured",
                "cursorChainSeq",
                "healthy",
                "consecutiveFailures",
                "lastSuccessAt",
                "lastError",
                "updatedAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "destinations"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "destinations": []
          },
          "note": "List audit-stream destinations."
        }
      ]
    },
    {
      "id": "audit.stream.configure",
      "name": "audit_stream_configure",
      "description": "Create or update a SIEM/S3 audit-stream destination. A provided vendor token / S3 secret / webhook secret is sealed at rest.",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.stream.configure"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "splunk_hec",
              "datadog",
              "webhook",
              "s3"
            ]
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "enabled": {
            "type": "boolean"
          },
          "endpoint": {
            "type": "string",
            "format": "uri"
          },
          "datadogSite": {
            "type": "string"
          },
          "splunkIndex": {
            "type": "string"
          },
          "splunkSourcetype": {
            "type": "string"
          },
          "datadogService": {
            "type": "string"
          },
          "datadogTags": {
            "type": "string"
          },
          "s3Bucket": {
            "type": "string"
          },
          "s3Region": {
            "type": "string"
          },
          "s3Prefix": {
            "type": "string"
          },
          "s3AccessKeyId": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "webhookSecret": {
            "type": "string"
          },
          "s3SecretAccessKey": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "displayName"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "destination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "splunk_hec",
                      "datadog",
                      "webhook",
                      "s3"
                    ]
                  },
                  "displayName": {
                    "type": "string"
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "endpoint": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datadogSite": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "splunkIndex": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "splunkSourcetype": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datadogService": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "datadogTags": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "s3Bucket": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "s3Region": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "s3Prefix": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "s3AccessKeyId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "tokenConfigured": {
                    "type": "boolean"
                  },
                  "webhookSecretConfigured": {
                    "type": "boolean"
                  },
                  "cursorChainSeq": {
                    "type": "number"
                  },
                  "healthy": {
                    "type": "boolean"
                  },
                  "consecutiveFailures": {
                    "type": "number"
                  },
                  "lastSuccessAt": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "lastError": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "updatedAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "displayName",
                  "enabled",
                  "endpoint",
                  "datadogSite",
                  "splunkIndex",
                  "splunkSourcetype",
                  "datadogService",
                  "datadogTags",
                  "s3Bucket",
                  "s3Region",
                  "s3Prefix",
                  "s3AccessKeyId",
                  "tokenConfigured",
                  "webhookSecretConfigured",
                  "cursorChainSeq",
                  "healthy",
                  "consecutiveFailures",
                  "lastSuccessAt",
                  "lastError",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "destination"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "audit_stream_delete",
      "description": "Delete an audit-stream destination by id (workspace-scoped).",
      "domain": "audit",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/audit.stream.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "id": "astr_abc"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete a destination."
        }
      ]
    },
    {
      "id": "tops.config.get",
      "name": "tops_config_get",
      "description": "Get the Tops config for a specific scope (org, workspace, or actor).",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "scopeId": {
            "type": "string"
          }
        },
        "required": [
          "scope",
          "scopeId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "scope": {
                "type": "string",
                "enum": [
                  "org",
                  "workspace",
                  "actor"
                ]
              },
              "scopeId": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "kinds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "run",
                    "policy_change",
                    "key_event",
                    "billing_event",
                    "config_change"
                  ]
                }
              },
              "environments": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "samplingPercent": {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "detailLevel": {
                "type": "string",
                "enum": [
                  "safe",
                  "extended",
                  "forensic"
                ]
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "updatedBy": {
                "type": "string"
              }
            },
            "required": [
              "scope",
              "scopeId",
              "enabled",
              "kinds",
              "environments",
              "samplingPercent",
              "detailLevel",
              "updatedAt",
              "updatedBy"
            ],
            "additionalProperties": {}
          },
          {
            "type": "null"
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tops_config_set",
      "description": "Set the Tops config for a scope. Forensic detail level requires explicit acknowledgement.",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "scopeId": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "kinds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "samplingPercent": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "detailLevel": {
            "type": "string",
            "enum": [
              "safe",
              "extended",
              "forensic"
            ]
          },
          "forensicAck": {
            "type": "string"
          }
        },
        "required": [
          "scope",
          "scopeId",
          "enabled",
          "kinds",
          "environments",
          "samplingPercent",
          "detailLevel"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "scopeId": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "kinds": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "run",
                "policy_change",
                "key_event",
                "billing_event",
                "config_change"
              ]
            }
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "samplingPercent": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "detailLevel": {
            "type": "string",
            "enum": [
              "safe",
              "extended",
              "forensic"
            ]
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedBy": {
            "type": "string"
          }
        },
        "required": [
          "scope",
          "scopeId",
          "enabled",
          "kinds",
          "environments",
          "samplingPercent",
          "detailLevel",
          "updatedAt",
          "updatedBy"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "tops_config_delete",
      "description": "Delete a scope-level Tops config (scope reverts to parent inheritance).",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "scopeId": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "scope",
          "scopeId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete scope config."
        }
      ]
    },
    {
      "id": "tops.config.list",
      "name": "tops_config_list",
      "description": "List Tops configs (all scopes in an org or workspace).",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "configs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "scope": {
                  "type": "string",
                  "enum": [
                    "org",
                    "workspace",
                    "actor"
                  ]
                },
                "scopeId": {
                  "type": "string"
                },
                "enabled": {
                  "type": "boolean"
                },
                "kinds": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "run",
                      "policy_change",
                      "key_event",
                      "billing_event",
                      "config_change"
                    ]
                  }
                },
                "environments": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "samplingPercent": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "detailLevel": {
                  "type": "string",
                  "enum": [
                    "safe",
                    "extended",
                    "forensic"
                  ]
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "updatedBy": {
                  "type": "string"
                }
              },
              "required": [
                "scope",
                "scopeId",
                "enabled",
                "kinds",
                "environments",
                "samplingPercent",
                "detailLevel",
                "updatedAt",
                "updatedBy"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "configs",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "configs": [],
            "nextCursor": null
          },
          "note": "List configs."
        }
      ]
    },
    {
      "id": "tops.config.cascade.resolve",
      "name": "tops_config_cascade_resolve",
      "description": "Resolve the effective Tops config at a specific (org, workspace, actor) leaf — applies the leaf-wins cascade.",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.cascade.resolve"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "actorId": {
            "type": "string",
            "pattern": "^actor_[a-z0-9]{20,}$"
          }
        },
        "required": [
          "organizationId",
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "effectiveConfig": {
            "type": "object",
            "properties": {
              "scope": {
                "type": "string",
                "enum": [
                  "org",
                  "workspace",
                  "actor"
                ]
              },
              "scopeId": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "kinds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "run",
                    "policy_change",
                    "key_event",
                    "billing_event",
                    "config_change"
                  ]
                }
              },
              "environments": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "samplingPercent": {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "detailLevel": {
                "type": "string",
                "enum": [
                  "safe",
                  "extended",
                  "forensic"
                ]
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "updatedBy": {
                "type": "string"
              }
            },
            "required": [
              "scope",
              "scopeId",
              "enabled",
              "kinds",
              "environments",
              "samplingPercent",
              "detailLevel",
              "updatedAt",
              "updatedBy"
            ],
            "additionalProperties": {}
          },
          "source": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "inheritedFields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "effectiveConfig",
          "source",
          "inheritedFields"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tops_config_preset_apply",
      "description": "Apply one of the 3 presets (Minimal / Recommended / Forensic) to a scope.",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.preset.apply"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "scopeId": {
            "type": "string"
          },
          "presetId": {
            "type": "string",
            "enum": [
              "minimal",
              "recommended",
              "forensic"
            ]
          },
          "forensicAck": {
            "type": "string"
          }
        },
        "required": [
          "scope",
          "scopeId",
          "presetId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "scopeId": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "kinds": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "run",
                "policy_change",
                "key_event",
                "billing_event",
                "config_change"
              ]
            }
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "samplingPercent": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "detailLevel": {
            "type": "string",
            "enum": [
              "safe",
              "extended",
              "forensic"
            ]
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedBy": {
            "type": "string"
          }
        },
        "required": [
          "scope",
          "scopeId",
          "enabled",
          "kinds",
          "environments",
          "samplingPercent",
          "detailLevel",
          "updatedAt",
          "updatedBy"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "tops_config_presets_list",
      "description": "List the 3 supported presets with their config shapes + tradeoff labels.",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.presets.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "presets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "config": {},
                "tradeoff": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "label",
                "description",
                "config",
                "tradeoff"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "presets"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tops_config_testbed_run",
      "description": "Test the cascade resolver against a synthetic actor id to preview what entries it would generate.",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.testbed.run"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "actorId": {
            "type": "string",
            "pattern": "^actor_[a-z0-9]{20,}$"
          },
          "syntheticEvent": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "organizationId",
          "workspaceId",
          "actorId",
          "syntheticEvent"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "resolved": {
            "type": "object",
            "properties": {
              "scope": {
                "type": "string",
                "enum": [
                  "org",
                  "workspace",
                  "actor"
                ]
              },
              "scopeId": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "kinds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "run",
                    "policy_change",
                    "key_event",
                    "billing_event",
                    "config_change"
                  ]
                }
              },
              "environments": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "samplingPercent": {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "detailLevel": {
                "type": "string",
                "enum": [
                  "safe",
                  "extended",
                  "forensic"
                ]
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "updatedBy": {
                "type": "string"
              }
            },
            "required": [
              "scope",
              "scopeId",
              "enabled",
              "kinds",
              "environments",
              "samplingPercent",
              "detailLevel",
              "updatedAt",
              "updatedBy"
            ],
            "additionalProperties": {}
          },
          "wouldRecord": {
            "type": "boolean"
          },
          "wouldRecordFields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "resolved",
          "wouldRecord",
          "wouldRecordFields"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tops_config_change-history_list",
      "description": "List Tops-config change events (audit cross-link).",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.change-history.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "scope": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "scopeId": {
            "type": "string"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "changes": {
            "type": "array",
            "items": {}
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "changes",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "changes": [],
            "nextCursor": null
          },
          "note": "Read config change history."
        }
      ]
    },
    {
      "id": "tops.config.sparkline.get",
      "name": "tops_config_sparkline_get",
      "description": "Get a 30-day sparkline of Tops detail-level changes (visualizes forensic-cooldown nudge).",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.sparkline.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "scopeId": {
            "type": "string"
          }
        },
        "required": [
          "scope",
          "scopeId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "detailLevel": {
                  "type": "string",
                  "enum": [
                    "safe",
                    "extended",
                    "forensic"
                  ]
                }
              },
              "required": [
                "date",
                "detailLevel"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "data"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "data": []
          },
          "note": "Sparkline data."
        }
      ]
    },
    {
      "id": "tops.config.audit-cross-links.get",
      "name": "tops_config_audit-cross-links_get",
      "description": "Get deep-links to the workspace audit log filtered by Tops-config-change events.",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.audit-cross-links.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "links": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "href": {
                  "type": "string"
                }
              },
              "required": [
                "label",
                "href"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "links"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tops_config_cooldown-status_get",
      "description": "Check if a scope is in the forensic cooldown window (auto-revert nudge).",
      "domain": "tops",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tops.config.cooldown-status.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "org",
              "workspace",
              "actor"
            ]
          },
          "scopeId": {
            "type": "string"
          }
        },
        "required": [
          "scope",
          "scopeId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "inCooldown": {
            "type": "boolean"
          },
          "enteredAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "expiresAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "inCooldown",
          "enteredAt",
          "expiresAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "scope": "workspace",
            "scopeId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "inCooldown": false,
            "enteredAt": null,
            "expiresAt": null
          },
          "note": "Read cooldown state."
        }
      ]
    },
    {
      "id": "referrals.code.get",
      "name": "referrals_code_get",
      "description": "Get your active referral code + share URL.",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.code.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "pattern": "^[A-Z0-9]{6,16}$"
          },
          "shareUrl": {
            "type": "string",
            "format": "uri"
          },
          "qrCodeDataUrl": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "shareUrl",
          "qrCodeDataUrl"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "referrals_code_regenerate",
      "description": "Regenerate referral code. Old code stops working.",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.code.regenerate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "pattern": "^[A-Z0-9]{6,16}$"
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {},
          "output": {
            "code": "NEWCODE99"
          },
          "note": "Get a fresh referral code."
        }
      ]
    },
    {
      "id": "referrals.list-sent",
      "name": "referrals_list-sent",
      "description": "List referrals you have sent.",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.list-sent"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "status": {
            "type": "string",
            "enum": [
              "sent",
              "joined",
              "redeemed",
              "expired"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "referrals": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "referralId": {
                  "type": "string"
                },
                "code": {
                  "type": "string",
                  "pattern": "^[A-Z0-9]{6,16}$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "sent",
                    "joined",
                    "redeemed",
                    "expired"
                  ]
                },
                "recipientEmailHash": {
                  "type": "string"
                },
                "sentAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "redeemedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "rewardPoints": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "referralId",
                "code",
                "status",
                "sentAt",
                "redeemedAt",
                "rewardPoints"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "referrals",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "referrals": [],
            "nextCursor": null
          },
          "note": "List sent referrals."
        }
      ]
    },
    {
      "id": "referrals.list-received",
      "name": "referrals_list-received",
      "description": "List referrals where you were the referee.",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.list-received"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "referrals": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "referralId": {
                  "type": "string"
                },
                "code": {
                  "type": "string",
                  "pattern": "^[A-Z0-9]{6,16}$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "sent",
                    "joined",
                    "redeemed",
                    "expired"
                  ]
                },
                "recipientEmailHash": {
                  "type": "string"
                },
                "sentAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "redeemedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "rewardPoints": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "referralId",
                "code",
                "status",
                "sentAt",
                "redeemedAt",
                "rewardPoints"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "referrals",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "referrals": [],
            "nextCursor": null
          },
          "note": "List received referrals."
        }
      ]
    },
    {
      "id": "referrals.balance.get",
      "name": "referrals_balance_get",
      "description": "Get your current point balance + lifetime multiplier tier.",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.balance.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "pointBalance": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "lifetimeMultiplier": {
            "type": "number",
            "minimum": 1,
            "maximum": 2
          },
          "nextMultiplierAt": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "pointBalance",
          "lifetimeMultiplier",
          "nextMultiplierAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "pointBalance": 1500,
            "lifetimeMultiplier": 1.2,
            "nextMultiplierAt": 2500
          },
          "note": "Read point balance."
        }
      ]
    },
    {
      "id": "referrals.funnel.get",
      "name": "referrals_funnel_get",
      "description": "Get conversion funnel analytics (sent → clicked → joined → redeemed).",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.funnel.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "clicked": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "joined": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "redeemed": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "sent",
          "clicked",
          "joined",
          "redeemed"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "sent": 50,
            "clicked": 30,
            "joined": 12,
            "redeemed": 8
          },
          "note": "Read funnel."
        }
      ]
    },
    {
      "id": "referrals.redeem",
      "name": "referrals_redeem",
      "description": "Redeem a referral or voucher code.",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.redeem"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 6,
            "maxLength": 20
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "redeemed": {
            "type": "boolean"
          },
          "rewardKind": {
            "type": "string"
          },
          "rewardValue": {}
        },
        "required": [
          "redeemed",
          "rewardKind",
          "rewardValue"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "code": "DEMO12"
          },
          "output": {
            "redeemed": true,
            "rewardKind": "points",
            "rewardValue": 1000
          },
          "note": "Redeem a code."
        }
      ]
    },
    {
      "id": "referrals.spend",
      "name": "referrals_spend",
      "description": "Spend points on a reward (run pack, add-on credit, Every.org charity, etc.).",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.spend"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "product": {
            "type": "string"
          },
          "pointAmount": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "metadata": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "product",
          "pointAmount"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "spentAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "transactionId": {
            "type": "string"
          },
          "remainingBalance": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "spentAt",
          "transactionId",
          "remainingBalance"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "referrals_spend-products_list",
      "description": "List the products you can redeem points against.",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.spend-products.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "pointCost": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "description": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "label",
                "pointCost",
                "description"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "products"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "referrals_ledger_list",
      "description": "List point transactions (earned + spent).",
      "domain": "referrals",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/referrals.ledger.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "transactions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ts": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "earned",
                    "spent",
                    "expired",
                    "adjustment"
                  ]
                },
                "amount": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "description": {
                  "type": "string"
                }
              },
              "required": [
                "ts",
                "kind",
                "amount",
                "description"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "transactions",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "transactions": [],
            "nextCursor": null
          },
          "note": "Read point ledger."
        }
      ]
    },
    {
      "id": "number_one.conversation.create",
      "name": "number_one_conversation_create",
      "description": "Start a new Number One conversation.",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.conversation.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "mode": {
            "type": "string",
            "enum": [
              "calculator",
              "analyst",
              "admin"
            ]
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "required": [
          "workspaceId",
          "mode"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "string",
            "pattern": "^conv_[a-z0-9]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "mode": {
            "type": "string",
            "enum": [
              "calculator",
              "analyst",
              "admin"
            ]
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "lastActivityAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "messageCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "factsLearnedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "conversationId",
          "workspaceId",
          "mode",
          "startedAt",
          "lastActivityAt",
          "messageCount",
          "factsLearnedCount"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "number_one_conversation_list",
      "description": "List your conversations (most recent first).",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.conversation.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "mode": {
            "type": "string",
            "enum": [
              "calculator",
              "analyst",
              "admin"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "conversations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "conversationId": {
                  "type": "string",
                  "pattern": "^conv_[a-z0-9]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "mode": {
                  "type": "string",
                  "enum": [
                    "calculator",
                    "analyst",
                    "admin"
                  ]
                },
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "startedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "lastActivityAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "messageCount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "factsLearnedCount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "conversationId",
                "workspaceId",
                "mode",
                "startedAt",
                "lastActivityAt",
                "messageCount",
                "factsLearnedCount"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "conversations",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "conversations": [],
            "nextCursor": null
          },
          "note": "List conversations."
        }
      ]
    },
    {
      "id": "number_one.conversation.get",
      "name": "number_one_conversation_get",
      "description": "Get a conversation's metadata + recent messages.",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.conversation.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "conversationId": {
            "type": "string",
            "pattern": "^conv_[a-z0-9]{20,}$"
          },
          "messageLimit": {
            "default": 50,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "workspaceId",
          "conversationId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "conversation": {
            "type": "object",
            "properties": {
              "conversationId": {
                "type": "string",
                "pattern": "^conv_[a-z0-9]{20,}$"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "mode": {
                "type": "string",
                "enum": [
                  "calculator",
                  "analyst",
                  "admin"
                ]
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "lastActivityAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "messageCount": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "factsLearnedCount": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "conversationId",
              "workspaceId",
              "mode",
              "startedAt",
              "lastActivityAt",
              "messageCount",
              "factsLearnedCount"
            ],
            "additionalProperties": {}
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "messageId": {
                  "type": "string",
                  "pattern": "^msg_[a-z0-9]{20,}$"
                },
                "conversationId": {
                  "type": "string",
                  "pattern": "^conv_[a-z0-9]{20,}$"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "user",
                    "assistant",
                    "system"
                  ]
                },
                "body": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "citations": {
                  "type": "array",
                  "items": {}
                },
                "intent": {
                  "type": "string"
                }
              },
              "required": [
                "messageId",
                "conversationId",
                "role",
                "body",
                "createdAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "conversation",
          "messages"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "number_one_conversation_delete",
      "description": "Delete a conversation. Memory facts attached to it survive but lose conversation context.",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.conversation.delete"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "conversationId": {
            "type": "string",
            "pattern": "^conv_[a-z0-9]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "conversationId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conversationId": "conv_demo00000000000000000000"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete a conversation."
        }
      ]
    },
    {
      "id": "number_one.message.send",
      "name": "number_one_message_send",
      "description": "Send a user message in a Number One conversation. Response streams back via SSE.",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.message.send"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "conversationId": {
            "type": "string",
            "pattern": "^conv_[a-z0-9]{20,}$"
          },
          "body": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50000
          }
        },
        "required": [
          "workspaceId",
          "conversationId",
          "body"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "assistantMessageId": {
            "type": "string",
            "pattern": "^msg_[a-z0-9]{20,}$"
          },
          "intent": {
            "type": "string"
          },
          "confirmationRequired": {
            "type": "boolean"
          },
          "confirmationUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "assistantMessageId",
          "confirmationRequired"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "number_one_message_list",
      "description": "List messages in a conversation.",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.message.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "conversationId": {
            "type": "string",
            "pattern": "^conv_[a-z0-9]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "conversationId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "messageId": {
                  "type": "string",
                  "pattern": "^msg_[a-z0-9]{20,}$"
                },
                "conversationId": {
                  "type": "string",
                  "pattern": "^conv_[a-z0-9]{20,}$"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "user",
                    "assistant",
                    "system"
                  ]
                },
                "body": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "citations": {
                  "type": "array",
                  "items": {}
                },
                "intent": {
                  "type": "string"
                }
              },
              "required": [
                "messageId",
                "conversationId",
                "role",
                "body",
                "createdAt"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "messages",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "conversationId": "conv_demo00000000000000000000"
          },
          "output": {
            "messages": [],
            "nextCursor": null
          },
          "note": "List messages."
        }
      ]
    },
    {
      "id": "number_one.mode.set",
      "name": "number_one_mode_set",
      "description": "Switch a conversation's mode (Calculator / Analyst / Admin).",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.mode.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "conversationId": {
            "type": "string",
            "pattern": "^conv_[a-z0-9]{20,}$"
          },
          "mode": {
            "type": "string",
            "enum": [
              "calculator",
              "analyst",
              "admin"
            ]
          }
        },
        "required": [
          "workspaceId",
          "conversationId",
          "mode"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "string",
            "pattern": "^conv_[a-z0-9]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "mode": {
            "type": "string",
            "enum": [
              "calculator",
              "analyst",
              "admin"
            ]
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "startedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "lastActivityAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "messageCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "factsLearnedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "conversationId",
          "workspaceId",
          "mode",
          "startedAt",
          "lastActivityAt",
          "messageCount",
          "factsLearnedCount"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "number_one_memory_list",
      "description": "List memory facts pinned in a workspace.",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.memory.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "pinnedOnly": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "facts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "factId": {
                  "type": "string",
                  "pattern": "^fact_[a-z0-9]{20,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "text": {
                  "type": "string"
                },
                "pinned": {
                  "type": "boolean"
                },
                "learnedFrom": {
                  "type": "string"
                },
                "learnedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "reinforcedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "factId",
                "workspaceId",
                "text",
                "pinned",
                "learnedFrom",
                "learnedAt",
                "reinforcedAt"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "facts",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "facts": [],
            "nextCursor": null
          },
          "note": "List memory facts."
        }
      ]
    },
    {
      "id": "number_one.memory.pin",
      "name": "number_one_memory_pin",
      "description": "Pin a memory fact so Number One reliably recalls it across conversations.",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.memory.pin"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "factId": {
            "type": "string",
            "pattern": "^fact_[a-z0-9]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "factId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "factId": {
            "type": "string",
            "pattern": "^fact_[a-z0-9]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "text": {
            "type": "string"
          },
          "pinned": {
            "type": "boolean"
          },
          "learnedFrom": {
            "type": "string"
          },
          "learnedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "reinforcedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "factId",
          "workspaceId",
          "text",
          "pinned",
          "learnedFrom",
          "learnedAt",
          "reinforcedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "number_one_memory_unpin",
      "description": "Unpin a memory fact.",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.memory.unpin"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "factId": {
            "type": "string",
            "pattern": "^fact_[a-z0-9]{20,}$"
          }
        },
        "required": [
          "workspaceId",
          "factId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "factId": {
            "type": "string",
            "pattern": "^fact_[a-z0-9]{20,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "text": {
            "type": "string"
          },
          "pinned": {
            "type": "boolean"
          },
          "learnedFrom": {
            "type": "string"
          },
          "learnedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "reinforcedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "factId",
          "workspaceId",
          "text",
          "pinned",
          "learnedFrom",
          "learnedAt",
          "reinforcedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "number_one_memory_erase",
      "description": "Permanently erase a memory fact (cannot be recovered).",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.memory.erase"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "factId": {
            "type": "string",
            "pattern": "^fact_[a-z0-9]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "factId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "erased": {
            "type": "boolean"
          }
        },
        "required": [
          "erased"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "factId": "fact_demo00000000000000000000"
          },
          "output": {
            "erased": true
          },
          "note": "Erase a fact."
        }
      ]
    },
    {
      "id": "number_one.memory.cap.get",
      "name": "number_one_memory_cap_get",
      "description": "Get the memory cap for the workspace's tier (or unlimited if Infinite Memory add-on is active).",
      "domain": "number_one",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/number_one.memory.cap.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "capFacts": {
            "anyOf": [
              {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "number",
                "const": -1
              }
            ]
          },
          "usedFacts": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "infiniteMemoryActive": {
            "type": "boolean"
          }
        },
        "required": [
          "capFacts",
          "usedFacts",
          "infiniteMemoryActive"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "capFacts": 100,
            "usedFacts": 23,
            "infiniteMemoryActive": false
          },
          "note": "Read memory cap."
        }
      ]
    },
    {
      "id": "entpoind.monitor.http.add",
      "name": "entpoind_monitor_http_add",
      "description": "Register a new HTTP monitor (1-minute minimum interval).",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.monitor.http.add"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "method": {
            "default": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE",
              "HEAD"
            ]
          },
          "intervalSeconds": {
            "default": 300,
            "type": "integer",
            "minimum": 30,
            "maximum": 86400
          },
          "expectedStatusCodes": {
            "default": [
              200
            ],
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            }
          }
        },
        "required": [
          "workspaceId",
          "url"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "monitorId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "method": {
            "default": "GET",
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE",
              "HEAD"
            ]
          },
          "intervalSeconds": {
            "type": "integer",
            "minimum": 30,
            "maximum": 86400
          },
          "expectedStatusCodes": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "lastCheckAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "lastStatus": {
            "type": "string",
            "enum": [
              "pass",
              "fail",
              "pending"
            ]
          }
        },
        "required": [
          "monitorId",
          "workspaceId",
          "url",
          "method",
          "intervalSeconds",
          "expectedStatusCodes",
          "enabled",
          "createdAt",
          "lastCheckAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "entpoind_monitor_http_list",
      "description": "List HTTP monitors in a workspace.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.monitor.http.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "enabledOnly": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "monitors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "monitorId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "method": {
                  "default": "GET",
                  "type": "string",
                  "enum": [
                    "GET",
                    "POST",
                    "PUT",
                    "PATCH",
                    "DELETE",
                    "HEAD"
                  ]
                },
                "intervalSeconds": {
                  "type": "integer",
                  "minimum": 30,
                  "maximum": 86400
                },
                "expectedStatusCodes": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  }
                },
                "enabled": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "lastCheckAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastStatus": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "fail",
                    "pending"
                  ]
                }
              },
              "required": [
                "monitorId",
                "workspaceId",
                "url",
                "method",
                "intervalSeconds",
                "expectedStatusCodes",
                "enabled",
                "createdAt",
                "lastCheckAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "monitors",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "monitors": [],
            "nextCursor": null
          },
          "note": "List monitors."
        }
      ]
    },
    {
      "id": "entpoind.monitor.http.run-now",
      "name": "entpoind_monitor_http_run-now",
      "description": "Run a monitor check immediately (bypasses the scheduled interval).",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.monitor.http.run-now"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "monitorId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "monitorId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "latencyMs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "receiptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "statusCode",
          "latencyMs",
          "receiptId"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "entpoind_monitor_http_remove",
      "description": "Delete an HTTP monitor.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.monitor.http.remove"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "monitorId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "monitorId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "monitorId": "01J9X4P9R7Z2C1A1F2A8VBJYM1"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete monitor."
        }
      ]
    },
    {
      "id": "entpoind.watch.dns.add",
      "name": "entpoind_watch_dns_add",
      "description": "Register a DNS watch (detects record drift; signs every check as a receipt).",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.watch.dns.add"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "domain": {
            "type": "string"
          },
          "recordType": {
            "type": "string",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "TXT",
              "NS",
              "SRV",
              "CAA"
            ]
          },
          "intervalSeconds": {
            "default": 3600,
            "type": "integer",
            "minimum": 60,
            "maximum": 86400
          },
          "pinExpectedValues": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId",
          "domain",
          "recordType"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dnsWatchId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "domain": {
            "type": "string"
          },
          "recordType": {
            "type": "string",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "TXT",
              "NS",
              "SRV",
              "CAA"
            ]
          },
          "expectedValuesHash": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "intervalSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 86400
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "dnsWatchId",
          "workspaceId",
          "domain",
          "recordType",
          "intervalSeconds",
          "enabled"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "entpoind_watch_dns_list",
      "description": "List DNS watches in a workspace.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.watch.dns.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "watches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "dnsWatchId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "domain": {
                  "type": "string"
                },
                "recordType": {
                  "type": "string",
                  "enum": [
                    "A",
                    "AAAA",
                    "CNAME",
                    "MX",
                    "TXT",
                    "NS",
                    "SRV",
                    "CAA"
                  ]
                },
                "expectedValuesHash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "intervalSeconds": {
                  "type": "integer",
                  "minimum": 60,
                  "maximum": 86400
                },
                "enabled": {
                  "type": "boolean"
                }
              },
              "required": [
                "dnsWatchId",
                "workspaceId",
                "domain",
                "recordType",
                "intervalSeconds",
                "enabled"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "watches",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "watches": [],
            "nextCursor": null
          },
          "note": "List DNS watches."
        }
      ]
    },
    {
      "id": "entpoind.watch.dns.remove",
      "name": "entpoind_watch_dns_remove",
      "description": "Delete a DNS watch.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.watch.dns.remove"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "dnsWatchId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "dnsWatchId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "dnsWatchId": "01J9X4P9R7Z2C1A1F2A8VBJYD1"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete DNS watch."
        }
      ]
    },
    {
      "id": "entpoind.watch.tls.add",
      "name": "entpoind_watch_tls_add",
      "description": "Register a TLS certificate watch (detects cert changes; signs every check).",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.watch.tls.add"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "default": 443,
            "type": "integer",
            "minimum": 1,
            "maximum": 65535
          },
          "intervalSeconds": {
            "default": 3600,
            "type": "integer",
            "minimum": 300,
            "maximum": 86400
          },
          "pinFingerprint": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId",
          "host"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "tlsWatchId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "default": 443,
            "type": "integer",
            "minimum": 1,
            "maximum": 65535
          },
          "expectedFingerprintSha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "intervalSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 86400
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "tlsWatchId",
          "workspaceId",
          "host",
          "port",
          "intervalSeconds",
          "enabled"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "entpoind_watch_tls_list",
      "description": "List TLS watches in a workspace.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.watch.tls.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "watches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tlsWatchId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "host": {
                  "type": "string"
                },
                "port": {
                  "default": 443,
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 65535
                },
                "expectedFingerprintSha256": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "intervalSeconds": {
                  "type": "integer",
                  "minimum": 60,
                  "maximum": 86400
                },
                "enabled": {
                  "type": "boolean"
                }
              },
              "required": [
                "tlsWatchId",
                "workspaceId",
                "host",
                "port",
                "intervalSeconds",
                "enabled"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "watches",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "watches": [],
            "nextCursor": null
          },
          "note": "List TLS watches."
        }
      ]
    },
    {
      "id": "entpoind.watch.tls.remove",
      "name": "entpoind_watch_tls_remove",
      "description": "Delete a TLS watch.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.watch.tls.remove"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "tlsWatchId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "tlsWatchId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "deleted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "tlsWatchId": "01J9X4P9R7Z2C1A1F2A8VBJYT1"
          },
          "output": {
            "deleted": true
          },
          "note": "Delete TLS watch."
        }
      ]
    },
    {
      "id": "entpoind.receipt.list",
      "name": "entpoind_receipt_list",
      "description": "List Trustvice receipts for a workspace.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.receipt.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kind": {
            "type": "string",
            "enum": [
              "agent.call",
              "content.attest",
              "llm.attest",
              "commit.attest",
              "webhook.deliver",
              "monitor.http",
              "dns.watch",
              "tls.watch"
            ]
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "receiptId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "agent.call",
                    "content.attest",
                    "llm.attest",
                    "commit.attest",
                    "webhook.deliver",
                    "monitor.http",
                    "dns.watch",
                    "tls.watch"
                  ]
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "signature": {
                  "type": "string"
                },
                "signatureKeyId": {
                  "type": "string",
                  "pattern": "^[a-z0-9-]{4,64}$"
                },
                "body": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              },
              "required": [
                "receiptId",
                "workspaceId",
                "kind",
                "issuedAt",
                "signature",
                "signatureKeyId",
                "body"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "receipts",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kind": "agent.call"
          },
          "output": {
            "receipts": [],
            "nextCursor": null
          },
          "note": "List receipts."
        }
      ]
    },
    {
      "id": "entpoind.receipt.get",
      "name": "entpoind_receipt_get",
      "description": "Get a single receipt with full body.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.receipt.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "receiptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "receiptId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receiptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kind": {
            "type": "string",
            "enum": [
              "agent.call",
              "content.attest",
              "llm.attest",
              "commit.attest",
              "webhook.deliver",
              "monitor.http",
              "dns.watch",
              "tls.watch"
            ]
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "signature": {
            "type": "string"
          },
          "signatureKeyId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{4,64}$"
          },
          "body": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "receiptId",
          "workspaceId",
          "kind",
          "issuedAt",
          "signature",
          "signatureKeyId",
          "body"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_receipt_verify",
      "description": "Verify a receipt's Ed25519 signature against the published public key. Cannot be disabled.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.receipt.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipt": {
            "type": "object",
            "properties": {
              "receiptId": {
                "type": "string",
                "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "kind": {
                "type": "string",
                "enum": [
                  "agent.call",
                  "content.attest",
                  "llm.attest",
                  "commit.attest",
                  "webhook.deliver",
                  "monitor.http",
                  "dns.watch",
                  "tls.watch"
                ]
              },
              "issuedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "signature": {
                "type": "string"
              },
              "signatureKeyId": {
                "type": "string",
                "pattern": "^[a-z0-9-]{4,64}$"
              },
              "body": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": [
              "receiptId",
              "workspaceId",
              "kind",
              "issuedAt",
              "signature",
              "signatureKeyId",
              "body"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "receipt"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": true
              },
              "signedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "signatureKeyId": {
                "type": "string"
              }
            },
            "required": [
              "ok",
              "signedAt",
              "signatureKeyId"
            ],
            "additionalProperties": {}
          },
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": false
              },
              "reason": {
                "type": "string",
                "enum": [
                  "bad_signature",
                  "unknown_key",
                  "malformed_envelope"
                ]
              }
            },
            "required": [
              "ok",
              "reason"
            ],
            "additionalProperties": {}
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_usage_current",
      "description": "Get current-period Trustvice Receipts usage for a workspace (calls per primitive + budget consumed).",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.usage.current"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "totalCalls": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "perPrimitive": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "monthlyAllowance": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "periodEnd": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "totalCalls",
          "perPrimitive",
          "monthlyAllowance",
          "periodEnd"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_usage_historical",
      "description": "Get historical Trustvice Receipts usage (per-day breakdown for a date range).",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.usage.historical"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId",
          "since"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "daily": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "totalCalls": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "perPrimitive": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  }
                }
              },
              "required": [
                "date",
                "totalCalls",
                "perPrimitive"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "daily"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "since": "2026-05-01T00:00:00.000Z"
          },
          "output": {
            "daily": []
          },
          "note": "Read historical usage."
        }
      ]
    },
    {
      "id": "entpoind.subscription.get",
      "name": "entpoind_subscription_get",
      "description": "Get workspace Trustvice Receipts subscription state.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.subscription.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "tier": {
            "type": [
              "string",
              "null"
            ]
          },
          "abuseStatus": {
            "type": "string"
          },
          "autoOverageEnabled": {
            "type": "boolean"
          },
          "billingMode": {
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "tier",
          "abuseStatus",
          "autoOverageEnabled",
          "billingMode"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "enabled": true,
            "tier": "team",
            "abuseStatus": "clean",
            "autoOverageEnabled": true,
            "billingMode": "combined"
          },
          "note": "Read subscription state."
        }
      ]
    },
    {
      "id": "entpoind.subscription.cancel",
      "name": "entpoind_subscription_cancel",
      "description": "Cancel the Trustvice Receipts subscription at the next billing period. Workspace's existing receipts remain accessible.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.subscription.cancel"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "canceled": {
            "type": "boolean"
          },
          "effectiveAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "canceled",
          "effectiveAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "entpoind_abuse-status_get",
      "description": "Get the current Trustvice Receipts abuse status for a workspace.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.abuse-status.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "clean",
              "flagged",
              "under_review",
              "suspended"
            ]
          },
          "flaggedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "suspendedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "latestAppeal": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "appealId": {
                    "type": "string"
                  },
                  "submittedAt": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "pending",
                      "accepted",
                      "rejected"
                    ]
                  }
                },
                "required": [
                  "appealId",
                  "submittedAt",
                  "status"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "workspaceId",
          "status",
          "flaggedAt",
          "suspendedAt",
          "reason",
          "latestAppeal"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_abuse-status_appeal",
      "description": "Submit an appeal against an abuse-status flag or suspension.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.abuse-status.appeal"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "appealText": {
            "type": "string",
            "minLength": 50,
            "maxLength": 5000
          }
        },
        "required": [
          "workspaceId",
          "appealText"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "appealId": {
            "type": "string"
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "appealId",
          "submittedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "entpoind_abuse-status_appeal_list",
      "description": "List this workspace's abuse appeals and their decisions.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.abuse-status.appeal.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "appeals": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "appealId": {
                  "type": "string"
                },
                "submittedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "accepted",
                    "rejected"
                  ]
                },
                "appealText": {
                  "type": "string"
                }
              },
              "required": [
                "appealId",
                "submittedAt",
                "status",
                "appealText"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "workspaceId",
          "appeals"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_signing-key_get",
      "description": "Get the current active Trustvice Receipts signing key id for the workspace's jurisdiction.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.signing-key.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "signingKeyId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{4,64}$"
          },
          "jurisdiction": {
            "type": "string",
            "enum": [
              "WEUR",
              "ENAM"
            ]
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "expiresAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "publishedAtUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "signingKeyId",
          "jurisdiction",
          "issuedAt",
          "expiresAt",
          "publishedAtUrl"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_signing-key_list",
      "description": "List all signing keys (active + historical) usable to verify the workspace's receipts.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.signing-key.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "signingKeyId": {
                  "type": "string",
                  "pattern": "^[a-z0-9-]{4,64}$"
                },
                "jurisdiction": {
                  "type": "string",
                  "enum": [
                    "WEUR",
                    "ENAM"
                  ]
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "expiresAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "active": {
                  "type": "boolean"
                }
              },
              "required": [
                "signingKeyId",
                "jurisdiction",
                "issuedAt",
                "expiresAt",
                "active"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "keys"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_signing-key_rotate-request_list",
      "description": "List this workspace's signing-key rotation requests and their outcomes.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.signing-key.rotate-request.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "requests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "requestId": {
                  "type": "string"
                },
                "reason": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "requested",
                    "fulfilled",
                    "declined"
                  ]
                },
                "requestedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "estimatedRotationAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "fulfilledAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "requestId",
                "reason",
                "status",
                "requestedAt",
                "estimatedRotationAt",
                "fulfilledAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "workspaceId",
          "requests"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_signing-key_public_get",
      "description": "Get the public-key JWK for a specific signing key id (for offline verification).",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.signing-key.public.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "signingKeyId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{4,64}$"
          }
        },
        "required": [
          "signingKeyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "jwk": {},
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "expiresAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "jwk",
          "issuedAt",
          "expiresAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_status_get",
      "description": "Get the Trustvice Receipts subsystem health (per-jurisdiction Worker uptime, per-primitive error rate, last self-attestation receipt).",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.status.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "jurisdictions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "enum": [
                    "WEUR",
                    "ENAM"
                  ]
                },
                "uptimePercent": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "errorRatePercent": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "lastSelfAttestationAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "uptimePercent",
                "errorRatePercent",
                "lastSelfAttestationAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "jurisdictions"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_attestation-feed_get",
      "description": "Get the daily Trustvice Receipts self-attestation receipt feed (Trustvice attesting to its own platform integrity).",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.attestation-feed.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "attestations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "receiptId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "signature": {
                  "type": "string"
                }
              },
              "required": [
                "date",
                "receiptId",
                "signature"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "attestations"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "attestations": []
          },
          "note": "Read self-attestation feed."
        }
      ]
    },
    {
      "id": "entpoind.compliance.regimes.list",
      "name": "entpoind_compliance_regimes_list",
      "description": "List every compliance regime the registry models, with what is in force today and what is not yet.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.compliance.regimes.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "asOf": {
            "type": "string"
          },
          "regimes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "citation": {
                  "type": "string"
                },
                "jurisdiction": {
                  "type": "string"
                },
                "appliesFrom": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "expiresOn": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "inForceToday": {
                  "type": "boolean"
                },
                "obligationKinds": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "unsettled": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "id",
                "label",
                "citation",
                "jurisdiction",
                "appliesFrom",
                "expiresOn",
                "inForceToday",
                "obligationKinds",
                "unsettled"
              ],
              "additionalProperties": {}
            }
          },
          "obligationKinds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "evidencePrimitives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "asOf",
          "regimes",
          "obligationKinds",
          "evidencePrimitives"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "asOf": "2026-08-11",
            "regimes": [],
            "obligationKinds": [],
            "evidencePrimitives": []
          },
          "note": "Read the regime catalogue."
        }
      ]
    },
    {
      "id": "entpoind.compliance.obligations.get",
      "name": "entpoind_compliance_obligations_get",
      "description": "Given a declared position, return the merged duty list across every governing regime — strictest timing wins, and regimes that wanted it looser are recorded.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.compliance.obligations.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "regimes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            }
          },
          "operatorRegisteredIn": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            }
          },
          "audienceRegions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 32
            }
          },
          "context": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "employeeCount": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "monthlyUsers": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "asOf": {
            "type": "string",
            "minLength": 4,
            "maxLength": 32
          },
          "primitive": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "selection": {
            "type": "object",
            "properties": {
              "regimes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "asOf": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "notYetInForce": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "expired": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "inForceNotYetEnforced": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "basis": {
                "type": "string"
              },
              "unsettled": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "dutyFallsOnCustomerOnly": {
                "type": "boolean"
              }
            },
            "required": [
              "regimes",
              "asOf",
              "notYetInForce",
              "expired",
              "inForceNotYetEnforced",
              "basis",
              "unsettled",
              "dutyFallsOnCustomerOnly"
            ],
            "additionalProperties": {}
          },
          "obligations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string"
                },
                "timing": {
                  "type": "string"
                },
                "authority": {
                  "type": "string"
                },
                "requiresFirstPartyDelivery": {
                  "type": "boolean"
                },
                "hasNonStatutoryContributor": {
                  "type": "boolean"
                },
                "contributors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "regime": {
                        "type": "string"
                      },
                      "provision": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "regime",
                      "provision"
                    ],
                    "additionalProperties": {}
                  }
                },
                "loosenedFrom": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "basis": {
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "timing",
                "authority",
                "requiresFirstPartyDelivery",
                "hasNonStatutoryContributor",
                "contributors",
                "loosenedFrom",
                "basis"
              ],
              "additionalProperties": {}
            }
          },
          "requiresFirstPartyDelivery": {
            "type": "boolean"
          },
          "advisory": {
            "type": "boolean"
          }
        },
        "required": [
          "selection",
          "obligations",
          "requiresFirstPartyDelivery",
          "advisory"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "entpoind_compliance_posture_get",
      "description": "Conformity Live: which clauses the workspace's own signed receipts actually discharge, each with the receipt ids behind it.",
      "domain": "entpoind",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/entpoind.compliance.posture.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "regimes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            }
          },
          "operatorRegisteredIn": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            }
          },
          "audienceRegions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 32
            }
          },
          "context": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "employeeCount": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "monthlyUsers": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "asOf": {
            "type": "string",
            "minLength": 4,
            "maxLength": 32
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "evaluatedAt": {
            "type": "string"
          },
          "regimes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectionBasis": {
            "type": "string"
          },
          "clauses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "regimeId": {
                  "type": "string"
                },
                "regime": {
                  "type": "string"
                },
                "provision": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "timing": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "satisfied",
                    "unsatisfied",
                    "expired",
                    "not_evidenced_here",
                    "not_yet_applicable",
                    "indeterminate"
                  ]
                },
                "evidence": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "receiptId": {
                        "type": "string"
                      },
                      "primitive": {
                        "type": "string"
                      },
                      "issuedAt": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "receiptId",
                      "primitive",
                      "issuedAt"
                    ],
                    "additionalProperties": {}
                  }
                },
                "reason": {
                  "type": "string"
                }
              },
              "required": [
                "regimeId",
                "regime",
                "provision",
                "kind",
                "timing",
                "status",
                "evidence",
                "reason"
              ],
              "additionalProperties": {}
            }
          },
          "tally": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "number"
            }
          },
          "coverage": {
            "type": [
              "number",
              "null"
            ]
          },
          "evidenceComplete": {
            "type": "boolean"
          },
          "receiptsRead": {
            "type": "number"
          },
          "complianceReceiptsUsed": {
            "type": "number"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "advisory": {
            "type": "string"
          }
        },
        "required": [
          "evaluatedAt",
          "regimes",
          "selectionBasis",
          "clauses",
          "tally",
          "coverage",
          "evidenceComplete",
          "receiptsRead",
          "complianceReceiptsUsed",
          "notes",
          "advisory"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "privacy_dsr_submit",
      "description": "Submit a data-subject request (GDPR / CCPA). Cannot be disabled — statutory right.",
      "domain": "privacy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/privacy.dsr.submit"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "access",
              "erasure",
              "restriction",
              "portability",
              "objection",
              "rectification"
            ]
          },
          "subjectEmail": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          },
          "contactEmail": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          }
        },
        "required": [
          "kind",
          "subjectEmail"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dsrId": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "access",
              "erasure",
              "restriction",
              "portability",
              "objection",
              "rectification"
            ]
          },
          "subjectEmail": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "status": {
            "type": "string",
            "enum": [
              "received",
              "verifying-identity",
              "in-progress",
              "completed",
              "rejected"
            ]
          },
          "completedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "receiptUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "dsrId",
          "kind",
          "subjectEmail",
          "submittedAt",
          "status",
          "completedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "privacy_dsr_status",
      "description": "Check status of a submitted DSR. Cannot be disabled — statutory right.",
      "domain": "privacy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/privacy.dsr.status"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dsrId": {
            "type": "string"
          }
        },
        "required": [
          "dsrId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dsrId": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "access",
              "erasure",
              "restriction",
              "portability",
              "objection",
              "rectification"
            ]
          },
          "subjectEmail": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "status": {
            "type": "string",
            "enum": [
              "received",
              "verifying-identity",
              "in-progress",
              "completed",
              "rejected"
            ]
          },
          "completedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "receiptUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "dsrId",
          "kind",
          "subjectEmail",
          "submittedAt",
          "status",
          "completedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "privacy_dsr_list",
      "description": "List all DSRs filed for this account / workspace.",
      "domain": "privacy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/privacy.dsr.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "received",
              "verifying-identity",
              "in-progress",
              "completed",
              "rejected"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dsrs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "dsrId": {
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "access",
                    "erasure",
                    "restriction",
                    "portability",
                    "objection",
                    "rectification"
                  ]
                },
                "subjectEmail": {
                  "type": "string",
                  "maxLength": 254,
                  "format": "email",
                  "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "submittedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "received",
                    "verifying-identity",
                    "in-progress",
                    "completed",
                    "rejected"
                  ]
                },
                "completedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "receiptUrl": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "dsrId",
                "kind",
                "subjectEmail",
                "submittedAt",
                "status",
                "completedAt"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "dsrs",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "dsrs": [],
            "nextCursor": null
          },
          "note": "List your filed DSRs."
        }
      ]
    },
    {
      "id": "privacy.export.request",
      "name": "privacy_export_request",
      "description": "Request a personal-data export (GDPR Art. 20 — data portability). Cannot be disabled.",
      "domain": "privacy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/privacy.export.request"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "format": {
            "default": "portable-archive",
            "type": "string",
            "enum": [
              "json",
              "csv",
              "portable-archive"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exportId": {
            "type": "string"
          },
          "estimatedReadyAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "format": {
            "type": "string"
          }
        },
        "required": [
          "exportId",
          "estimatedReadyAt",
          "format"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "privacy_export_download",
      "description": "Get a signed download URL for a completed personal-data export.",
      "domain": "privacy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/privacy.export.download"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exportId": {
            "type": "string"
          }
        },
        "required": [
          "exportId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "sha256": {
            "type": "string"
          }
        },
        "required": [
          "url",
          "expiresAt",
          "sha256"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "privacy_receipt_get",
      "description": "Get the Ed25519-signed completion receipt for a DSR (verifiable offline).",
      "domain": "privacy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/privacy.receipt.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dsrId": {
            "type": "string"
          }
        },
        "required": [
          "dsrId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipt": {},
          "signingKeyId": {
            "type": "string"
          },
          "publicKeyUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "receipt",
          "signingKeyId",
          "publicKeyUrl"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "privacy_receipt_verify",
      "description": "Verify a DSR receipt's Ed25519 signature + OTS proof against published public keys.",
      "domain": "privacy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/privacy.receipt.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipt": {}
        },
        "required": [
          "receipt"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "valid": {
            "type": "boolean"
          },
          "signatureValid": {
            "type": "boolean"
          },
          "otsValid": {
            "type": "boolean"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "valid",
          "signatureValid",
          "otsValid",
          "errors"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "receipt": {}
          },
          "output": {
            "valid": true,
            "signatureValid": true,
            "otsValid": true,
            "errors": []
          },
          "note": "Verify offline-style."
        }
      ]
    },
    {
      "id": "privacy.subject-rights.list",
      "name": "privacy_subject-rights_list",
      "description": "List the data-subject rights Trustvice honours (GDPR, CCPA, LGPD) + the legal references.",
      "domain": "privacy",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/privacy.subject-rights.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "rights": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "enum": [
                    "access",
                    "erasure",
                    "restriction",
                    "portability",
                    "objection",
                    "rectification"
                  ]
                },
                "legalRef": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "legalRef",
                "description"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "rights"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "support_tickets_list",
      "description": "List your support tickets.",
      "domain": "support",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/support.tickets.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "in-progress",
              "waiting-customer",
              "resolved",
              "closed"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "tickets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticketId": {
                  "type": "string"
                },
                "subject": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "open",
                    "in-progress",
                    "waiting-customer",
                    "resolved",
                    "closed"
                  ]
                },
                "priority": {
                  "type": "string",
                  "enum": [
                    "low",
                    "normal",
                    "high",
                    "urgent"
                  ]
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "resolvedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "ticketId",
                "subject",
                "status",
                "priority",
                "createdAt",
                "updatedAt",
                "resolvedAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "tickets",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "limit": 25
          },
          "output": {
            "tickets": [],
            "nextCursor": null
          },
          "note": "List your tickets."
        }
      ]
    },
    {
      "id": "support.tickets.create",
      "name": "support_tickets_create",
      "description": "Open a new support ticket.",
      "domain": "support",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/support.tickets.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subject": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "body": {
            "type": "string",
            "minLength": 20,
            "maxLength": 50000
          },
          "priority": {
            "default": "normal",
            "type": "string",
            "enum": [
              "low",
              "normal",
              "high",
              "urgent"
            ]
          }
        },
        "required": [
          "subject",
          "body"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string"
          },
          "subject": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "in-progress",
              "waiting-customer",
              "resolved",
              "closed"
            ]
          },
          "priority": {
            "type": "string",
            "enum": [
              "low",
              "normal",
              "high",
              "urgent"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "resolvedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "ticketId",
          "subject",
          "status",
          "priority",
          "createdAt",
          "updatedAt",
          "resolvedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "support_tickets_get",
      "description": "Get a ticket's details + reply thread.",
      "domain": "support",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/support.tickets.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string"
          }
        },
        "required": [
          "ticketId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ticket": {
            "type": "object",
            "properties": {
              "ticketId": {
                "type": "string"
              },
              "subject": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "status": {
                "type": "string",
                "enum": [
                  "open",
                  "in-progress",
                  "waiting-customer",
                  "resolved",
                  "closed"
                ]
              },
              "priority": {
                "type": "string",
                "enum": [
                  "low",
                  "normal",
                  "high",
                  "urgent"
                ]
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "resolvedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "ticketId",
              "subject",
              "status",
              "priority",
              "createdAt",
              "updatedAt",
              "resolvedAt"
            ],
            "additionalProperties": {}
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "replyId": {
                  "type": "string"
                },
                "ticketId": {
                  "type": "string"
                },
                "author": {
                  "type": "string",
                  "enum": [
                    "customer",
                    "trustvice-support"
                  ]
                },
                "body": {
                  "type": "string",
                  "maxLength": 50000
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                }
              },
              "required": [
                "replyId",
                "ticketId",
                "author",
                "body",
                "createdAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "ticket",
          "replies"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "support_tickets_reply",
      "description": "Post a reply to a ticket.",
      "domain": "support",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/support.tickets.reply"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string"
          },
          "body": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50000
          }
        },
        "required": [
          "ticketId",
          "body"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "replyId": {
            "type": "string"
          },
          "ticketId": {
            "type": "string"
          },
          "author": {
            "type": "string",
            "enum": [
              "customer",
              "trustvice-support"
            ]
          },
          "body": {
            "type": "string",
            "maxLength": 50000
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "replyId",
          "ticketId",
          "author",
          "body",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "support_tickets_close",
      "description": "Close a ticket (optionally with a reason).",
      "domain": "support",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/support.tickets.close"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "ticketId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string"
          },
          "subject": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "in-progress",
              "waiting-customer",
              "resolved",
              "closed"
            ]
          },
          "priority": {
            "type": "string",
            "enum": [
              "low",
              "normal",
              "high",
              "urgent"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "resolvedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "ticketId",
          "subject",
          "status",
          "priority",
          "createdAt",
          "updatedAt",
          "resolvedAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "support_satisfaction_rate",
      "description": "Rate the support experience after a ticket closes.",
      "domain": "support",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/support.satisfaction.rate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string"
          },
          "speed": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "knowledge": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "friendliness": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "followThrough": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "outcome": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "comment": {
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "ticketId",
          "speed",
          "knowledge",
          "friendliness",
          "followThrough",
          "outcome"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "recorded": {
            "type": "boolean"
          },
          "rebuildTriggered": {
            "type": "boolean"
          }
        },
        "required": [
          "recorded",
          "rebuildTriggered"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "discovery_capabilities_get",
      "description": "Get the full action registry catalogue (machine-readable). Same content as `/v1/actions.json`.",
      "domain": "discovery",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/discovery.capabilities.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "domainFilter": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {}
          },
          "generatedAt": {
            "type": "string"
          }
        },
        "required": [
          "actions",
          "generatedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "actions": [],
            "generatedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Discover all actions."
        }
      ]
    },
    {
      "id": "discovery.version.get",
      "name": "discovery_version_get",
      "description": "Get the platform version + contracts package version + supported MCP / OpenAPI spec versions.",
      "domain": "discovery",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/discovery.version.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "platform": {
            "type": "string"
          },
          "contracts": {
            "type": "string"
          },
          "mcpSpecVersion": {
            "type": "string"
          },
          "openapiVersion": {
            "type": "string"
          },
          "asyncapiVersion": {
            "type": "string"
          }
        },
        "required": [
          "platform",
          "contracts",
          "mcpSpecVersion",
          "openapiVersion",
          "asyncapiVersion"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "discovery_schema_get",
      "description": "Get the JSON Schema for a specific action's input or output.",
      "domain": "discovery",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/discovery.schema.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string"
          },
          "shape": {
            "type": "string",
            "enum": [
              "input",
              "output"
            ]
          }
        },
        "required": [
          "actionId",
          "shape"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "schema": {}
        },
        "required": [
          "schema"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "actionId": "workspace.create",
            "shape": "input"
          },
          "output": {
            "schema": {}
          },
          "note": "Get an action's JSON Schema."
        }
      ]
    },
    {
      "id": "discovery.locales.list",
      "name": "discovery_locales_list",
      "description": "List supported user-facing locales.",
      "domain": "discovery",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/discovery.locales.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "locales": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "enum": [
                    "en",
                    "es",
                    "fr",
                    "de",
                    "de-du",
                    "zh"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "nativeName": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name",
                "nativeName"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "locales"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "locales": [
              {
                "id": "en",
                "name": "English",
                "nativeName": "English"
              },
              {
                "id": "de",
                "name": "German",
                "nativeName": "Deutsch"
              }
            ]
          },
          "note": "Six supported locales."
        }
      ]
    },
    {
      "id": "discovery.plans.list",
      "name": "discovery_plans_list",
      "description": "List the Trustvice 360 subscription plans.",
      "domain": "discovery",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/discovery.plans.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "product": {
            "default": "all",
            "type": "string",
            "enum": [
              "trustvice",
              "entpoind",
              "all"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "plans": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "product": {
                  "type": "string",
                  "enum": [
                    "trustvice",
                    "entpoind"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "priceUsdMinor": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "features": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "id",
                "product",
                "name",
                "priceUsdMinor",
                "features"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "plans"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "discovery_regions_list",
      "description": "List the data-residency regions a workspace can be bound to: the seven base regions and the extended AWS locations.",
      "domain": "discovery",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/discovery.regions.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "euOnly": {
            "default": false,
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "regions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "provider": {
                  "type": "string",
                  "enum": [
                    "cloudflare-d1",
                    "aws-aurora"
                  ]
                },
                "label": {
                  "type": "string"
                },
                "countryCode": {
                  "type": "string"
                },
                "euJurisdictionBound": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "provider",
                "label",
                "countryCode",
                "euJurisdictionBound"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "regions"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "discovery_confirmation_token_verify",
      "description": "Verify a confirmation token is well-formed + still valid (cannot be disabled — safety floor).",
      "domain": "discovery",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/discovery.confirmation.token.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "valid": {
            "type": "boolean"
          },
          "actionId": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          }
        },
        "required": [
          "valid"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "agents_delegations_list",
      "description": "List the A2A delegations this workspace has issued — the edges of the delegation graph (who delegated what to whom).",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.delegations.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "delegations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "delegationHandle": {
                  "type": "string"
                },
                "vcId": {
                  "type": "string"
                },
                "fromAgentDid": {
                  "type": "string"
                },
                "toRemoteDid": {
                  "type": "string"
                },
                "scopes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "maxSpendUsdFractional": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "purpose": {
                  "type": "string"
                },
                "issuedAt": {
                  "type": "string"
                },
                "expiresAt": {
                  "type": "string"
                },
                "revokedAt": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "delegationHandle",
                "vcId",
                "fromAgentDid",
                "toRemoteDid",
                "scopes",
                "maxSpendUsdFractional",
                "purpose",
                "issuedAt",
                "expiresAt",
                "revokedAt"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "delegations"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "delegations": []
          },
          "note": "Read the delegation edges — the input kill-chain and Muster both need."
        }
      ]
    },
    {
      "id": "agents.identity.enroll",
      "name": "agents_identity_enroll",
      "description": "Enroll a new W3C DID Web agent identity under your principal.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.identity.enroll"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "scopeKind": {
            "type": "string",
            "enum": [
              "account",
              "workspace",
              "organization"
            ]
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "description": {
            "type": "string",
            "maxLength": 500
          },
          "alg": {
            "default": "EdDSA",
            "type": "string",
            "enum": [
              "EdDSA",
              "ES256"
            ]
          }
        },
        "required": [
          "displayName",
          "scopeKind"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "documentUrl": {
            "type": "string",
            "format": "uri"
          },
          "enrollmentCredential": {
            "type": "string"
          },
          "privateKeyRecoveryEnvelope": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "did",
          "documentUrl",
          "enrollmentCredential",
          "privateKeyRecoveryEnvelope",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "agents_identity_list",
      "description": "List enrolled agent DIDs visible to the principal.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.identity.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "organizationId": {
            "type": "string",
            "pattern": "^org_[0-9A-Z]{20,}$"
          },
          "includeDeactivated": {
            "default": false,
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "did": {
                  "type": "string",
                  "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
                },
                "displayName": {
                  "type": "string"
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "scopeKind": {
                  "type": "string",
                  "enum": [
                    "account",
                    "workspace",
                    "organization"
                  ]
                },
                "workspaceId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^ws_[0-9A-Z]{20,}$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "organizationId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^org_[0-9A-Z]{20,}$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "alg": {
                  "type": "string",
                  "enum": [
                    "EdDSA",
                    "ES256"
                  ]
                },
                "activeMethodId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "enrolledAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "deactivatedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastSeenAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "rotationsCount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "lastTrustBundleSignedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "did",
                "displayName",
                "description",
                "scopeKind",
                "workspaceId",
                "organizationId",
                "alg",
                "activeMethodId",
                "enrolledAt",
                "deactivatedAt",
                "lastSeenAt",
                "rotationsCount",
                "lastTrustBundleSignedAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "agents",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "agents": [],
            "nextCursor": null
          },
          "note": "List workspace-scoped agents."
        }
      ]
    },
    {
      "id": "agents.identity.get",
      "name": "agents_identity_get",
      "description": "Get one enrolled agent DID with full document + rotation history.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.identity.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          }
        },
        "required": [
          "did"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "did": {
                "type": "string",
                "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
              },
              "displayName": {
                "type": "string"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "scopeKind": {
                "type": "string",
                "enum": [
                  "account",
                  "workspace",
                  "organization"
                ]
              },
              "workspaceId": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^ws_[0-9A-Z]{20,}$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "organizationId": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^org_[0-9A-Z]{20,}$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "alg": {
                "type": "string",
                "enum": [
                  "EdDSA",
                  "ES256"
                ]
              },
              "activeMethodId": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "enrolledAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "deactivatedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastSeenAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "rotationsCount": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "lastTrustBundleSignedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "did",
              "displayName",
              "description",
              "scopeKind",
              "workspaceId",
              "organizationId",
              "alg",
              "activeMethodId",
              "enrolledAt",
              "deactivatedAt",
              "lastSeenAt",
              "rotationsCount",
              "lastTrustBundleSignedAt"
            ],
            "additionalProperties": {}
          },
          "document": {},
          "rotationHistory": {
            "type": "array",
            "items": {}
          }
        },
        "required": [
          "record",
          "document",
          "rotationHistory"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "agents_identity_rotate",
      "description": "Rotate the signing key for an agent DID. Old key kept active for a cooldown period.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.identity.rotate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "reason": {
            "type": "string",
            "enum": [
              "scheduled",
              "incident",
              "compromise",
              "operator_request",
              "policy_required"
            ]
          },
          "rationale": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          },
          "alg": {
            "type": "string",
            "enum": [
              "EdDSA",
              "ES256"
            ]
          },
          "cooldownSeconds": {
            "default": 3600,
            "type": "integer",
            "minimum": 60,
            "maximum": 86400
          }
        },
        "required": [
          "did",
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "newMethodId": {
            "type": "string"
          },
          "oldMethodRetiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "privateKeyRecoveryEnvelope": {
            "type": "string"
          }
        },
        "required": [
          "did",
          "newMethodId",
          "oldMethodRetiresAt",
          "privateKeyRecoveryEnvelope"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "agents_identity_revoke",
      "description": "Permanently revoke an agent DID. Cannot be undone; the DID id cannot be re-enrolled.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.identity.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "reason": {
            "type": "string",
            "enum": [
              "scheduled",
              "incident",
              "compromise",
              "operator_request",
              "policy_required"
            ]
          },
          "rationale": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          },
          "irreversibleAcknowledged": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "did",
          "reason",
          "irreversibleAcknowledged"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "deactivatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "auditEntryId": {
            "type": "string"
          }
        },
        "required": [
          "did",
          "deactivatedAt",
          "auditEntryId"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "agents_identity_did_resolve",
      "description": "Resolve any DID (did:web, did:key, did:peer) and return the resolution result envelope.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.identity.did.resolve"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "did": {
            "type": "string",
            "pattern": "^did:(web|key|peer):[A-Za-z0-9.\\-_:%]+$"
          }
        },
        "required": [
          "did"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "didDocument": {},
          "didResolutionMetadata": {},
          "didDocumentMetadata": {}
        },
        "required": [
          "didDocument",
          "didResolutionMetadata",
          "didDocumentMetadata"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "agents_passport_verify",
      "description": "Verify an Agent Passport presented at an org boundary — offline checks, plus what offline cannot establish.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.passport.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "passport": {
            "type": "object",
            "properties": {
              "agentDid": {
                "type": "string",
                "pattern": "^did:(web|key|peer):[A-Za-z0-9.\\-_:%]+$"
              },
              "displayName": {
                "type": "string",
                "maxLength": 256
              },
              "issuerDid": {
                "type": "string",
                "pattern": "^did:(web|key|peer):[A-Za-z0-9.\\-_:%]+$"
              },
              "mandates": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "mandateId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "scope": {
                      "type": "string",
                      "minLength": 1
                    },
                    "autonomyCeiling": {
                      "type": "string",
                      "enum": [
                        "read",
                        "mutation",
                        "billing_impacting",
                        "destructive"
                      ]
                    }
                  },
                  "required": [
                    "mandateId",
                    "scope",
                    "autonomyCeiling"
                  ],
                  "additionalProperties": false
                }
              },
              "actorScore": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "spiffeId": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "conductAnchorRef": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "issuedFor": {
                "type": "string",
                "maxLength": 256
              },
              "issuedAt": {
                "type": "string",
                "minLength": 1
              },
              "expiresAt": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "agentDid",
              "issuerDid",
              "mandates",
              "issuedAt"
            ],
            "additionalProperties": false
          },
          "signature": {
            "type": "string",
            "minLength": 1
          },
          "issuerKey": {
            "type": "object",
            "properties": {
              "kty": {
                "type": "string",
                "const": "OKP"
              },
              "crv": {
                "type": "string",
                "const": "Ed25519"
              },
              "x": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "kty",
              "crv",
              "x"
            ],
            "additionalProperties": {}
          },
          "expectedSubjectDid": {
            "type": "string",
            "pattern": "^did:(web|key|peer):[A-Za-z0-9.\\-_:%]+$"
          },
          "maxStalenessSeconds": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "passport"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "verification": {
            "type": "object",
            "properties": {
              "agentDid": {
                "type": "string"
              },
              "verdict": {
                "type": "string",
                "enum": [
                  "checks_passed_offline",
                  "failed",
                  "expired"
                ]
              },
              "checks": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "check": {
                      "type": "string"
                    },
                    "outcome": {
                      "type": "string",
                      "enum": [
                        "passed",
                        "failed",
                        "not_checkable_offline"
                      ]
                    },
                    "detail": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "check",
                    "outcome",
                    "detail"
                  ],
                  "additionalProperties": {}
                }
              },
              "stalenessSeconds": {
                "type": "number"
              },
              "assertedCeiling": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "read",
                      "mutation",
                      "billing_impacting",
                      "destructive"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "issuerAsserted": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "cannotEstablish": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "agentDid",
              "verdict",
              "checks",
              "stalenessSeconds",
              "assertedCeiling",
              "issuerAsserted",
              "cannotEstablish",
              "notes"
            ],
            "additionalProperties": {}
          },
          "signature": {
            "type": "object",
            "properties": {
              "verified": {
                "type": "boolean"
              },
              "keySource": {
                "type": "string",
                "enum": [
                  "did_key",
                  "receiver_supplied",
                  "none"
                ]
              },
              "keyConflict": {
                "type": "boolean"
              },
              "detail": {
                "type": "string"
              }
            },
            "required": [
              "verified",
              "keySource",
              "keyConflict",
              "detail"
            ],
            "additionalProperties": {}
          },
          "registry": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "did": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "revokedAt": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "online": {
                    "type": "boolean",
                    "const": true
                  },
                  "detail": {
                    "type": "string"
                  }
                },
                "required": [
                  "did",
                  "status",
                  "revokedAt",
                  "online",
                  "detail"
                ],
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ]
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "verification",
          "signature",
          "registry",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "agents_handshake_notarize",
      "description": "Run the A2A attestation ceremony: verify both parties' identity, mandate and SPIFFE, then scope-match the capabilities.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.handshake.notarize"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "handshakeRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "initiator": {
            "type": "object",
            "properties": {
              "did": {
                "type": "string",
                "pattern": "^did:(web|key|peer):[A-Za-z0-9.\\-_:%]+$"
              },
              "mandateHandle": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128
              },
              "spiffeId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              }
            },
            "required": [
              "did"
            ],
            "additionalProperties": false
          },
          "responder": {
            "type": "object",
            "properties": {
              "did": {
                "type": "string",
                "pattern": "^did:(web|key|peer):[A-Za-z0-9.\\-_:%]+$"
              },
              "mandateHandle": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128
              },
              "spiffeId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              }
            },
            "required": [
              "did"
            ],
            "additionalProperties": false
          },
          "requestedCapabilities": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          }
        },
        "required": [
          "workspaceId",
          "handshakeRef",
          "initiator",
          "responder",
          "requestedCapabilities"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "attestation": {
            "type": "object",
            "properties": {
              "handshakeRef": {
                "type": "string"
              },
              "outcome": {
                "type": "string",
                "enum": [
                  "accepted",
                  "declined"
                ]
              },
              "parties": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "did": {
                      "type": "string"
                    },
                    "nonRepudiable": {
                      "type": "boolean"
                    },
                    "unverified": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "failed": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "reason": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "did",
                    "nonRepudiable",
                    "unverified",
                    "failed",
                    "reason"
                  ],
                  "additionalProperties": {}
                }
              },
              "capabilities": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "capability": {
                      "type": "string"
                    },
                    "matched": {
                      "type": "boolean"
                    },
                    "missingFor": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "capability",
                    "matched",
                    "missingFor"
                  ],
                  "additionalProperties": {}
                }
              },
              "unmatchedCapabilities": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "effectiveCeiling": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "read",
                      "mutation",
                      "billing_impacting",
                      "destructive"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nonRepudiable": {
                "type": "boolean"
              },
              "declineReasons": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "handshakeRef",
              "outcome",
              "parties",
              "capabilities",
              "unmatchedCapabilities",
              "effectiveCeiling",
              "nonRepudiable",
              "declineReasons",
              "notes"
            ],
            "additionalProperties": {}
          },
          "performed": {
            "type": "object",
            "properties": {
              "initiator": {},
              "responder": {}
            },
            "required": [
              "initiator",
              "responder"
            ],
            "additionalProperties": {}
          },
          "mint": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "handshake-notary"
              },
              "source": {}
            },
            "required": [
              "kind",
              "source"
            ],
            "additionalProperties": {}
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attestation",
          "performed",
          "mint",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "agents_marketplace_rank",
      "description": "Rank mandate templates by standing then narrowest scope — never by adoption.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.marketplace.rank"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "template": {
                  "type": "object",
                  "properties": {
                    "templateId": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    },
                    "publisher": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 512
                    },
                    "label": {
                      "type": "string",
                      "maxLength": 256
                    },
                    "allowedActionIds": {
                      "minItems": 1,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    },
                    "maxSafetyLevel": {
                      "type": "string",
                      "enum": [
                        "read",
                        "mutation",
                        "billing_impacting",
                        "destructive"
                      ]
                    },
                    "maxSpendFractional": {
                      "anyOf": [
                        {
                          "type": "number",
                          "minimum": 0
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "templateId",
                    "publisher",
                    "allowedActionIds",
                    "maxSafetyLevel",
                    "maxSpendFractional"
                  ],
                  "additionalProperties": false
                },
                "record": {
                  "type": "object",
                  "properties": {
                    "deployments": {
                      "type": "number",
                      "minimum": 0
                    },
                    "runs": {
                      "type": "number",
                      "minimum": 0
                    },
                    "incidents": {
                      "type": "number",
                      "minimum": 0
                    },
                    "mandateViolations": {
                      "type": "number",
                      "minimum": 0
                    },
                    "refusals": {
                      "type": "number",
                      "minimum": 0
                    }
                  },
                  "required": [
                    "deployments",
                    "runs",
                    "incidents",
                    "mandateViolations",
                    "refusals"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "template",
                "record"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "entries"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "view": {
            "type": "object",
            "properties": {
              "templates": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "template": {},
                    "standing": {
                      "type": "string",
                      "enum": [
                        "proven",
                        "insufficient_history",
                        "unproven"
                      ]
                    },
                    "scopeBreadth": {
                      "type": "number"
                    },
                    "incidentRate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "refusalRate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "reason": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "template",
                    "standing",
                    "scopeBreadth",
                    "incidentRate",
                    "refusalRate",
                    "warnings",
                    "reason"
                  ],
                  "additionalProperties": {}
                }
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "templates",
              "notes"
            ],
            "additionalProperties": {}
          },
          "historyFloor": {
            "type": "object",
            "properties": {
              "deployments": {
                "type": "number"
              },
              "runs": {
                "type": "number"
              }
            },
            "required": [
              "deployments",
              "runs"
            ],
            "additionalProperties": {}
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "view",
          "historyFloor",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "agents_identity_delegate",
      "description": "Issue an A2A delegation token granting a remote partner DID a scope subset on your behalf.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.identity.delegate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "fromAgentDid": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "toRemoteDid": {
            "type": "string",
            "pattern": "^did:(web|key|peer):[A-Za-z0-9.\\-_:%]+$"
          },
          "scopes": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maxSpendUsdFractional": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "validForDays": {
            "default": 7,
            "type": "integer",
            "minimum": 1,
            "maximum": 90
          },
          "purposeReason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "fromAgentDid",
          "toRemoteDid",
          "scopes",
          "purposeReason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "delegationVcSerialized": {
            "type": "string"
          },
          "delegationHandle": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "delegationVcSerialized",
          "delegationHandle",
          "expiresAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "agents_identity_delegate_revoke",
      "description": "Revoke an issued A2A delegation. Flips its bit in the published BitstringStatusList; listRevocable is false for delegations that predate the list.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.identity.delegate.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "delegationHandle": {
            "type": "string",
            "minLength": 1
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "delegationHandle"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revokedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "listRevocable": {
            "type": "boolean"
          }
        },
        "required": [
          "revokedAt",
          "listRevocable"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "agents_mandate_issue",
      "description": "Issue an AP2 Verifiable Credential mandate authorising an agent up to spend / volume limits.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.mandate.issue"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "agentDid": {
            "type": "string",
            "pattern": "^did:(web|key|peer):[A-Za-z0-9.\\-_:%]+$"
          },
          "allowedActionIds": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maxSafetyLevel": {
            "type": "string",
            "enum": [
              "read",
              "mutation",
              "destructive",
              "billing_impacting"
            ]
          },
          "workspaceIds": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^ws_[0-9A-Z]{20,}$"
            }
          },
          "maxSpendUsdFractional": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "maxInvocations": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "validForDays": {
            "default": 30,
            "type": "integer",
            "minimum": 1,
            "maximum": 365
          }
        },
        "required": [
          "label",
          "agentDid",
          "allowedActionIds",
          "maxSafetyLevel",
          "workspaceIds"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "mandateHandle": {
            "type": "string",
            "pattern": "^mandate_[0-9A-Z]{20,}$"
          },
          "vcId": {
            "type": "string",
            "pattern": "^urn:uuid:[0-9a-f-]{36}$"
          },
          "sdJwtVcSerialized": {
            "type": "string"
          },
          "validUntil": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "issuerDid": {
            "type": "string"
          }
        },
        "required": [
          "mandateHandle",
          "vcId",
          "sdJwtVcSerialized",
          "validUntil",
          "issuerDid"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "agents_mandate_list",
      "description": "List mandates issued under the principal.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.mandate.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "activeOnly": {
            "default": false,
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "mandates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mandateHandle": {
                  "type": "string",
                  "pattern": "^mandate_[0-9A-Z]{20,}$"
                },
                "vcId": {
                  "type": "string",
                  "pattern": "^urn:uuid:[0-9a-f-]{36}$"
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "agentDid": {
                  "type": "string",
                  "pattern": "^did:(web|key|peer):[A-Za-z0-9.\\-_:%]+$"
                },
                "agentDisplayName": {
                  "type": "string"
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "validUntil": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "revokedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "revocationReason": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "mandateHandle",
                "vcId",
                "label",
                "agentDid",
                "agentDisplayName",
                "issuedAt",
                "validUntil",
                "revokedAt",
                "revocationReason"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "mandates",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "mandates": [],
            "nextCursor": null
          },
          "note": "List mandates."
        }
      ]
    },
    {
      "id": "agents.mandate.verify",
      "name": "agents_mandate_verify",
      "description": "Verify a presented mandate VC against an action request. Returns ok or a structured reason.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.mandate.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "presentationSerialized": {
            "type": "string"
          },
          "requestedActionId": {
            "type": "string"
          },
          "estimatedSpendUsdFractional": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "audience": {
            "type": "string",
            "format": "uri"
          },
          "nonce": {
            "type": "string",
            "minLength": 8
          }
        },
        "required": [
          "presentationSerialized",
          "requestedActionId",
          "audience",
          "nonce"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": true
              },
              "mandateHandle": {
                "type": "string",
                "pattern": "^mandate_[0-9A-Z]{20,}$"
              },
              "vcId": {
                "type": "string",
                "pattern": "^urn:uuid:[0-9a-f-]{36}$"
              },
              "remainingSpendUsdFractional": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "remainingInvocations": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "issuerResolutionSource": {
                "type": "string",
                "enum": [
                  "live",
                  "cache",
                  "ots-anchored-cold"
                ]
              }
            },
            "required": [
              "ok",
              "mandateHandle",
              "vcId",
              "issuerResolutionSource"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": false
              },
              "reason": {
                "type": "string"
              },
              "detail": {
                "type": "string"
              }
            },
            "required": [
              "ok",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "agents_mandate_revoke",
      "description": "Revoke a mandate. Goes into the BitstringStatusList revocation register immediately.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.mandate.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "mandateHandle": {
            "type": "string",
            "pattern": "^mandate_[0-9A-Z]{20,}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "mandateHandle"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revokedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "revokedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "mandateHandle": "mandate_DEMO00000000000000000000"
          },
          "output": {
            "revokedAt": "2026-05-22T12:00:00.000Z"
          },
          "note": "Revoke a mandate."
        }
      ]
    },
    {
      "id": "agents.spiffe.bind",
      "name": "agents_spiffe_bind",
      "description": "Bind a SPIFFE ID to an agent DID so SVIDs (X.509 or JWT) can attest as that agent.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.spiffe.bind"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agentDid": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "spiffeId": {
            "type": "string",
            "pattern": "^spiffe:\\/\\/[A-Za-z0-9.\\-]+(\\/[A-Za-z0-9._\\-/]*)?$"
          },
          "svidType": {
            "type": "string",
            "enum": [
              "x509",
              "jwt"
            ]
          }
        },
        "required": [
          "agentDid",
          "spiffeId",
          "svidType"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agentDid": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "spiffeId": {
            "type": "string",
            "pattern": "^spiffe:\\/\\/[A-Za-z0-9.\\-]+(\\/[A-Za-z0-9._\\-/]*)?$"
          },
          "boundAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "agentDid",
          "spiffeId",
          "boundAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "agents_spiffe_workload_attest",
      "description": "Exchange a SPIFFE SVID for a short-lived DPoP-bound Trustvice session.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.spiffe.workload.attest"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "svid": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "x509"
                  },
                  "certificatesPem": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "certificatesPem"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "jwt"
                  },
                  "token": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "token"
                ]
              }
            ]
          },
          "dpopKey": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "svid",
          "dpopKey"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sessionToken": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "agentDid": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "effectiveScopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "sessionToken",
          "expiresAt",
          "agentDid",
          "effectiveScopes"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "agents_trusted-roots_list",
      "description": "List partner organization DIDs the workspace accepts as A2A federation roots.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.trusted-roots.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "roots": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "did": {
                  "type": "string",
                  "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
                },
                "organizationName": {
                  "type": "string"
                },
                "trustedSince": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "maxAcceptedSafetyLevel": {
                  "type": "string",
                  "enum": [
                    "read",
                    "mutation",
                    "destructive",
                    "billing_impacting"
                  ]
                },
                "allowsFederation": {
                  "type": "boolean"
                }
              },
              "required": [
                "did",
                "organizationName",
                "trustedSince",
                "maxAcceptedSafetyLevel",
                "allowsFederation"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "roots"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "roots": []
          },
          "note": "List trusted A2A roots."
        }
      ]
    },
    {
      "id": "agents.trusted-roots.add",
      "name": "agents_trusted-roots_add",
      "description": "Add a partner organization DID to the trusted-roots list for this workspace.",
      "domain": "agents",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/agents.trusted-roots.add"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "did": {
            "type": "string",
            "pattern": "^did:web:[A-Za-z0-9.\\-_:%]+$"
          },
          "organizationName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "maxAcceptedSafetyLevel": {
            "default": "mutation",
            "type": "string",
            "enum": [
              "read",
              "mutation",
              "destructive",
              "billing_impacting"
            ]
          },
          "allowsFederation": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId",
          "did",
          "organizationName"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "addedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "addedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "trustactor_run",
      "description": "Post a run to a TrustActor spot actor (witness/council/historian/custodian/conscience/…) — observe + decide + anchor it in the workspace hash-chain.",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.run"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "default": "v1",
            "type": "string",
            "enum": [
              "v0",
              "v1",
              "v2"
            ]
          },
          "actor": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32,
            "description": "Actor id, e.g. 'witness'."
          },
          "agentDid": {
            "description": "DID of the agent that produced the run.",
            "type": [
              "string",
              "null"
            ]
          },
          "input": {
            "description": "The agent run payload — opaque; the actor interprets it."
          }
        },
        "required": [
          "actor",
          "input"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "receipt": {},
          "spillToR2": {
            "type": "boolean"
          }
        },
        "required": [
          "status",
          "receipt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "trustactor_runs_list",
      "description": "List the workspace's TrustActor runs (actor IS the surface: witness | historian | custodian | conscience | …).",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.runs.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actor": {
            "type": "string",
            "maxLength": 32
          },
          "version": {
            "type": "string",
            "enum": [
              "v0",
              "v1",
              "v2"
            ]
          },
          "agentDid": {
            "type": "string"
          },
          "limit": {
            "default": 50,
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "runs": {
            "type": "array",
            "items": {}
          },
          "count": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "runs",
          "count"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "actor": "witness",
            "limit": 20
          },
          "output": {
            "runs": [],
            "count": 0
          },
          "note": "Recent witness runs."
        }
      ]
    },
    {
      "id": "trustactor.actors.list",
      "name": "trustactor_actors_list",
      "description": "List the TrustActor roster (optionally for one version) with each actor's min tier.",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.actors.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "enum": [
              "v0",
              "v1",
              "v2"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actors": {
            "type": "array",
            "items": {}
          }
        },
        "required": [
          "actors"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "version": "v1"
          },
          "output": {
            "actors": [
              {
                "id": "witness",
                "version": "v1",
                "minTier": "free"
              }
            ]
          },
          "note": "Discover v1 actors."
        }
      ]
    },
    {
      "id": "trustactor.agents.list",
      "name": "trustactor_agents_list",
      "description": "List the workspace's posting agents (distinct agent DIDs across runs, with counts + last-seen).",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.agents.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agents": {
            "type": "array",
            "items": {}
          },
          "count": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "agents",
          "count"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "agents": [],
            "count": 0
          },
          "note": "Who's posting runs."
        }
      ]
    },
    {
      "id": "trustactor.runs.verify-chain",
      "name": "trustactor_runs_verify-chain",
      "description": "Verify the integrity of the workspace's run hash-chain from a starting sequence.",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.runs.verify-chain"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "from": {
            "default": 1,
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          }
        },
        "required": [
          "ok"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "from": 1
          },
          "output": {
            "ok": true
          },
          "note": "Prove the chain is intact."
        }
      ]
    },
    {
      "id": "trustactor.runs.diff",
      "name": "trustactor_runs_diff",
      "description": "Compare two TrustActor runs (classification + payload diff).",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.runs.diff"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "a": {
            "type": "string",
            "minLength": 1
          },
          "b": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "a",
          "b"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          }
        },
        "required": [
          "ok"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "a": "run_abc",
            "b": "run_def"
          },
          "output": {
            "ok": true
          },
          "note": "Diff two runs."
        }
      ]
    },
    {
      "id": "trustactor.runs.replay",
      "name": "trustactor_runs_replay",
      "description": "Reconstruct + re-verify a single run from its chain entry.",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.runs.replay"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "minLength": 1
          },
          "expectInputHash": {
            "type": "string"
          }
        },
        "required": [
          "runId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "found": {
            "type": "boolean"
          }
        },
        "required": [
          "ok",
          "found"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "runId": "run_abc"
          },
          "output": {
            "ok": true,
            "found": true
          },
          "note": "Replay a run."
        }
      ]
    },
    {
      "id": "trustactor.liability.blame-graph",
      "name": "trustactor_liability_blame-graph",
      "description": "Apportion fault across a multi-agent failure from a signed causal chain.",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.liability.blame-graph"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "incidentRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "nodes": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "nodeId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "actorDid": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 512
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "action": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 1000
                },
                "inputsFrom": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128
                  }
                },
                "actedCorrectly": {
                  "type": "boolean"
                },
                "evidenceRefs": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                },
                "causalWeight": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                }
              },
              "required": [
                "nodeId",
                "actorDid",
                "action",
                "actedCorrectly",
                "causalWeight"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "incidentRef",
          "nodes"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "graph": {
            "type": "object",
            "properties": {
              "incidentRef": {
                "type": "string"
              },
              "computedAt": {
                "type": "string"
              },
              "apportioned": {
                "type": "array",
                "items": {}
              },
              "unattributed": {
                "type": "object",
                "properties": {
                  "share": {
                    "type": "number"
                  },
                  "reasons": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "share",
                  "reasons"
                ],
                "additionalProperties": {}
              },
              "exonerated": {
                "type": "array",
                "items": {}
              },
              "fullyEvidenced": {
                "type": "boolean"
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "incidentRef",
              "computedAt",
              "apportioned",
              "unattributed",
              "exonerated",
              "fullyEvidenced",
              "notes"
            ],
            "additionalProperties": {}
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "graph",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "trustactor_liability_indemnity-feed",
      "description": "Build the underwriting evidence feed for one agent — observed experience, stated credibility, and no pricing.",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.liability.indemnity-feed"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agentRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "window": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "to": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "runs": {
                "type": "number",
                "minimum": 0
              }
            },
            "required": [
              "from",
              "to",
              "runs"
            ],
            "additionalProperties": false
          },
          "experience": {
            "type": "object",
            "properties": {
              "incidents": {
                "type": "number",
                "minimum": 0
              },
              "mandateViolations": {
                "type": "number",
                "minimum": 0
              },
              "breakerTrips": {
                "type": "number",
                "minimum": 0
              },
              "oversightAdherence": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "apportionedFaultShares": {
                "type": "array",
                "items": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                }
              }
            },
            "required": [
              "incidents",
              "mandateViolations",
              "breakerTrips",
              "oversightAdherence"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "agentRef",
          "window",
          "experience"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "feed": {
            "type": "object",
            "properties": {
              "agentRef": {
                "type": "string"
              },
              "window": {},
              "credibility": {
                "type": "number"
              },
              "credibilityBasis": {
                "type": "object",
                "properties": {
                  "nFull": {
                    "type": "number"
                  },
                  "floor": {
                    "type": "number"
                  }
                },
                "required": [
                  "nFull",
                  "floor"
                ],
                "additionalProperties": {}
              },
              "belowFloor": {
                "type": "boolean"
              },
              "entries": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string"
                    },
                    "ratePerThousand": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "count": {
                      "type": "number"
                    },
                    "note": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "label",
                    "ratePerThousand",
                    "count",
                    "note"
                  ],
                  "additionalProperties": {}
                }
              },
              "fault": {
                "type": "object",
                "properties": {
                  "totalShare": {
                    "type": "number"
                  },
                  "findings": {
                    "type": "number"
                  },
                  "note": {
                    "type": "string"
                  }
                },
                "required": [
                  "totalShare",
                  "findings",
                  "note"
                ],
                "additionalProperties": {}
              },
              "priced": {
                "type": "boolean",
                "const": false
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "agentRef",
              "window",
              "credibility",
              "credibilityBasis",
              "belowFloor",
              "entries",
              "fault",
              "priced",
              "notes"
            ],
            "additionalProperties": {}
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "feed",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "trustactor_actor-score",
      "description": "Compute an agent's Actor Score from its signed runs, with every deduction naming the run that caused it.",
      "domain": "trustactor",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/trustactor.actor-score"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agentRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "runs": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "runId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "signed": {
                  "type": "boolean"
                },
                "safetyLevel": {
                  "type": "string",
                  "enum": [
                    "read",
                    "mutation",
                    "billing_impacting",
                    "destructive"
                  ]
                },
                "oversightHonoured": {
                  "type": "boolean"
                },
                "mandateViolation": {
                  "type": "boolean"
                },
                "breakerTripped": {
                  "type": "boolean"
                },
                "incident": {
                  "type": "boolean"
                }
              },
              "required": [
                "runId",
                "signed",
                "safetyLevel",
                "oversightHonoured",
                "mandateViolation",
                "breakerTripped",
                "incident"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "agentRef",
          "runs"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "score": {
            "type": "object",
            "properties": {
              "agentRef": {
                "type": "string"
              },
              "score": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "band": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "exemplary",
                      "sound",
                      "watch",
                      "at-risk"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "runsScored": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "runsExcludedUnsigned": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "tiers": {
                "type": "array",
                "items": {}
              },
              "unprovenTiers": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "faultingRunIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "computedAt": {
                "type": "string"
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "agentRef",
              "score",
              "band",
              "runsScored",
              "runsExcludedUnsigned",
              "tiers",
              "unprovenTiers",
              "faultingRunIds",
              "computedAt",
              "notes"
            ],
            "additionalProperties": {}
          },
          "mint": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "actor-score"
                  },
                  "source": {}
                },
                "required": [
                  "kind",
                  "source"
                ],
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ]
          },
          "notMintableReason": {
            "type": [
              "string",
              "null"
            ]
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "score",
          "mint",
          "notMintableReason",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "nexus_catalog_get",
      "description": "Get the Nexus product catalogue (the available primitives + tiers for the workspace).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.catalog.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "nexus_usage_get",
      "description": "Get the workspace's Nexus usage + quota for the current period.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.usage.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "nexus_oracle_agent_get",
      "description": "Look up the Nexus Oracle reputation for a specific agent (by id / DID).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.oracle.agent.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agentId": {
            "type": "string",
            "minLength": 1,
            "description": "Agent id or DID to score."
          }
        },
        "required": [
          "agentId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "nexus_oracle_price",
      "description": "Price an agent action by risk, returning modulation, escrow and confidence.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.oracle.price"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actionDescription": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "agentId": {
            "type": "string",
            "maxLength": 200
          }
        },
        "required": [
          "actionDescription"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "nexus_oracle_policy_set",
      "description": "Set the workspace's Oracle base price and risk multiplier.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.oracle.policy.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "basePriceCents": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "riskMultiplierBps": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000
          }
        },
        "required": [
          "basePriceCents",
          "riskMultiplierBps"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "basePriceCents": 250,
            "riskMultiplierBps": 3000
          },
          "output": {
            "policy": {
              "basePriceCents": 250,
              "riskMultiplierBps": 3000
            }
          },
          "note": "Set the pricing policy."
        }
      ]
    },
    {
      "id": "nexus.oracle.calibration.feedback",
      "name": "nexus_oracle_calibration_feedback",
      "description": "Report whether a price Oracle quoted turned out accurate.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.oracle.calibration.feedback"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "pricingId": {
            "type": "string",
            "minLength": 1
          },
          "observedOutcome": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "note": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "pricingId",
          "observedOutcome"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "pricingId": "prc_1",
            "observedOutcome": "accurate"
          },
          "output": {
            "id": "cal_1"
          },
          "note": "Close the calibration loop."
        }
      ]
    },
    {
      "id": "nexus.oracle.model.pin",
      "name": "nexus_oracle_model_pin",
      "description": "Pin the Oracle pricing model version for the workspace.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.oracle.model.pin"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "modelId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "modelId": "risk-keyword-v1-strict"
          },
          "output": {
            "pinnedModelId": "risk-keyword-v1-strict"
          },
          "note": "Pin a model."
        }
      ]
    },
    {
      "id": "nexus.oracle.source.add",
      "name": "nexus_oracle_source_add",
      "description": "Record an external reputation source for Oracle.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.oracle.source.add"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "kind": {
            "type": "string",
            "maxLength": 120
          }
        },
        "required": [
          "name",
          "url"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Partner reputation",
            "url": "https://example.test/rep"
          },
          "output": {
            "id": "src_1"
          },
          "note": "Record a source."
        }
      ]
    },
    {
      "id": "nexus.oracle.graphql",
      "name": "nexus_oracle_graphql",
      "description": "Query the Oracle read surface (policy, pricings, reputation).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.oracle.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ pricings { id } }"
          },
          "output": {
            "data": {
              "pricings": []
            }
          },
          "note": "Query Oracle."
        }
      ]
    },
    {
      "id": "nexus.charter.publish",
      "name": "nexus_charter_publish",
      "description": "Publish a charter version for a publisher.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.charter.publish"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "publisher": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "rules": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "publisher"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "publisher": "acme",
            "rules": {
              "retention": "30d"
            }
          },
          "output": {
            "id": "cht_1",
            "version": 1
          },
          "note": "Publish terms."
        }
      ]
    },
    {
      "id": "nexus.charter.validate",
      "name": "nexus_charter_validate",
      "description": "Validate a set of charter rules without publishing them.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.charter.validate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "rules": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "rules"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "rules": {
              "retention": "30d"
            }
          },
          "output": {
            "valid": true
          },
          "note": "Validate rules."
        }
      ]
    },
    {
      "id": "nexus.charter.audit.request",
      "name": "nexus_charter_audit_request",
      "description": "Request an audit of a publisher's charter.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.charter.audit.request"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "publisher": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "scope": {
            "type": "string",
            "maxLength": 200
          }
        },
        "required": [
          "publisher"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "publisher": "acme",
            "scope": "terms"
          },
          "output": {
            "id": "aud_1",
            "status": "requested"
          },
          "note": "Request an audit."
        }
      ]
    },
    {
      "id": "nexus.charter.graphql",
      "name": "nexus_charter_graphql",
      "description": "Query the Charter read surface (charters, audits).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.charter.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ charters { id } }"
          },
          "output": {
            "data": {
              "charters": []
            }
          },
          "note": "Query Charter."
        }
      ]
    },
    {
      "id": "nexus.compass.verify",
      "name": "nexus_compass_verify",
      "description": "Verify that a proposed action matches the user's stated request.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.compass.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "userRequest": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          },
          "proposedAction": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "userRequest"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "nexus_compass_verify_explain",
      "description": "Explain a stored Compass verification.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.compass.verify.explain"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "verificationId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "verificationId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "verificationId": "ver_1"
          },
          "output": {
            "factors": []
          },
          "note": "Explain a verdict."
        }
      ]
    },
    {
      "id": "nexus.compass.policy.set",
      "name": "nexus_compass_policy_set",
      "description": "Set the Compass review and deny thresholds.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.compass.policy.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "reviewThresholdBps": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000
          },
          "denyThresholdBps": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000
          },
          "autoDenyOnRisk": {
            "type": "boolean"
          }
        },
        "required": [
          "reviewThresholdBps",
          "denyThresholdBps"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "reviewThresholdBps": 7000,
            "denyThresholdBps": 8500
          },
          "output": {
            "policy": {
              "reviewThresholdBps": 7000
            }
          },
          "note": "Set thresholds."
        }
      ]
    },
    {
      "id": "nexus.compass.hitl.escalate",
      "name": "nexus_compass_hitl_escalate",
      "description": "Escalate a verification to a human reviewer.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.compass.hitl.escalate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "verificationId": {
            "type": "string",
            "minLength": 1
          },
          "reason": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "verificationId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "verificationId": "ver_1",
            "reason": "ambiguous intent"
          },
          "output": {
            "id": "esc_1"
          },
          "note": "Escalate to a human."
        }
      ]
    },
    {
      "id": "nexus.compass.model.pin",
      "name": "nexus_compass_model_pin",
      "description": "Pin the Compass matching model version.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.compass.model.pin"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "modelId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "modelId": "intent-align-v1"
          },
          "output": {
            "pinnedModelId": "intent-align-v1"
          },
          "note": "Pin a model."
        }
      ]
    },
    {
      "id": "nexus.compass.graphql",
      "name": "nexus_compass_graphql",
      "description": "Query the Compass read surface (verifications, policy, escalations).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.compass.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ verifications { id } }"
          },
          "output": {
            "data": {
              "verifications": []
            }
          },
          "note": "Query Compass."
        }
      ]
    },
    {
      "id": "nexus.ledger.verify",
      "name": "nexus_ledger_verify",
      "description": "Verify an action claim and mint its receipt.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.ledger.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actionClaim": {
            "type": "object",
            "properties": {
              "subject": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              "actionId": {
                "type": "string",
                "maxLength": 200
              },
              "evidence": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": [
              "subject"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "actionClaim"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "nexus_ledger_verifier_create",
      "description": "Register a custom Ledger verifier.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.ledger.verifier.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "definition": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Invoice checks",
            "definition": {
              "requires": [
                "subject"
              ]
            }
          },
          "output": {
            "verifierId": "lvf_1"
          },
          "note": "Add a verifier."
        }
      ]
    },
    {
      "id": "nexus.ledger.locker.connect",
      "name": "nexus_ledger_locker_connect",
      "description": "Connect an external receipt locker.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.ledger.locker.connect"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "endpoint": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "name",
          "endpoint"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Archive",
            "endpoint": "https://example.test/locker"
          },
          "output": {
            "id": "conn_1"
          },
          "note": "Connect a locker."
        }
      ]
    },
    {
      "id": "nexus.ledger.graphql",
      "name": "nexus_ledger_graphql",
      "description": "Query the Ledger read surface (receipts).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.ledger.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ receipts { id } }"
          },
          "output": {
            "data": {
              "receipts": []
            }
          },
          "note": "Query Ledger."
        }
      ]
    },
    {
      "id": "nexus.lattice.delegation.publish",
      "name": "nexus_lattice_delegation_publish",
      "description": "Publish a delegation from one agent to another.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.lattice.delegation.publish"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sourceAgent": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400
          },
          "targetAgent": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400
          },
          "actionClass": {
            "type": "string",
            "maxLength": 200
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expiration": {
            "type": "string"
          }
        },
        "required": [
          "sourceAgent",
          "targetAgent"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "nexus_lattice_path_find",
      "description": "Find a delegation path between two agents.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.lattice.path.find"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sourceAgent": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400
          },
          "targetAgent": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400
          }
        },
        "required": [
          "sourceAgent",
          "targetAgent"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "nexus_lattice_path_verify",
      "description": "Verify that a specific delegation path is valid.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.lattice.path.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "path": {
            "minItems": 2,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            }
          }
        },
        "required": [
          "path"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "path": [
              "did:tv:a",
              "did:tv:b"
            ]
          },
          "output": {
            "valid": true
          },
          "note": "Verify a path."
        }
      ]
    },
    {
      "id": "nexus.lattice.federation.node.add",
      "name": "nexus_lattice_federation_node_add",
      "description": "Add a federation peer to the delegation graph.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.lattice.federation.node.add"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "endpoint": {
            "type": "string",
            "format": "uri"
          },
          "did": {
            "type": "string",
            "maxLength": 400
          }
        },
        "required": [
          "name",
          "endpoint"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Partner",
            "endpoint": "https://example.test/lattice"
          },
          "output": {
            "id": "peer_1"
          },
          "note": "Add a peer."
        }
      ]
    },
    {
      "id": "nexus.lattice.graphql",
      "name": "nexus_lattice_graphql",
      "description": "Query the Lattice read surface (delegations, peers).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.lattice.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ delegations { id } }"
          },
          "output": {
            "data": {
              "delegations": []
            }
          },
          "note": "Query Lattice."
        }
      ]
    },
    {
      "id": "nexus.sentinel.ingest",
      "name": "nexus_sentinel_ingest",
      "description": "Submit an agent request for Sentinel inspection.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.sentinel.ingest"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "agentId": {
            "type": "string",
            "maxLength": 200
          },
          "payload": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "destination"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "nexus_sentinel_policy_create",
      "description": "Create a Sentinel traffic policy.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.sentinel.policy.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "pattern": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Block exfil",
            "pattern": "example.test"
          },
          "output": {
            "id": "spol_1"
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "nexus.sentinel.classifier.create",
      "name": "nexus_sentinel_classifier_create",
      "description": "Register a custom Sentinel classifier.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.sentinel.classifier.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "definition": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "PII",
            "definition": {
              "match": "ssn"
            }
          },
          "output": {
            "classifierId": "cls_1"
          },
          "note": "Add a classifier."
        }
      ]
    },
    {
      "id": "nexus.sentinel.graphql",
      "name": "nexus_sentinel_graphql",
      "description": "Query the Sentinel read surface (events, incidents).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.sentinel.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ events { id } }"
          },
          "output": {
            "data": {
              "events": []
            }
          },
          "note": "Query Sentinel."
        }
      ]
    },
    {
      "id": "nexus.tribunal.dispute.file",
      "name": "nexus_tribunal_dispute_file",
      "description": "File a dispute against another agent.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.tribunal.dispute.file"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "opposingAgent": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400
          },
          "transactionReference": {
            "type": "string",
            "maxLength": 200
          },
          "claim": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "opposingAgent"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "nexus_tribunal_adjudicator_connect",
      "description": "Connect an adjudicator pool.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.tribunal.adjudicator.connect"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "endpoint": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "name",
          "endpoint"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Panel",
            "endpoint": "https://example.test/adjudicators"
          },
          "output": {
            "id": "adj_1"
          },
          "note": "Connect a pool."
        }
      ]
    },
    {
      "id": "nexus.tribunal.legal-framework.set",
      "name": "nexus_tribunal_legal-framework_set",
      "description": "Set the workspace's governing legal framework.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.tribunal.legal-framework.set"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "legalFramework": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "legalFramework"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "legalFramework": "ny-arbitration"
          },
          "output": {
            "legalFramework": "ny-arbitration"
          },
          "note": "Set the framework."
        }
      ]
    },
    {
      "id": "nexus.tribunal.graphql",
      "name": "nexus_tribunal_graphql",
      "description": "Query the Tribunal read surface (disputes, precedents).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.tribunal.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ disputes { id } }"
          },
          "output": {
            "data": {
              "disputes": []
            }
          },
          "note": "Query Tribunal."
        }
      ]
    },
    {
      "id": "nexus.keyring.credential.mint",
      "name": "nexus_keyring_credential_mint",
      "description": "Mint a scoped, time-boxed credential for a target system.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.keyring.credential.mint"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "targetSystem": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "intendedAction": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "intendedScope": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "ttl": {
            "type": "integer",
            "minimum": 60,
            "maximum": 86400
          }
        },
        "required": [
          "targetSystem",
          "intendedAction"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "targetSystem": "billing",
            "intendedAction": "read",
            "ttl": 3600
          },
          "output": {
            "credentialId": "krc_1"
          },
          "note": "Mint a credential."
        }
      ]
    },
    {
      "id": "nexus.keyring.policy.create",
      "name": "nexus_keyring_policy_create",
      "description": "Create a Keyring issuance policy.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.keyring.policy.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "kind": {
            "type": "string",
            "maxLength": 120
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Read-only",
            "kind": "allow"
          },
          "output": {
            "id": "kpol_1"
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "nexus.keyring.vault.reference.add",
      "name": "nexus_keyring_vault_reference_add",
      "description": "Record a POINTER into your own vault. Never the secret itself.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.keyring.vault.reference.add"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "ref": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "kind": {
            "type": "string",
            "maxLength": 120
          }
        },
        "required": [
          "name",
          "ref"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Billing key",
            "ref": "vault://acme/billing"
          },
          "output": {
            "masterCredentialId": "kv_1"
          },
          "note": "Record a reference."
        }
      ]
    },
    {
      "id": "nexus.keyring.graphql",
      "name": "nexus_keyring_graphql",
      "description": "Query the Keyring read surface (credentials, policies).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.keyring.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ credentials { id } }"
          },
          "output": {
            "data": {
              "credentials": []
            }
          },
          "note": "Query Keyring."
        }
      ]
    },
    {
      "id": "nexus.imprint.stamp.issue",
      "name": "nexus_imprint_stamp_issue",
      "description": "Issue a provenance stamp over a payload.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.imprint.stamp.issue"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "payload": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "license": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "payload"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "payload": {
              "text": "hello"
            },
            "license": {
              "policyId": "ipol_1"
            }
          },
          "output": {
            "stampId": "stm_1"
          },
          "note": "Issue a stamp."
        }
      ]
    },
    {
      "id": "nexus.imprint.stamp.verify",
      "name": "nexus_imprint_stamp_verify",
      "description": "Verify a payload against its Imprint stamp.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.imprint.stamp.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "payload": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "payload"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "payload": {
              "text": "hello"
            }
          },
          "output": {
            "valid": true
          },
          "note": "Verify a stamp."
        }
      ]
    },
    {
      "id": "nexus.imprint.policy.create",
      "name": "nexus_imprint_policy_create",
      "description": "Create an Imprint licensing policy.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.imprint.policy.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "terms": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Attribution",
            "terms": {
              "reuse": "attribution"
            }
          },
          "output": {
            "policyId": "ipol_1"
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "nexus.imprint.runtime.register",
      "name": "nexus_imprint_runtime_register",
      "description": "Register a runtime that may issue Imprint stamps.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.imprint.runtime.register"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "endpoint": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "name",
          "endpoint"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Editor",
            "endpoint": "https://example.test/runtime"
          },
          "output": {
            "id": "irt_1"
          },
          "note": "Register a runtime."
        }
      ]
    },
    {
      "id": "nexus.imprint.graphql",
      "name": "nexus_imprint_graphql",
      "description": "Query the Imprint read surface (stamps, policies).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.imprint.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ stamps { id } }"
          },
          "output": {
            "data": {
              "stamps": []
            }
          },
          "note": "Query Imprint."
        }
      ]
    },
    {
      "id": "nexus.underwriter.premium.quote",
      "name": "nexus_underwriter_premium_quote",
      "description": "Quote a premium for covering an action. A price, not a commitment.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.underwriter.premium.quote"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "coverageCents": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "action": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "coverageCents": 10000,
            "action": {
              "kind": "transfer"
            }
          },
          "output": {
            "premiumCents": 200
          },
          "note": "Quote a premium."
        }
      ]
    },
    {
      "id": "nexus.underwriter.coverage.bind",
      "name": "nexus_underwriter_coverage_bind",
      "description": "Bind coverage against a policy — this creates a warranty.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.underwriter.coverage.bind"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "policyId": {
            "type": "string",
            "minLength": 1
          },
          "transactionId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "coverageCents": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "policyId",
          "transactionId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "policyId": "upol_1",
            "transactionId": "txn_1",
            "coverageCents": 10000
          },
          "output": {
            "warrantyId": "wnt_1"
          },
          "note": "Bind coverage."
        }
      ]
    },
    {
      "id": "nexus.underwriter.claim.file",
      "name": "nexus_underwriter_claim_file",
      "description": "File a claim against a bound warranty.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.underwriter.claim.file"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "warrantyId": {
            "type": "string",
            "minLength": 1
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          }
        },
        "required": [
          "warrantyId",
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "warrantyId": "wnt_1",
            "reason": "undelivered"
          },
          "output": {
            "claimId": "clm_1"
          },
          "note": "File a claim."
        }
      ]
    },
    {
      "id": "nexus.underwriter.policy.create",
      "name": "nexus_underwriter_policy_create",
      "description": "Create a coverage policy with its rate and ceiling.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.underwriter.policy.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "baseRateBps": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "maxCoverageCents": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Standard",
            "baseRateBps": 200,
            "maxCoverageCents": 500000
          },
          "output": {
            "policyId": "upol_1"
          },
          "note": "Create a policy."
        }
      ]
    },
    {
      "id": "nexus.underwriter.backend.connect",
      "name": "nexus_underwriter_backend_connect",
      "description": "Connect a reinsurance backend.",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.underwriter.backend.connect"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "endpoint": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "name",
          "endpoint"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Reinsurer",
            "endpoint": "https://example.test/reinsurance"
          },
          "output": {
            "id": "ubk_1"
          },
          "note": "Connect a backend."
        }
      ]
    },
    {
      "id": "nexus.underwriter.graphql",
      "name": "nexus_underwriter_graphql",
      "description": "Query the Underwriter read surface (warranties, claims).",
      "domain": "nexus",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/nexus.underwriter.graphql"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "query": "{ claims { id } }"
          },
          "output": {
            "data": {
              "claims": []
            }
          },
          "note": "Query Underwriter."
        }
      ]
    },
    {
      "id": "vector.registry.search",
      "name": "vector_registry_search",
      "description": "Search the public Vector agent registry.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.registry.search"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "q": {
            "description": "Free-text query.",
            "type": "string"
          },
          "limit": {
            "default": 20,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "vector_registry_entry_get",
      "description": "Get a single Vector registry entry by id.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.registry.entry.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "vector_pricing_get",
      "description": "Look up Vector public pricing.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.pricing.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "vector_mcp_servers_list",
      "description": "List the MCP servers in the public Vector registry.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.mcp.servers.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "vector_catalog_get",
      "description": "Get the workspace's Vector product catalogue.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.catalog.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "vector_registry_register",
      "description": "Register an agent, tool, MCP server or service in the Vector registry.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.registry.register"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "agent",
              "tool",
              "mcp_server",
              "service"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "description": {
            "type": "string",
            "maxLength": 2000
          },
          "endpoint": {
            "type": "string",
            "format": "uri"
          },
          "visibility": {
            "default": "private",
            "type": "string",
            "enum": [
              "private",
              "public"
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "kind",
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "vector_persona_create",
      "description": "Create a Vector persona — a named attribute + scope set an agent can act under.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.persona.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "attributes": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "Auditor",
            "attributes": {
              "role": "auditor"
            },
            "scopes": [
              "read"
            ]
          },
          "output": {
            "id": "per_1",
            "name": "Auditor"
          },
          "note": "Create a persona."
        }
      ]
    },
    {
      "id": "vector.persona.select",
      "name": "vector_persona_select",
      "description": "Resolve a persona by id for the calling agent.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.persona.select"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "personaId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "personaId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "personaId": "per_1"
          },
          "output": {
            "persona": {
              "id": "per_1",
              "name": "Auditor"
            }
          },
          "note": "Select a persona."
        }
      ]
    },
    {
      "id": "vector.policy.create",
      "name": "vector_policy_create",
      "description": "Create a Vector egress policy.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.policy.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "effect": {
            "default": "deny_by_default",
            "type": "string",
            "enum": [
              "deny_by_default",
              "allow_by_default"
            ]
          },
          "rules": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "vector_policy_evaluate",
      "description": "Ask whether a destination is permitted by the workspace's Vector policies.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.policy.evaluate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "destination"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "destination": "https://example.test/agent"
          },
          "output": {
            "allowed": false,
            "reason": "deny_by_default"
          },
          "note": "Evaluate a destination."
        }
      ]
    },
    {
      "id": "vector.vault.credential.create",
      "name": "vector_vault_credential_create",
      "description": "Record a credential REFERENCE in the Vector vault. Never the secret itself.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.vault.credential.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "credType": {
            "default": "api_key",
            "type": "string",
            "enum": [
              "api_key",
              "oauth",
              "reference"
            ]
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "vector_conduit_connection_create",
      "description": "Create a Vector conduit connection to an upstream provider.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.conduit.connection.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "provider": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "authMode": {
            "default": "byo",
            "type": "string",
            "enum": [
              "byo",
              "oauth",
              "none"
            ]
          },
          "config": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "name",
          "provider"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "vector_cartograph_mapping_create",
      "description": "Create a Cartograph field mapping between two schemas.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.cartograph.mapping.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "sourceSchema": {
            "default": "",
            "type": "string",
            "maxLength": 200
          },
          "targetSchema": {
            "default": "",
            "type": "string",
            "maxLength": 200
          },
          "fieldMap": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "vector_cartograph_translate",
      "description": "Translate one record through a Cartograph mapping.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.cartograph.translate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "mappingId": {
            "type": "string",
            "minLength": 1
          },
          "payload": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "mappingId",
          "payload"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "mappingId": "map_1",
            "payload": {
              "account": "A-1"
            }
          },
          "output": {
            "translated": {
              "customer_id": "A-1"
            }
          },
          "note": "Translate a record."
        }
      ]
    },
    {
      "id": "vector.cartograph.batch",
      "name": "vector_cartograph_batch",
      "description": "Translate many records through a Cartograph mapping in one call.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.cartograph.batch"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "mappingId": {
            "type": "string",
            "minLength": 1
          },
          "records": {
            "minItems": 1,
            "maxItems": 5000,
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "mappingId",
          "records"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "vector_compliance_declare",
      "description": "Declare a compliance framework and its constraints for the workspace.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.compliance.declare"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "framework": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "constraints": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "framework"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "framework": "gdpr",
            "constraints": {
              "residency": "eu"
            }
          },
          "output": {
            "id": "dec_1",
            "framework": "gdpr"
          },
          "note": "Declare GDPR."
        }
      ]
    },
    {
      "id": "vector.compliance.check",
      "name": "vector_compliance_check",
      "description": "Check a region against a declared compliance framework.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.compliance.check"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "framework": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "region": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          }
        },
        "required": [
          "framework",
          "region"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "framework": "gdpr",
            "region": "eu"
          },
          "output": {
            "compliant": true
          },
          "note": "Check a region."
        }
      ]
    },
    {
      "id": "vector.routing.route.create",
      "name": "vector_routing_route_create",
      "description": "Create a Vector route — an intent and the candidates that can serve it.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.routing.route.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "intent": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "strategy": {
            "default": "lowest_cost",
            "type": "string",
            "enum": [
              "lowest_cost",
              "lowest_latency",
              "round_robin"
            ]
          },
          "candidates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "target": {
                  "type": "string",
                  "minLength": 1
                },
                "costUm": {
                  "type": "number"
                }
              },
              "required": [
                "target"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "intent"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "vector_routing_resolve",
      "description": "Resolve an intent to the target Vector selects for it.",
      "domain": "vector",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/vector.routing.resolve"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "intent": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "intent"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "intent": "summarise"
          },
          "output": {
            "selected": {
              "target": "https://example.test/a"
            }
          },
          "note": "Resolve an intent."
        }
      ]
    },
    {
      "id": "pricevice.attest.price",
      "name": "pricevice_attest_price",
      "description": "Issue a Price Provenance Receipt (PPR) for a pricing decision — signed, time-anchored, input-committed, policy-conformance-checked.",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.attest.price"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "modelLabel": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "modelSha256": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "policyId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "inputCommitment": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "inputs": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            }
          },
          "kind": {
            "default": "price",
            "type": "string",
            "enum": [
              "price",
              "discount",
              "rebate",
              "quote"
            ]
          },
          "amountMinor": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "currency": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3
          },
          "unit": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ]
          },
          "domain": {
            "type": "string",
            "enum": [
              "saas",
              "goods",
              "services",
              "real_estate_sale",
              "real_estate_rent",
              "other"
            ]
          },
          "reference": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "buyerRef": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "workspaceId",
          "modelLabel",
          "amountMinor",
          "currency",
          "domain",
          "reference"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipt": {
            "type": "object",
            "properties": {
              "version": {
                "type": "string",
                "const": "1"
              },
              "receiptId": {
                "type": "string",
                "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
              },
              "issuedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "type": {
                "type": "string",
                "const": "price.attest"
              },
              "signatureKeyId": {
                "type": "string"
              },
              "signature": {
                "type": "string"
              },
              "body": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": [
              "version",
              "receiptId",
              "issuedAt",
              "type",
              "signatureKeyId",
              "signature",
              "body"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "receipt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "pricevice_receipt_list",
      "description": "List Price Provenance Receipts for a workspace (filter by domain or conformance verdict).",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.receipt.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "domain": {
            "type": "string",
            "enum": [
              "saas",
              "goods",
              "services",
              "real_estate_sale",
              "real_estate_rent",
              "other"
            ]
          },
          "conformance": {
            "type": "string",
            "enum": [
              "within",
              "off_policy",
              "unchecked"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "version": {
                  "type": "string",
                  "const": "1"
                },
                "receiptId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "type": {
                  "type": "string",
                  "const": "price.attest"
                },
                "signatureKeyId": {
                  "type": "string"
                },
                "signature": {
                  "type": "string"
                },
                "body": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              },
              "required": [
                "version",
                "receiptId",
                "issuedAt",
                "type",
                "signatureKeyId",
                "signature",
                "body"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "receipts",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "domain": "saas"
          },
          "output": {
            "receipts": [],
            "nextCursor": null
          },
          "note": "List PPRs."
        }
      ]
    },
    {
      "id": "pricevice.receipt.get",
      "name": "pricevice_receipt_get",
      "description": "Get a single Price Provenance Receipt with its full seven-component body.",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.receipt.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "receiptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "receiptId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipt": {
            "type": "object",
            "properties": {
              "version": {
                "type": "string",
                "const": "1"
              },
              "receiptId": {
                "type": "string",
                "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
              },
              "issuedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "type": {
                "type": "string",
                "const": "price.attest"
              },
              "signatureKeyId": {
                "type": "string"
              },
              "signature": {
                "type": "string"
              },
              "body": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": [
              "version",
              "receiptId",
              "issuedAt",
              "type",
              "signatureKeyId",
              "signature",
              "body"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "receipt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "pricevice_receipt_verify",
      "description": "Verify a PPR's Ed25519 signature against the published Pricevice public keys. Public — no account required. Cannot be disabled.",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.receipt.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipt": {
            "type": "object",
            "properties": {
              "version": {
                "type": "string",
                "const": "1"
              },
              "receiptId": {
                "type": "string",
                "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
              },
              "issuedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "type": {
                "type": "string",
                "const": "price.attest"
              },
              "signatureKeyId": {
                "type": "string"
              },
              "signature": {
                "type": "string"
              },
              "body": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": [
              "version",
              "receiptId",
              "issuedAt",
              "type",
              "signatureKeyId",
              "signature",
              "body"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "receipt"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": true
              },
              "signedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "signatureKeyId": {
                "type": "string"
              },
              "publishedKeyUrl": {
                "type": "string",
                "format": "uri"
              }
            },
            "required": [
              "ok",
              "signedAt",
              "signatureKeyId",
              "publishedKeyUrl"
            ],
            "additionalProperties": {}
          },
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": false
              },
              "reason": {
                "type": "string",
                "enum": [
                  "bad_signature",
                  "unknown_key",
                  "malformed_envelope"
                ]
              },
              "publishedKeyUrl": {
                "type": "string",
                "format": "uri"
              }
            },
            "required": [
              "ok",
              "reason",
              "publishedKeyUrl"
            ],
            "additionalProperties": {}
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "pricevice_policy_add",
      "description": "Create a pricing policy — the declared bounds + Level-0 excluded-attributes list PPRs are conformance-checked against.",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.policy.add"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "floorMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "ceilingMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "currency": {
            "default": "USD",
            "type": "string",
            "minLength": 3,
            "maxLength": 3
          },
          "excludedAttributes": {
            "default": [],
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 100
            }
          }
        },
        "required": [
          "workspaceId",
          "label"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "policy": {
            "type": "object",
            "properties": {
              "policyId": {
                "type": "string",
                "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "label": {
                "type": "string"
              },
              "version": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "floorMinor": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ceilingMinor": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "currency": {
                "type": "string"
              },
              "excludedAttributes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "isActive": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              }
            },
            "required": [
              "policyId",
              "workspaceId",
              "label",
              "version",
              "floorMinor",
              "ceilingMinor",
              "currency",
              "excludedAttributes",
              "isActive",
              "createdAt"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "policy"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "pricevice_policy_list",
      "description": "List pricing policies in a workspace.",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.policy.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "activeOnly": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "policies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "policyId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "label": {
                  "type": "string"
                },
                "version": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "floorMinor": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "ceilingMinor": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "currency": {
                  "type": "string"
                },
                "excludedAttributes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "isActive": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                }
              },
              "required": [
                "policyId",
                "workspaceId",
                "label",
                "version",
                "floorMinor",
                "ceilingMinor",
                "currency",
                "excludedAttributes",
                "isActive",
                "createdAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "policies",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "policies": [],
            "nextCursor": null
          },
          "note": "List policies."
        }
      ]
    },
    {
      "id": "pricevice.policy.get",
      "name": "pricevice_policy_get",
      "description": "Get one pricing policy.",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.policy.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "policyId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "policyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "policy": {
            "type": "object",
            "properties": {
              "policyId": {
                "type": "string",
                "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "label": {
                "type": "string"
              },
              "version": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "floorMinor": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ceilingMinor": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "currency": {
                "type": "string"
              },
              "excludedAttributes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "isActive": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              }
            },
            "required": [
              "policyId",
              "workspaceId",
              "label",
              "version",
              "floorMinor",
              "ceilingMinor",
              "currency",
              "excludedAttributes",
              "isActive",
              "createdAt"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "policy"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "pricevice_policy_update",
      "description": "Update a pricing policy (bumps the version; receipts pin the version they were checked against — history never rewrites).",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.policy.update"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "policyId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "floorMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "ceilingMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "excludedAttributes": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 100
            }
          }
        },
        "required": [
          "workspaceId",
          "policyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "policyId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "label": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "floorMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "ceilingMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "currency": {
            "type": "string"
          },
          "excludedAttributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isActive": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "policyId",
          "workspaceId",
          "label",
          "version",
          "floorMinor",
          "ceilingMinor",
          "currency",
          "excludedAttributes",
          "isActive",
          "createdAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "pricevice_policy_remove",
      "description": "Deactivate a pricing policy (soft — issued receipts keep their pinned policy version).",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.policy.remove"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "policyId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "policyId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deactivated": {
            "type": "boolean"
          }
        },
        "required": [
          "deactivated"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "policyId": "01J9X4P9R7Z2C1A1F2A8VBJYP1"
          },
          "output": {
            "deactivated": true
          },
          "note": "Deactivate a policy."
        }
      ]
    },
    {
      "id": "pricevice.integrity.summary",
      "name": "pricevice_integrity_summary",
      "description": "Get the Keystone pricing-integrity summary — totals by conformance verdict + the recent off-policy receipts with proof attached.",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.integrity.summary"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "totals": {
            "type": "object",
            "properties": {
              "receipts": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "withinBounds": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "offPolicy": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "unchecked": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "receipts",
              "withinBounds",
              "offPolicy",
              "unchecked"
            ],
            "additionalProperties": false
          },
          "recentOffPolicy": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "receiptId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "amountMinor": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "currency": {
                  "type": "string"
                },
                "policyId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "subjectReference": {
                  "type": "string"
                }
              },
              "required": [
                "receiptId",
                "issuedAt",
                "amountMinor",
                "currency",
                "policyId",
                "subjectReference"
              ],
              "additionalProperties": false
            }
          },
          "byDomain": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          }
        },
        "required": [
          "totals",
          "recentOffPolicy",
          "byDomain"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "pricevice_disclosure_generate",
      "description": "Generate the Aegis personalized-pricing disclosure for a PPR (deterministic from the receipt facts; states exactly what is proven and what is not).",
      "domain": "pricevice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/pricevice.disclosure.generate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "receiptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "regime": {
            "default": "generic",
            "type": "string",
            "enum": [
              "eu_omnibus",
              "generic"
            ]
          }
        },
        "required": [
          "workspaceId",
          "receiptId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receiptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "regime": {
            "type": "string"
          },
          "disclosureText": {
            "type": "string"
          },
          "generatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "receiptId",
          "regime",
          "disclosureText",
          "generatedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "paradigm_idiom_session_open",
      "description": "Open an Idiom mediation session with a counterparty agent (inline requires dual consent; annotation/advisory work single-sided).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.idiom.session.open"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "counterpartyRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "mode": {
            "default": "advisory",
            "type": "string",
            "enum": [
              "inline",
              "annotation",
              "advisory"
            ]
          },
          "exchangeType": {
            "default": "negotiation",
            "type": "string",
            "enum": [
              "negotiation",
              "support",
              "coordination",
              "dispute"
            ]
          },
          "counterpartyConsentRef": {
            "type": "string",
            "maxLength": 200
          }
        },
        "required": [
          "workspaceId",
          "counterpartyRef"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "mode": {
            "type": "string",
            "enum": [
              "inline",
              "annotation",
              "advisory"
            ]
          },
          "exchangeType": {
            "type": "string",
            "enum": [
              "negotiation",
              "support",
              "coordination",
              "dispute"
            ]
          },
          "counterpartyRef": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "closed"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "sessionId",
          "workspaceId",
          "mode",
          "exchangeType",
          "counterpartyRef",
          "status",
          "createdAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_idiom_message_mediate",
      "description": "Submit a message to an Idiom session for mediation/annotation. Substance is never altered; an unverified rendering is never released (fallback = annotated verbatim).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.idiom.message.mediate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "sessionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "direction": {
            "default": "inbound",
            "type": "string",
            "enum": [
              "outbound",
              "inbound"
            ]
          },
          "message": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20000
          }
        },
        "required": [
          "workspaceId",
          "sessionId",
          "message"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "messageId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "direction": {
            "type": "string",
            "enum": [
              "outbound",
              "inbound"
            ]
          },
          "verbatimOriginal": {
            "type": "string"
          },
          "rendering": {
            "type": [
              "string",
              "null"
            ]
          },
          "verificationResult": {
            "type": "string",
            "enum": [
              "verified",
              "fallback_annotation",
              "not_applicable"
            ]
          },
          "annotations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "chainHash": {
            "type": "string"
          }
        },
        "required": [
          "messageId",
          "direction",
          "verbatimOriginal",
          "rendering",
          "verificationResult",
          "annotations",
          "chainHash"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_idiom_advisory_analyze",
      "description": "Advisory (single-side) analysis of a counterparty message: frame features, misread warnings, what it actually signals.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.idiom.advisory.analyze"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "sessionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "message": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20000
          }
        },
        "required": [
          "workspaceId",
          "message"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "frameFeatures": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "number"
            }
          },
          "annotations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "misreadWarnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "frameFeatures",
          "annotations",
          "misreadWarnings"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "paradigm_idiom_profile_declare",
      "description": "Declare your own agent's frame profile (recorded alongside inferred profiles; declared-vs-inferred divergence is itself a signal).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.idiom.profile.declare"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "dimensions": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            }
          }
        },
        "required": [
          "workspaceId",
          "agentRef",
          "dimensions"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "profileId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "agentRef": {
            "type": "string"
          },
          "level": {
            "type": "string",
            "const": "declared"
          },
          "version": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "profileId",
          "agentRef",
          "level",
          "version"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_idiom_transcript_get",
      "description": "Get a session's signed, hash-chained mediation transcript (verbatim originals paired with renderings and annotations).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.idiom.transcript.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "sessionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "sessionId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "messageId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "direction": {
                  "type": "string",
                  "enum": [
                    "outbound",
                    "inbound"
                  ]
                },
                "verbatimOriginal": {
                  "type": "string"
                },
                "rendering": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "verificationResult": {
                  "type": "string",
                  "enum": [
                    "verified",
                    "fallback_annotation",
                    "not_applicable"
                  ]
                },
                "annotations": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "chainHash": {
                  "type": "string"
                }
              },
              "required": [
                "messageId",
                "direction",
                "verbatimOriginal",
                "rendering",
                "verificationResult",
                "annotations",
                "chainHash"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "sessionId",
          "messages"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "sessionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "output": {
            "sessionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1",
            "messages": []
          },
          "note": "Read a transcript."
        }
      ]
    },
    {
      "id": "paradigm.temperament.card.publish",
      "name": "paradigm_temperament_card_publish",
      "description": "Author and publish a temperament card for an API (validated for semantic consistency; publishes as provider_declared — verification upgrades evidence, never the publisher).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.temperament.card.publish"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "apiRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "scope": {
            "default": "whole_api",
            "type": "string",
            "maxLength": 300
          },
          "sections": {
            "type": "object",
            "properties": {
              "ambiguity": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "retry": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "errorStyle": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "determinism": {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "string",
                    "enum": [
                      "deterministic",
                      "eventually_consistent",
                      "probabilistic"
                    ]
                  }
                },
                "required": [
                  "class"
                ],
                "additionalProperties": {}
              },
              "freshness": {
                "default": {},
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "degradation": {
                "default": {},
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "change": {
                "default": {},
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": [
              "ambiguity",
              "retry",
              "errorStyle",
              "determinism"
            ],
            "additionalProperties": {}
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId",
          "apiRef",
          "sections"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cardId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "apiRef": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "published",
              "qualified",
              "downgraded",
              "expired"
            ]
          },
          "sections": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "evidence": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string"
            }
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "cardId",
          "apiRef",
          "status",
          "sections",
          "evidence",
          "version"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_temperament_card_get",
      "description": "Get a temperament card (published cards are public registry reads; 'no card published' is itself a queryable state).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.temperament.card.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "cardId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "apiRef": {
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cardId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "apiRef": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "published",
              "qualified",
              "downgraded",
              "expired"
            ]
          },
          "sections": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "evidence": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string"
            }
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "cardId",
          "apiRef",
          "status",
          "sections",
          "evidence",
          "version"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "paradigm_temperament_search",
      "description": "Search the temperament-card registry by API ref and behavioral filters (determinism class, status).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.temperament.search"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "apiRef": {
            "type": "string",
            "maxLength": 300
          },
          "determinism": {
            "type": "string",
            "enum": [
              "deterministic",
              "eventually_consistent",
              "probabilistic"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "published",
              "qualified",
              "downgraded",
              "expired"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cards": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cardId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "apiRef": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "draft",
                    "published",
                    "qualified",
                    "downgraded",
                    "expired"
                  ]
                },
                "sections": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "evidence": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "version": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "cardId",
                "apiRef",
                "status",
                "sections",
                "evidence",
                "version"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "cards",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "determinism": "deterministic"
          },
          "output": {
            "cards": [],
            "nextCursor": null
          },
          "note": "Search cards."
        }
      ]
    },
    {
      "id": "paradigm.temperament.strategy.get",
      "name": "paradigm_temperament_strategy_get",
      "description": "Get the compiled calling-strategy directives for a card (retry policy, input strictness, response interpretation, degradation expectation) — unverified cards carry lower trust weights.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.temperament.strategy.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "cardId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "cardId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cardId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "apiRef": {
            "type": "string"
          },
          "directives": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "compilerVersion": {
            "type": "string"
          },
          "trustWeight": {
            "type": "number"
          }
        },
        "required": [
          "cardId",
          "apiRef",
          "directives",
          "compilerVersion",
          "trustWeight"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "paradigm_overture_offer_publish",
      "description": "Publish an Overture initiation offer (a typed declaration of what you may proactively tell subscribers — delivery still requires their consent).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.overture.offer.publish"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string",
            "enum": [
              "alert",
              "risk_warning",
              "opportunity",
              "remediation_proposal",
              "status_insight",
              "recommendation"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "subjectScope": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "frequencyBandPerDay": {
            "default": 10,
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 10000
          }
        },
        "required": [
          "workspaceId",
          "type",
          "label",
          "subjectScope"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "offerId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "type": {
            "type": "string",
            "enum": [
              "alert",
              "risk_warning",
              "opportunity",
              "remediation_proposal",
              "status_insight",
              "recommendation"
            ]
          },
          "label": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "offerId",
          "type",
          "label",
          "status"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_overture_subscribe",
      "description": "Subscribe to an initiation offer with consent rules (value threshold, frequency caps, quiet hours). Mints a signed consent receipt.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.overture.subscribe"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "offerId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "minPredictedValue": {
            "default": 0.3,
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "frequencyCapPerDay": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 1000
          }
        },
        "required": [
          "workspaceId",
          "offerId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "offerId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "consentReceipt": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "subscriptionId",
          "offerId",
          "consentReceipt",
          "status"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_overture_initiate",
      "description": "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.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.overture.initiate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "offerId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "payload": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "urgency": {
            "default": 0.5,
            "type": "number",
            "minimum": 0,
            "maximum": 1
          }
        },
        "required": [
          "workspaceId",
          "offerId",
          "payload"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "initiationId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "decisions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "subscriptionId": {
                  "type": "string"
                },
                "decision": {
                  "type": "string",
                  "enum": [
                    "deliver",
                    "defer",
                    "digest",
                    "drop"
                  ]
                },
                "predictedValue": {
                  "type": "number"
                },
                "rationale": {
                  "type": "string"
                }
              },
              "required": [
                "subscriptionId",
                "decision",
                "predictedValue",
                "rationale"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "initiationId",
          "decisions"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_overture_inbox_list",
      "description": "Read the initiation inbox — delivered initiations with predicted-value disclosure and feedback affordances.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.overture.inbox.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deliveries": {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "deliveries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "deliveries": [],
            "nextCursor": null
          },
          "note": "Read the inbox."
        }
      ]
    },
    {
      "id": "paradigm.overture.feedback",
      "name": "paradigm_overture_feedback",
      "description": "Rate a delivered initiation (useful / not useful / harmful) — the value loop that earns or costs the provider future attention.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.overture.feedback"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "deliveryId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "rating": {
            "type": "string",
            "enum": [
              "useful",
              "not_useful",
              "harmful"
            ]
          }
        },
        "required": [
          "workspaceId",
          "deliveryId",
          "rating"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "recorded": {
            "type": "boolean"
          }
        },
        "required": [
          "recorded"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "deliveryId": "01J9X4P9R7Z2C1A1F2A8VBJYD1",
            "rating": "useful"
          },
          "output": {
            "recorded": true
          },
          "note": "Close the value loop."
        }
      ]
    },
    {
      "id": "paradigm.rapport.events.ingest",
      "name": "paradigm_rapport_events_ingest",
      "description": "Contribute consented agent-interaction telemetry (calls, retries, doc fetches, abandonment markers). Requires an active consent grant; identity is stripped at the edge.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.rapport.events.ingest"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "grantId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "events": {
            "minItems": 1,
            "maxItems": 500,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "apiRef": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "eventType": {
                  "type": "string",
                  "enum": [
                    "call",
                    "retry",
                    "doc_fetch",
                    "introspection",
                    "abandon_marker",
                    "recommendation"
                  ]
                },
                "outcome": {
                  "default": "n_a",
                  "type": "string",
                  "enum": [
                    "success",
                    "failure",
                    "n_a"
                  ]
                },
                "parameterDelta": {
                  "default": false,
                  "type": "boolean"
                },
                "agentHash": {
                  "type": "string",
                  "maxLength": 128
                },
                "sessionRef": {
                  "type": "string",
                  "maxLength": 200
                }
              },
              "required": [
                "apiRef",
                "eventType"
              ]
            }
          }
        },
        "required": [
          "workspaceId",
          "grantId",
          "events"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "accepted": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "rejected": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "accepted",
          "rejected"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_rapport_score_get",
      "description": "Get the public Rapport Score for an API (k-floored: under-floor APIs honestly return 'insufficient_data', never a weak number).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.rapport.score.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "apiRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          }
        },
        "required": [
          "workspaceId",
          "apiRef"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "apiRef": {
            "type": "string"
          },
          "score": {
            "type": [
              "number",
              "null"
            ]
          },
          "methodologyVersion": {
            "type": "string"
          },
          "publicationStatus": {
            "type": "string",
            "enum": [
              "published",
              "insufficient_data"
            ]
          }
        },
        "required": [
          "apiRef",
          "score",
          "methodologyVersion",
          "publicationStatus"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "paradigm_rapport_analytics_get",
      "description": "Provider analytics for your own API: metric cells + attribution findings ranked by impact (which endpoint/error/pattern drives confusion or abandonment).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.rapport.analytics.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "apiRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          }
        },
        "required": [
          "workspaceId",
          "apiRef"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cells": {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "attribution": {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "cells",
          "attribution"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2"
          },
          "output": {
            "cells": [],
            "attribution": []
          },
          "note": "Read provider analytics."
        }
      ]
    },
    {
      "id": "paradigm.counterfact.feasibility.check",
      "name": "paradigm_counterfact_feasibility_check",
      "description": "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).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.counterfact.feasibility.check"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "apiRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "anchorTraceIds": {
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
            }
          },
          "interventionType": {
            "type": "string",
            "enum": [
              "alternate_params",
              "alternate_sequence",
              "no_call"
            ]
          },
          "minMode": {
            "type": "string",
            "enum": [
              "cooperative_replay",
              "recorded_reconstruction",
              "semantic_simulation"
            ]
          }
        },
        "required": [
          "workspaceId",
          "apiRef",
          "anchorTraceIds",
          "interventionType"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "availableModes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "cooperative_replay",
                "recorded_reconstruction",
                "semantic_simulation"
              ]
            }
          },
          "selectedMode": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "cooperative_replay",
                  "recorded_reconstruction",
                  "semantic_simulation"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "confidenceCeiling": {
            "type": [
              "string",
              "null"
            ]
          },
          "gapSummary": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "wouldRefuse": {
            "type": "boolean"
          }
        },
        "required": [
          "availableModes",
          "selectedMode",
          "confidenceCeiling",
          "gapSummary",
          "wouldRefuse"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "paradigm_counterfact_query_run",
      "description": "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.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.counterfact.query.run"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "apiRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "anchorTraceIds": {
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
            }
          },
          "interventionType": {
            "type": "string",
            "enum": [
              "alternate_params",
              "alternate_sequence",
              "no_call"
            ]
          },
          "alternateParams": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "minMode": {
            "type": "string",
            "enum": [
              "cooperative_replay",
              "recorded_reconstruction",
              "semantic_simulation"
            ]
          }
        },
        "required": [
          "workspaceId",
          "apiRef",
          "anchorTraceIds",
          "interventionType"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "queryId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "evaluated",
              "refused"
            ]
          },
          "result": {
            "anyOf": [
              {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ]
          },
          "refusal": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "queryId",
          "status",
          "result",
          "refusal"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_counterfact_record_get",
      "description": "Get the sealed, hash-chained evidentiary record for an evaluated counterfactual (citable in audits and disputes).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.counterfact.record.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "queryId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "queryId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "record"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "queryId": "01J9X4P9R7Z2C1A1F2A8VBJYQ1"
          },
          "output": {
            "record": {}
          },
          "note": "Read a sealed record."
        }
      ]
    },
    {
      "id": "paradigm.breaker.signal.list",
      "name": "paradigm_breaker_signal_list",
      "description": "Read the public halt-signal log (active and historical) — append-only, complete, offline-verifiable. Public; cannot be disabled.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.breaker.signal.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "expired",
              "revoked"
            ]
          },
          "sinceSeq": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "signals": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "signalId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "issuerClass": {
                  "type": "string",
                  "enum": [
                    "regulator",
                    "provider",
                    "community"
                  ]
                },
                "scope": {
                  "type": "object",
                  "properties": {
                    "actionClasses": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "agent_financial_transactions",
                          "autonomous_writes",
                          "autonomous_communications",
                          "agent_purchases",
                          "data_exports",
                          "credential_operations",
                          "all_autonomous_actions"
                        ]
                      }
                    },
                    "domains": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "jurisdictions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "qualifiers": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "actionClasses",
                    "domains",
                    "jurisdictions",
                    "qualifiers"
                  ],
                  "additionalProperties": {}
                },
                "severity": {
                  "type": "string",
                  "enum": [
                    "advisory",
                    "soft_halt",
                    "hard_halt"
                  ]
                },
                "drill": {
                  "type": "boolean"
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "active",
                    "expired",
                    "revoked"
                  ]
                }
              },
              "required": [
                "signalId",
                "issuerClass",
                "scope",
                "severity",
                "drill",
                "issuedAt",
                "expiresAt",
                "status"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "signals",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "status": "active"
          },
          "output": {
            "signals": [],
            "nextCursor": null
          },
          "note": "Read the public signal log."
        }
      ]
    },
    {
      "id": "paradigm.breaker.check.action",
      "name": "paradigm_breaker_check_action",
      "description": "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.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.breaker.check.action"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "actionClass": {
            "type": "string",
            "enum": [
              "agent_financial_transactions",
              "autonomous_writes",
              "autonomous_communications",
              "agent_purchases",
              "data_exports",
              "credential_operations",
              "all_autonomous_actions"
            ]
          },
          "domain": {
            "type": "string",
            "maxLength": 300
          },
          "jurisdiction": {
            "type": "string",
            "maxLength": 50
          }
        },
        "required": [
          "workspaceId",
          "actionClass"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "halted": {
            "type": "boolean"
          },
          "severity": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "advisory",
                  "soft_halt",
                  "hard_halt"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "matchedSignals": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "signalId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "issuerClass": {
                  "type": "string",
                  "enum": [
                    "regulator",
                    "provider",
                    "community"
                  ]
                },
                "scope": {
                  "type": "object",
                  "properties": {
                    "actionClasses": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "agent_financial_transactions",
                          "autonomous_writes",
                          "autonomous_communications",
                          "agent_purchases",
                          "data_exports",
                          "credential_operations",
                          "all_autonomous_actions"
                        ]
                      }
                    },
                    "domains": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "jurisdictions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "qualifiers": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "actionClasses",
                    "domains",
                    "jurisdictions",
                    "qualifiers"
                  ],
                  "additionalProperties": {}
                },
                "severity": {
                  "type": "string",
                  "enum": [
                    "advisory",
                    "soft_halt",
                    "hard_halt"
                  ]
                },
                "drill": {
                  "type": "boolean"
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "active",
                    "expired",
                    "revoked"
                  ]
                }
              },
              "required": [
                "signalId",
                "issuerClass",
                "scope",
                "severity",
                "drill",
                "issuedAt",
                "expiresAt",
                "status"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "halted",
          "severity",
          "matchedSignals"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "paradigm_breaker_signal_issue",
      "description": "Issue a halt signal (provider-class: your own registered surface only; duration is capped by the issuer-class ceiling and every signal expires — unconditionally).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.breaker.signal.issue"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "actionClasses": {
            "minItems": 1,
            "maxItems": 7,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "agent_financial_transactions",
                "autonomous_writes",
                "autonomous_communications",
                "agent_purchases",
                "data_exports",
                "credential_operations",
                "all_autonomous_actions"
              ]
            }
          },
          "domains": {
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 300
            }
          },
          "qualifiers": {
            "default": [],
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 100
            }
          },
          "severity": {
            "default": "soft_halt",
            "type": "string",
            "enum": [
              "advisory",
              "soft_halt",
              "hard_halt"
            ]
          },
          "basis": {
            "type": "string",
            "minLength": 10,
            "maxLength": 2000
          },
          "durationMinutes": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "drill": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId",
          "actionClasses",
          "domains",
          "basis",
          "durationMinutes"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "signalId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "issuerClass": {
            "type": "string",
            "enum": [
              "regulator",
              "provider",
              "community"
            ]
          },
          "scope": {
            "type": "object",
            "properties": {
              "actionClasses": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "agent_financial_transactions",
                    "autonomous_writes",
                    "autonomous_communications",
                    "agent_purchases",
                    "data_exports",
                    "credential_operations",
                    "all_autonomous_actions"
                  ]
                }
              },
              "domains": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "jurisdictions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "qualifiers": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "actionClasses",
              "domains",
              "jurisdictions",
              "qualifiers"
            ],
            "additionalProperties": {}
          },
          "severity": {
            "type": "string",
            "enum": [
              "advisory",
              "soft_halt",
              "hard_halt"
            ]
          },
          "drill": {
            "type": "boolean"
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "expired",
              "revoked"
            ]
          }
        },
        "required": [
          "signalId",
          "issuerClass",
          "scope",
          "severity",
          "drill",
          "issuedAt",
          "expiresAt",
          "status"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "paradigm_breaker_point_register",
      "description": "Register an enforcement point (gateway, runtime or MCP server) that will acknowledge and enforce breaker signals for this workspace.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.breaker.point.register"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string",
            "enum": [
              "gateway",
              "runtime",
              "mcp_server"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "registeredSurface": {
            "default": [],
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 300
            }
          },
          "drillParticipation": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "workspaceId",
          "type",
          "label"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "point": {
            "type": "object",
            "properties": {
              "pointId": {
                "type": "string",
                "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "type": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "registeredSurface": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "drillParticipation": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              }
            },
            "required": [
              "pointId",
              "workspaceId",
              "type",
              "label",
              "registeredSurface",
              "drillParticipation",
              "createdAt"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "point"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_breaker_point_list",
      "description": "List this workspace's registered enforcement points — which surfaces are wired to honour breaker signals.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.breaker.point.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "points": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "pointId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "type": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "registeredSurface": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "drillParticipation": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string"
                }
              },
              "required": [
                "pointId",
                "workspaceId",
                "type",
                "label",
                "registeredSurface",
                "drillParticipation",
                "createdAt"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "points"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "points": []
          },
          "note": "List enforcement points."
        }
      ]
    },
    {
      "id": "paradigm.breaker.acknowledge",
      "name": "paradigm_breaker_acknowledge",
      "description": "Report an enforcement point's state for a signal (acknowledged / enforcing / declared non-compliant) — coverage visibility is part of the protocol.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.breaker.acknowledge"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "signalId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "pointId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "state": {
            "type": "string",
            "enum": [
              "acknowledged",
              "enforcing",
              "non_compliant_declared"
            ]
          }
        },
        "required": [
          "workspaceId",
          "signalId",
          "pointId",
          "state"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "recorded": {
            "type": "boolean"
          }
        },
        "required": [
          "recorded"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "signalId": "01J9X4P9R7Z2C1A1F2A8VBJYH1",
            "pointId": "01J9X4P9R7Z2C1A1F2A8VBJYP1",
            "state": "enforcing"
          },
          "output": {
            "recorded": true
          },
          "note": "Acknowledge enforcement."
        }
      ]
    },
    {
      "id": "paradigm.breaker.proposal.open",
      "name": "paradigm_breaker_proposal_open",
      "description": "Open a community-class halt proposal (draft signal + evidence) for the affected operator constituency to vote on — advisories never bypass the vote.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.breaker.proposal.open"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "draftSignal": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "evidence": {
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 2000
            }
          },
          "ballotMinutes": {
            "default": 120,
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 1440
          }
        },
        "required": [
          "workspaceId",
          "draftSignal",
          "evidence"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "proposalId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "status": {
            "type": "string"
          },
          "ballotClosesAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "proposalId",
          "status",
          "ballotClosesAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_umbra_document_publish",
      "description": "Author and publish an Umbra negative-space document. Vague entries are structurally rejected (triggers + failure signature required; silent-failure entries require detection guidance).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.umbra.document.publish"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "apiRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "versionRange": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "coverageStatement": {
            "type": "string",
            "minLength": 10,
            "maxLength": 2000
          },
          "entries": {
            "minItems": 1,
            "maxItems": 200,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "cannot_do",
                    "unhandled_input",
                    "silent_failure",
                    "performance_cliff",
                    "undocumented_coupling",
                    "coverage_gap",
                    "known_issue"
                  ]
                },
                "specification": {
                  "type": "string",
                  "minLength": 10,
                  "maxLength": 2000
                },
                "triggers": {
                  "type": "string",
                  "minLength": 5,
                  "maxLength": 2000
                },
                "failureSignature": {
                  "type": "string",
                  "enum": [
                    "error",
                    "silent_miscomputation",
                    "partial_effect",
                    "not_applicable"
                  ]
                },
                "severity": {
                  "type": "string",
                  "enum": [
                    "informational",
                    "planning_relevant",
                    "hazardous",
                    "silent_hazardous"
                  ]
                },
                "detectionGuidance": {
                  "type": "string",
                  "maxLength": 2000
                },
                "avoidance": {
                  "type": "string",
                  "maxLength": 2000
                },
                "workaround": {
                  "type": "string",
                  "maxLength": 2000
                }
              },
              "required": [
                "type",
                "specification",
                "triggers",
                "failureSignature",
                "severity"
              ]
            }
          }
        },
        "required": [
          "workspaceId",
          "apiRef",
          "versionRange",
          "coverageStatement",
          "entries"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "apiRef": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "entryCount": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "documentId",
          "apiRef",
          "status",
          "entryCount"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_umbra_document_get",
      "description": "Get an API's published Umbra document with entries (published documents are public registry reads; every document carries its coverage statement).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.umbra.document.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "documentId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "apiRef": {
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "document": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "document",
          "entries"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "apiRef": "api.example.com/v2"
          },
          "output": {
            "document": {},
            "entries": []
          },
          "note": "Read a document."
        }
      ]
    },
    {
      "id": "paradigm.umbra.input.check",
      "name": "paradigm_umbra_input_check",
      "description": "Pre-call check of an input descriptor against an API's known-unhandled classes — plan around documented failure modes instead of colliding with them.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.umbra.input.check"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "apiRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "operation": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "inputDescriptor": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          }
        },
        "required": [
          "workspaceId",
          "apiRef",
          "operation",
          "inputDescriptor"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "matches": {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "hazardous": {
            "type": "boolean"
          },
          "coverageStatement": {
            "type": "string"
          }
        },
        "required": [
          "matches",
          "hazardous",
          "coverageStatement"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "paradigm_umbra_guards_get",
      "description": "Get the compiled integration checks + runtime guards for an Umbra document (effect-verification wrappers for silent failures, input pre-validators, cliff-aware batching).",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.umbra.guards.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "documentId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "documentId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "integrationChecks": {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "runtimeGuards": {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "compilerVersion": {
            "type": "string"
          }
        },
        "required": [
          "integrationChecks",
          "runtimeGuards",
          "compilerVersion"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "documentId": "01J9X4P9R7Z2C1A1F2A8VBJYW1"
          },
          "output": {
            "integrationChecks": [],
            "runtimeGuards": [],
            "compilerVersion": "guards-c1"
          },
          "note": "Compile guards."
        }
      ]
    },
    {
      "id": "paradigm.survey.recommend",
      "name": "paradigm_survey_recommend",
      "description": "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'.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.survey.recommend"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "task": {
            "type": "string",
            "enum": [
              "research",
              "data_extraction",
              "financial_analysis",
              "communication",
              "commerce_operations",
              "code_tasks",
              "content_generation",
              "operations_monitoring"
            ]
          },
          "stepRole": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "constraintProfile": {
            "default": "balanced",
            "type": "string",
            "enum": [
              "latency_sensitive",
              "accuracy_sensitive",
              "cost_sensitive",
              "balanced"
            ]
          }
        },
        "required": [
          "workspaceId",
          "task",
          "stepRole"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "ranked": {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "floorStatus": {
            "type": "string",
            "enum": [
              "published",
              "insufficient_data"
            ]
          },
          "coverageStatement": {
            "type": "string"
          }
        },
        "required": [
          "ranked",
          "floorStatus",
          "coverageStatement"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "paradigm_survey_map_get",
      "description": "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.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.survey.map.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "task": {
            "type": "string",
            "enum": [
              "research",
              "data_extraction",
              "financial_analysis",
              "communication",
              "commerce_operations",
              "code_tasks",
              "content_generation",
              "operations_monitoring"
            ]
          },
          "stepRole": {
            "type": "string",
            "maxLength": 200
          }
        },
        "required": [
          "workspaceId",
          "task"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cells": {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "coverageStatement": {
            "type": "string"
          }
        },
        "required": [
          "cells",
          "coverageStatement"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "task": "research"
          },
          "output": {
            "cells": [],
            "coverageStatement": "…"
          },
          "note": "Browse the map."
        }
      ]
    },
    {
      "id": "paradigm.survey.events.contribute",
      "name": "paradigm_survey_events_contribute",
      "description": "Contribute consented task-telemetry events (task context, call sequence roles, outcome markers). Contributors see deeper into the maps their data builds.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.survey.events.contribute"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "grantId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "events": {
            "minItems": 1,
            "maxItems": 500,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "task": {
                  "type": "string",
                  "enum": [
                    "research",
                    "data_extraction",
                    "financial_analysis",
                    "communication",
                    "commerce_operations",
                    "code_tasks",
                    "content_generation",
                    "operations_monitoring"
                  ]
                },
                "stepRole": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "apiRef": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "sequencePosition": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "completed",
                    "abandoned",
                    "failed"
                  ]
                },
                "qualitySignal": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                "agentHash": {
                  "type": "string",
                  "maxLength": 128
                }
              },
              "required": [
                "task",
                "stepRole",
                "apiRef",
                "outcome"
              ]
            }
          }
        },
        "required": [
          "workspaceId",
          "grantId",
          "events"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "accepted": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "rejected": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "accepted",
          "rejected"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_consent_grant",
      "description": "Create a Paradigm consent grant (scoped by modules + data class + granularity) — the precondition for ANY telemetry consumption. Mints a signed consent receipt.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.consent.grant"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "products": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "idiom",
                "temperament",
                "overture",
                "rapport",
                "counterfact",
                "breaker",
                "umbra",
                "survey"
              ]
            }
          },
          "dataClass": {
            "type": "string",
            "enum": [
              "interaction_events",
              "message_streams",
              "task_contexts",
              "trace_records"
            ]
          },
          "granularity": {
            "default": "aggregate_only",
            "type": "string",
            "enum": [
              "aggregate_only",
              "identified_internal"
            ]
          }
        },
        "required": [
          "workspaceId",
          "products",
          "dataClass"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "grantId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "receipt": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "grantId",
          "receipt",
          "status"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "paradigm_consent_revoke",
      "description": "Revoke a consent grant — unaggregated contributed events are purged and the contributor is excluded from future cells.",
      "domain": "paradigm",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/paradigm.consent.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "grantId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "grantId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          },
          "purgedEvents": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "revoked",
          "purgedEvents"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "grantId": "01J9X4P9R7Z2C1A1F2A8VBJYG1"
          },
          "output": {
            "revoked": true,
            "purgedEvents": 412
          },
          "note": "Revoke + purge."
        }
      ]
    },
    {
      "id": "driftvice.surface.connect",
      "name": "driftvice_surface_connect",
      "description": "Connect a surface where company language lives (BYO credentials) — the metered unit. Driftvice reads it with the access you scope.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.surface.connect"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "class": {
            "type": "string",
            "enum": [
              "analytics",
              "bi_semantic_layer",
              "warehouse",
              "documentation",
              "codebase",
              "ui_strings",
              "templates_crm",
              "api_spec",
              "spreadsheet",
              "project_pm",
              "communication"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "connectionRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "scope": {
            "default": [],
            "maxItems": 500,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 300
            }
          },
          "syncSchedule": {
            "default": "daily",
            "type": "string",
            "enum": [
              "manual",
              "hourly",
              "daily",
              "event"
            ]
          }
        },
        "required": [
          "workspaceId",
          "class",
          "label",
          "connectionRef"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "surfaceId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "class": {
            "type": "string",
            "enum": [
              "analytics",
              "bi_semantic_layer",
              "warehouse",
              "documentation",
              "codebase",
              "ui_strings",
              "templates_crm",
              "api_spec",
              "spreadsheet",
              "project_pm",
              "communication"
            ]
          },
          "label": {
            "type": "string"
          },
          "scope": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "writeBackCapable": {
            "type": "boolean"
          },
          "syncState": {
            "type": "string",
            "enum": [
              "never",
              "syncing",
              "healthy",
              "stale",
              "error"
            ]
          },
          "lastSyncAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "surfaceId",
          "workspaceId",
          "class",
          "label",
          "scope",
          "writeBackCapable",
          "syncState",
          "lastSyncAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "driftvice_surface_list",
      "description": "List the connected surfaces in a workspace with their sync health.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.surface.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "class": {
            "type": "string",
            "enum": [
              "analytics",
              "bi_semantic_layer",
              "warehouse",
              "documentation",
              "codebase",
              "ui_strings",
              "templates_crm",
              "api_spec",
              "spreadsheet",
              "project_pm",
              "communication"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "surfaces": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "surfaceId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "class": {
                  "type": "string",
                  "enum": [
                    "analytics",
                    "bi_semantic_layer",
                    "warehouse",
                    "documentation",
                    "codebase",
                    "ui_strings",
                    "templates_crm",
                    "api_spec",
                    "spreadsheet",
                    "project_pm",
                    "communication"
                  ]
                },
                "label": {
                  "type": "string"
                },
                "scope": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "writeBackCapable": {
                  "type": "boolean"
                },
                "syncState": {
                  "type": "string",
                  "enum": [
                    "never",
                    "syncing",
                    "healthy",
                    "stale",
                    "error"
                  ]
                },
                "lastSyncAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "surfaceId",
                "workspaceId",
                "class",
                "label",
                "scope",
                "writeBackCapable",
                "syncState",
                "lastSyncAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "surfaces",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "surfaces": [],
            "nextCursor": null
          },
          "note": "List surfaces."
        }
      ]
    },
    {
      "id": "driftvice.surface.sync",
      "name": "driftvice_surface_sync",
      "description": "Trigger an incremental re-sync + re-extraction of a connected surface.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.surface.sync"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "surfaceId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "surfaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "surfaceId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "syncState": {
            "type": "string",
            "enum": [
              "syncing",
              "healthy",
              "stale",
              "error"
            ]
          },
          "queuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "surfaceId",
          "syncState",
          "queuedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "driftvice_surface_revoke",
      "description": "Revoke a connected surface — purges its derived usages per the platform's data-handling terms.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.surface.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "surfaceId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "surfaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          },
          "usagesPurged": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "revoked",
          "usagesPurged"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "surfaceId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "output": {
            "revoked": true,
            "usagesPurged": 412
          },
          "note": "Revoke + purge."
        }
      ]
    },
    {
      "id": "driftvice.glossary.search",
      "name": "driftvice_glossary_search",
      "description": "Semantic search over the DERIVED glossary — a projection of the live language graph, never an authored document.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.glossary.search"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "limit": {
            "default": 10,
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "workspaceId",
          "query"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "canonId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "conceptId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "canonicalName": {
                  "type": "string"
                },
                "authoritativeDefinition": {
                  "type": "string"
                },
                "approvedAliases": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "scopeRules": {
                  "type": "object",
                  "properties": {
                    "inclusion": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "exclusion": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "inclusion",
                    "exclusion"
                  ],
                  "additionalProperties": false
                },
                "tier": {
                  "anyOf": [
                    {
                      "type": "number",
                      "const": 1
                    },
                    {
                      "type": "number",
                      "const": 2
                    },
                    {
                      "type": "number",
                      "const": 3
                    }
                  ]
                },
                "governanceState": {
                  "type": "string",
                  "enum": [
                    "proposed",
                    "canonical",
                    "deprecated"
                  ]
                },
                "version": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "driftStatus": {
                  "type": "string",
                  "enum": [
                    "settled",
                    "open_drift"
                  ]
                }
              },
              "required": [
                "canonId",
                "workspaceId",
                "conceptId",
                "canonicalName",
                "authoritativeDefinition",
                "approvedAliases",
                "scopeRules",
                "tier",
                "governanceState",
                "version",
                "driftStatus"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "entries",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "query": "active user"
          },
          "output": {
            "entries": [],
            "nextCursor": null
          },
          "note": "Search the glossary."
        }
      ]
    },
    {
      "id": "driftvice.term.resolve",
      "name": "driftvice_term_resolve",
      "description": "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.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.term.resolve"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "term": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "workspaceId",
          "term"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "resolved": {
            "type": "boolean"
          },
          "canon": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "canonId": {
                    "type": "string",
                    "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                  },
                  "workspaceId": {
                    "type": "string",
                    "pattern": "^ws_[0-9A-Z]{20,}$"
                  },
                  "conceptId": {
                    "type": "string",
                    "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                  },
                  "canonicalName": {
                    "type": "string"
                  },
                  "authoritativeDefinition": {
                    "type": "string"
                  },
                  "approvedAliases": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "scopeRules": {
                    "type": "object",
                    "properties": {
                      "inclusion": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "exclusion": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "inclusion",
                      "exclusion"
                    ],
                    "additionalProperties": false
                  },
                  "tier": {
                    "anyOf": [
                      {
                        "type": "number",
                        "const": 1
                      },
                      {
                        "type": "number",
                        "const": 2
                      },
                      {
                        "type": "number",
                        "const": 3
                      }
                    ]
                  },
                  "governanceState": {
                    "type": "string",
                    "enum": [
                      "proposed",
                      "canonical",
                      "deprecated"
                    ]
                  },
                  "version": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "driftStatus": {
                    "type": "string",
                    "enum": [
                      "settled",
                      "open_drift"
                    ]
                  }
                },
                "required": [
                  "canonId",
                  "workspaceId",
                  "conceptId",
                  "canonicalName",
                  "authoritativeDefinition",
                  "approvedAliases",
                  "scopeRules",
                  "tier",
                  "governanceState",
                  "version",
                  "driftStatus"
                ],
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "resolved",
          "canon"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "term": "active user"
          },
          "output": {
            "resolved": false,
            "canon": null
          },
          "note": "Resolve a term to canon."
        }
      ]
    },
    {
      "id": "driftvice.metric.definition",
      "name": "driftvice_metric_definition",
      "description": "Return a metric's canonical computation (normalized + renderings) and whether surfaces currently diverge from it.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.metric.definition"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "metric": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "workspaceId",
          "metric"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "conceptId": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "canonicalComputation": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "normalized": {
                    "type": "string"
                  },
                  "renderings": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "normalized"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "divergingSurfaceCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "conceptId",
          "canonicalComputation",
          "divergingSurfaceCount"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "driftvice_term_check",
      "description": "Check a definition or computation an agent is about to use against canon — report conformance or the specific drift.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.term.check"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "term": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "definition": {
            "type": "string",
            "maxLength": 2000
          },
          "computation": {
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "workspaceId",
          "term"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "conforms": {
            "type": "boolean"
          },
          "driftType": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "definitional_conflict",
                  "canon_vs_usage",
                  "naming_stale_alias",
                  "naming_synonymy",
                  "naming_polysemy",
                  "metric_computation",
                  "scope_boundary",
                  "temporal",
                  "lineage_break",
                  "ungoverned_heavy_usage",
                  "orphaned_canon",
                  "ownership_gap"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "explanation": {
            "type": "string"
          }
        },
        "required": [
          "conforms",
          "driftType",
          "explanation"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "driftvice_canon_status",
      "description": "Get a concept's governance state, owner, coherence, and any linked decisions.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.canon.status"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "conceptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "conceptId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "conceptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "state": {
            "type": "string",
            "enum": [
              "ungoverned",
              "proposed",
              "canonical",
              "deprecated",
              "orphaned"
            ]
          },
          "ownerRef": {
            "type": [
              "string",
              "null"
            ]
          },
          "openDriftCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "linkedDecisions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "conceptId",
          "state",
          "ownerRef",
          "openDriftCount",
          "linkedDecisions"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "driftvice_drift_list",
      "description": "Query the open drift feed — filter by type, severity, surface, domain, owner, or state.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.drift.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string",
            "enum": [
              "definitional_conflict",
              "canon_vs_usage",
              "naming_stale_alias",
              "naming_synonymy",
              "naming_polysemy",
              "metric_computation",
              "scope_boundary",
              "temporal",
              "lineage_break",
              "ungoverned_heavy_usage",
              "orphaned_canon",
              "ownership_gap"
            ]
          },
          "severity": {
            "type": "string",
            "enum": [
              "critical",
              "high",
              "medium",
              "low"
            ]
          },
          "state": {
            "type": "string",
            "enum": [
              "open",
              "routed",
              "in_resolution",
              "resolved",
              "accepted",
              "suppressed"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "drift": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "driftId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "definitional_conflict",
                    "canon_vs_usage",
                    "naming_stale_alias",
                    "naming_synonymy",
                    "naming_polysemy",
                    "metric_computation",
                    "scope_boundary",
                    "temporal",
                    "lineage_break",
                    "ungoverned_heavy_usage",
                    "orphaned_canon",
                    "ownership_gap"
                  ]
                },
                "conceptId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "severity": {
                  "type": "string",
                  "enum": [
                    "critical",
                    "high",
                    "medium",
                    "low"
                  ]
                },
                "blastRadius": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "open",
                    "routed",
                    "in_resolution",
                    "resolved",
                    "accepted",
                    "suppressed"
                  ]
                }
              },
              "required": [
                "driftId",
                "workspaceId",
                "type",
                "conceptId",
                "severity",
                "blastRadius",
                "state"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "drift",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "severity": "high"
          },
          "output": {
            "drift": [],
            "nextCursor": null
          },
          "note": "List open drift."
        }
      ]
    },
    {
      "id": "driftvice.drift.resolve",
      "name": "driftvice_drift_resolve",
      "description": "Resolve a drift via an owner decision: declare canon, merge/split concepts, approve/deprecate an alias, adjust scope, or accept the divergence with rationale.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.drift.resolve"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "driftId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "action": {
            "type": "string",
            "enum": [
              "declare_canon",
              "merge_concepts",
              "split_concept",
              "approve_alias",
              "deprecate_alias",
              "adjust_scope",
              "accept_divergence"
            ]
          },
          "decisionPayload": {
            "default": {},
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "workspaceId",
          "driftId",
          "action"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "reconciliationId": {
            "type": "string"
          },
          "driftId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "propagationState": {
            "type": "string",
            "enum": [
              "pending",
              "partial",
              "conformed"
            ]
          }
        },
        "required": [
          "reconciliationId",
          "driftId",
          "propagationState"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "driftvice_canon_declare",
      "description": "Declare canon for a concept — the authoritative definition, approved aliases, scope rules, and (for metrics) the canonical computation. Anchored to the deriving usages.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.canon.declare"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "conceptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "canonicalName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "authoritativeDefinition": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "approvedAliases": {
            "default": [],
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 200
            }
          },
          "scopeRules": {
            "type": "object",
            "properties": {
              "inclusion": {
                "maxItems": 100,
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 200
                }
              },
              "exclusion": {
                "maxItems": 100,
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 200
                }
              }
            },
            "required": [
              "inclusion",
              "exclusion"
            ]
          },
          "tier": {
            "default": 2,
            "anyOf": [
              {
                "type": "number",
                "const": 1
              },
              {
                "type": "number",
                "const": 2
              },
              {
                "type": "number",
                "const": 3
              }
            ]
          }
        },
        "required": [
          "workspaceId",
          "conceptId",
          "canonicalName",
          "authoritativeDefinition"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "canonId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "conceptId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "canonicalName": {
            "type": "string"
          },
          "authoritativeDefinition": {
            "type": "string"
          },
          "approvedAliases": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scopeRules": {
            "type": "object",
            "properties": {
              "inclusion": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "exclusion": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "inclusion",
              "exclusion"
            ],
            "additionalProperties": false
          },
          "tier": {
            "anyOf": [
              {
                "type": "number",
                "const": 1
              },
              {
                "type": "number",
                "const": 2
              },
              {
                "type": "number",
                "const": 3
              }
            ]
          },
          "governanceState": {
            "type": "string",
            "enum": [
              "proposed",
              "canonical",
              "deprecated"
            ]
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "driftStatus": {
            "type": "string",
            "enum": [
              "settled",
              "open_drift"
            ]
          }
        },
        "required": [
          "canonId",
          "workspaceId",
          "conceptId",
          "canonicalName",
          "authoritativeDefinition",
          "approvedAliases",
          "scopeRules",
          "tier",
          "governanceState",
          "version",
          "driftStatus"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "driftvice_coherence_summary",
      "description": "Get language-coherence scores per surface, per domain, and company-wide, with trends — plus ungoverned heavy-usage terms awaiting governance.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.coherence.summary"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "scope": {
            "default": "company",
            "type": "string",
            "enum": [
              "surface",
              "domain",
              "company"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scores": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "scope": {
                  "type": "string",
                  "enum": [
                    "surface",
                    "domain",
                    "company"
                  ]
                },
                "scopeRef": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "score": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100
                },
                "trend": {
                  "type": "string",
                  "enum": [
                    "improving",
                    "flat",
                    "regressing"
                  ]
                }
              },
              "required": [
                "scope",
                "scopeRef",
                "score",
                "trend"
              ],
              "additionalProperties": false
            }
          },
          "ungovernedTopTerms": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "usageCount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "surfaceSpread": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "label",
                "usageCount",
                "surfaceSpread"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "scores",
          "ungovernedTopTerms"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "driftvice_canon_attest",
      "description": "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.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.canon.attest"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "canonId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "canonId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "attestationId": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "type": {
            "type": "string",
            "const": "canon.attest"
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "signature": {
            "type": "string"
          },
          "signatureKeyId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{4,64}$"
          },
          "body": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "version",
          "attestationId",
          "type",
          "issuedAt",
          "signature",
          "signatureKeyId",
          "body"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "driftvice_canon_verify",
      "description": "Verify a canon attestation's Ed25519 signature against the published Driftvice public keys. Public — no account required. Cannot be disabled.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.canon.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "attestation": {
            "type": "object",
            "properties": {
              "version": {
                "type": "string"
              },
              "attestationId": {
                "type": "string"
              },
              "workspaceId": {
                "type": "string",
                "pattern": "^ws_[0-9A-Z]{20,}$"
              },
              "type": {
                "type": "string",
                "const": "canon.attest"
              },
              "issuedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "signature": {
                "type": "string"
              },
              "signatureKeyId": {
                "type": "string",
                "pattern": "^[a-z0-9-]{4,64}$"
              },
              "body": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": [
              "version",
              "attestationId",
              "type",
              "issuedAt",
              "signature",
              "signatureKeyId",
              "body"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "attestation"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": true
              },
              "signedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "signatureKeyId": {
                "type": "string"
              },
              "signerDid": {
                "type": "string"
              },
              "artifact": {
                "type": "string"
              },
              "publishedKeyUrl": {
                "type": "string",
                "format": "uri"
              }
            },
            "required": [
              "ok",
              "signedAt",
              "signatureKeyId",
              "signerDid",
              "artifact",
              "publishedKeyUrl"
            ],
            "additionalProperties": {}
          },
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": false
              },
              "reason": {
                "type": "string",
                "enum": [
                  "malformed_payload",
                  "unknown_key",
                  "bad_signature"
                ]
              },
              "artifact": {
                "type": "string"
              },
              "publishedKeyUrl": {
                "type": "string",
                "format": "uri"
              }
            },
            "required": [
              "ok",
              "reason",
              "artifact",
              "publishedKeyUrl"
            ],
            "additionalProperties": {}
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "driftvice_canon_guard",
      "description": "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.",
      "domain": "driftvice",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/driftvice.canon.guard"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "conceptId": {
            "type": "string",
            "minLength": 1
          },
          "policy": {
            "type": "object",
            "properties": {
              "blockOnComputationDivergenceAbove": {
                "description": "Block when this fraction of usages compute the concept differently. null = never block.",
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "warnAbove": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "neverBlockConcepts": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "conceptId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "verdict": {
            "type": "object",
            "properties": {
              "conceptId": {
                "type": "string"
              },
              "disposition": {
                "type": "string",
                "enum": [
                  "allow",
                  "warn",
                  "block"
                ]
              },
              "state": {
                "type": "string"
              },
              "measured": {
                "type": "number"
              },
              "diverging": {
                "type": "number"
              },
              "divergenceRate": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "computationDiverging": {
                "type": "number"
              },
              "computationRate": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "citedUsages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "conceptId",
              "disposition",
              "state",
              "measured",
              "diverging",
              "divergenceRate",
              "computationDiverging",
              "computationRate",
              "citedUsages"
            ],
            "additionalProperties": {}
          },
          "reportOnly": {
            "type": "boolean",
            "description": "True when the caller ran the guard in explicit report-only mode."
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "verdict",
          "reportOnly",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "fabric_retrieve_signed",
      "description": "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.",
      "domain": "fabric",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/fabric.retrieve.signed"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kinds": {
            "maxItems": 23,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "code-identifier",
                "commit",
                "review",
                "approval",
                "doc-chunk",
                "prose-section",
                "glossary-entry",
                "policy-clause",
                "faq-entry",
                "published-article",
                "metric-definition",
                "view-definition",
                "warehouse-schema",
                "api-spec-field",
                "event-taxonomy",
                "ui-string",
                "spreadsheet-row",
                "communication-message",
                "communication-thread",
                "ticket",
                "pricing-rule",
                "invoice-row",
                "webhook-event"
              ]
            }
          },
          "sourceId": {
            "type": "string"
          },
          "connectionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "subscriber": {
            "type": "string",
            "enum": [
              "trustactor",
              "entpoind",
              "nexus",
              "vector",
              "agorade",
              "pricevice",
              "paradigm",
              "driftvice",
              "actionflow",
              "norman",
              "trustmag"
            ]
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recordId": {
                  "type": "string"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "sourceId": {
                  "type": "string"
                },
                "connectionId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "code-identifier",
                    "commit",
                    "review",
                    "approval",
                    "doc-chunk",
                    "prose-section",
                    "glossary-entry",
                    "policy-clause",
                    "faq-entry",
                    "published-article",
                    "metric-definition",
                    "view-definition",
                    "warehouse-schema",
                    "api-spec-field",
                    "event-taxonomy",
                    "ui-string",
                    "spreadsheet-row",
                    "communication-message",
                    "communication-thread",
                    "ticket",
                    "pricing-rule",
                    "invoice-row",
                    "webhook-event"
                  ]
                },
                "payload": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "observedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "extractedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "contentHash": {
                  "type": "string"
                },
                "anchorUrl": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "recordId",
                "workspaceId",
                "sourceId",
                "connectionId",
                "kind",
                "payload",
                "observedAt",
                "extractedAt",
                "contentHash",
                "anchorUrl"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "mint": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "signed-retrieval"
              },
              "source": {
                "type": "object",
                "properties": {
                  "retrievalRef": {
                    "type": "string"
                  },
                  "queryHash": {
                    "type": "string"
                  },
                  "retrievalMethod": {
                    "type": "string",
                    "enum": [
                      "embedding",
                      "filter"
                    ]
                  },
                  "embeddingModel": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "sources": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sourceRef": {
                          "type": "string"
                        },
                        "contentSha256": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "sourceRef",
                        "contentSha256"
                      ],
                      "additionalProperties": {}
                    }
                  },
                  "retrievedAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "retrievalRef",
                  "queryHash",
                  "retrievalMethod",
                  "embeddingModel",
                  "sources",
                  "retrievedAt"
                ],
                "additionalProperties": {}
              }
            },
            "required": [
              "kind",
              "source"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "records",
          "nextCursor",
          "mint"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "fabric_sources_catalog",
      "description": "List the connectable source catalog (128 sources across 11 surface classes) with their auth method + emitted record kinds.",
      "domain": "fabric",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/fabric.sources.catalog"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "surfaceClass": {
            "type": "string",
            "enum": [
              "analytics",
              "bi_semantic_layer",
              "warehouse",
              "documentation",
              "codebase",
              "ui_strings",
              "templates_crm",
              "api_spec",
              "spreadsheet",
              "project_pm",
              "communication"
            ]
          },
          "query": {
            "type": "string",
            "maxLength": 200
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "vendor": {
                  "type": "string"
                },
                "surfaceClass": {
                  "type": "string",
                  "enum": [
                    "analytics",
                    "bi_semantic_layer",
                    "warehouse",
                    "documentation",
                    "codebase",
                    "ui_strings",
                    "templates_crm",
                    "api_spec",
                    "spreadsheet",
                    "project_pm",
                    "communication"
                  ]
                },
                "authMethod": {
                  "type": "string"
                },
                "writeBackCapable": {
                  "type": "boolean"
                },
                "status": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "vendor",
                "surfaceClass",
                "authMethod",
                "writeBackCapable",
                "status",
                "description"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "sources"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "surfaceClass": "warehouse"
          },
          "output": {
            "sources": []
          },
          "note": "Browse warehouse sources."
        }
      ]
    },
    {
      "id": "fabric.connections.connect",
      "name": "fabric_connections_connect",
      "description": "Connect a catalog source (BYO credentials) into the fabric. The connection's records broadcast to every subscribing product.",
      "domain": "fabric",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/fabric.connections.connect"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "sourceId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "scope": {
            "default": [],
            "maxItems": 500,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 300
            }
          },
          "syncSchedule": {
            "default": "daily",
            "type": "string",
            "enum": [
              "manual",
              "hourly",
              "daily",
              "event"
            ]
          },
          "connectionRef": {
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "sourceId",
          "label"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "connectionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "sourceId": {
            "type": "string"
          },
          "surfaceClass": {
            "type": "string",
            "enum": [
              "analytics",
              "bi_semantic_layer",
              "warehouse",
              "documentation",
              "codebase",
              "ui_strings",
              "templates_crm",
              "api_spec",
              "spreadsheet",
              "project_pm",
              "communication"
            ]
          },
          "authMethod": {
            "type": "string",
            "enum": [
              "oauth2",
              "api_key",
              "personal_access_token",
              "service_account_key",
              "basic_auth",
              "byo_credential",
              "file_upload"
            ]
          },
          "label": {
            "type": "string"
          },
          "scope": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "state": {
            "type": "string",
            "enum": [
              "pending",
              "connected",
              "error",
              "revoked"
            ]
          },
          "syncState": {
            "type": "string",
            "enum": [
              "never",
              "syncing",
              "healthy",
              "stale",
              "error"
            ]
          },
          "emits": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "code-identifier",
                "commit",
                "review",
                "approval",
                "doc-chunk",
                "prose-section",
                "glossary-entry",
                "policy-clause",
                "faq-entry",
                "published-article",
                "metric-definition",
                "view-definition",
                "warehouse-schema",
                "api-spec-field",
                "event-taxonomy",
                "ui-string",
                "spreadsheet-row",
                "communication-message",
                "communication-thread",
                "ticket",
                "pricing-rule",
                "invoice-row",
                "webhook-event"
              ]
            }
          },
          "lastSyncAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "connectionId",
          "workspaceId",
          "sourceId",
          "surfaceClass",
          "authMethod",
          "label",
          "scope",
          "state",
          "syncState",
          "emits",
          "lastSyncAt"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "fabric_connections_list",
      "description": "List the workspace's fabric connections with their sync health.",
      "domain": "fabric",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/fabric.connections.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "sourceId": {
            "type": "string"
          },
          "surfaceClass": {
            "type": "string",
            "enum": [
              "analytics",
              "bi_semantic_layer",
              "warehouse",
              "documentation",
              "codebase",
              "ui_strings",
              "templates_crm",
              "api_spec",
              "spreadsheet",
              "project_pm",
              "communication"
            ]
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "connections": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "connectionId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "sourceId": {
                  "type": "string"
                },
                "surfaceClass": {
                  "type": "string",
                  "enum": [
                    "analytics",
                    "bi_semantic_layer",
                    "warehouse",
                    "documentation",
                    "codebase",
                    "ui_strings",
                    "templates_crm",
                    "api_spec",
                    "spreadsheet",
                    "project_pm",
                    "communication"
                  ]
                },
                "authMethod": {
                  "type": "string",
                  "enum": [
                    "oauth2",
                    "api_key",
                    "personal_access_token",
                    "service_account_key",
                    "basic_auth",
                    "byo_credential",
                    "file_upload"
                  ]
                },
                "label": {
                  "type": "string"
                },
                "scope": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "connected",
                    "error",
                    "revoked"
                  ]
                },
                "syncState": {
                  "type": "string",
                  "enum": [
                    "never",
                    "syncing",
                    "healthy",
                    "stale",
                    "error"
                  ]
                },
                "emits": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "code-identifier",
                      "commit",
                      "review",
                      "approval",
                      "doc-chunk",
                      "prose-section",
                      "glossary-entry",
                      "policy-clause",
                      "faq-entry",
                      "published-article",
                      "metric-definition",
                      "view-definition",
                      "warehouse-schema",
                      "api-spec-field",
                      "event-taxonomy",
                      "ui-string",
                      "spreadsheet-row",
                      "communication-message",
                      "communication-thread",
                      "ticket",
                      "pricing-rule",
                      "invoice-row",
                      "webhook-event"
                    ]
                  }
                },
                "lastSyncAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "connectionId",
                "workspaceId",
                "sourceId",
                "surfaceClass",
                "authMethod",
                "label",
                "scope",
                "state",
                "syncState",
                "emits",
                "lastSyncAt"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "connections",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "connections": [],
            "nextCursor": null
          },
          "note": "List connections."
        }
      ]
    },
    {
      "id": "fabric.connections.sync",
      "name": "fabric_connections_sync",
      "description": "Enqueue an on-demand sync + re-extraction of a fabric connection.",
      "domain": "fabric",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/fabric.connections.sync"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "connectionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "workspaceId",
          "connectionId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "enqueued": {
            "type": "boolean"
          },
          "connectionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          }
        },
        "required": [
          "enqueued",
          "connectionId"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "connectionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "output": {
            "enqueued": true,
            "connectionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "note": "Sync now."
        }
      ]
    },
    {
      "id": "fabric.connections.revoke",
      "name": "fabric_connections_revoke",
      "description": "Revoke a fabric connection — purges its extracted records per the platform's data-handling terms.",
      "domain": "fabric",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/fabric.connections.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "connectionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          }
        },
        "required": [
          "workspaceId",
          "connectionId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean"
          },
          "recordsPurged": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "revoked",
          "recordsPurged"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "connectionId": "01J9X4P9R7Z2C1A1F2A8VBJYS1"
          },
          "output": {
            "revoked": true,
            "recordsPurged": 1280
          },
          "note": "Revoke + purge."
        }
      ]
    },
    {
      "id": "fabric.records.query",
      "name": "fabric_records_query",
      "description": "Query extracted records by kind / source / subscriber — the universal read every product (and agent) uses to consume the fabric.",
      "domain": "fabric",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/fabric.records.query"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string"
          },
          "limit": {
            "default": 25,
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kinds": {
            "maxItems": 23,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "code-identifier",
                "commit",
                "review",
                "approval",
                "doc-chunk",
                "prose-section",
                "glossary-entry",
                "policy-clause",
                "faq-entry",
                "published-article",
                "metric-definition",
                "view-definition",
                "warehouse-schema",
                "api-spec-field",
                "event-taxonomy",
                "ui-string",
                "spreadsheet-row",
                "communication-message",
                "communication-thread",
                "ticket",
                "pricing-rule",
                "invoice-row",
                "webhook-event"
              ]
            }
          },
          "sourceId": {
            "type": "string"
          },
          "connectionId": {
            "type": "string",
            "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
          },
          "subscriber": {
            "type": "string",
            "enum": [
              "trustactor",
              "entpoind",
              "nexus",
              "vector",
              "agorade",
              "pricevice",
              "paradigm",
              "driftvice",
              "actionflow",
              "norman",
              "trustmag"
            ]
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recordId": {
                  "type": "string"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "sourceId": {
                  "type": "string"
                },
                "connectionId": {
                  "type": "string",
                  "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "code-identifier",
                    "commit",
                    "review",
                    "approval",
                    "doc-chunk",
                    "prose-section",
                    "glossary-entry",
                    "policy-clause",
                    "faq-entry",
                    "published-article",
                    "metric-definition",
                    "view-definition",
                    "warehouse-schema",
                    "api-spec-field",
                    "event-taxonomy",
                    "ui-string",
                    "spreadsheet-row",
                    "communication-message",
                    "communication-thread",
                    "ticket",
                    "pricing-rule",
                    "invoice-row",
                    "webhook-event"
                  ]
                },
                "payload": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "observedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "extractedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "contentHash": {
                  "type": "string"
                },
                "anchorUrl": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "recordId",
                "workspaceId",
                "sourceId",
                "connectionId",
                "kind",
                "payload",
                "observedAt",
                "extractedAt",
                "contentHash",
                "anchorUrl"
              ],
              "additionalProperties": {}
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "records",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "kinds": [
              "policy-clause"
            ]
          },
          "output": {
            "records": [],
            "nextCursor": null
          },
          "note": "Read policy clauses across all sources."
        }
      ]
    },
    {
      "id": "fabric.subscriptions.matrix",
      "name": "fabric_subscriptions_matrix",
      "description": "Return the fabric subscription matrix — which product consumes which record kinds, and how many products each kind powers.",
      "domain": "fabric",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/fabric.subscriptions.matrix"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscriber": {
            "type": "string",
            "enum": [
              "trustactor",
              "entpoind",
              "nexus",
              "vector",
              "agorade",
              "pricevice",
              "paradigm",
              "driftvice",
              "actionflow",
              "norman",
              "trustmag"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "code-identifier",
                  "commit",
                  "review",
                  "approval",
                  "doc-chunk",
                  "prose-section",
                  "glossary-entry",
                  "policy-clause",
                  "faq-entry",
                  "published-article",
                  "metric-definition",
                  "view-definition",
                  "warehouse-schema",
                  "api-spec-field",
                  "event-taxonomy",
                  "ui-string",
                  "spreadsheet-row",
                  "communication-message",
                  "communication-thread",
                  "ticket",
                  "pricing-rule",
                  "invoice-row",
                  "webhook-event"
                ]
              }
            }
          },
          "kindReach": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          }
        },
        "required": [
          "subscriptions",
          "kindReach"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "subscriptions": {},
            "kindReach": {}
          },
          "note": "Introspect the matrix."
        }
      ]
    },
    {
      "id": "actionflow.flows.list",
      "name": "actionflow_flows_list",
      "description": "List the workspace's ActionFlow flows.",
      "domain": "actionflow",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/actionflow.flows.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "actionflow_flows_run",
      "description": "Run a flow — trigger an execution through the bounded graph engine.",
      "domain": "actionflow",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/actionflow.flows.run"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Flow id."
          },
          "input": {
            "description": "Optional run input passed to the flow's variable scope."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "actionflow_flows_publish",
      "description": "Publish a flow (make the current draft the live version).",
      "domain": "actionflow",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/actionflow.flows.publish"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "actionflow_templates_list",
      "description": "List the ActionFlow starter templates.",
      "domain": "actionflow",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/actionflow.templates.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "actionflow_templates_instantiate",
      "description": "Instantiate a template into a new draft flow in the workspace.",
      "domain": "actionflow",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/actionflow.templates.instantiate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Template id."
          },
          "name": {
            "type": "string",
            "maxLength": 120
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "actionflow_executions_list",
      "description": "List recent ActionFlow executions.",
      "domain": "actionflow",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/actionflow.executions.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "lens_list",
      "description": "List the available compliance-evidence lenses.",
      "domain": "lens",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/lens.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "lens_execute",
      "description": "Execute a lens over the audit chain — produces a signed compliance-evidence bundle (a paid action).",
      "domain": "lens",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/lens.execute"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Lens id."
          },
          "params": {
            "description": "Optional lens parameters (time window, scope, …)."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "lens_validate",
      "description": "Validate a lens definition (dry-run; no evidence bundle, no charge).",
      "domain": "lens",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/lens.validate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "definition": {
            "description": "The lens definition to validate."
          }
        },
        "required": [
          "definition"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "lens_results_list",
      "description": "List prior lens-execution results (the evidence-bundle history).",
      "domain": "lens",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/lens.results.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "notarian_snapshot_create",
      "description": "Create a signed Notarian snapshot of the workspace's audit state (a paid action).",
      "domain": "notarian",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/notarian.snapshot.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "scope": {
            "description": "Optional snapshot scope / label.",
            "type": "string"
          },
          "params": {}
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "billing_impacting",
        "confirmation": "always",
        "idempotent": false
      },
      "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",
      "name": "notarian_verify-chain",
      "description": "Verify the Notarian transparency chain (free — a transparency guarantee).",
      "domain": "notarian",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/notarian.verify-chain"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "notarian_anchors_list",
      "description": "List the Notarian anchors (the published chain checkpoints).",
      "domain": "notarian",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/notarian.anchors.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "witness_frameworks_list",
      "description": "List the supported agent-framework catalog (~180 frameworks) with status, category, and integration pattern — the platform-wide registry, not product-scoped.",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.frameworks.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "category": {
            "description": "Filter by framework category.",
            "type": "string",
            "minLength": 1
          },
          "status": {
            "description": "Filter by support status.",
            "type": "string",
            "enum": [
              "stable",
              "beta",
              "coming-soon"
            ]
          },
          "pattern": {
            "description": "Filter by integration pattern (sdk | webhook | otel | …).",
            "type": "string",
            "minLength": 1
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "witness_frameworks_get",
      "description": "Get one agent framework's catalog entry (support status, integration pattern, SDK package, docs).",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.frameworks.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "frameworkId": {
            "type": "string",
            "minLength": 1,
            "description": "Catalog id, e.g. langchain / crewai / openclaw."
          }
        },
        "required": [
          "frameworkId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "witness_patterns_list",
      "description": "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).",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.patterns.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "witness_subscriptions_get",
      "description": "Get the Witness-Fabric subscription matrix — which products consume which record event classes from the neutral stream.",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.subscriptions.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "witness_interpose",
      "description": "Witness one exchange with an agent you may not operate. Hashes only, unless retention is explicitly requested.",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.interpose"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "exchange": {
            "type": "object",
            "properties": {
              "exchangeId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128
              },
              "targetRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              "requestBody": {
                "type": "string"
              },
              "responseBody": {
                "type": "string"
              },
              "requestAt": {
                "type": "string",
                "minLength": 1
              },
              "responseAt": {
                "type": "string",
                "minLength": 1
              },
              "outcome": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              }
            },
            "required": [
              "exchangeId",
              "targetRef",
              "requestBody",
              "responseBody",
              "requestAt",
              "responseAt",
              "outcome"
            ],
            "additionalProperties": false
          },
          "retention": {
            "type": "object",
            "properties": {
              "retainRequest": {
                "type": "boolean"
              },
              "retainResponse": {
                "type": "boolean"
              },
              "purpose": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "exchange"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipt": {
            "type": "object",
            "properties": {
              "exchangeId": {
                "type": "string"
              },
              "targetRef": {
                "type": "string"
              },
              "requestSha256": {
                "type": "string"
              },
              "responseSha256": {
                "type": "string"
              },
              "latencyMs": {
                "type": "number"
              },
              "outcome": {
                "type": "string"
              },
              "retained": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "type": "string"
                }
              },
              "attests": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "observability": {
                "type": "object",
                "properties": {
                  "vantage": {
                    "type": "string",
                    "const": "interposed"
                  },
                  "cannotAttest": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "note": {
                    "type": "string"
                  }
                },
                "required": [
                  "vantage",
                  "cannotAttest",
                  "note"
                ],
                "additionalProperties": {}
              }
            },
            "required": [
              "exchangeId",
              "targetRef",
              "requestSha256",
              "responseSha256",
              "latencyMs",
              "outcome",
              "attests",
              "observability"
            ],
            "additionalProperties": {}
          },
          "issue": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "const": "interpose-witness"
              },
              "subject": {},
              "claims": {}
            },
            "required": [
              "kind",
              "subject",
              "claims"
            ],
            "additionalProperties": {}
          },
          "contentRetained": {
            "type": "boolean"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "receipt",
          "issue",
          "contentRetained",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "witness_interpose_verify",
      "description": "Check presented bytes against an interpose receipt's hashes.",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.interpose.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "receipt": {
            "type": "object",
            "properties": {
              "requestSha256": {
                "type": "string",
                "minLength": 1
              },
              "responseSha256": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "requestSha256",
              "responseSha256"
            ],
            "additionalProperties": {}
          },
          "requestBody": {
            "type": "string"
          },
          "responseBody": {
            "type": "string"
          }
        },
        "required": [
          "receipt"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "requestMatches": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "responseMatches": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "fullyVerified": {
            "type": "boolean"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "requestMatches",
          "responseMatches",
          "fullyVerified",
          "reason"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "witness_records_list",
      "description": "List the workspace's adapter-captured agent records from the neutral Witness-Fabric store (chain-free read — product-independent; no TrustActor enrollment required).",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.records.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "frameworkId": {
            "description": "Filter by source framework.",
            "type": "string",
            "minLength": 1
          },
          "pattern": {
            "description": "Filter by integration pattern.",
            "type": "string",
            "minLength": 1
          },
          "event": {
            "description": "Filter by record event class.",
            "type": "string",
            "enum": [
              "invocation",
              "tool.call",
              "memory.write",
              "sub_agent.spawn",
              "channel.message"
            ]
          },
          "agentId": {
            "description": "Filter by agent DID/id.",
            "type": "string",
            "minLength": 1
          },
          "before": {
            "description": "Cursor: rows stored strictly before this ISO timestamp (pass the previous page's nextCursor.before).",
            "type": "string",
            "minLength": 1
          },
          "beforeId": {
            "description": "Composite-cursor tiebreaker (the previous page's nextCursor.beforeId) — with `before`, guarantees same-millisecond rows are never skipped.",
            "type": "string",
            "minLength": 1
          },
          "limit": {
            "description": "Page size (default 50, max 200).",
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "witness_records_post",
      "description": "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).",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.records.post"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {
              "agentId": {
                "type": "string",
                "minLength": 1,
                "description": "The agent DID/id the record observes."
              },
              "event": {
                "type": "string",
                "enum": [
                  "invocation",
                  "tool.call",
                  "memory.write",
                  "sub_agent.spawn",
                  "channel.message"
                ]
              },
              "occurredAt": {
                "type": "string",
                "minLength": 1,
                "description": "ISO timestamp of the agent event."
              },
              "source": {
                "type": "object",
                "properties": {
                  "pattern": {
                    "type": "string",
                    "minLength": 1
                  },
                  "frameworkId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "adapterVersion": {
                    "type": "string"
                  },
                  "ingestMode": {
                    "type": "string",
                    "enum": [
                      "push",
                      "pull"
                    ]
                  }
                },
                "required": [
                  "pattern",
                  "frameworkId",
                  "adapterVersion",
                  "ingestMode"
                ],
                "additionalProperties": {}
              }
            },
            "required": [
              "agentId",
              "event",
              "occurredAt",
              "source"
            ],
            "additionalProperties": {},
            "description": "The AdapterRecord (workspaceId is gateway-resolved and overrides any body value)."
          }
        },
        "required": [
          "record"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "witness_records_stats",
      "description": "Aggregate stats over the workspace's neutral witness stream (totals + per-framework / per-pattern / per-event counts).",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.records.stats"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "witness_residency_prove",
      "description": "Prove where a run's recorded hops stayed, with the ceiling the evidence actually supports.",
      "domain": "witness",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/witness.residency.prove"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "minLength": 1
          },
          "declaredRegion": {
            "type": "string",
            "minLength": 1,
            "description": "The region the run is claimed to have stayed in. Required: the proof is that a run stayed in a NAMED region, and the worker will not assume its own."
          }
        },
        "required": [
          "runId",
          "declaredRegion"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "proof": {
            "type": "object",
            "properties": {
              "runRef": {
                "type": "string"
              },
              "declaredRegion": {
                "type": "string"
              },
              "verdict": {
                "type": "string"
              },
              "hopsRecorded": {
                "type": "number"
              },
              "offRegionHops": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "unknownRegionHops": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "supportedClaim": {
                "type": "string",
                "description": "The exact sentence this proof supports. Never \"never left\" unless earned."
              },
              "limits": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "runRef",
              "declaredRegion",
              "verdict",
              "hopsRecorded",
              "offRegionHops",
              "unknownRegionHops",
              "supportedClaim",
              "limits"
            ],
            "additionalProperties": {}
          },
          "hopsFromRecords": {
            "type": "number"
          },
          "hopsWithNoRegion": {
            "type": "number"
          },
          "egressInstrumented": {
            "type": "boolean",
            "description": "False: egress is not instrumented, and a residency proof must say so rather than imply completeness."
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "proof",
          "hopsFromRecords",
          "hopsWithNoRegion",
          "egressInstrumented",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_overview",
      "description": "The workspace's live observability overview — agent-event stats, span stats, and SLO status, pulled live (honest source-unavailable states, never demo data).",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.overview"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "since": {
            "description": "ISO lower bound for the window.",
            "type": "string",
            "minLength": 1
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_slos_list",
      "description": "List the workspace's SLO definitions (latency, error-rate, cost-per-outcome, mandate-burn — one engine, any denomination).",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.slos.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_slos_create",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.slos.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "sliSeries": {
            "type": "string",
            "minLength": 1,
            "description": "The named series to measure (e.g. agent.tool.latency_ms, goal.cost_usd, mandate.burn_ratio)."
          },
          "sliSelector": {
            "description": "Filters: framework/agent/endpoint/tool.",
            "type": "object",
            "properties": {},
            "additionalProperties": {}
          },
          "denomination": {
            "type": "string",
            "enum": [
              "ratio",
              "ms",
              "usd",
              "count",
              "burn"
            ]
          },
          "comparator": {
            "type": "string",
            "enum": [
              "lte",
              "gte"
            ]
          },
          "threshold": {
            "type": "number"
          },
          "targetPct": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "windowSeconds": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "burnWindows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "long": {
                  "type": "number"
                },
                "short": {
                  "type": "number"
                },
                "factor": {
                  "type": "number"
                }
              },
              "required": [
                "long",
                "short",
                "factor"
              ]
            }
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "sliSeries",
          "threshold"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "tranquility_slos_get",
      "description": "Get one SLO definition + its recent evaluations (attainment, error budget, burn rate, status, coverage).",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.slos.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sloId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "sloId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_slos_evaluate",
      "description": "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).",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.slos.evaluate"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "sloId": {
            "type": "string",
            "minLength": 1
          },
          "points": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ts": {
                  "type": "string"
                },
                "value": {
                  "type": "number"
                },
                "weight": {
                  "type": "number"
                }
              },
              "required": [
                "ts",
                "value"
              ]
            },
            "description": "The SLI measurements to evaluate."
          },
          "coverage": {
            "description": "How complete the pushed series is — honest, embedded in any sealed attestation.",
            "type": "object",
            "properties": {
              "samplingPct": {
                "type": "number"
              },
              "dropWindows": {
                "type": "number"
              },
              "complete": {
                "type": "boolean"
              },
              "detailLevel": {
                "type": "string",
                "enum": [
                  "safe",
                  "extended",
                  "forensic"
                ]
              }
            }
          },
          "seal": {
            "description": "Mint the evaluation as a signed VerifiableArtifact.",
            "type": "boolean"
          }
        },
        "required": [
          "sloId",
          "points"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "tranquility_goals_list",
      "description": "List goals (business outcomes) with their rolled cost decomposition + outcome stamp.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.goals.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string",
            "enum": [
              "open",
              "resolved",
              "abandoned",
              "escalated",
              "failed"
            ]
          },
          "costCenter": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_goals_create",
      "description": "Open a goal — a business outcome (ticket / booking / refund / conversation) whose full pursuit cost the Goal Ledger will stitch.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.goals.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "goalId": {
            "type": "string"
          },
          "externalRef": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "agentId": {
            "type": "string"
          },
          "costCenter": {
            "type": "string"
          },
          "feature": {
            "type": "string"
          },
          "customerRef": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "tranquility_goals_events_append",
      "description": "Append cost events to a goal (turn / tool.call / retry / blocked / human / delivery); the ledger re-stitches the cost decomposition idempotently.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.goals.events.append"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "goalId": {
            "type": "string",
            "minLength": 1
          },
          "events": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "eventType": {
                  "type": "string",
                  "enum": [
                    "turn",
                    "tool.call",
                    "retry",
                    "blocked",
                    "human",
                    "delivery",
                    "outcome"
                  ]
                },
                "costUm": {
                  "description": "Cost in micro-dollars (USD*1e6).",
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "sourceRef": {
                  "type": "string"
                },
                "occurredAt": {
                  "type": "string"
                },
                "isRetry": {
                  "type": "boolean"
                },
                "isLoopRepeat": {
                  "type": "boolean"
                },
                "blocked": {
                  "type": "boolean"
                },
                "eventId": {
                  "type": "string"
                }
              },
              "required": [
                "eventType"
              ]
            },
            "description": "One or more cost events."
          }
        },
        "required": [
          "goalId",
          "events"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "tranquility_goals_close",
      "description": "Stamp a goal's terminal outcome (resolved / abandoned / escalated / failed) — the attribution the Goal Ledger exists for.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.goals.close"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "goalId": {
            "type": "string",
            "minLength": 1
          },
          "outcome": {
            "type": "string",
            "enum": [
              "resolved",
              "abandoned",
              "escalated",
              "failed"
            ]
          }
        },
        "required": [
          "goalId",
          "outcome"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "tranquility_goals_summary",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.goals.summary"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "costCenter": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_agent_records",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.agent.records"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "frameworkId": {
            "type": "string"
          },
          "pattern": {
            "type": "string"
          },
          "event": {
            "type": "string"
          },
          "agentId": {
            "type": "string"
          },
          "before": {
            "type": "string"
          },
          "beforeId": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_agent_frameworks",
      "description": "The supported agent-framework catalog this workspace can observe (the 180-framework matrix, live from the witness catalog).",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.agent.frameworks"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "frameworks": [
              {
                "frameworkId": "langchain",
                "count": 11002
              }
            ],
            "sampledRecords": 18420
          },
          "note": "Framework coverage."
        }
      ]
    },
    {
      "id": "tranquility.metrics.query",
      "name": "tranquility_metrics_query",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.metrics.query"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "description": "A single metric name to filter to.",
            "type": "string"
          },
          "since": {
            "type": "string"
          },
          "until": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          },
          "cursor": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_metrics_names",
      "description": "The metric-name catalogue for the workspace (distinct name + type + unit + point count + last-seen over the window) — what metrics are actually flowing.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.metrics.names"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "since": {
            "type": "string"
          },
          "until": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "names": [
              "http.server.duration",
              "agent.tokens"
            ],
            "metricCount": 42
          },
          "note": "Which metrics exist."
        }
      ]
    },
    {
      "id": "tranquility.logs.search",
      "name": "tranquility_logs_search",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.logs.search"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "minSeverity": {
            "description": "OTLP SeverityNumber floor (13 = WARN, 17 = ERROR).",
            "type": "integer",
            "minimum": 1,
            "maximum": 24
          },
          "traceId": {
            "description": "32-hex trace id to correlate logs to a trace.",
            "type": "string"
          },
          "since": {
            "type": "string"
          },
          "until": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          },
          "cursor": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_agent_tools",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.agent.tools"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "frameworkId": {
            "type": "string"
          },
          "agentId": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_agent_fleet",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.agent.fleet"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "fleet": {
              "agents": 12,
              "active24h": 9,
              "failing": 1
            },
            "sampledRecords": 18420
          },
          "note": "Which agents are healthy, degraded, or quiet."
        }
      ]
    },
    {
      "id": "tranquility.agent.failures",
      "name": "tranquility_agent_failures",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.agent.failures"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_agent_runTree",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.agent.runTree"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "minLength": 1
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          }
        },
        "required": [
          "runId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_cognition_guardrailPressure",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.cognition.guardrailPressure"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "evaluations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "clause": {
                  "type": "string"
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "allow",
                    "deny"
                  ]
                },
                "margin": {
                  "type": "number"
                },
                "agentId": {
                  "type": "string"
                },
                "at": {
                  "type": "string"
                }
              },
              "required": [
                "clause",
                "outcome",
                "at"
              ]
            },
            "description": "Per-step outcomes from the governed action chain."
          },
          "nearMissThreshold": {
            "description": "Margin strictly below which an ALLOW is a near-miss; without it near-miss is unposeable, never guessed.",
            "type": "number"
          },
          "knownClauses": {
            "description": "The full declared clause catalogue, so clauses that never fired surface as dead.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "evaluations"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_cognition_blastRadius",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.cognition.blastRadius"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actionIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The plan's ordered action ids."
          },
          "actionMeta": {
            "description": "Per-action safety metadata.",
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "safetyLevel": {
                  "type": "string",
                  "enum": [
                    "read",
                    "mutation",
                    "destructive"
                  ]
                },
                "idempotent": {
                  "type": "boolean"
                },
                "confirmationRequired": {
                  "type": "boolean"
                }
              },
              "required": [
                "safetyLevel",
                "idempotent",
                "confirmationRequired"
              ]
            }
          }
        },
        "required": [
          "actionIds"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_cognition_charterConformance",
      "description": "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%.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.cognition.charterConformance"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "observed": {
            "type": "object",
            "properties": {
              "tools": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "maxAutonomyObserved": {
                "type": "number"
              },
              "tones": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "tools"
            ]
          },
          "declared": {
            "type": "object",
            "properties": {
              "allowedTools": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "autonomyCeiling": {
                "type": "number"
              },
              "allowedTones": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "observed",
          "declared"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_cognition_vocabularyDrift",
      "description": "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.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.cognition.vocabularyDrift"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "topN": {
            "description": "Max candidate terms to resolve against canon (ranked by frequency). Default 50.",
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "limit": {
            "description": "Records to sample from the agent stream. Default 500.",
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_evidence_usage_seal",
      "description": "Seal the cost-per-outcome summary as a signed, offline-verifiable usage/chargeback ledger (ty-usage-ledger).",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.evidence.usage.seal"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "costCenter": {
            "type": "string"
          },
          "period": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string"
              },
              "end": {
                "type": "string"
              }
            },
            "required": [
              "start",
              "end"
            ]
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "tranquility_evidence_coverage_seal",
      "description": "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).",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.evidence.coverage.seal"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "metric": {
            "type": "string",
            "minLength": 1
          },
          "value": {
            "type": "number"
          },
          "unit": {
            "type": "string"
          },
          "window": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string"
              },
              "end": {
                "type": "string"
              }
            },
            "required": [
              "start",
              "end"
            ]
          },
          "coverage": {
            "type": "object",
            "properties": {
              "samplingPct": {
                "type": "number"
              },
              "dropWindows": {
                "type": "number"
              },
              "complete": {
                "type": "boolean"
              },
              "detailLevel": {
                "type": "string",
                "enum": [
                  "safe",
                  "extended",
                  "forensic"
                ]
              }
            }
          }
        },
        "required": [
          "metric",
          "value"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "tranquility_artifacts_list",
      "description": "List the signed evidence artifacts TY has minted for this workspace (attestations, usage ledgers, coverage statements, sealed alarms) with their verify references.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.artifacts.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "subjectKind": {
            "description": "slo | usage | coverage | alert | incident",
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "tranquility_views_list",
      "description": "List saved views / custom monitors for a surface.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.views.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "surface": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "surface": "agent"
          },
          "output": {
            "views": [
              {
                "viewId": "view_1",
                "name": "Agent errors",
                "surface": "agent",
                "spec": {}
              }
            ]
          },
          "note": "Agent-surface views."
        }
      ]
    },
    {
      "id": "tranquility.views.create",
      "name": "tranquility_views_create",
      "description": "Save a view / custom monitor (a signal + selector + panel spec) for reuse on a dashboard surface.",
      "domain": "tranquility",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/tranquility.views.create"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "surface": {
            "type": "string"
          },
          "spec": {
            "type": "object",
            "properties": {},
            "additionalProperties": {}
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "examples": [
        {
          "input": {
            "name": "tool heatmap",
            "surface": "agent",
            "spec": {
              "panel": "heatmap"
            }
          },
          "output": {
            "viewId": "view_1"
          },
          "note": "Save a monitor."
        }
      ]
    },
    {
      "id": "placard.compose",
      "name": "placard_compose",
      "description": "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.",
      "domain": "placard",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/placard.compose"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "subject": {
            "type": "string",
            "minLength": 1
          },
          "channels": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "web",
                "chat",
                "email",
                "voice",
                "messaging",
                "video",
                "document",
                "api",
                "agentic",
                "machine"
              ]
            }
          },
          "texts": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "locale": {
                  "type": "string",
                  "minLength": 2
                },
                "elements": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "artificialNature",
                      "onWhoseBehalf",
                      "capabilitiesAndLimits",
                      "humanFallback",
                      "whereToLearnMore"
                    ]
                  },
                  "additionalProperties": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "required": [
                "locale",
                "elements"
              ]
            }
          }
        },
        "required": [
          "workspaceId",
          "subject",
          "channels",
          "texts"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "placardId": {
            "type": "string",
            "pattern": "^plc_[A-Za-z0-9_-]{43}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "subject": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "channels": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "web",
                "chat",
                "email",
                "voice",
                "messaging",
                "video",
                "document",
                "api",
                "agentic",
                "machine"
              ]
            }
          },
          "texts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "locale": {
                  "type": "string",
                  "minLength": 2
                },
                "elements": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "artificialNature",
                      "onWhoseBehalf",
                      "capabilitiesAndLimits",
                      "humanFallback",
                      "whereToLearnMore"
                    ]
                  },
                  "additionalProperties": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "required": [
                "locale",
                "elements"
              ],
              "additionalProperties": false
            }
          },
          "composedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "signature": {
            "type": "string"
          },
          "signatureKeyId": {
            "type": "string"
          },
          "canonical": {
            "type": "string"
          }
        },
        "required": [
          "placardId",
          "workspaceId",
          "subject",
          "version",
          "channels",
          "texts",
          "composedAt",
          "signature",
          "signatureKeyId",
          "canonical"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "placard_list",
      "description": "List this workspace's composed placards, newest first.",
      "domain": "placard",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/placard.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "placards": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "placardId": {
                  "type": "string",
                  "pattern": "^plc_[A-Za-z0-9_-]{43}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "subject": {
                  "type": "string"
                },
                "version": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "channels": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "web",
                      "chat",
                      "email",
                      "voice",
                      "messaging",
                      "video",
                      "document",
                      "api",
                      "agentic",
                      "machine"
                    ]
                  }
                },
                "texts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "locale": {
                        "type": "string",
                        "minLength": 2
                      },
                      "elements": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string",
                          "enum": [
                            "artificialNature",
                            "onWhoseBehalf",
                            "capabilitiesAndLimits",
                            "humanFallback",
                            "whereToLearnMore"
                          ]
                        },
                        "additionalProperties": {
                          "type": "string",
                          "minLength": 1
                        }
                      }
                    },
                    "required": [
                      "locale",
                      "elements"
                    ],
                    "additionalProperties": false
                  }
                },
                "composedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "signature": {
                  "type": "string"
                },
                "signatureKeyId": {
                  "type": "string"
                }
              },
              "required": [
                "placardId",
                "workspaceId",
                "subject",
                "version",
                "channels",
                "texts",
                "composedAt",
                "signature",
                "signatureKeyId"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "placards"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "placards": []
          },
          "note": "List placards."
        }
      ]
    },
    {
      "id": "placard.coverage.get",
      "name": "placard_coverage_get",
      "description": "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.",
      "domain": "placard",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/placard.coverage.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "subject": {
            "type": "string",
            "minLength": 1
          },
          "channel": {
            "type": "string",
            "enum": [
              "web",
              "chat",
              "email",
              "voice",
              "messaging",
              "video",
              "document",
              "api",
              "agentic",
              "machine"
            ]
          }
        },
        "required": [
          "workspaceId",
          "subject",
          "channel"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "const": "covered"
              },
              "placardId": {
                "type": "string",
                "pattern": "^plc_[A-Za-z0-9_-]{43}$"
              },
              "version": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "state",
              "placardId",
              "version"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "const": "not-covered"
              },
              "reason": {
                "type": "string"
              }
            },
            "required": [
              "state",
              "reason"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "const": "unknown"
              },
              "reason": {
                "type": "string"
              }
            },
            "required": [
              "state",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "placard_delivery_record",
      "description": "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.",
      "domain": "placard",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/placard.delivery.record"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "placardId": {
            "type": "string",
            "pattern": "^plc_[A-Za-z0-9_-]{43}$"
          },
          "channel": {
            "type": "string",
            "enum": [
              "web",
              "chat",
              "email",
              "voice",
              "messaging",
              "video",
              "document",
              "api",
              "agentic",
              "machine"
            ]
          },
          "subjectRef": {
            "type": "string",
            "minLength": 1
          },
          "priorTurns": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "locale": {
            "type": "string",
            "minLength": 2
          }
        },
        "required": [
          "workspaceId",
          "placardId",
          "channel",
          "subjectRef",
          "priorTurns"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deliveryId": {
            "type": "string"
          },
          "placardId": {
            "type": "string",
            "pattern": "^plc_[A-Za-z0-9_-]{43}$"
          },
          "channel": {
            "type": "string",
            "enum": [
              "web",
              "chat",
              "email",
              "voice",
              "messaging",
              "video",
              "document",
              "api",
              "agentic",
              "machine"
            ]
          },
          "subjectRef": {
            "type": "string"
          },
          "priorTurns": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "localeServed": {
            "type": [
              "string",
              "null"
            ]
          },
          "localeFallback": {
            "type": "boolean"
          }
        },
        "required": [
          "deliveryId",
          "placardId",
          "channel",
          "subjectRef",
          "priorTurns",
          "localeServed",
          "localeFallback"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "placard_delivery_acknowledge",
      "description": "Record that the person acknowledged a delivered notice. Only meaningful on surfaces that can carry an acknowledgement.",
      "domain": "placard",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/placard.delivery.acknowledge"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "deliveryId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "workspaceId",
          "deliveryId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "deliveryId": {
            "type": "string"
          },
          "acknowledged": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "deliveryId",
          "acknowledged"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "deliveryId": "plcd_abc"
          },
          "output": {
            "deliveryId": "plcd_abc",
            "acknowledged": true
          },
          "note": "Record an acknowledgement."
        }
      ]
    },
    {
      "id": "placard.deliveries.get",
      "name": "placard_deliveries_get",
      "description": "The delivery and acknowledgement state for one interaction. A late delivery reports as `delivered-late` and is never rounded up to `delivered`.",
      "domain": "placard",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/placard.deliveries.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "subjectRef": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "workspaceId",
          "subjectRef"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "delivery": {
            "type": "string"
          },
          "acknowledgement": {
            "type": "string"
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "placardId": {
                  "type": "string",
                  "pattern": "^plc_[A-Za-z0-9_-]{43}$"
                },
                "channel": {
                  "type": "string",
                  "enum": [
                    "web",
                    "chat",
                    "email",
                    "voice",
                    "messaging",
                    "video",
                    "document",
                    "api",
                    "agentic",
                    "machine"
                  ]
                },
                "subjectRef": {
                  "type": "string"
                },
                "deliveredAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "acknowledgedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "priorTurns": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "placardId",
                "channel",
                "subjectRef",
                "deliveredAt",
                "priorTurns"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "delivery",
          "acknowledgement",
          "rows"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000",
            "subjectRef": "sess_abc"
          },
          "output": {
            "delivery": "unknown",
            "acknowledgement": "unknown",
            "rows": []
          },
          "note": "Read one interaction's disclosure state."
        }
      ]
    },
    {
      "id": "placard.resolve",
      "name": "placard_resolve",
      "description": "PUBLIC. Fetch a placard by id. No account needed — anyone holding the id can read exactly what notice was composed.",
      "domain": "placard",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/placard.resolve"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "placardId": {
            "type": "string",
            "pattern": "^plc_[A-Za-z0-9_-]{43}$"
          }
        },
        "required": [
          "placardId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "placardId": {
            "type": "string",
            "pattern": "^plc_[A-Za-z0-9_-]{43}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "subject": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "channels": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "web",
                "chat",
                "email",
                "voice",
                "messaging",
                "video",
                "document",
                "api",
                "agentic",
                "machine"
              ]
            }
          },
          "texts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "locale": {
                  "type": "string",
                  "minLength": 2
                },
                "elements": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string",
                    "enum": [
                      "artificialNature",
                      "onWhoseBehalf",
                      "capabilitiesAndLimits",
                      "humanFallback",
                      "whereToLearnMore"
                    ]
                  },
                  "additionalProperties": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "required": [
                "locale",
                "elements"
              ],
              "additionalProperties": false
            }
          },
          "composedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "signature": {
            "type": "string"
          },
          "signatureKeyId": {
            "type": "string"
          },
          "canonical": {
            "type": "string"
          }
        },
        "required": [
          "placardId",
          "workspaceId",
          "subject",
          "version",
          "channels",
          "texts",
          "composedAt",
          "signature",
          "signatureKeyId",
          "canonical"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "placard_verify",
      "description": "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`.",
      "domain": "placard",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/placard.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "placardId": {
            "type": "string",
            "pattern": "^plc_[A-Za-z0-9_-]{43}$"
          },
          "canonical": {
            "type": "string",
            "minLength": 1
          },
          "signature": {
            "type": "string"
          }
        },
        "required": [
          "placardId",
          "canonical"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": true
              },
              "placardId": {
                "type": "string",
                "pattern": "^plc_[A-Za-z0-9_-]{43}$"
              },
              "signatureVerified": {
                "type": "boolean"
              },
              "signatureKeyId": {
                "type": "string"
              },
              "note": {
                "type": "string"
              }
            },
            "required": [
              "ok",
              "placardId",
              "signatureVerified"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": false
              },
              "reason": {
                "type": "string",
                "enum": [
                  "content-address-mismatch",
                  "bad-signature",
                  "unknown-key",
                  "malformed"
                ]
              },
              "expected": {
                "type": "string"
              },
              "actual": {
                "type": "string"
              }
            },
            "required": [
              "ok",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "placardId": "plc_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "canonical": "{}"
          },
          "output": {
            "ok": false,
            "reason": "content-address-mismatch"
          },
          "note": "Verify bytes against the content address."
        }
      ]
    },
    {
      "id": "placard.keys.get",
      "name": "placard_keys_get",
      "description": "PUBLIC. The JWK Set placards are signed with, for offline verification.",
      "domain": "placard",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/placard.keys.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kty": {
                  "type": "string"
                },
                "crv": {
                  "type": "string"
                },
                "x": {
                  "type": "string"
                },
                "kid": {
                  "type": "string",
                  "pattern": "^[a-z0-9-]{4,64}$"
                },
                "alg": {
                  "type": "string"
                },
                "use": {
                  "type": "string"
                }
              },
              "required": [
                "kty",
                "crv",
                "x",
                "kid",
                "alg",
                "use"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "keys"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "keys": []
          },
          "note": "Read the signing keys."
        }
      ]
    },
    {
      "id": "cachet.declare",
      "name": "cachet_declare",
      "description": "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.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.declare"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentId": {
            "type": "string",
            "minLength": 1
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "limits": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "workspaceId",
          "agentId",
          "capabilities"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "declarationId": {
            "type": "string"
          },
          "agentId": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "limits": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "declaredAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "declarationId",
          "agentId",
          "version",
          "capabilities",
          "limits",
          "declaredAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "cachet_observe",
      "description": "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.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.observe"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentId": {
            "type": "string",
            "minLength": 1
          },
          "capability": {
            "type": "string",
            "minLength": 1
          },
          "breachedLimit": {
            "type": "string"
          },
          "runRef": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "workspaceId",
          "agentId",
          "capability",
          "runRef"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "observationId": {
            "type": "string"
          },
          "agentId": {
            "type": "string"
          },
          "capability": {
            "type": "string"
          },
          "breachedLimit": {
            "type": [
              "string",
              "null"
            ]
          },
          "observedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "observationId",
          "agentId",
          "capability",
          "breachedLimit",
          "observedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "cachet_evidence_submit",
      "description": "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.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.evidence.submit"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentId": {
            "type": "string",
            "minLength": 1
          },
          "source": {
            "type": "string",
            "minLength": 1
          },
          "verified": {
            "type": "boolean"
          },
          "failureReason": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "agentId",
          "source",
          "verified"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "evidenceId": {
            "type": "string"
          },
          "agentId": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "presentedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "evidenceId",
          "agentId",
          "source",
          "verified",
          "presentedAt"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "cachet_standing_get",
      "description": "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.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.standing.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "workspaceId",
          "agentId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "signed": {
            "type": "boolean",
            "const": false
          },
          "note": {
            "type": "string"
          },
          "agentId": {
            "type": "string"
          },
          "declared": {
            "type": "boolean"
          },
          "conduct": {
            "type": "object",
            "properties": {
              "grade": {
                "type": "string",
                "enum": [
                  "consistent",
                  "unrated",
                  "undeclared-conduct",
                  "limit-breach"
                ]
              },
              "runsObserved": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "divergence": {
                "type": "object",
                "properties": {
                  "undeclared": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "unexercised": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "breaches": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "undeclared",
                  "unexercised",
                  "breaches"
                ],
                "additionalProperties": false
              },
              "basis": {
                "type": "string"
              }
            },
            "required": [
              "grade",
              "runsObserved",
              "divergence",
              "basis"
            ],
            "additionalProperties": false
          },
          "identity": {
            "type": "object",
            "properties": {
              "grade": {
                "type": "string",
                "enum": [
                  "self-asserted",
                  "domain-control",
                  "workload-identity",
                  "platform-attested",
                  "business-verified",
                  "mandate-bound",
                  "wallet-verified"
                ]
              },
              "accord": {
                "type": "string",
                "enum": [
                  "accurate",
                  "understated",
                  "overstated",
                  "unpublished"
                ]
              },
              "claimedGrade": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "self-asserted",
                      "domain-control",
                      "workload-identity",
                      "platform-attested",
                      "business-verified",
                      "mandate-bound",
                      "wallet-verified"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "source": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "basis": {
                "type": "string"
              }
            },
            "required": [
              "grade",
              "accord",
              "claimedGrade"
            ],
            "additionalProperties": false
          },
          "evidenceWindow": {
            "type": "object",
            "properties": {
              "from": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "to": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          },
          "issuable": {
            "type": "boolean"
          }
        },
        "required": [
          "signed",
          "note",
          "agentId",
          "declared",
          "conduct",
          "identity",
          "evidenceWindow",
          "issuable"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "cachet_issue",
      "description": "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.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.issue"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentId": {
            "type": "string",
            "minLength": 1
          },
          "claimedGrade": {
            "type": "string",
            "enum": [
              "self-asserted",
              "domain-control",
              "workload-identity",
              "platform-attested",
              "business-verified",
              "mandate-bound",
              "wallet-verified"
            ]
          }
        },
        "required": [
          "workspaceId",
          "agentId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cachetId": {
            "type": "string",
            "pattern": "^cac_[A-Za-z0-9_-]{43}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentId": {
            "type": "string"
          },
          "identity": {
            "type": "object",
            "properties": {
              "grade": {
                "type": "string",
                "enum": [
                  "self-asserted",
                  "domain-control",
                  "workload-identity",
                  "platform-attested",
                  "business-verified",
                  "mandate-bound",
                  "wallet-verified"
                ]
              },
              "accord": {
                "type": "string",
                "enum": [
                  "accurate",
                  "understated",
                  "overstated",
                  "unpublished"
                ]
              },
              "claimedGrade": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "self-asserted",
                      "domain-control",
                      "workload-identity",
                      "platform-attested",
                      "business-verified",
                      "mandate-bound",
                      "wallet-verified"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "source": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "basis": {
                "type": "string"
              }
            },
            "required": [
              "grade",
              "accord",
              "claimedGrade"
            ],
            "additionalProperties": false
          },
          "conduct": {
            "type": "object",
            "properties": {
              "grade": {
                "type": "string",
                "enum": [
                  "consistent",
                  "unrated",
                  "undeclared-conduct",
                  "limit-breach"
                ]
              },
              "runsObserved": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "divergence": {
                "type": "object",
                "properties": {
                  "undeclared": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "unexercised": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "breaches": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "undeclared",
                  "unexercised",
                  "breaches"
                ],
                "additionalProperties": false
              },
              "basis": {
                "type": "string"
              }
            },
            "required": [
              "grade",
              "runsObserved",
              "divergence",
              "basis"
            ],
            "additionalProperties": false
          },
          "evidenceWindow": {
            "type": "object",
            "properties": {
              "from": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "to": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "signature": {
            "type": "string"
          },
          "signatureKeyId": {
            "type": "string"
          },
          "canonical": {
            "type": "string"
          }
        },
        "required": [
          "cachetId",
          "workspaceId",
          "agentId",
          "identity",
          "conduct",
          "evidenceWindow",
          "issuedAt",
          "signature",
          "signatureKeyId",
          "canonical"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "cachet_revoke",
      "description": "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.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.revoke"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "cachetId": {
            "type": "string",
            "pattern": "^cac_[A-Za-z0-9_-]{43}$"
          },
          "reason": {
            "type": "string",
            "minLength": 10
          }
        },
        "required": [
          "workspaceId",
          "cachetId",
          "reason"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cachetId": {
            "type": "string",
            "pattern": "^cac_[A-Za-z0-9_-]{43}$"
          },
          "revoked": {
            "type": "boolean",
            "const": true
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "cachetId",
          "revoked",
          "reason"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "cachet_list",
      "description": "List issued cachets for this workspace, optionally for one agent.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentId": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cachets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cachetId": {
                  "type": "string",
                  "pattern": "^cac_[A-Za-z0-9_-]{43}$"
                },
                "agentId": {
                  "type": "string"
                },
                "identity": {
                  "type": "object",
                  "properties": {
                    "grade": {
                      "type": "string",
                      "enum": [
                        "self-asserted",
                        "domain-control",
                        "workload-identity",
                        "platform-attested",
                        "business-verified",
                        "mandate-bound",
                        "wallet-verified"
                      ]
                    },
                    "accord": {
                      "type": "string",
                      "enum": [
                        "accurate",
                        "understated",
                        "overstated",
                        "unpublished"
                      ]
                    },
                    "claimedGrade": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "self-asserted",
                            "domain-control",
                            "workload-identity",
                            "platform-attested",
                            "business-verified",
                            "mandate-bound",
                            "wallet-verified"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "source": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "basis": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "grade",
                    "accord",
                    "claimedGrade"
                  ],
                  "additionalProperties": false
                },
                "conduct": {
                  "type": "object",
                  "properties": {
                    "grade": {
                      "type": "string",
                      "enum": [
                        "consistent",
                        "unrated",
                        "undeclared-conduct",
                        "limit-breach"
                      ]
                    },
                    "runsObserved": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    "divergence": {
                      "type": "object",
                      "properties": {
                        "undeclared": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "unexercised": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "breaches": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "undeclared",
                        "unexercised",
                        "breaches"
                      ],
                      "additionalProperties": false
                    },
                    "basis": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "grade",
                    "runsObserved",
                    "divergence",
                    "basis"
                  ],
                  "additionalProperties": false
                },
                "evidenceWindow": {
                  "type": "object",
                  "properties": {
                    "from": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    "to": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    }
                  },
                  "required": [
                    "from",
                    "to"
                  ],
                  "additionalProperties": false
                },
                "evidenceAgeDays": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "revoked": {
                  "type": "boolean"
                }
              },
              "required": [
                "cachetId",
                "agentId",
                "identity",
                "conduct",
                "evidenceWindow",
                "issuedAt",
                "revoked"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "cachets"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "cachets": []
          },
          "note": "List issued cachets."
        }
      ]
    },
    {
      "id": "cachet.agents.list",
      "name": "cachet_agents_list",
      "description": "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.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.agents.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "agentId": {
                  "type": "string"
                },
                "declared": {
                  "type": "boolean"
                },
                "conductGrade": {
                  "type": "string",
                  "enum": [
                    "consistent",
                    "unrated",
                    "undeclared-conduct",
                    "limit-breach"
                  ]
                },
                "identityGrade": {
                  "type": "string",
                  "enum": [
                    "self-asserted",
                    "domain-control",
                    "workload-identity",
                    "platform-attested",
                    "business-verified",
                    "mandate-bound",
                    "wallet-verified"
                  ]
                },
                "runsObserved": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "issuable": {
                  "type": "boolean"
                }
              },
              "required": [
                "agentId",
                "declared",
                "conductGrade",
                "identityGrade",
                "runsObserved",
                "issuable"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "agents"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "cachet_resolve",
      "description": "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'.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.resolve"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cachetId": {
            "type": "string",
            "pattern": "^cac_[A-Za-z0-9_-]{43}$"
          }
        },
        "required": [
          "cachetId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cachetId": {
            "type": "string",
            "pattern": "^cac_[A-Za-z0-9_-]{43}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentId": {
            "type": "string"
          },
          "identity": {
            "type": "object",
            "properties": {
              "grade": {
                "type": "string",
                "enum": [
                  "self-asserted",
                  "domain-control",
                  "workload-identity",
                  "platform-attested",
                  "business-verified",
                  "mandate-bound",
                  "wallet-verified"
                ]
              },
              "accord": {
                "type": "string",
                "enum": [
                  "accurate",
                  "understated",
                  "overstated",
                  "unpublished"
                ]
              },
              "claimedGrade": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "self-asserted",
                      "domain-control",
                      "workload-identity",
                      "platform-attested",
                      "business-verified",
                      "mandate-bound",
                      "wallet-verified"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "source": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "basis": {
                "type": "string"
              }
            },
            "required": [
              "grade",
              "accord",
              "claimedGrade"
            ],
            "additionalProperties": false
          },
          "conduct": {
            "type": "object",
            "properties": {
              "grade": {
                "type": "string",
                "enum": [
                  "consistent",
                  "unrated",
                  "undeclared-conduct",
                  "limit-breach"
                ]
              },
              "runsObserved": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "divergence": {
                "type": "object",
                "properties": {
                  "undeclared": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "unexercised": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "breaches": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "undeclared",
                  "unexercised",
                  "breaches"
                ],
                "additionalProperties": false
              },
              "basis": {
                "type": "string"
              }
            },
            "required": [
              "grade",
              "runsObserved",
              "divergence",
              "basis"
            ],
            "additionalProperties": false
          },
          "evidenceWindow": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "to": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          },
          "evidenceAgeDays": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "signature": {
            "type": "string"
          },
          "signatureKeyId": {
            "type": "string"
          },
          "canonical": {
            "type": "string"
          },
          "revoked": {
            "type": "boolean"
          },
          "revokedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "revocationReason": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "cachetId",
          "workspaceId",
          "agentId",
          "identity",
          "conduct",
          "evidenceWindow",
          "evidenceAgeDays",
          "issuedAt",
          "signature",
          "signatureKeyId",
          "canonical",
          "revoked",
          "revokedAt",
          "revocationReason"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "cachet_verify",
      "description": "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.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cachetId": {
            "type": "string",
            "pattern": "^cac_[A-Za-z0-9_-]{43}$"
          },
          "canonical": {
            "type": "string",
            "minLength": 1
          },
          "signature": {
            "type": "string"
          }
        },
        "required": [
          "cachetId",
          "canonical"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": true
              },
              "cachetId": {
                "type": "string",
                "pattern": "^cac_[A-Za-z0-9_-]{43}$"
              },
              "signatureVerified": {
                "type": "boolean"
              },
              "signatureKeyId": {
                "type": "string"
              },
              "revoked": {
                "type": "boolean"
              },
              "revokedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "revocationReason": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "registryChecked": {
                "type": "boolean"
              },
              "note": {
                "type": "string"
              }
            },
            "required": [
              "ok",
              "cachetId",
              "signatureVerified"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": false
              },
              "reason": {
                "type": "string",
                "enum": [
                  "content-address-mismatch",
                  "bad-signature",
                  "unknown-key",
                  "malformed"
                ]
              },
              "expected": {
                "type": "string"
              },
              "actual": {
                "type": "string"
              }
            },
            "required": [
              "ok",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "cachetId": "cac_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "canonical": "{}"
          },
          "output": {
            "ok": false,
            "reason": "content-address-mismatch"
          },
          "note": "Verify bytes against the content address."
        }
      ]
    },
    {
      "id": "cachet.keys.get",
      "name": "cachet_keys_get",
      "description": "PUBLIC. The JWK Set cachets are signed with, for offline verification.",
      "domain": "cachet",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/cachet.keys.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kty": {
                  "type": "string"
                },
                "crv": {
                  "type": "string"
                },
                "x": {
                  "type": "string"
                },
                "kid": {
                  "type": "string",
                  "pattern": "^[a-z0-9-]{4,64}$"
                },
                "alg": {
                  "type": "string"
                },
                "use": {
                  "type": "string"
                }
              },
              "required": [
                "kty",
                "crv",
                "x",
                "kid",
                "alg",
                "use"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "keys"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "keys": []
          },
          "note": "Read the signing keys."
        }
      ]
    },
    {
      "id": "emissary.publish",
      "name": "emissary_publish",
      "description": "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.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.publish"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "domain": {
            "type": "string",
            "minLength": 1
          },
          "directives": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "subject": {
                  "type": "string",
                  "enum": [
                    "train",
                    "infer",
                    "quote",
                    "index",
                    "embed",
                    "evaluate"
                  ]
                },
                "stance": {
                  "type": "string",
                  "enum": [
                    "allow",
                    "deny",
                    "conditional"
                  ]
                },
                "condition": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "subject",
                "stance"
              ]
            }
          },
          "contact": {
            "type": "string"
          },
          "licence": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          }
        },
        "required": [
          "workspaceId",
          "domain",
          "directives"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "declarationId": {
            "type": "string",
            "pattern": "^emd_[A-Za-z0-9_-]{43}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "domain": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "directives": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "subject": {
                  "type": "string",
                  "enum": [
                    "train",
                    "infer",
                    "quote",
                    "index",
                    "embed",
                    "evaluate"
                  ]
                },
                "stance": {
                  "type": "string",
                  "enum": [
                    "allow",
                    "deny",
                    "conditional"
                  ]
                },
                "condition": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "subject",
                "stance"
              ],
              "additionalProperties": false
            }
          },
          "contact": {
            "type": [
              "string",
              "null"
            ]
          },
          "licence": {
            "type": [
              "string",
              "null"
            ]
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "signature": {
            "type": "string"
          },
          "signatureKeyId": {
            "type": "string"
          },
          "retired": {
            "type": "boolean"
          },
          "retiredAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "canonical": {
            "type": "string"
          }
        },
        "required": [
          "declarationId",
          "workspaceId",
          "domain",
          "version",
          "directives",
          "contact",
          "licence",
          "notes",
          "publishedAt",
          "signature",
          "signatureKeyId",
          "retired",
          "retiredAt",
          "canonical"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "emissary_list",
      "description": "List this workspace's declarations, newest first — including retired versions, which still resolve.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "declarations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "declarationId": {
                  "type": "string",
                  "pattern": "^emd_[A-Za-z0-9_-]{43}$"
                },
                "workspaceId": {
                  "type": "string",
                  "pattern": "^ws_[0-9A-Z]{20,}$"
                },
                "domain": {
                  "type": "string"
                },
                "version": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "directives": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "subject": {
                        "type": "string",
                        "enum": [
                          "train",
                          "infer",
                          "quote",
                          "index",
                          "embed",
                          "evaluate"
                        ]
                      },
                      "stance": {
                        "type": "string",
                        "enum": [
                          "allow",
                          "deny",
                          "conditional"
                        ]
                      },
                      "condition": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "required": [
                      "subject",
                      "stance"
                    ],
                    "additionalProperties": false
                  }
                },
                "contact": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "licence": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "notes": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "publishedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "signature": {
                  "type": "string"
                },
                "signatureKeyId": {
                  "type": "string"
                },
                "retired": {
                  "type": "boolean"
                },
                "retiredAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "declarationId",
                "workspaceId",
                "domain",
                "version",
                "directives",
                "contact",
                "licence",
                "notes",
                "publishedAt",
                "signature",
                "signatureKeyId",
                "retired",
                "retiredAt"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "declarations"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "workspaceId": "ws_DEMODEFAULT0000000000"
          },
          "output": {
            "declarations": []
          },
          "note": "List declarations."
        }
      ]
    },
    {
      "id": "emissary.current.get",
      "name": "emissary_current_get",
      "description": "The live declaration for a domain. Nothing published is reported as a GAP, never as a permissive default — silence is not permission.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.current.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "domain": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "workspaceId",
          "domain"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "declarationId": {
            "type": "string",
            "pattern": "^emd_[A-Za-z0-9_-]{43}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "domain": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "directives": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "subject": {
                  "type": "string",
                  "enum": [
                    "train",
                    "infer",
                    "quote",
                    "index",
                    "embed",
                    "evaluate"
                  ]
                },
                "stance": {
                  "type": "string",
                  "enum": [
                    "allow",
                    "deny",
                    "conditional"
                  ]
                },
                "condition": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "subject",
                "stance"
              ],
              "additionalProperties": false
            }
          },
          "contact": {
            "type": [
              "string",
              "null"
            ]
          },
          "licence": {
            "type": [
              "string",
              "null"
            ]
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "signature": {
            "type": "string"
          },
          "signatureKeyId": {
            "type": "string"
          },
          "retired": {
            "type": "boolean"
          },
          "retiredAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "canonical": {
            "type": "string"
          }
        },
        "required": [
          "declarationId",
          "workspaceId",
          "domain",
          "version",
          "directives",
          "contact",
          "licence",
          "notes",
          "publishedAt",
          "signature",
          "signatureKeyId",
          "retired",
          "retiredAt",
          "canonical"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "emissary_fetches_list",
      "description": "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.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.fetches.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "declarationId": {
            "type": "string",
            "pattern": "^emd_[A-Za-z0-9_-]{43}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "fetches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fetchId": {
                  "type": "string"
                },
                "declarationId": {
                  "type": "string",
                  "pattern": "^emd_[A-Za-z0-9_-]{43}$"
                },
                "attributionGrade": {
                  "type": "string",
                  "enum": [
                    "unidentified",
                    "self-declared",
                    "ip-confirmed",
                    "signature-verified"
                  ]
                },
                "operator": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "claimedOperator": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "contradicted": {
                  "type": "boolean"
                },
                "userAgent": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "reverseDns": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "forwardConfirmed": {
                  "type": "boolean"
                },
                "signatureKeyId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "basis": {
                  "type": "string"
                },
                "fetchedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "variant": {
                  "type": "string",
                  "enum": [
                    "json",
                    "text"
                  ]
                }
              },
              "required": [
                "fetchId",
                "declarationId",
                "attributionGrade",
                "operator",
                "claimedOperator",
                "contradicted",
                "userAgent",
                "reverseDns",
                "forwardConfirmed",
                "signatureKeyId",
                "basis",
                "fetchedAt",
                "variant"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "fetches"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "emissary_audience_get",
      "description": "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.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.audience.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "declarationId": {
            "type": "string",
            "pattern": "^emd_[A-Za-z0-9_-]{43}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "byGrade": {
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "enum": [
                    "unidentified",
                    "self-declared",
                    "ip-confirmed",
                    "signature-verified"
                  ]
                },
                "additionalProperties": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "required": [
                  "unidentified",
                  "self-declared",
                  "ip-confirmed",
                  "signature-verified"
                ]
              },
              "confirmedOperators": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "operator": {
                      "type": "string"
                    },
                    "fetches": {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": [
                    "operator",
                    "fetches"
                  ],
                  "additionalProperties": false
                }
              },
              "claimedOnlyOperators": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "operator": {
                      "type": "string"
                    },
                    "fetches": {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": [
                    "operator",
                    "fetches"
                  ],
                  "additionalProperties": false
                }
              },
              "contradictions": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "citable": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "caveat": {
                "type": "string"
              }
            },
            "required": [
              "total",
              "byGrade",
              "confirmedOperators",
              "claimedOnlyOperators",
              "contradictions",
              "citable",
              "caveat"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "unknown": {
                "type": "boolean",
                "const": true
              },
              "reason": {
                "type": "string"
              }
            },
            "required": [
              "unknown",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "emissary_agents_list",
      "description": "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.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.agents.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "operator": {
                  "type": "string"
                },
                "userAgentMarkers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "domainSuffixes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "signingKeyIds": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "bestAchievableGrade": {
                  "type": "string",
                  "enum": [
                    "unidentified",
                    "self-declared",
                    "ip-confirmed",
                    "signature-verified"
                  ]
                }
              },
              "required": [
                "operator",
                "userAgentMarkers",
                "domainSuffixes",
                "signingKeyIds",
                "bestAchievableGrade"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "agents"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "emissary_agents_register",
      "description": "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.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.agents.register"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "operator": {
            "type": "string",
            "minLength": 1
          },
          "userAgentMarkers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "domainSuffixes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "signingKeys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "keyId": {
                  "type": "string",
                  "minLength": 1
                },
                "jwk": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              },
              "required": [
                "keyId",
                "jwk"
              ]
            }
          }
        },
        "required": [
          "workspaceId",
          "operator"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "agentKey": {
            "type": "string"
          },
          "operator": {
            "type": "string"
          },
          "userAgentMarkers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "domainSuffixes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "signingKeys": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "agentKey",
          "operator",
          "userAgentMarkers",
          "domainSuffixes",
          "signingKeys"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "emissary_resolve",
      "description": "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.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.resolve"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "declarationId": {
            "type": "string",
            "pattern": "^emd_[A-Za-z0-9_-]{43}$"
          },
          "variant": {
            "type": "string",
            "enum": [
              "json",
              "text"
            ]
          }
        },
        "required": [
          "declarationId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "declarationId": {
            "type": "string",
            "pattern": "^emd_[A-Za-z0-9_-]{43}$"
          },
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "domain": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "directives": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "subject": {
                  "type": "string",
                  "enum": [
                    "train",
                    "infer",
                    "quote",
                    "index",
                    "embed",
                    "evaluate"
                  ]
                },
                "stance": {
                  "type": "string",
                  "enum": [
                    "allow",
                    "deny",
                    "conditional"
                  ]
                },
                "condition": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "subject",
                "stance"
              ],
              "additionalProperties": false
            }
          },
          "contact": {
            "type": [
              "string",
              "null"
            ]
          },
          "licence": {
            "type": [
              "string",
              "null"
            ]
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "signature": {
            "type": "string"
          },
          "signatureKeyId": {
            "type": "string"
          },
          "retired": {
            "type": "boolean"
          },
          "retiredAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "canonical": {
            "type": "string"
          }
        },
        "required": [
          "declarationId",
          "workspaceId",
          "domain",
          "version",
          "directives",
          "contact",
          "licence",
          "notes",
          "publishedAt",
          "signature",
          "signatureKeyId",
          "retired",
          "retiredAt",
          "canonical"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "emissary_verify",
      "description": "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.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "declarationId": {
            "type": "string",
            "pattern": "^emd_[A-Za-z0-9_-]{43}$"
          },
          "canonical": {
            "type": "string",
            "minLength": 1
          },
          "signature": {
            "type": "string"
          }
        },
        "required": [
          "declarationId",
          "canonical"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": true
              },
              "declarationId": {
                "type": "string",
                "pattern": "^emd_[A-Za-z0-9_-]{43}$"
              },
              "signatureVerified": {
                "type": "boolean"
              },
              "signatureKeyId": {
                "type": "string"
              },
              "retired": {
                "type": "boolean"
              },
              "retiredAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "registryChecked": {
                "type": "boolean"
              },
              "note": {
                "type": "string"
              }
            },
            "required": [
              "ok",
              "declarationId",
              "signatureVerified"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": false
              },
              "reason": {
                "type": "string",
                "enum": [
                  "content-address-mismatch",
                  "bad-signature",
                  "unknown-key",
                  "malformed"
                ]
              },
              "expected": {
                "type": "string"
              },
              "actual": {
                "type": "string"
              }
            },
            "required": [
              "ok",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {
            "declarationId": "emd_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "canonical": "{}"
          },
          "output": {
            "ok": false,
            "reason": "content-address-mismatch"
          },
          "note": "Verify bytes against the content address."
        }
      ]
    },
    {
      "id": "emissary.keys.get",
      "name": "emissary_keys_get",
      "description": "PUBLIC. The JWK Set declarations are signed with, for offline verification.",
      "domain": "emissary",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/emissary.keys.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kty": {
                  "type": "string"
                },
                "crv": {
                  "type": "string"
                },
                "x": {
                  "type": "string"
                },
                "kid": {
                  "type": "string",
                  "pattern": "^[a-z0-9-]{4,64}$"
                },
                "alg": {
                  "type": "string"
                },
                "use": {
                  "type": "string"
                }
              },
              "required": [
                "kty",
                "crv",
                "x",
                "kid",
                "alg",
                "use"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "keys"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "examples": [
        {
          "input": {},
          "output": {
            "keys": []
          },
          "note": "Read the signing keys."
        }
      ]
    },
    {
      "id": "c2pa.sign",
      "name": "c2pa_sign",
      "description": "Sign a content hash into a C2PA manifest — COSE_Sign1 over the deterministic-CBOR claim, returned as embeddable bytes.",
      "domain": "c2pa",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/c2pa.sign"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "contentSha256": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "mimeType": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string",
            "maxLength": 500
          },
          "assertions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "data": {}
              },
              "required": [
                "label",
                "data"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "workspaceId",
          "contentSha256",
          "mimeType"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "manifest": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "vendor": {
                "type": "string"
              },
              "format": {
                "type": "string"
              },
              "claim": {},
              "claimSignature": {
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "const": "EdDSA"
                  },
                  "keyId": {
                    "type": "string"
                  },
                  "signatureValue": {
                    "type": "string"
                  },
                  "signingTime": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                  },
                  "signerDid": {
                    "type": "string"
                  }
                },
                "required": [
                  "algorithm",
                  "keyId",
                  "signatureValue",
                  "signingTime",
                  "signerDid"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "label",
              "vendor",
              "format",
              "claim",
              "claimSignature"
            ],
            "additionalProperties": false
          },
          "manifestCborBase64Url": {
            "type": "string"
          },
          "signedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "persisted": {
            "type": "boolean"
          },
          "manifestUrl": {
            "type": "string"
          }
        },
        "required": [
          "manifest",
          "manifestCborBase64Url",
          "signedAt",
          "persisted"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "c2pa_verify",
      "description": "Verify a C2PA manifest against the published signer keys, and optionally assert it covers the content you have.",
      "domain": "c2pa",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/c2pa.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "manifestCborBase64Url": {
            "type": "string",
            "minLength": 1
          },
          "expectedContentSha256": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          }
        },
        "required": [
          "workspaceId",
          "manifestCborBase64Url"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": true
              },
              "activeManifestLabel": {
                "type": "string"
              },
              "signedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
              },
              "signerDid": {
                "type": "string"
              },
              "contentHashMatches": {
                "type": "boolean"
              },
              "lineageDepth": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "entpoindReceiptId": {
                "type": "string"
              },
              "otsVerified": {
                "type": "boolean"
              }
            },
            "required": [
              "ok",
              "activeManifestLabel",
              "signedAt",
              "signerDid",
              "contentHashMatches",
              "lineageDepth"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": false
              },
              "reason": {
                "type": "string",
                "enum": [
                  "no_manifest",
                  "signature_invalid",
                  "signer_not_trusted",
                  "content_hash_mismatch",
                  "malformed"
                ]
              },
              "detail": {
                "type": "string"
              }
            },
            "required": [
              "ok",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "receipts_issue",
      "description": "Mint a signed verifiable artifact — a receipt an auditor can check without trusting us, anchored into the Merkle batch.",
      "domain": "receipts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/receipts.issue"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kind": {
            "type": "string",
            "minLength": 1
          },
          "source": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "subject": {},
          "claims": {}
        },
        "required": [
          "workspaceId",
          "kind"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "artifactId": {
            "type": "string"
          },
          "bundle": {},
          "leafHash": {
            "type": "string"
          },
          "topsRef": {
            "type": [
              "string",
              "null"
            ]
          },
          "signatureKeyId": {
            "type": "string"
          }
        },
        "required": [
          "artifactId",
          "bundle",
          "leafHash",
          "topsRef",
          "signatureKeyId"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": false
      },
      "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",
      "name": "receipts_get",
      "description": "Read one verifiable artifact by id, including its anchor reference once the batch has run.",
      "domain": "receipts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/receipts.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "artifactId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "workspaceId",
          "artifactId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "artifact": {},
          "kind": {
            "type": "string"
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          },
          "leafHash": {
            "type": "string"
          },
          "topsRef": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "artifact",
          "kind",
          "issuedAt",
          "leafHash",
          "topsRef"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "receipts_list",
      "description": "List this workspace's verifiable artifacts, newest first, optionally filtered to one kind.",
      "domain": "receipts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/receipts.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "kind": {
            "type": "string",
            "enum": [
              "provable-residency",
              "proof-of-erasure",
              "oversight",
              "ai-bom",
              "consumer-disclosure",
              "verifiable-invoice",
              "continuity-of-witness",
              "exhibit",
              "regression",
              "drift-alarm",
              "conformity-attestation",
              "living-dossier",
              "incident-report",
              "regulatory-canon-drift",
              "actor-score",
              "agent-passport",
              "handshake-notary",
              "signed-retrieval",
              "memory-attestation",
              "interdiction"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "artifacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "artifactId": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "subjectHash": {
                  "type": "string"
                },
                "issuedAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
                },
                "leafHash": {
                  "type": "string"
                },
                "topsRef": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "artifactId",
                "kind",
                "subjectHash",
                "issuedAt",
                "leafHash",
                "topsRef"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "artifacts"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "receipts_verify",
      "description": "Verify a signed artifact against the published keys — signature, and Merkle inclusion when you supply the anchored bundle.",
      "domain": "receipts",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/receipts.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "bundle": {},
          "artifact": {}
        },
        "required": [
          "workspaceId"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema"
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "memory_put",
      "description": "Write one memory entry. Requires a mandate unless writing your own namespace.",
      "domain": "memory",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/memory.put"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentDid": {
            "type": "string",
            "minLength": 7,
            "maxLength": 512,
            "pattern": "^did:"
          },
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "value": {},
          "tags": {
            "maxItems": 32,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            }
          },
          "consentRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        },
        "required": [
          "workspaceId",
          "agentDid",
          "key",
          "value"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entry": {
            "type": "object",
            "properties": {
              "agentRef": {
                "type": "string"
              },
              "key": {
                "type": "string"
              },
              "value": {},
              "contentSha256": {
                "type": "string"
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "version": {
                "type": "number"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "agentRef",
              "key",
              "value",
              "contentSha256",
              "tags",
              "version",
              "createdAt",
              "updatedAt"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "entry"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "mutation",
        "confirmation": "ask",
        "idempotent": true
      },
      "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",
      "name": "memory_get",
      "description": "Read one memory entry by key.",
      "domain": "memory",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/memory.get"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentDid": {
            "type": "string",
            "minLength": 7,
            "maxLength": 512,
            "pattern": "^did:"
          },
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          }
        },
        "required": [
          "workspaceId",
          "agentDid",
          "key"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entry": {
            "type": "object",
            "properties": {
              "agentRef": {
                "type": "string"
              },
              "key": {
                "type": "string"
              },
              "value": {},
              "contentSha256": {
                "type": "string"
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "version": {
                "type": "number"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "agentRef",
              "key",
              "value",
              "contentSha256",
              "tags",
              "version",
              "createdAt",
              "updatedAt"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "entry"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "memory_list",
      "description": "List live memory entries for an agent, key-ordered.",
      "domain": "memory",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/memory.list"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentDid": {
            "type": "string",
            "minLength": 7,
            "maxLength": 512,
            "pattern": "^did:"
          },
          "limit": {
            "default": 100,
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          }
        },
        "required": [
          "workspaceId",
          "agentDid"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "agentRef": {
                  "type": "string"
                },
                "key": {
                  "type": "string"
                },
                "value": {},
                "contentSha256": {
                  "type": "string"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "version": {
                  "type": "number"
                },
                "createdAt": {
                  "type": "string"
                },
                "updatedAt": {
                  "type": "string"
                }
              },
              "required": [
                "agentRef",
                "key",
                "value",
                "contentSha256",
                "tags",
                "version",
                "createdAt",
                "updatedAt"
              ],
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "entries"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "memory_remove",
      "description": "Tombstone one memory entry. A deletion is a WRITE and needs write authority.",
      "domain": "memory",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/memory.remove"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentDid": {
            "type": "string",
            "minLength": 7,
            "maxLength": 512,
            "pattern": "^did:"
          },
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          }
        },
        "required": [
          "workspaceId",
          "agentDid",
          "key"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "removed": {
            "type": "boolean"
          },
          "agentRef": {
            "type": "string"
          },
          "key": {
            "type": "string"
          }
        },
        "required": [
          "removed",
          "agentRef",
          "key"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "destructive",
        "confirmation": "always",
        "idempotent": true
      },
      "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",
      "name": "memory_snapshot",
      "description": "Merkle snapshot of an agent's live memory — the root a portable export verifies against.",
      "domain": "memory",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/memory.snapshot"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentDid": {
            "type": "string",
            "minLength": 7,
            "maxLength": 512,
            "pattern": "^did:"
          }
        },
        "required": [
          "workspaceId",
          "agentDid"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "snapshot": {
            "type": "object",
            "properties": {
              "agentRef": {
                "type": "string"
              },
              "snapshotRef": {
                "type": "string"
              },
              "entryCount": {
                "type": "number"
              },
              "merkleRoot": {
                "type": "string"
              },
              "earliestEntryAt": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "latestEntryAt": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "snapshotAt": {
                "type": "string"
              }
            },
            "required": [
              "agentRef",
              "snapshotRef",
              "entryCount",
              "merkleRoot",
              "earliestEntryAt",
              "latestEntryAt",
              "snapshotAt"
            ],
            "additionalProperties": {}
          },
          "mint": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string"
              },
              "source": {}
            },
            "required": [
              "kind",
              "source"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "snapshot",
          "mint"
        ],
        "additionalProperties": false
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "memory_export",
      "description": "Export an agent's live memory as a portable, tamper-evident bundle.",
      "domain": "memory",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/memory.export"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "agentDid": {
            "type": "string",
            "minLength": 7,
            "maxLength": 512,
            "pattern": "^did:"
          }
        },
        "required": [
          "workspaceId",
          "agentDid"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "bundle": {
            "type": "object",
            "properties": {
              "agentRef": {
                "type": "string",
                "minLength": 1
              },
              "entries": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "minLength": 1
                    },
                    "contentSha256": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "key",
                    "contentSha256"
                  ],
                  "additionalProperties": false
                }
              },
              "claimedRoot": {
                "type": "string",
                "minLength": 1
              },
              "exportedAt": {
                "type": "string",
                "minLength": 1
              },
              "exportedBy": {
                "type": "string",
                "minLength": 1
              },
              "origin": {
                "type": "string",
                "enum": [
                  "anchored",
                  "signed",
                  "unattested"
                ]
              },
              "anchorRef": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "agentRef",
              "entries",
              "claimedRoot",
              "exportedAt",
              "exportedBy",
              "origin"
            ],
            "additionalProperties": {}
          },
          "attestationPath": {
            "type": "string"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "bundle",
          "attestationPath",
          "notes"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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",
      "name": "memory_import_verify",
      "description": "Verify a portable memory bundle that arrived from anywhere — integrity now, completeness only against a root committed to beforehand.",
      "domain": "memory",
      "endpoint": {
        "method": "POST",
        "url": "https://api.trustvice.com/v1/actions/memory.import.verify"
      },
      "input_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "pattern": "^ws_[0-9A-Z]{20,}$"
          },
          "bundle": {
            "type": "object",
            "properties": {
              "agentRef": {
                "type": "string",
                "minLength": 1
              },
              "entries": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "minLength": 1
                    },
                    "contentSha256": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "key",
                    "contentSha256"
                  ],
                  "additionalProperties": false
                }
              },
              "claimedRoot": {
                "type": "string",
                "minLength": 1
              },
              "exportedAt": {
                "type": "string",
                "minLength": 1
              },
              "exportedBy": {
                "type": "string",
                "minLength": 1
              },
              "origin": {
                "type": "string",
                "enum": [
                  "anchored",
                  "signed",
                  "unattested"
                ]
              },
              "anchorRef": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "agentRef",
              "entries",
              "claimedRoot",
              "exportedAt",
              "exportedBy",
              "origin"
            ],
            "additionalProperties": {}
          },
          "expectedRoot": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "workspaceId",
          "bundle"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "verification": {
            "type": "object",
            "properties": {
              "agentRef": {
                "type": "string"
              },
              "integrity": {
                "type": "string",
                "enum": [
                  "intact",
                  "root_mismatch",
                  "duplicate_keys"
                ]
              },
              "completeness": {
                "type": "string",
                "enum": [
                  "matches_expected_root",
                  "differs_from_expected_root",
                  "unknown"
                ]
              },
              "recomputedRoot": {
                "type": "string"
              },
              "entryCount": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "origin": {
                "type": "string",
                "enum": [
                  "anchored",
                  "signed",
                  "unattested"
                ]
              },
              "safeToTrustAsComplete": {
                "type": "boolean"
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "agentRef",
              "integrity",
              "completeness",
              "recomputedRoot",
              "entryCount",
              "origin",
              "safeToTrustAsComplete",
              "notes"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "verification"
        ],
        "additionalProperties": {}
      },
      "safety": {
        "level": "read",
        "confirmation": "none",
        "idempotent": true
      },
      "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."
        }
      ]
    }
  ],
  "meta": {
    "generated_at": "2026-11-08T20:41:05.782Z",
    "contracts_version": "0.91.0",
    "tool_count": 519
  }
}