1. AI Governance
Anzenna Public API
  • How To Use the Anzenna Public API
  • AI Governance
    • Query all Shadow AI instances
      POST
    • Get a Shadow AI instance by id
      GET
    • Query all AI interactions
      POST
    • Get an AI interaction by id
      GET
    • List MCP servers
      POST
    • Get an MCP server
      GET
    • Query MCP server installations
      POST
  • Investigation
    • Query all investigations
      POST
    • Start an investigation
      POST
    • Get an investigation by id
      GET
    • Dismiss an investigation
      POST
    • Get detection investigation prompts
      GET
    • Get global investigation prompts
      GET
    • Get user investigation prompts
      GET
    • Query all risk registers
      POST
    • Query all risk register catalog entries
      POST
  • Identity
    • List accounts
      POST
    • Get an account by id
      GET
    • List login events
      POST
    • Get a login event by ID
      GET
    • Query all mfa statuses
      POST
    • Get an MFA status by id
      GET
    • Query all OAuth applications
      POST
    • Get an OAuth application by id
      GET
    • Query all OAuth application instances
      POST
    • Query all password reuse instances
      POST
  • Advanced
    • Execute an advanced query
    • List security events
    • Receive a webhook event
    • Query raw events
  • Detection
    • Query all allowlists
    • Create a new allowlist
    • Delete an allowlist
    • Update an allowlist
    • Get an anomaly by ID
    • Get key finding detections
    • Get detection details
    • List users associated with a given detection
    • Execute a remediation
  • Browser
    • Query all browser applications
    • Get a browser application by id
    • List browser application instances
    • List browser history entries
    • Query all remote machines
    • Get a remote machine by id
    • Query all web host resources
    • Get a web host resource by id
  • Data & IP
    • Query database exfiltration events
    • List file delete events
    • List file movement activities
    • Get file movement activity by id
    • List files used with data exfiltration.
    • Get a specific data exfiltration file
    • List git events
    • Get a specific git event by id
    • List git repositories
    • Get a specific git repository
    • List file sharing instances
    • Query database share grants
    • Query database share user additions
    • List documents
    • Get document by id
    • List DLP policies
    • Get a DLP policy by id
    • List DLP policy detectors
    • Query all DLP alerts
    • Get a DLP alert by id
  • Device
    • List devices
    • Get a device
    • List device applications
    • Get a device application
    • Query device application instances.
    • List device infections
    • Get a device infection
    • List device policies
    • Get a device policy
    • List USB device connection events
    • Get a USB connection event
    • List IDE applications
    • Get an IDE application
    • Query IDE application instances.
  • Email
    • Query all outbound email events
    • Get an outbound email event by id
    • Query all phishing interactions
  • Company
    • List groups
    • Query all people
    • Get departure analysis for a person
    • Get a person by id
    • Add a category to multiple people
    • Remove a category from multiple people
    • Get company risk trends
    • Get number of high risk organizations
  • SaaS
    • Query all Shadow IT instances
  • Outreach
    • List training campaigns
    • Create a training campaign
  • API Key
    • Get API key information
  1. AI Governance

Query all AI interactions

POST
/ai-governance/interactions
Query and filter AI interactions: per-action telemetry from coding agents
and AI apps (file reads, shell commands, MCP tool calls, plugin and skill
invocations, config tampering, prompt activity).
Filtering by time range: Use the timestamp field with comparison
operators. For example: timestamp >= '2026-01-01'
Filtering by kind: interaction_kind selects the category of event and
determines which evidence fields are populated. For example:
interaction_kind = 'mcp_tool_call' or
interaction_kind IN ('sensitive_file_read', 'sensitive_command').
Only exact enum string values are supported.
MCP tool calls: tool carries the MCP tool name on mcp_tool_call rows
and the agent's own tool name otherwise, so it is the single field to
filter on either way.
Relations:
employee (Person): The employee whose agent produced the interaction

Request

Authorization
Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Successful operation
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/ai-governance/interactions' \
--header 'Content-Type: application/json' \
--data '{
    "distinct_count": "string",
    "distinct_on": "host_name",
    "include_total_count": true,
    "limit": 10,
    "offset": 0,
    "query": "name='\''WINPC-4291'\'' AND status IN ('\''active'\'', '\''pending'\'')",
    "sort": "name desc, id"
}'
Response Response Example
{
    "distinct_values": [
        {
            "count": 0,
            "value": null
        }
    ],
    "pagination": {
        "count": 0,
        "total_count": 1000
    },
    "items": [
        {
            "agent_version": "1.2.3",
            "app_kind": "unspecified",
            "bytes_returned": 1024,
            "bytes_sent": 4096,
            "chained_subcommand_count": 73,
            "command": "security find-generic-password",
            "corporate_determination_method": "authenticated_user",
            "denial_reason": "Editing the agent's own settings.json is self-modification of agent configuration.",
            "description": "List files in the backup directory",
            "device_name": "janes-macbook-pro",
            "device_serial_number": "C02XK1ZGJGH5",
            "duration_ms": 350,
            "employee_email": "jane.doe@example.com",
            "employee_name": "Jane Doe",
            "error_message": "permission denied",
            "file_path": "/Users/jdoe/.ssh/id_ed25519",
            "from_corporate_domain": true,
            "hook_version": "v1.4.0",
            "host_user_account": "jane@example.com",
            "id": "8CA67511-744C-4D74-B26E-7281CF88712F",
            "interaction_kind": "sensitive_file_read",
            "matched_rule": "~/.ssh",
            "mcp_destination": "unspecified",
            "mcp_destination_path": "/backups/id_ed25519.txt",
            "mcp_server": "dropbox",
            "mcp_server_name": "Dropbox",
            "mcp_server_transport": "stdio",
            "mcp_server_url": "https://mcp.dropbox.com/sse",
            "mdm_device_id": "412",
            "mdm_type": "unspecified",
            "outcome": "success",
            "permission_mode": "default",
            "plugin_name": "anzenna-toolkit",
            "session_id": "0c75df52-2c41-4a8f-bf16-5c1f4e2c9a31",
            "skill_name": "system-health",
            "timestamp": "2026-05-19T15:32:00Z",
            "tool": "create_file",
            "tool_use_id": "toolu_01abc123xyz",
            "username": "jdoe",
            "web_host_name": "claude.ai"
        }
    ]
}
Modified at 2026-09-21 04:45:45
Previous
Get a Shadow AI instance by id
Next
Get an AI interaction by id
Built with