generated: '2026-08-02' method: generated source: openapi/picus-security-activity-logs-openapi.yml, openapi/picus-security-agents-openapi.yml, openapi/picus-security-authentication-openapi.yml, openapi/picus-security-instances-openapi.yml, openapi/picus-security-integrations-openapi.yml, openapi/picus-security-mitigation-openapi.yml, openapi/picus-security-simulation-latest-result-openapi.yml, openapi/picus-security-simulation-result-openapi.yml, openapi/picus-security-simulation-result-reports-openapi.yml, openapi/picus-security-simulations-openapi.yml, openapi/picus-security-summary-openapi.yml, openapi/picus-security-templates-openapi.yml, openapi/picus-security-threats-openapi.yml, openapi/picus-security-users-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 84 by_action_class: connected: 59 acting: 25 by_consequence: read: 59 write: 25 human_in_the_loop_required: 0 operations: - path: /v1/activity-logs method: get operationId: activityLogsFilterParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/agents method: get operationId: Result x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/agents/download-link method: get operationId: downloadLinkParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/agents/install-token method: get operationId: installTokenParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/agents/kubernetes/download-yaml method: get operationId: downloadK8sAgentYamlParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/agents/reinstall-token method: get operationId: reinstallTokenParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/agents/{Id} method: get operationId: agentParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/auth/refresh method: post operationId: RegenerateRefreshTokenParam x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/auth/token method: post operationId: AuthTokenParam x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/exposures/instances/scores method: post operationId: listInstanceScoresParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/integrations method: get operationId: integrationList x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/integrations/agents method: get operationId: integrationAgent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/custom method: get operationId: getCustomDetectionContentParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/custom method: post operationId: createCustomDetectionContentParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/mitigation/detection-content/custom/{content_id} method: get operationId: getCustomDetectionContentByIdParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/custom/{content_id} method: put operationId: updateCustomDetectionContentParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/mitigation/detection-content/custom/{content_id} method: delete operationId: deleteCustomDetectionContentParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/mitigation/detection-content/devices method: get operationId: getDetectionDevicesParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/mitre/sub-techniques method: get operationId: getMitreSubTechniquesParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/mitre/tactics method: get operationId: getMitreTacticsParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/mitre/techniques method: get operationId: getMitreTechniquesParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/sources method: get operationId: contentSources x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/{source}/log-sources method: get operationId: contentSourceNameUriParam x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/{source}/rules method: get operationId: detectionContentRulesParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/detection-content/{source}/rules/{ruleId} method: get operationId: contentSourceNameAndRuleIdUriParam x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/devices method: get operationId: deviceListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/devices/{DeviceId}/signatures method: get operationId: signatureListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/mitigation/generic/not-blocked-actions method: get operationId: genericNotBlockedActionsParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/mitigation/devices method: get operationId: deviceListParamsV2 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/mitigation/devices/{DeviceId} method: get operationId: deviceStatsByIdParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/latest method: get operationId: latestRunParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/latest/frameworks method: get operationId: latestRunDetailParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/latest/threats method: get operationId: latestRunThreatParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/latest/threats/{ThreatId}/actions method: get operationId: latestActionDetailsListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/latest/threats/{ThreatId}/actions/{ActionId} method: get operationId: latestActionDetailsParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/latest/threats/{ThreatId}/actions/{ActionId}/integrations/{IntegrationId}/alerts method: get operationId: latestActionAlertsParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/latest/threats/{ThreatId}/actions/{ActionId}/integrations/{IntegrationId}/logs method: get operationId: latestActionLogsParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/{RunId} method: get operationId: simulationRunParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/{RunId}/frameworks method: get operationId: runDetailParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/{RunId}/threats method: get operationId: runThreatParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/{RunId}/threats/{ThreatId}/actions method: get operationId: actionDetailsListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/{RunId}/threats/{ThreatId}/actions/{ActionId} method: get operationId: actionDetailsParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/{RunId}/threats/{ThreatId}/actions/{ActionId}/integrations/{IntegrationId}/alerts method: get operationId: actionAlertsParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id}/run/{RunId}/threats/{ThreatId}/actions/{ActionId}/integrations/{IntegrationId}/logs method: get operationId: actionLogsParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{SimulationId}/run/{RunId}/threats/{ThreatId}/peers/{PeerId}/integrations/{IntegrationId}/raw-logs method: get operationId: rawLogsParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/simulations/{Id}/results/reports method: post operationId: generateSimulationReportParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v2/simulations/{Id}/results/reports/{ReportId} method: get operationId: reportParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/simulations/{Id}/results/reports/{ReportId}/download method: get operationId: reportDownloadParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/simulations/{Id}/results/reports/{ReportId}/download-url method: get operationId: reportDownloadUrlParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations method: get operationId: simulationListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations method: post operationId: createSimulationParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/simulations/{Id} method: get operationId: simulationParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/simulations/{Id} method: put operationId: updateSimulationParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/simulations/{Id} method: delete operationId: simulationDeleteParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/simulations/{Id}/cancel method: put operationId: simulationCancelParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/simulations/{Id}/simulate-now method: post operationId: simulateNowParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/summary/overall method: post operationId: summaryOverallParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/templates method: get operationId: templateListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/templates method: post operationId: createTemplateParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/templates/{Id} method: get operationId: templateParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/action-parameters method: get operationId: actionParametersParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/actions method: get operationId: actionDetailsList x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/actions method: post operationId: createActionParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/threat-library/actions/custom-keyword method: post operationId: customActionKeywordParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/threat-library/actions/{ActionId} method: get operationId: actionDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/files method: get operationId: filesListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/files method: post operationId: fileUploadParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/threat-library/processes method: get operationId: processListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/processes method: post operationId: createProcessParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/threat-library/tags method: get operationId: Tags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/threat-actors method: get operationId: Threat-Actors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/threats method: get operationId: threatListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/threats method: post operationId: createThreatParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/threat-library/threats/import method: post operationId: importThreatParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/threat-library/threats/{ThreatId} method: get operationId: threatDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/threat-library/threats/{ThreatId} method: put operationId: updateThreatParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/threat-library/threats/{ThreatId} method: delete operationId: deleteThreatParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/threat-library/threats/{ThreatId}/export method: get operationId: exportThreatParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/threat-library/actions method: get operationId: actionListParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/users method: get operationId: usersFilterParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/users/invite method: post operationId: InviteUserParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/users/roles method: get operationId: RolesFilterParams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/users/{userId} method: delete operationId: deleteUserFilterParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/users/{userId}/role method: put operationId: assignRoleParams x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required