Picus Security · Agentic Access
Picus Security Agentic Access
x-agentic-access
generated
Picus Security exposes 84 API operations that an AI agent could call, of which 25 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 59 read and 25 write.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
cybersecuritysecurity-validationbreach-and-attack-simulationadversarial-exposure-validationcontinuous-threat-exposure-managementpenetration-testingthreat-intelligencemitre-attackdetection-engineeringsecurity-operations
Operations: 84
Acting: 25
Human-in-the-loop: 0
Method: generated
By consequence
read 59
write 25
Source
Agentic Access
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